Parcourir la source

Merge remote-tracking branch 'origin/develop' into develop

‘linchangsheng’ il y a 5 mois
Parent
commit
304176d7e5

+ 3 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/contract/CompanyCaAuthVO.java

@@ -38,6 +38,9 @@ public class CompanyCaAuthVO {
     @ApiModelProperty(value = "网点编号")
     private String websitId;
 
+    @ApiModelProperty(value = "网点简称")
+    private String shortName;
+
     @ZfireField(hide = true)
     @ApiModelProperty(value = "公司名称")
     private String companyName;

+ 4 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/contract/ContractTemplateBean.java

@@ -1,6 +1,7 @@
 package com.gree.mall.manager.bean.contract;
 
 import com.gree.mall.manager.plus.entity.ContractTemplate;
+import com.gree.mall.manager.plus.entity.ContractTemplateField;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -15,4 +16,7 @@ public class ContractTemplateBean extends ContractTemplate {
 
     @ApiModelProperty(value = "明细")
     private List<ContractWebsitBean> items;
+
+    @ApiModelProperty(value = "模板字段")
+    private List<ContractTemplateField> fieldItems;
 }

+ 7 - 0
mall-server-api/src/main/java/com/gree/mall/manager/controller/contract/ContractTemplateController.java

@@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.Map;
 
 
 @Slf4j
@@ -102,4 +103,10 @@ public class ContractTemplateController {
         return ResponseHelper.success();
     }
 
+    @PostMapping("/get/field")
+    @ApiOperation(value = "获取模板字段")
+    public ResponseHelper<Map<String, Object>> getField() {
+        Map<String, Object> result = contractTemplateLogic.getField();
+        return ResponseHelper.success(result);
+    }
 }

+ 5 - 2
mall-server-api/src/main/java/com/gree/mall/manager/enums/contract/FieldTypeEnum.java

