TRX 1 ano atrás
pai
commit
03e024519d

+ 16 - 2
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/paySetting/ProjectPaySettingController.java

@@ -8,6 +8,7 @@ import com.zhongshu.card.client.model.feign.ProjectWxPayParam;
 import com.github.microservice.net.ResultContent;
 import com.zhongshu.card.client.model.paySetting.payConfig.LaKaLaCollectionConfig;
 import com.zhongshu.card.client.model.paySetting.paySetting.*;
+import com.zhongshu.card.client.type.DataState;
 import com.zhongshu.card.server.core.service.paySetting.ProjectPaySettingServiceImpl;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -69,9 +70,22 @@ public class ProjectPaySettingController {
     @ResourceAuth(value = "user", type = AuthType.User)
     @Operation(summary = "删除参数配置", description = "删除参数配置")
     @RequestMapping(value = "deleteInfo", method = {RequestMethod.POST})
-    public ResultContent deleteInfo(
-            @RequestBody IDParam param) {
+    public ResultContent deleteInfo(@RequestBody IDParam param) {
         return projectPaySettingService.deleteInfo(param.getId());
     }
 
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "启用支付方式", description = "启用支付方式")
+    @RequestMapping(value = "enablePay", method = {RequestMethod.POST})
+    public ResultContent enablePay(@RequestBody IDParam param) {
+        return projectPaySettingService.changeState(param.getId(), DataState.Enable);
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "停用支付方式", description = "停用支付方式")
+    @RequestMapping(value = "disablePay", method = {RequestMethod.POST})
+    public ResultContent disablePay(@RequestBody IDParam param) {
+        return projectPaySettingService.changeState(param.getId(), DataState.Disable);
+    }
+
 }

+ 5 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/domain/paySetting/ProjectPaySetting.java

@@ -2,6 +2,7 @@ package com.zhongshu.card.server.core.domain.paySetting;
 
 import com.github.microservice.types.payment.PaymentChannelType;
 import com.github.microservice.types.payment.PaymentType;
+import com.zhongshu.card.client.type.DataState;
 import com.zhongshu.card.server.core.domain.base.SuperMain;
 import com.zhongshu.card.server.core.domain.org.Organization;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -44,4 +45,8 @@ public class ProjectPaySetting extends SuperMain {
 
     @Schema(description = "支付渠道的参数配置")
     private Object payConfig;
+
+    @Schema(description = "是否可用")
+    private DataState state;
+
 }

+ 20 - 3
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/paySetting/ProjectPaySettingServiceImpl.java

@@ -126,9 +126,19 @@ public class ProjectPaySettingServiceImpl extends SuperService {
         return ResultContent.buildSuccess();
     }
 
+    public ResultContent changeState(String id, DataState state) {
+        ProjectPaySetting paySetting = projectPaySettingDao.findTopById(id);
+        if (ObjectUtils.isEmpty(paySetting)) {
+            return ResultContent.buildFail(String.format(ResultMessage.DATA_NOT_EXIST, id));
+        }
+        paySetting.setState(state);
+        projectPaySettingDao.save(paySetting);
+        return ResultContent.buildSuccess();
+    }
+
     //-----------------------------通用配置方法 start----------------------------
 
-    private ProjectPaySetting getProjectPaySetting(String projectOid, PaymentType paymentType) {
+    public ProjectPaySetting getProjectPaySetting(String projectOid, PaymentType paymentType) {
         return projectPaySettingDao.findTopByProjectOidAndChannelType(
                 projectOid, paymentType);
     }
@@ -153,6 +163,7 @@ public class ProjectPaySettingServiceImpl extends SuperService {
             projectPaySetting.setProjectCode(projectOrg.getCode());
             projectPaySetting.setChannelType(paymentType);
             projectPaySetting.setPaymentChannelType(paymentType.getChannelType());
+            projectPaySetting.setState(DataState.Enable);
         } else {
             initUpdateEntity(projectPaySetting);
         }
@@ -171,7 +182,7 @@ public class ProjectPaySettingServiceImpl extends SuperService {
     }
 
     /**
-     * 检查是否项目是否正常付款方式
+     * 检查项目是否支持 指定的付款方式
      *
      * @return
      */
@@ -179,6 +190,7 @@ public class ProjectPaySettingServiceImpl extends SuperService {
         if (paymentType == null) {
             return ResultContent.buildFail("支付方式为空");
         }
+        // 检查平台设置产品没
         PayChannelConfig payChannelConfig = projectChannelConfigService.getProjectPayChannel(paymentType);
         if (ObjectUtils.isEmpty(payChannelConfig)) {
             ResultContent.buildFail(String.format("平台未配置%s", paymentType.getChannelType().getRemark()));
@@ -189,9 +201,14 @@ public class ProjectPaySettingServiceImpl extends SuperService {
                     paymentType.getRemark()));
         }
         if (payChannelConfig.getState() != DataState.Enable) {
-            return ResultContent.buildFail(String.format("", payChannelConfig.getName(), payChannelConfig.getState().getRemark()));
+            return ResultContent.buildFail(String.format("支付产品%s%s", payChannelConfig.getName(), payChannelConfig.getState().getRemark()));
         }
+
         // 检查项目配置参数没
+        ProjectPaySetting paySetting = getProjectPaySetting(projectOid, paymentType);
+        if (ObjectUtils.isEmpty(paySetting)) {
+            return ResultContent.buildFail(String.format("项目为配置%s参数", paymentType.getRemark()));
+        }
 
         return ResultContent.buildSuccess();
     }