TRX hai 1 ano
pai
achega
8d262d1366

+ 3 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/paySetting/payConfig/FrictionlessUnionConfigModel.java

@@ -40,6 +40,9 @@ public class FrictionlessUnionConfigModel {
     @Schema(description = "来源编号")
     private String msgSrcId;
 
+    @Schema(description = "来源系统Id")
+    private String sysSource;
+
     @Schema(description = "签约结束后调整小程序id")
     private String mchntWxMpAppId;
 

+ 3 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/paySetting/payConfig/FrictionlessUnionConfigParam.java

@@ -37,6 +37,9 @@ public class FrictionlessUnionConfigParam extends PayConfigParam {
     @Schema(description = "来源编号")
     private String msgSrcId;
 
+    @Schema(description = "来源系统Id")
+    private String sysSource;
+
     @Schema(description = "签约结束后跳转小程序id")
     private String mchntWxMpAppId;
 

+ 14 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/paySetting/paySetting/ProjectMainPaySettingModel.java

@@ -13,6 +13,7 @@ import jakarta.validation.constraints.NotEmpty;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
+import org.apache.commons.lang3.ObjectUtils;
 
 import java.math.BigDecimal;
 
@@ -43,6 +44,19 @@ public class ProjectMainPaySettingModel {
     @Schema(description = "所属机构名称")
     private String belongOrgName;
 
+    @Schema(description = "所属主账户二级信息")
+    private ProjectPaySettingInfoModel childPaySettingInfo;
+
+    @Schema(description = "主商户的子商户")
+    private String childPaySettingInfoId;
+
+    public String getChildPaySettingInfoId() {
+        if (ObjectUtils.isNotEmpty(childPaySettingInfo)) {
+            return childPaySettingInfo.getId();
+        }
+        return "";
+    }
+
     @Schema(description = "项目的支付渠道设置:微信支付、银联支付")
     private PaymentType channelType;
 

+ 3 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/paySetting/paySetting/ProjectMainPaySettingParam.java

@@ -26,6 +26,9 @@ public class ProjectMainPaySettingParam {
     @NotEmpty
     private String paySettingInfoId;
 
+    @Schema(description = "主商户的子商户")
+    private String childPaySettingInfoId;
+
     @Schema(description = "项目oid")
     @NotEmpty
     private String projectOid;

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

@@ -40,6 +40,10 @@ public class ProjectMainPaySetting extends SuperMain {
     @Schema(description = "所属机构名称")
     private String belongOrgName;
 
+    @Schema(description = "所属主账户二级信息")
+    @DBRef(lazy = true)
+    private ProjectOrgPaySettingInfo childPaySettingInfo;
+
     @Schema(description = "项目的支付渠道设置:微信支付、银联支付")
     private PaymentType channelType;
 
@@ -90,7 +94,7 @@ public class ProjectMainPaySetting extends SuperMain {
 
     @Schema(description = "最小的提现额度")
     private Long minWithdraw = 0L;
-    
+
     @Schema(description = "最大的提现额度")
     private Long maxWithdraw = 0L;
 

+ 23 - 8
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/paySetting/ProjectMainPaySettingService.java

@@ -73,6 +73,13 @@ public class ProjectMainPaySettingService extends SuperService {
         if (orgPaySettingInfo.getIsDefault() == null || !orgPaySettingInfo.getIsDefault()) {
             return ResultContent.buildFail("选择的不是主账户类型");
         }
+
+        // 子商户信息
+        ProjectOrgPaySettingInfo childPaySettingInfo = null;
+        if (StringUtils.isNotEmpty(param.getChildPaySettingInfoId())) {
+            childPaySettingInfo = projectPaySettingInfoDao.findTopById(param.getChildPaySettingInfoId());
+        }
+
         if (param.getSettlementRulesType() == SettlementRulesType.Dn) {
             if (StringUtils.isEmpty(param.getDnTimeStr())) {
                 return ResultContent.buildFail("dnTimeStr不能为空");
@@ -104,14 +111,15 @@ public class ProjectMainPaySettingService extends SuperService {
             return ResultContent.buildFail("项目分成和机构分成之和不等100");
         }
 
-//        Long minWithdraw = param.getMinWithdraw();
-//        Long maxWithdraw = param.getMaxWithdraw();
-//        if (minWithdraw <= 0 || maxWithdraw <= 0) {
-//            return ResultContent.buildFail("minWithdraw或maxWithdraw不能小于等于0");
-//        }
-//        if (minWithdraw > maxWithdraw) {
-//            return ResultContent.buildFail("minWithdraw不能大于maxWithdraw");
-//        }
+        // 提现额度
+        Long minWithdraw = param.getMinWithdraw();
+        Long maxWithdraw = param.getMaxWithdraw();
+        if (minWithdraw <= 0 || maxWithdraw <= 0) {
+            return ResultContent.buildFail("minWithdraw或maxWithdraw不能小于等于0");
+        }
+        if (minWithdraw > maxWithdraw) {
+            return ResultContent.buildFail("minWithdraw不能大于maxWithdraw");
+        }
 
         ProjectMainPaySetting mainPaySetting = projectMainPaySettingDao.findTopByProjectOidAndChannelType(param.getProjectOid(), orgPaySettingInfo.getChannelType());
         if (ObjectUtils.isEmpty(mainPaySetting)) {
@@ -119,9 +127,14 @@ public class ProjectMainPaySettingService extends SuperService {
         }
         BeanUtils.copyProperties(param, mainPaySetting);
 
+        // 主商户信息
         mainPaySetting.setPaySettingInfo(orgPaySettingInfo);
         mainPaySetting.setBelongOig(orgPaySettingInfo.getBelongOig());
         mainPaySetting.setBelongOrgName(orgPaySettingInfo.getBelongOrgName());
+
+        // 主账户的子商户信息
+        mainPaySetting.setChildPaySettingInfo(childPaySettingInfo);
+
         mainPaySetting.setChannelType(orgPaySettingInfo.getChannelType());
         mainPaySetting.setPaymentChannelType(orgPaySettingInfo.getPaymentChannelType());
 
@@ -259,6 +272,8 @@ public class ProjectMainPaySettingService extends SuperService {
                 model.setPaySettingInfoName(paySettingInfo.getName());
             }
             model.setSettingInfoModel(projectPaySettingService.toModel(entity.getPaySettingInfo()));
+
+            model.setChildPaySettingInfo(projectPaySettingService.toModel(entity.getChildPaySettingInfo()));
         }
         return model;
     }

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

@@ -32,6 +32,7 @@ import com.zhongshu.card.server.core.domain.paySetting.ProjectPaySetting;
 import com.zhongshu.card.server.core.service.base.SuperService;
 import com.zhongshu.card.server.core.util.AesUtils;
 import com.zhongshu.card.server.core.util.BeanUtils;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -533,6 +534,7 @@ public class ProjectPaySettingServiceImpl extends SuperService {
         fields.add(PayConfigField.builder().name("终端号").key("tid").type(PayFieldType.Str).isMust(Boolean.TRUE).maxLength(100).payShowField(mainFiled).build());
         fields.add(PayConfigField.builder().name("协议模板id").key("planId").type(PayFieldType.Str).isMust(Boolean.TRUE).maxLength(100).build());
         fields.add(PayConfigField.builder().name("密钥").key("notifySecret").type(PayFieldType.Str).isMust(Boolean.TRUE).payShowField(mainFiled).build());
+        fields.add(PayConfigField.builder().name("来源系统Id").key("sysSource").type(PayFieldType.Str).isMust(Boolean.TRUE).payShowField(mainFiled).build());
 
         fields.add(PayConfigField.builder().name("通知地址").key("notifyUrl").type(PayFieldType.Str).isMust(Boolean.TRUE).maxLength(500).payShowField(mainFiled).build());