@@ -21,17 +21,20 @@ public enum FieldTypeEnum implements BaseEnum {
     YYYY("YYYY","年"),
     MM("MM","月"),
     DD("DD","日"),
-    BANK_LINK_NAME("BANK_LINK_NAME","银行户名"),
+//    BANK_LINK_NAME("BANK_LINK_NAME","银行户名"),
     BANK_DEPOSIT("BANK_DEPOSIT","开户行名称"),
     BANK_ACCOUNT("BANK_ACCOUNT","银行卡号"),
     CUSTOM("CUSTOM", "自定义"),
     WEBSIT_NAME("WEBSIT_NAME", "网点名称"),
+    SHORT_NAME("SHORT_NAME", "网点简称"),
     WEBSIT_ID("WEBSIT_ID", "网点编号"),
+    CA_LEGAL_NAME("CA_LEGAL_NAME","CA法人代表"),
     ADDRESS("ADDRESS", "地址"),
     EMAIL("EMAIL", "邮箱"),
     TEL("TEL", "电话"),
     FAX("FAX", "传真"),
     ZIP_CODE("ZIP_CODE", "邮编"),
+
     ;
 
     @JsonValue
@@ -46,7 +49,7 @@ public enum FieldTypeEnum implements BaseEnum {
     public static Map<String, Object> websitList() {
         Map<String, Object> fieldMap = EnumUtil.getNameFieldMap(FieldTypeEnum.class, "value");
         ArrayList<FieldTypeEnum> fieldTypeEnums = Lists.newArrayList(CUSTOM, YYYYMMDD, YYYYMMDDTIME, YYYY, MM, DD, WEBSIT_ID,
-                WEBSIT_NAME, ADDRESS, BANK_LINK_NAME, BANK_DEPOSIT, BANK_ACCOUNT, EMAIL, TEL, FAX, ZIP_CODE);
+                WEBSIT_NAME, SHORT_NAME, CA_LEGAL_NAME,ADDRESS, BANK_DEPOSIT, BANK_ACCOUNT, EMAIL, TEL, FAX, ZIP_CODE);
         Map<String, Object> map = new LinkedHashMap<>();
         for (FieldTypeEnum typeEnum : fieldTypeEnums) {
             map.put(typeEnum.getKey(), fieldMap.get(typeEnum.getKey()));

+ 6 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/contract/CompanyCaAuthLogic.java

@@ -105,6 +105,9 @@ public class CompanyCaAuthLogic {
         if (StringUtils.isBlank(companyCaAuth.getCompanyName())) {
             throw new RemoteServiceException("公司名称不能为空");
         }
+        if (StringUtils.isBlank(companyCaAuth.getShortName())) {
+            throw new RemoteServiceException("网点简称不能为空");
+        }
         if (StringUtils.isBlank(companyCaAuth.getCompanyAddress())) {
             throw new RemoteServiceException("公司地址不能为空");
         }
@@ -123,6 +126,9 @@ public class CompanyCaAuthLogic {
         if (StringUtils.isBlank(companyCaAuth.getLegalIdCard())) {
             throw new RemoteServiceException("法人身份证不能为空");
         }
+        if (StringUtils.isBlank(companyCaAuth.getLegalIdCard())) {
+            throw new RemoteServiceException("法人身份证不能为空");
+        }
     }
 
     private boolean compareRequireValue(CompanyCaAuth c1, CompanyCaAuth c2) {

+ 25 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/contract/ContractTemplateLogic.java

@@ -11,13 +11,16 @@ import com.gree.mall.manager.bean.contract.ContractTemplateVO;
 import com.gree.mall.manager.bean.contract.ContractWebsitBean;
 import com.gree.mall.manager.commonmapper.CommonMapper;
 import com.gree.mall.manager.enums.ContractTypeEnum;
+import com.gree.mall.manager.enums.contract.FieldTypeEnum;
 import com.gree.mall.manager.enums.material.StateEnum;
 import com.gree.mall.manager.exception.RemoteServiceException;
 import com.gree.mall.manager.logic.common.CommonLogic;
 import com.gree.mall.manager.plus.entity.ContractTemplate;
 import com.gree.mall.manager.plus.entity.ContractTemplateBak;
+import com.gree.mall.manager.plus.entity.ContractTemplateField;
 import com.gree.mall.manager.plus.entity.ContractWebsit;
 import com.gree.mall.manager.plus.service.AdminWebsitService;
+import com.gree.mall.manager.plus.service.ContractTemplateFieldService;
 import com.gree.mall.manager.plus.service.ContractTemplateService;
 import com.gree.mall.manager.plus.service.ContractWebsitService;
 import com.gree.mall.manager.utils.fadada.Auth4FDDUtil;
@@ -32,6 +35,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 import java.util.stream.Collectors;
 
@@ -43,6 +47,7 @@ public class ContractTemplateLogic {
     private final CommonMapper commonMapper;
     private final ContractTemplateService contractTemplateService;
     private final ContractWebsitService contractWebsitService;
+    private final ContractTemplateFieldService contractTemplateFieldService;
     private final AdminWebsitService adminWebsitService;
     private final OSSUtil ossUtil;
 
@@ -102,6 +107,13 @@ public class ContractTemplateLogic {
                             .setId(IdWorker.getIdStr()))
                     .collect(Collectors.toList()));
         }
+
+        if (CollectionUtil.isNotEmpty(contractTemplate.getFieldItems())) {
+            contractTemplateFieldService.saveBatch(contractTemplate.getFieldItems().stream()
+                    .peek(v -> v.setContractTemplateId(contractTemplate.getContractTemplateId())
+                            .setId(IdWorker.getIdStr()))
+                    .collect(Collectors.toList()));
+        }
     }
 
     @Transactional
@@ -142,6 +154,15 @@ public class ContractTemplateLogic {
                             .setId(IdWorker.getIdStr()))
                     .collect(Collectors.toList()));
         }
+
+        contractTemplateFieldService.lambdaUpdate()
+                .eq(ContractTemplateField::getContractTemplateId, contractTemplate.getContractTemplateId())
+                .remove();
+        if (CollectionUtil.isNotEmpty(contractTemplate.getFieldItems())) {
+            contractTemplateFieldService.saveBatch(contractTemplate.getFieldItems().stream()
+                    .peek(v -> v.setContractTemplateId(byId.getContractTemplateId()))
+                    .collect(Collectors.toList()));
+        }
     }
 
     public void delete(String contractTemplateId) {
@@ -246,4 +267,8 @@ public class ContractTemplateLogic {
             }
         }
     }
