From e6dc4d5688bb2b0de45af9b539e298e480453b42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 9 Sep 2025 15:25:47 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=90=88=E5=90=8C=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/dto/ContractInformationDTO.java | 8 +- .../store/dto/contract/ContractListDTO.java | 89 ++++++++++++++++++- .../store/dto/contract/PushContractDTO.java | 44 +++++++++ .../impl/SignFranchiseServiceImpl.java | 22 ++++- 4 files changed, 156 insertions(+), 7 deletions(-) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/contract/PushContractDTO.java diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/ContractInformationDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/ContractInformationDTO.java index aab1ee840..710a43c50 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/ContractInformationDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/ContractInformationDTO.java @@ -1,5 +1,6 @@ package com.cool.store.dto; +import com.cool.store.dto.contract.PushContractDTO; import com.cool.store.vo.BaseInfoVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; @@ -7,6 +8,7 @@ import lombok.Data; import java.math.BigDecimal; import java.util.Date; +import java.util.List; /** * @Author suzhuhong @@ -19,10 +21,6 @@ public class ContractInformationDTO { private Long shopId; @ApiModelProperty("门店名称") private String shopName; - @ApiModelProperty("品牌方名称") - private String brandName; - @ApiModelProperty("支付方信息") - private String payee; @ApiModelProperty("签约人1名称") private String sign1Name; @ApiModelProperty("签约人2名称") @@ -39,5 +37,7 @@ public class ContractInformationDTO { private String firstYearFee; @ApiModelProperty("设计费") private String performanceBond; + @ApiModelProperty("合同配置信息") + private List contractList; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractListDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractListDTO.java index 50f13a348..7117c1af6 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractListDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractListDTO.java @@ -18,7 +18,6 @@ import java.util.stream.Collectors; * @Date 2025/9/8 16:43 * @Version 1.0 */ -@Data public class ContractListDTO { @ApiModelProperty("主键 新建时忽略") @@ -67,7 +66,91 @@ public class ContractListDTO { } - private List getFranchiseModeList(){ + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getBrand() { + return brand; + } + + public void setBrand(String brand) { + this.brand = brand; + } + + public String getContractName() { + return contractName; + } + + public void setContractName(String contractName) { + this.contractName = contractName; + } + + public String getPartyA() { + return partyA; + } + + public void setPartyA(String partyA) { + this.partyA = partyA; + } + + public String getPartyB() { + return partyB; + } + + public void setPartyB(String partyB) { + this.partyB = partyB; + } + + public String getPartyC() { + return partyC; + } + + public void setPartyC(String partyC) { + this.partyC = partyC; + } + + public void setFranchiseModeList(List franchiseModeList) { + this.franchiseModeList = franchiseModeList; + } + + public String getFadadaTemplateId() { + return fadadaTemplateId; + } + + public void setFadadaTemplateId(String fadadaTemplateId) { + this.fadadaTemplateId = fadadaTemplateId; + } + + public Integer getSerialNumber() { + return serialNumber; + } + + public void setSerialNumber(Integer serialNumber) { + this.serialNumber = serialNumber; + } + + public String getPayeeName() { + return payeeName; + } + + public void setPayeeName(String payeeName) { + this.payeeName = payeeName; + } + + public String getFranchiseMode() { + return franchiseMode; + } + + public void setFranchiseMode(String franchiseMode) { + this.franchiseMode = franchiseMode; + } + + public List getFranchiseModeList(){ String[] split = this.franchiseMode.split(","); ArrayList result = new ArrayList<>(); Arrays.stream(split).filter(item -> StringUtil.isNotEmpty(item)).forEach(item -> { @@ -79,4 +162,6 @@ public class ContractListDTO { return result; } + + } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/PushContractDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/PushContractDTO.java new file mode 100644 index 000000000..f462420fc --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/PushContractDTO.java @@ -0,0 +1,44 @@ +package com.cool.store.dto.contract; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.persistence.Column; + +/** + * @Author suzhuhong + * @Date 2025/9/9 13:35 + * @Version 1.0 + */ +@Data +public class PushContractDTO { + + /** + * 品牌 + */ + @ApiModelProperty("品牌方名称") + private String brand; + + @ApiModelProperty("合同名称") + private String contractName; + + @ApiModelProperty("甲方名称") + private String partyA; + + @ApiModelProperty("乙方名称") + private String partyB; + + @ApiModelProperty("丙方名称") + private String partyC; + + @ApiModelProperty("法大大模板ID") + private String fadadaTemplateId; + + @ApiModelProperty("合同签约顺序") + private Integer serialNumber; + + @ApiModelProperty("收款方名称") + private String payeeName; + + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java index 645e3f4d3..ba6f8a2f8 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java @@ -7,6 +7,7 @@ import com.cool.store.context.LoginUserInfo; import com.cool.store.dao.*; import com.cool.store.dto.ContractInformationDTO; import com.cool.store.dto.PartnerBankInfoDTO; +import com.cool.store.dto.contract.PushContractDTO; import com.cool.store.entity.*; import com.cool.store.enums.*; import com.cool.store.enums.point.ShopSubStageEnum; @@ -120,6 +121,8 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu OperationLogService operationLogService; @Resource OperationLogDAO operationLogDAO; + @Resource + ContractConfigDAO contractConfigDAO; @Override @@ -417,7 +420,6 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu contractInformationDTO.setJoinModel(shopInfoDO.getJoinMode()); contractInformationDTO.setShopName(shopInfoDO.getShopName()); //品牌信息 - contractInformationDTO.setSign1Name(signFranchiseDO.getPartnershipSignatoryFirst()); contractInformationDTO.setSign2Name(signFranchiseDO.getPartnershipSignatorySecond()); contractInformationDTO.setFirstYearFee(franchiseFeeDO.getFirstYearFee()); @@ -426,6 +428,24 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu contractInformationDTO.setFirstYearFee(franchiseFeeDO.getFirstYearFee()); contractInformationDTO.setPerformanceBond(franchiseFeeDO.getPerformanceBond()); + List contractConfigDOS = contractConfigDAO.queryContractConfigListByBrandAndMode(shopInfoDO.getFranchiseBrand(), JoinModeEnum.getByCode(shopInfoDO.getJoinMode())); + + if (CollectionUtils.isNotEmpty(contractConfigDOS)){ + contractInformationDTO.setContractList(contractConfigDOS.stream().map(contractConfigDO -> { + PushContractDTO pushContractDTO = new PushContractDTO(); + pushContractDTO.setBrand(contractConfigDO.getBrand()); + pushContractDTO.setContractName(contractConfigDO.getContractName()); + pushContractDTO.setPartyA(contractConfigDO.getPartyA()); + pushContractDTO.setPartyB(contractConfigDO.getPartyB()); + pushContractDTO.setPartyC(contractConfigDO.getPartyC()); + pushContractDTO.setFadadaTemplateId(contractConfigDO.getFadadaTemplateId()); + pushContractDTO.setSerialNumber(contractConfigDO.getSerialNumber()); + pushContractDTO.setPayeeName(contractConfigDO.getPayeeName()); + return pushContractDTO; + }).collect(Collectors.toList())); + + } + log.info("加盟合同审批时签约类型:{}", SignTypeEnum.getDescByCode(signFranchiseDO.getSignType())); Boolean sendNotice = Boolean.TRUE;