+
+    public Map<String, Object> getField() {
+        return FieldTypeEnum.websitList();
+    }
 }

+ 18 - 8
mall-server-api/src/main/java/com/gree/mall/manager/logic/contract/WebsitContractSignLogic.java

@@ -18,14 +18,8 @@ import com.gree.mall.manager.enums.contract.SignContractStatusEnum;
 import com.gree.mall.manager.exception.RemoteServiceException;
 import com.gree.mall.manager.logic.common.CommonLogic;
 import com.gree.mall.manager.logic.fadada.FDDNotifyLogic;
-import com.gree.mall.manager.plus.entity.AdminWebsit;
-import com.gree.mall.manager.plus.entity.WebsitContractSignField;
-import com.gree.mall.manager.plus.entity.WebsitContractSignItem;
-import com.gree.mall.manager.plus.entity.WebsitContractSignRecord;
-import com.gree.mall.manager.plus.service.AdminWebsitService;
-import com.gree.mall.manager.plus.service.WebsitContractSignFieldService;
-import com.gree.mall.manager.plus.service.WebsitContractSignItemService;
-import com.gree.mall.manager.plus.service.WebsitContractSignRecordService;
+import com.gree.mall.manager.plus.entity.*;
+import com.gree.mall.manager.plus.service.*;
 import com.gree.mall.manager.utils.fadada.Auth4FDDUtil;
 import com.gree.mall.manager.utils.oss.OSSUtil;
 import com.gree.mall.manager.zfire.bean.ZfireParamBean;
@@ -56,6 +50,7 @@ public class WebsitContractSignLogic {
     private final WebsitContractSignFieldService websitContractSignFieldService;
     private final FDDNotifyLogic fddNotifyLogic;
     private final OSSUtil ossUtil;
+    private final CompanyCaAuthService companyCaAuthService;
 
     @Value("${fadada.websit.auth.verified-way}")
     private String fddAuthVerifiedWay;
@@ -266,6 +261,17 @@ public class WebsitContractSignLogic {
                 .eq(WebsitContractSignField::getWebsitContractSignItemId, id)
                 .list();
 
+        final CompanyCaAuth companyCaAuth = companyCaAuthService.lambdaQuery()
+                .eq(CompanyCaAuth::getWebsitId, websit.getParentId())
+                .eq(CompanyCaAuth::getCompanyCaAuthId, websit.getCompanyWechatId())
+                .eq(CompanyCaAuth::getFadadaIsAuth, IsYesNoEnum.YES.getKey())
+                .eq(CompanyCaAuth::getFadadaAuthAutoStatus, IsYesNoEnum.YES.getKey())
+                .one();
+
+        if (Objects.isNull(companyCaAuth)) {
+            throw new RemoteServiceException("未找到上级网点的CA认证记录");
+        }
+
         if (CollectionUtil.isEmpty(fields)) {
             return "";
         }
@@ -276,8 +282,12 @@ public class WebsitContractSignLogic {
         for (WebsitContractSignField field : fields) {
             if (field.getFieldType().equals(FieldTypeEnum.CUSTOM.getKey())) {
                 params.set(field.getFieldName(), field.getFieldValue());
+            } else if (field.getFieldType().equals(FieldTypeEnum.CA_LEGAL_NAME.getKey())) {
+                params.set(field.getFieldName(), companyCaAuth.getLegalName());
             } else if (field.getFieldType().equals(FieldTypeEnum.WEBSIT_NAME.getKey())) {
                 params.set(field.getFieldName(), websit.getName());
+            } else if (field.getFieldType().equals(FieldTypeEnum.SHORT_NAME.getKey())) {
+                params.set(field.getFieldName(), websit.getName());
             } else if (field.getFieldType().equals(FieldTypeEnum.WEBSIT_ID.getKey())) {
                 params.set(field.getFieldName(), websit.getWebsitId());
             } else if (field.getFieldType().equals(FieldTypeEnum.EMAIL.getKey())) {