From 2d4402c3513386d4b2069783c3e0b8501eb4620f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Mon, 8 Sep 2025 10:42:53 +0800 Subject: [PATCH 01/28] feat:auditApprove --- .../store/dto/ContractInformationDTO.java | 43 +++++++++++++++++++ .../impl/SignFranchiseServiceImpl.java | 24 +++++++++++ 2 files changed, 67 insertions(+) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/ContractInformationDTO.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 new file mode 100644 index 000000000..aab1ee840 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/ContractInformationDTO.java @@ -0,0 +1,43 @@ +package com.cool.store.dto; + +import com.cool.store.vo.BaseInfoVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @Author suzhuhong + * @Date 2025/9/8 10:13 + * @Version 1.0 + */ +@Data +public class ContractInformationDTO { + @ApiModelProperty("门店ID") + private Long shopId; + @ApiModelProperty("门店名称") + private String shopName; + @ApiModelProperty("品牌方名称") + private String brandName; + @ApiModelProperty("支付方信息") + private String payee; + @ApiModelProperty("签约人1名称") + private String sign1Name; + @ApiModelProperty("签约人2名称") + private String sign2Name; + @ApiModelProperty("加盟模式") + private Integer joinModel; + @ApiModelProperty("每年加盟费") + private String yearFranchiseFee; + @ApiModelProperty("保证金") + private String loanMargin; + @ApiModelProperty("第一年度管理费") + private String firstYearManagementFee; + @ApiModelProperty("第一年度品牌使用费") + private String firstYearFee; + @ApiModelProperty("设计费") + private String performanceBond; + +} 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 96305a297..49dda1872 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 @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.cool.store.constants.CommonConstants; 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.entity.*; import com.cool.store.enums.*; @@ -406,7 +407,30 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu //初始化数据 preparationService.contractAndBuildStoreCompletion(request.getShopId()); + //推送法大大数据 + //查询缴费信息 + FranchiseFeeDO franchiseFeeDO = franchiseFeeMapper.selectByShopId(shopId); SignFranchiseDO signFranchiseDO = signFranchiseMapper.selectByShopId(shopId); + + ContractInformationDTO contractInformationDTO = new ContractInformationDTO(); + contractInformationDTO.setShopId(shopId); + contractInformationDTO.setJoinModel(shopInfoDO.getJoinMode()); + contractInformationDTO.setShopName(shopInfoDO.getShopName()); + //品牌信息 + + + contractInformationDTO.setSign1Name(signFranchiseDO.getPartnershipSignatoryFirst()); + contractInformationDTO.setSign2Name(signFranchiseDO.getPartnershipSignatorySecond()); + contractInformationDTO.setFirstYearFee(franchiseFeeDO.getFirstYearFee()); + contractInformationDTO.setLoanMargin(franchiseFeeDO.getLoanMargin()); + contractInformationDTO.setFirstYearManagementFee(franchiseFeeDO.getFirstYearManageFee()); + contractInformationDTO.setFirstYearFee(franchiseFeeDO.getFirstYearFee()); + contractInformationDTO.setPerformanceBond(franchiseFeeDO.getPerformanceBond()); + + + + + log.info("加盟合同审批时签约类型:{}", SignTypeEnum.getDescByCode(signFranchiseDO.getSignType())); Boolean sendNotice = Boolean.TRUE; commonService.sendSms(lineInfoDO.getMobile(), SMSMsgEnum.SIGN_CONTRACT); From 83ddafb8427b316725021defcd0522dcbee019a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Mon, 8 Sep 2025 18:46:42 +0800 Subject: [PATCH 02/28] feat:addContractConfig --- .../com/cool/store/enums/ErrorCodeEnum.java | 2 + .../com/cool/store/dao/ContractConfigDAO.java | 43 +++ .../store/mapper/ContractConfigMapper.java | 16 + .../resources/mapper/contractConfigMapper.xml | 34 +++ .../store/dto/contract/ContractConfigDTO.java | 54 ++++ .../store/dto/contract/ContractListDTO.java | 82 +++++ .../dto/contract/QueryContractListDTO.java | 16 + .../cool/store/entity/ContractConfigDO.java | 289 ++++++++++++++++++ .../store/service/ContractConfigService.java | 43 +++ .../impl/ContractConfigServiceImpl.java | 82 +++++ .../impl/SignFranchiseServiceImpl.java | 4 - 11 files changed, 661 insertions(+), 4 deletions(-) create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/dao/ContractConfigDAO.java create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/mapper/ContractConfigMapper.java create mode 100644 coolstore-partner-dao/src/main/resources/mapper/contractConfigMapper.xml create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractConfigDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractListDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/contract/QueryContractListDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/entity/ContractConfigDO.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/ContractConfigService.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/impl/ContractConfigServiceImpl.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index d59f1e384..2b7cffb86 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java @@ -302,6 +302,8 @@ public enum ErrorCodeEnum { NOT_FLAGSHIP_STORE(16100005,"非直营店,无法跳过缴费阶段!",null), NOT_FLAGSHIP_STORE_NOT_EXIST(16100006,"当前阶段加盟类型不能变更!",null), + + CURRENT_BRAND_SORT_NUMBER_EXIST(16100007,"当前品牌已存在该排序数字!",null), ; diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ContractConfigDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ContractConfigDAO.java new file mode 100644 index 000000000..07e0b3c25 --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ContractConfigDAO.java @@ -0,0 +1,43 @@ +package com.cool.store.dao; + +import com.cool.store.entity.ContractConfigDO; +import com.cool.store.mapper.ContractConfigMapper; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2025/9/8 15:37 + * @Version 1.0 + */ +@Repository +public class ContractConfigDAO { + + @Resource + private ContractConfigMapper contractConfigMapper; + + public int addContractConfig(ContractConfigDO contractConfigDO){ + return contractConfigMapper.insertSelective(contractConfigDO); + } + + public int updateContractConfig(ContractConfigDO contractConfigDO){ + return contractConfigMapper.updateByPrimaryKeySelective(contractConfigDO); + } + + /** + * 根据品牌查询对应排序是否存在 + * @param brand + * @param serialNumber + * @return + */ + public ContractConfigDO queryContractConfigByBrand(String brand,Integer serialNumber){ + return contractConfigMapper.queryContractConfigByBrand(brand,serialNumber); + } + + + public List queryContractConfigList(String brand) { + return contractConfigMapper.queryContractConfigList(brand); + } +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ContractConfigMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ContractConfigMapper.java new file mode 100644 index 000000000..7fffb9113 --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ContractConfigMapper.java @@ -0,0 +1,16 @@ +package com.cool.store.mapper; + +import com.cool.store.entity.ContractConfigDO; +import tk.mybatis.mapper.common.Mapper; + +import java.util.List; + +public interface ContractConfigMapper extends Mapper { + + + + ContractConfigDO queryContractConfigByBrand(String brand, Integer serialNumber); + + + List queryContractConfigList(String brand); +} \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/contractConfigMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/contractConfigMapper.xml new file mode 100644 index 000000000..cfc76f2de --- /dev/null +++ b/coolstore-partner-dao/src/main/resources/mapper/contractConfigMapper.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractConfigDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractConfigDTO.java new file mode 100644 index 000000000..d6d3a926c --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractConfigDTO.java @@ -0,0 +1,54 @@ +package com.cool.store.dto.contract; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.persistence.Column; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2025/9/8 15:52 + * @Version 1.0 + */ +@Data +public class ContractConfigDTO { + + @ApiModelProperty("主键 新建时忽略") + private Long id; + + @ApiModelProperty("品牌") + @NotBlank(message = "品牌不能为空") + private String brand; + + @ApiModelProperty("合同名称") + @NotBlank(message = "合同名称不能为空") + private String contractName; + + @ApiModelProperty("甲方名称") + @NotBlank(message = "甲方名称不能为空") + private String partyA; + + @ApiModelProperty("乙方名称") + @NotBlank(message = "乙方名称不能为空") + private String partyB; + + @ApiModelProperty(" 丙方名称") + private String partyC; + + @ApiModelProperty("加盟模式 多选 用逗号隔开") + private List franchiseModeList; + + @ApiModelProperty("法大大模板ID") + private String fadadaTemplateId; + + @ApiModelProperty("序号") + @NotNull(message = "序号不能为空") + private Integer serialNumber; + + @ApiModelProperty("收款方名称") + private String payeeName; + +} 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 new file mode 100644 index 000000000..50f13a348 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractListDTO.java @@ -0,0 +1,82 @@ +package com.cool.store.dto.contract; + +import com.cool.store.common.PageBasicInfo; +import com.cool.store.enums.JoinModeEnum; +import com.cool.store.utils.StringUtil; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @Author suzhuhong + * @Date 2025/9/8 16:43 + * @Version 1.0 + */ +@Data +public class ContractListDTO { + + @ApiModelProperty("主键 新建时忽略") + private Long id; + + @ApiModelProperty("品牌") + @NotBlank(message = "品牌不能为空") + private String brand; + + @ApiModelProperty("合同名称") + @NotBlank(message = "合同名称不能为空") + private String contractName; + + @ApiModelProperty("甲方名称") + @NotBlank(message = "甲方名称不能为空") + private String partyA; + + @ApiModelProperty("乙方名称") + @NotBlank(message = "乙方名称不能为空") + private String partyB; + + @ApiModelProperty(" 丙方名称") + private String partyC; + + @ApiModelProperty("加盟模式 多选 用逗号隔开") + private List franchiseModeList; + + @ApiModelProperty("法大大模板ID") + private String fadadaTemplateId; + + @ApiModelProperty("序号") + @NotNull(message = "序号不能为空") + private Integer serialNumber; + + @ApiModelProperty("收款方名称") + private String payeeName; + + private String franchiseMode; + + @Data + protected class FranchiseModeDTO{ + + private String id; + + private String name; + + } + + private List getFranchiseModeList(){ + String[] split = this.franchiseMode.split(","); + ArrayList result = new ArrayList<>(); + Arrays.stream(split).filter(item -> StringUtil.isNotEmpty(item)).forEach(item -> { + FranchiseModeDTO franchiseModeDTO = new FranchiseModeDTO(); + franchiseModeDTO.setId(item); + franchiseModeDTO.setName(JoinModeEnum.getByCode(Integer.parseInt(item))); + result.add(franchiseModeDTO); + }); + return result; + } + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/QueryContractListDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/QueryContractListDTO.java new file mode 100644 index 000000000..6e28fe9e1 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/QueryContractListDTO.java @@ -0,0 +1,16 @@ +package com.cool.store.dto.contract; + +import com.cool.store.common.PageBasicInfo; +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2025/9/8 16:43 + * @Version 1.0 + */ +@Data +public class QueryContractListDTO extends PageBasicInfo { + + private String brand; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/ContractConfigDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/ContractConfigDO.java new file mode 100644 index 000000000..519722000 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/ContractConfigDO.java @@ -0,0 +1,289 @@ +package com.cool.store.entity; + +import io.swagger.annotations.ApiModelProperty; +import io.swagger.models.auth.In; + +import java.util.Date; +import javax.persistence.*; + +@Table(name = "xfsg_contract_config") +public class ContractConfigDO { + /** + * 主键ID + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + /** + * 品牌 + */ + private String brand; + + /** + * 合同名称 + */ + @Column(name = "contract_name") + private String contractName; + + /** + * 甲方名称 + */ + @Column(name = "party_a") + private String partyA; + + /** + * 乙方名称 + */ + @Column(name = "party_b") + private String partyB; + + /** + * 丙方名称 + */ + @Column(name = "party_c") + private String partyC; + + /** + * 加盟模式 多选 用逗号隔开 + */ + @Column(name = "franchise_mode") + private String franchiseMode; + + /** + * 法大大模板ID + */ + @Column(name = "fadada_template_id") + private String fadadaTemplateId; + + /** + * 序号 + */ + @Column(name = "serial_number") + private Integer serialNumber; + + /** + * 创建时间 + */ + @Column(name = "create_time") + private Date createTime; + + /** + * 更新时间 + */ + @Column(name = "update_time") + private Date updateTime; + + @Column(name = "payee_name") + @ApiModelProperty("收款方名称") + private String payeeName; + + @Column(name = "deleted") + private Integer deleted; + + public String getPayeeName() { + return payeeName; + } + + public void setPayeeName(String payeeName) { + this.payeeName = payeeName; + } + + /** + * 获取主键ID + * + * @return id - 主键ID + */ + public Long getId() { + return id; + } + + /** + * 设置主键ID + * + * @param id 主键ID + */ + public void setId(Long id) { + this.id = id; + } + + /** + * 获取品牌 + * + * @return brand - 品牌 + */ + public String getBrand() { + return brand; + } + + /** + * 设置品牌 + * + * @param brand 品牌 + */ + public void setBrand(String brand) { + this.brand = brand; + } + + /** + * 获取合同名称 + * + * @return contract_name - 合同名称 + */ + public String getContractName() { + return contractName; + } + + /** + * 设置合同名称 + * + * @param contractName 合同名称 + */ + public void setContractName(String contractName) { + this.contractName = contractName; + } + + /** + * 获取甲方名称 + * + * @return party_a - 甲方名称 + */ + public String getPartyA() { + return partyA; + } + + /** + * 设置甲方名称 + * + * @param partyA 甲方名称 + */ + public void setPartyA(String partyA) { + this.partyA = partyA; + } + + /** + * 获取乙方名称 + * + * @return party_b - 乙方名称 + */ + public String getPartyB() { + return partyB; + } + + /** + * 设置乙方名称 + * + * @param partyB 乙方名称 + */ + public void setPartyB(String partyB) { + this.partyB = partyB; + } + + /** + * 获取丙方名称 + * + * @return party_c - 丙方名称 + */ + public String getPartyC() { + return partyC; + } + + /** + * 设置丙方名称 + * + * @param partyC 丙方名称 + */ + public void setPartyC(String partyC) { + this.partyC = partyC; + } + + /** + * 获取加盟模式 多选 用逗号隔开 + * + * @return franchise_mode - 加盟模式 多选 用逗号隔开 + */ + public String getFranchiseMode() { + return franchiseMode; + } + + /** + * 设置加盟模式 多选 用逗号隔开 + * + * @param franchiseMode 加盟模式 多选 用逗号隔开 + */ + public void setFranchiseMode(String franchiseMode) { + this.franchiseMode = franchiseMode; + } + + /** + * 获取法大大模板ID + * + * @return fadada_template_id - 法大大模板ID + */ + public String getFadadaTemplateId() { + return fadadaTemplateId; + } + + /** + * 设置法大大模板ID + * + * @param fadadaTemplateId 法大大模板ID + */ + public void setFadadaTemplateId(String fadadaTemplateId) { + this.fadadaTemplateId = fadadaTemplateId; + } + + /** + * 获取序号 + * + * @return serial_number - 序号 + */ + public Integer getSerialNumber() { + return serialNumber; + } + + /** + * 设置序号 + * + * @param serialNumber 序号 + */ + public void setSerialNumber(Integer serialNumber) { + this.serialNumber = serialNumber; + } + + /** + * 获取创建时间 + * + * @return create_time - 创建时间 + */ + public Date getCreateTime() { + return createTime; + } + + /** + * 设置创建时间 + * + * @param createTime 创建时间 + */ + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + /** + * 获取更新时间 + * + * @return update_time - 更新时间 + */ + public Date getUpdateTime() { + return updateTime; + } + + /** + * 设置更新时间 + * + * @param updateTime 更新时间 + */ + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } +} \ No newline at end of file diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/ContractConfigService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/ContractConfigService.java new file mode 100644 index 000000000..d2b46961c --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/ContractConfigService.java @@ -0,0 +1,43 @@ +package com.cool.store.service; + +import com.cool.store.dto.contract.ContractConfigDTO; +import com.cool.store.dto.contract.ContractListDTO; +import com.cool.store.dto.contract.QueryContractListDTO; +import com.github.pagehelper.Page; +import com.github.pagehelper.PageInfo; + +/** + * @Author suzhuhong + * @Date 2025/9/8 15:46 + * @Version 1.0 + */ +public interface ContractConfigService { + + + /** + * 新增配置 + * @param addContractConfigDTO + * @return + */ + Boolean addContractConfig(ContractConfigDTO addContractConfigDTO); + + /** + * 修改配置 + * @param addContractConfigDTO + * @return + */ + Boolean updateContractConfig(ContractConfigDTO addContractConfigDTO); + + + /** + * 查询配置列表 + * @param queryContractListDTO + * @return + */ + PageInfo queryContractConfigList(QueryContractListDTO queryContractListDTO); + + + + + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ContractConfigServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ContractConfigServiceImpl.java new file mode 100644 index 000000000..606010d1a --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ContractConfigServiceImpl.java @@ -0,0 +1,82 @@ +package com.cool.store.service.impl; + +import com.cool.store.dao.ContractConfigDAO; +import com.cool.store.dto.contract.ContractConfigDTO; +import com.cool.store.dto.contract.ContractListDTO; +import com.cool.store.dto.contract.QueryContractListDTO; +import com.cool.store.entity.ContractConfigDO; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.exception.ServiceException; +import com.cool.store.service.ContractConfigService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; + +/** + * @Author suzhuhong + * @Date 2025/9/8 15:47 + * @Version 1.0 + */ +@Service +public class ContractConfigServiceImpl implements ContractConfigService { + + @Resource + private ContractConfigDAO contractConfigDAO; + + @Override + public Boolean addContractConfig(ContractConfigDTO addContractConfigDTO) { + ContractConfigDO contractConfig = contractConfigDAO.queryContractConfigByBrand(addContractConfigDTO.getBrand(), addContractConfigDTO.getSerialNumber()); + if (contractConfig != null){ + throw new ServiceException(ErrorCodeEnum.CURRENT_BRAND_SORT_NUMBER_EXIST); + } + ContractConfigDO contractConfigDO = new ContractConfigDO(); + BeanUtils.copyProperties(addContractConfigDTO, contractConfigDO); + if (addContractConfigDTO.getFranchiseModeList() != null){ + String modelStr = addContractConfigDTO.getFranchiseModeList().stream().collect(Collectors.joining(",")); + contractConfigDO.setFranchiseMode("," + modelStr + ","); + } + contractConfigDAO.addContractConfig(contractConfigDO); + return Boolean.TRUE; + } + + @Override + public Boolean updateContractConfig(ContractConfigDTO addContractConfigDTO) { + ContractConfigDO contractConfig = contractConfigDAO.queryContractConfigByBrand(addContractConfigDTO.getBrand(), addContractConfigDTO.getSerialNumber()); + if (contractConfig != null && !contractConfig.getId().equals(addContractConfigDTO.getId())){ + throw new ServiceException(ErrorCodeEnum.CURRENT_BRAND_SORT_NUMBER_EXIST); + } + ContractConfigDO contractConfigDO = new ContractConfigDO(); + BeanUtils.copyProperties(addContractConfigDTO, contractConfigDO); + if (addContractConfigDTO.getFranchiseModeList() != null){ + String modelStr = addContractConfigDTO.getFranchiseModeList().stream().collect(Collectors.joining(",")); + contractConfigDO.setFranchiseMode("," + modelStr + ","); + } + return Boolean.TRUE; + } + + @Override + public PageInfo queryContractConfigList(QueryContractListDTO queryContractListDTO) { + PageHelper.startPage(queryContractListDTO.getPageNum(), queryContractListDTO.getPageSize()); + List contractConfigDOList = contractConfigDAO.queryContractConfigList(queryContractListDTO.getBrand()); + if (CollectionUtils.isEmpty(contractConfigDOList)){ + return new PageInfo<>(); + } + PageInfo contractConfigDOPageInfo = new PageInfo<>(contractConfigDOList); + List result = new ArrayList<>(); + contractConfigDOList.forEach(contractConfigDO -> { + ContractListDTO contractListDTO = new ContractListDTO(); + BeanUtils.copyProperties(contractConfigDO, contractListDTO); + result.add(contractListDTO); + }); + contractConfigDOPageInfo.setList( result); + return contractConfigDOPageInfo; + } + + +} 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 49dda1872..645e3f4d3 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 @@ -418,7 +418,6 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu contractInformationDTO.setShopName(shopInfoDO.getShopName()); //品牌信息 - contractInformationDTO.setSign1Name(signFranchiseDO.getPartnershipSignatoryFirst()); contractInformationDTO.setSign2Name(signFranchiseDO.getPartnershipSignatorySecond()); contractInformationDTO.setFirstYearFee(franchiseFeeDO.getFirstYearFee()); @@ -428,9 +427,6 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu contractInformationDTO.setPerformanceBond(franchiseFeeDO.getPerformanceBond()); - - - log.info("加盟合同审批时签约类型:{}", SignTypeEnum.getDescByCode(signFranchiseDO.getSignType())); Boolean sendNotice = Boolean.TRUE; commonService.sendSms(lineInfoDO.getMobile(), SMSMsgEnum.SIGN_CONTRACT); From 302d38af2b7ccc39a03dfd216848ca107181ba76 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 11:09:57 +0800 Subject: [PATCH 03/28] =?UTF-8?q?feat:=E5=90=88=E5=90=8C=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/enums/ErrorCodeEnum.java | 2 +- .../com/cool/store/dao/ContractConfigDAO.java | 24 ++++++++ .../store/mapper/ContractConfigMapper.java | 2 + ...figMapper.xml => ContractConfigMapper.xml} | 13 +++- .../store/dto/contract/ContractConfigDTO.java | 1 - .../cool/store/entity/ContractConfigDO.java | 8 +++ .../store/service/ContractConfigService.java | 7 ++- .../impl/ContractConfigServiceImpl.java | 14 +++++ .../service/impl/LinePayServiceImpl.java | 3 - .../webb/ContractConfigController.java | 59 +++++++++++++++++++ 10 files changed, 126 insertions(+), 7 deletions(-) rename coolstore-partner-dao/src/main/resources/mapper/{contractConfigMapper.xml => ContractConfigMapper.xml} (80%) create mode 100644 coolstore-partner-web/src/main/java/com/cool/store/controller/webb/ContractConfigController.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index 2b7cffb86..d48973587 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java @@ -304,10 +304,10 @@ public enum ErrorCodeEnum { NOT_FLAGSHIP_STORE_NOT_EXIST(16100006,"当前阶段加盟类型不能变更!",null), CURRENT_BRAND_SORT_NUMBER_EXIST(16100007,"当前品牌已存在该排序数字!",null), + CONTRACT_CONFIG_NOT_EXIST(16100008,"合同配置不存在!",null),; ; - protected static final Map map = Arrays.stream(values()).collect( Collectors.toMap(ErrorCodeEnum::getCode, Function.identity(), (a, b)->a)); private int code; diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ContractConfigDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ContractConfigDAO.java index 07e0b3c25..9db56f10b 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ContractConfigDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ContractConfigDAO.java @@ -18,6 +18,11 @@ public class ContractConfigDAO { @Resource private ContractConfigMapper contractConfigMapper; + + public ContractConfigDO queryContractConfigById(Long id){ + return contractConfigMapper.selectByPrimaryKey(id); + } + public int addContractConfig(ContractConfigDO contractConfigDO){ return contractConfigMapper.insertSelective(contractConfigDO); } @@ -37,7 +42,26 @@ public class ContractConfigDAO { } + /** + * 合同配置列表 + * @param brand + * @return + */ public List queryContractConfigList(String brand) { return contractConfigMapper.queryContractConfigList(brand); } + + /** + * 根据加盟品牌与加盟模式 查出所有的未删除状态的合并合同 + * @param brand + * @param mode + * @return + */ + public List queryContractConfigListByBrandAndMode(String brand,String mode) { + return contractConfigMapper.queryContractConfigListByBrandAndMode(brand,mode); + } + + public void deleteContractConfig(Long id) { + contractConfigMapper.deleteByPrimaryKey(id); + } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ContractConfigMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ContractConfigMapper.java index 7fffb9113..b02e05d34 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ContractConfigMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ContractConfigMapper.java @@ -13,4 +13,6 @@ public interface ContractConfigMapper extends Mapper { List queryContractConfigList(String brand); + + List queryContractConfigListByBrandAndMode(String brand, String mode); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/contractConfigMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ContractConfigMapper.xml similarity index 80% rename from coolstore-partner-dao/src/main/resources/mapper/contractConfigMapper.xml rename to coolstore-partner-dao/src/main/resources/mapper/ContractConfigMapper.xml index cfc76f2de..fd81efa35 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/contractConfigMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ContractConfigMapper.xml @@ -14,7 +14,7 @@ - + @@ -31,4 +31,15 @@ and brand = #{brand} + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractConfigDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractConfigDTO.java index d6d3a926c..6e9d92519 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractConfigDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractConfigDTO.java @@ -32,7 +32,6 @@ public class ContractConfigDTO { private String partyA; @ApiModelProperty("乙方名称") - @NotBlank(message = "乙方名称不能为空") private String partyB; @ApiModelProperty(" 丙方名称") diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/ContractConfigDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/ContractConfigDO.java index 519722000..ef2c84d4c 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/ContractConfigDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/ContractConfigDO.java @@ -89,6 +89,14 @@ public class ContractConfigDO { this.payeeName = payeeName; } + public Integer getDeleted() { + return deleted; + } + + public void setDeleted(Integer deleted) { + this.deleted = deleted; + } + /** * 获取主键ID * diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/ContractConfigService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/ContractConfigService.java index d2b46961c..7bcb7fdef 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/ContractConfigService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/ContractConfigService.java @@ -37,7 +37,12 @@ public interface ContractConfigService { PageInfo queryContractConfigList(QueryContractListDTO queryContractListDTO); - + /** + * 删除配置 + * @param id + * @return + */ + Boolean deleteContractConfig(Long id); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ContractConfigServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ContractConfigServiceImpl.java index 606010d1a..5cafb54eb 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ContractConfigServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ContractConfigServiceImpl.java @@ -8,6 +8,7 @@ import com.cool.store.entity.ContractConfigDO; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.exception.ServiceException; import com.cool.store.service.ContractConfigService; +import com.cool.store.utils.poi.constant.Constants; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.apache.commons.collections4.CollectionUtils; @@ -57,6 +58,7 @@ public class ContractConfigServiceImpl implements ContractConfigService { String modelStr = addContractConfigDTO.getFranchiseModeList().stream().collect(Collectors.joining(",")); contractConfigDO.setFranchiseMode("," + modelStr + ","); } + contractConfigDAO.updateContractConfig(contractConfigDO); return Boolean.TRUE; } @@ -78,5 +80,17 @@ public class ContractConfigServiceImpl implements ContractConfigService { return contractConfigDOPageInfo; } + @Override + public Boolean deleteContractConfig(Long id) { + ContractConfigDO contractConfigDO = contractConfigDAO.queryContractConfigById(id); + if (contractConfigDO == null){ + throw new ServiceException(ErrorCodeEnum.CONTRACT_CONFIG_NOT_EXIST); + } + contractConfigDO.setDeleted(Constants.ONE_INTEGER); + //修改配置状态 + contractConfigDAO.updateContractConfig(contractConfigDO); + return Boolean.TRUE; + } + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LinePayServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LinePayServiceImpl.java index d1be25aea..5f00aa80f 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LinePayServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LinePayServiceImpl.java @@ -32,20 +32,17 @@ import com.cool.store.service.UserAuthMappingService; import com.cool.store.utils.CoolDateUtils; import com.cool.store.utils.RedisConstantUtil; import com.cool.store.utils.RedisUtilPool; -import com.cool.store.utils.UUIDUtils; import com.cool.store.utils.poi.DateUtils; import com.cool.store.utils.poi.StringUtils; import com.cool.store.utils.poi.constant.Constants; import com.cool.store.vo.LinePayVO; import com.cool.store.vo.PartnerUserInfoVO; -import jdk.nashorn.internal.codegen.types.BooleanType; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.RequestParam; import javax.annotation.Resource; import java.math.BigDecimal; diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/ContractConfigController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/ContractConfigController.java new file mode 100644 index 000000000..7580972d2 --- /dev/null +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/ContractConfigController.java @@ -0,0 +1,59 @@ +package com.cool.store.controller.webb; + +import com.cool.store.dto.contract.ContractConfigDTO; +import com.cool.store.dto.contract.ContractListDTO; +import com.cool.store.dto.contract.QueryContractListDTO; +import com.cool.store.response.ResponseResult; +import com.cool.store.service.ContractConfigService; +import com.github.pagehelper.PageInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.xml.ws.Response; + +/** + * @Author suzhuhong + * @Date 2025/9/9 10:03 + * @Version 1.0 + */ +@RestController +@RequestMapping("pc/contract") +@Api(tags = "PC-合同配置") +@Slf4j +public class ContractConfigController { + + + @Resource + private ContractConfigService contractConfigService; + + @PostMapping("/addContractConfig") + @ApiOperation("添加合同配置") + public ResponseResult addContractConfig(@RequestBody @Validated ContractConfigDTO addContractConfigDTO) { + return ResponseResult.success(contractConfigService.addContractConfig(addContractConfigDTO)); + } + + @PostMapping("/updateContractConfig") + @ApiOperation("更新合同配置") + public ResponseResult updateContractConfig(@RequestBody @Validated ContractConfigDTO addContractConfigDTO) { + return ResponseResult.success(contractConfigService.updateContractConfig(addContractConfigDTO)); + } + + @PostMapping("/queryContractConfigList") + @ApiOperation("合同配置列表") + public ResponseResult> queryContractConfigList(@RequestBody QueryContractListDTO queryContractListDTO) { + return ResponseResult.success(contractConfigService.queryContractConfigList(queryContractListDTO)); + } + + @GetMapping("/deleteContractConfig") + @ApiOperation("删除配置") + public ResponseResult deleteContractConfig(Long id) { + return ResponseResult.success(contractConfigService.deleteContractConfig(id)); + } + + +} 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 04/28] =?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; From 220d5f09ea4209ac646bbc493f072cc647d235df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Wed, 10 Sep 2025 09:33:00 +0800 Subject: [PATCH 05/28] =?UTF-8?q?feat:=E5=90=88=E5=90=8C=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/enums/FranchiseBrandEnum.java | 45 +++++++++++++++---- .../store/dto/ContractInformationDTO.java | 6 ++- .../impl/SignFranchiseServiceImpl.java | 21 +++------ 3 files changed, 46 insertions(+), 26 deletions(-) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/FranchiseBrandEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/FranchiseBrandEnum.java index 1221d3c8f..de878c69f 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/FranchiseBrandEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/FranchiseBrandEnum.java @@ -14,20 +14,27 @@ import java.util.stream.Collectors; * @注释: */ public enum FranchiseBrandEnum { - ZXJP(1,"正新鸡排","option486"), - ZXSMZ(2,"正新三明治","option622"), - ZJS(3,"正烧记","option488"), - DGMX(4,"大鼓米线","option624"), - CXM(5,"串小妹","option626"), - MZG(6,"茂掌柜","option490"); + ZXJP(1,"正新鸡排","option486","上海正新食品集团有限公司","海南正新多品牌管理有限公司"), + ZXSMZ(2,"正新三明治","option622","",""), + ZJS(3,"正烧记","option488","上海正烧信息科技有限公司","上海正烧信息科技有限公司"), + DGMX(4,"大鼓米线","option624","",""), + CXM(5,"串小妹","option626","",""), + MZG(6,"茂掌柜","option490","",""); private int code; private String desc; - //红圈通code + /**法大大合同编号*/ private String hqtCode; - FranchiseBrandEnum(int code, String desc,String hqtCode) { + /**品牌方*/ + private String brandOwner; + /**收款方*/ + private String payeeName; + + FranchiseBrandEnum(int code, String desc,String hqtCode,String brandOwner,String payeeName) { this.code = code; this.desc = desc; this.hqtCode = hqtCode; + this.brandOwner = brandOwner; + this.payeeName = payeeName; } public int getCode() { return code; @@ -40,6 +47,14 @@ public enum FranchiseBrandEnum { return hqtCode; } + public String getBrandOwner() { + return brandOwner; + } + + public String getPayeeName() { + return payeeName; + } + public static String getDescByCode(String code) { if (StringUtils.isBlank(code)){ return null; @@ -52,6 +67,20 @@ public enum FranchiseBrandEnum { } return null; } + + public static FranchiseBrandEnum getEnumByCode(String code) { + if (StringUtils.isBlank(code)){ + return null; + } + int i = Integer.parseInt(code); + for (FranchiseBrandEnum e : FranchiseBrandEnum.values()) { + if (i == e.getCode()) { + return e; + } + } + return null; + } + public static String getDescByCode(Integer code) { if (code==null){ return null; 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 710a43c50..20b3da15f 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 @@ -37,7 +37,9 @@ public class ContractInformationDTO { private String firstYearFee; @ApiModelProperty("设计费") private String performanceBond; - @ApiModelProperty("合同配置信息") - private List contractList; + @ApiModelProperty("收款方名称") + private String payeeName; + @ApiModelProperty("品牌方") + private String brandOwner; } 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 ba6f8a2f8..711a4f4d1 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 @@ -428,25 +428,14 @@ 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())); - + FranchiseBrandEnum enumByCode = FranchiseBrandEnum.getEnumByCode(shopInfoDO.getFranchiseBrand()); + if (enumByCode != null){ + contractInformationDTO.setPayeeName(enumByCode.getPayeeName()); + contractInformationDTO.setBrandOwner(enumByCode.getBrandOwner()); } + log.info("加盟合同审批时签约类型:{}", SignTypeEnum.getDescByCode(signFranchiseDO.getSignType())); Boolean sendNotice = Boolean.TRUE; commonService.sendSms(lineInfoDO.getMobile(), SMSMsgEnum.SIGN_CONTRACT); From a855b824ca6cdd12ae9c141a65ff6baa765d30d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Wed, 17 Sep 2025 15:17:21 +0800 Subject: [PATCH 06/28] =?UTF-8?q?feat:=E6=B3=95=E5=A4=A7=E5=A4=A7=E4=B8=80?= =?UTF-8?q?=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/mapper/SignFranchiseMapper.java | 4 +- .../resources/mapper/SignFranchiseMapper.xml | 14 ++- .../dto/contract/ContractCallbackDTO.java | 17 +++ .../com/cool/store/service/PushService.java | 13 +- .../store/service/impl/PushServiceImpl.java | 12 +- .../impl/SignFranchiseServiceImpl.java | 116 ++++++++++-------- .../controller/webb/PCTestController.java | 48 +++++++- 7 files changed, 157 insertions(+), 67 deletions(-) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractCallbackDTO.java diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SignFranchiseMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SignFranchiseMapper.java index 8ac02937f..b595f6d25 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SignFranchiseMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SignFranchiseMapper.java @@ -1,5 +1,6 @@ package com.cool.store.mapper; +import com.cool.store.dto.contract.ContractCallbackDTO; import com.cool.store.entity.SignFranchiseDO; import org.apache.ibatis.annotations.Param; import tk.mybatis.mapper.common.Mapper; @@ -11,7 +12,8 @@ public interface SignFranchiseMapper extends Mapper { SignFranchiseDO selectByShopId(@Param("shopId") Long shopId); void updateAuditByShopId(@Param("auditId") Long auditId, - @Param("shopId") Long shopId); + @Param("shopId") Long shopId, + @Param("dto") ContractCallbackDTO dto); List selectByShopIds( @Param("list")List shopIds); Integer dateHandle(); diff --git a/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml index 5c927fb7d..d4ceb8c0e 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml @@ -3,7 +3,19 @@ update xfsg_sign_franchise - set audit_id = #{auditId} + + + audit_id = #{auditId}, + + + + info_consistency_flag = #{dto.infoConsistencyFlag}, + + + reason = #{dto.reason}, + + + where shop_id = #{shopId} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractCallbackDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractCallbackDTO.java new file mode 100644 index 000000000..e686d0af1 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractCallbackDTO.java @@ -0,0 +1,17 @@ +package com.cool.store.dto.contract; + +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2025/9/17 14:42 + * @Version 1.0 + */ +@Data +public class ContractCallbackDTO { + + private Integer infoConsistencyFlag; + + private String reason; + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/PushService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/PushService.java index e2e49e8c6..f9444f0a8 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/PushService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/PushService.java @@ -1,9 +1,7 @@ package com.cool.store.service; -import com.cool.store.dto.GetAccessTokenDTO; -import com.cool.store.dto.HqtTokenDTO; -import com.cool.store.dto.ModifyPasswordDTO; -import com.cool.store.dto.XgjOrganizationDTO; +import com.cool.store.dto.*; +import com.cool.store.dto.contract.ContractCallbackDTO; import com.cool.store.request.AuditRequest; import com.cool.store.request.ZxjpApiRequest; import com.cool.store.request.xgj.PushFranchiseFeeRequest; @@ -94,6 +92,13 @@ public interface PushService { */ HqtTokenDTO getHqtToken(); + /** + * 法大大一期 推送加盟合同信息 + * @param contractInformationDTO + * @return + */ + ContractCallbackDTO pushContract(ContractInformationDTO contractInformationDTO); + diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PushServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PushServiceImpl.java index 38801696a..afff5d4bb 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PushServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PushServiceImpl.java @@ -1,10 +1,8 @@ package com.cool.store.service.impl; import com.alibaba.fastjson.JSONObject; -import com.cool.store.dto.GetAccessTokenDTO; -import com.cool.store.dto.HqtTokenDTO; -import com.cool.store.dto.ModifyPasswordDTO; -import com.cool.store.dto.XgjOrganizationDTO; +import com.cool.store.dto.*; +import com.cool.store.dto.contract.ContractCallbackDTO; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.exception.ServiceException; import com.cool.store.request.ZxjpApiRequest; @@ -133,6 +131,11 @@ public class PushServiceImpl implements PushService { String apiUrl = xgjUrl + "/dmp/dmp-join/open/franchiseeBill"; return executePostApiCall(apiUrl, request, Boolean.class, xgjUsername, xgjSecret,getXgjAccessToken().getAccess_token()); } + @Override + public ContractCallbackDTO pushContract(ContractInformationDTO contractInformationDTO) { + String apiUrl = xgjUrl + "/dmp/dmp-join/open/franchiseContract"; + return executePostApiCall(apiUrl, contractInformationDTO, ContractCallbackDTO.class, xgjUsername, xgjSecret,getXgjAccessToken().getAccess_token()); + } @Override public Boolean pushReceiptToXGJ(ReceiptRequest request) { @@ -296,6 +299,7 @@ public class PushServiceImpl implements PushService { } } + private T executeApiCall(String url, Object requestBody, Class responseType, String username, String secret){ return executePostApiCall(url,requestBody,responseType,username,secret,null); } 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 711a4f4d1..063920164 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.ContractCallbackDTO; import com.cool.store.dto.contract.PushContractDTO; import com.cool.store.entity.*; import com.cool.store.enums.*; @@ -123,45 +124,47 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu OperationLogDAO operationLogDAO; @Resource ContractConfigDAO contractConfigDAO; + @Resource + PushService pushService; @Override public Boolean auditResult(AuditResultRequest request) { log.info("SignFranchiseServiceImpl auditResult request:{}", JSONObject.toJSONString(request)); - Long shopId = getShopId(request.getKdzBusinessId()); - ShopSubStageStatusEnum shopSubStageStatusEnum = null; - if (request.getAuditResult() == 1) { - shopSubStageStatusEnum = SHOP_SUB_STAGE_STATUS_84; - } else if (request.getAuditResult() == 0) { - shopSubStageStatusEnum = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_85; - } - ShopAuditInfoDO shopAuditInfoDO = new ShopAuditInfoDO(); - shopAuditInfoDO.setShopId(shopId); - shopAuditInfoDO.setAuditType(AuditTypeEnum.SIGN_FRANCHISE.getCode()); - shopAuditInfoDO.setSubmittedUserId(""); - shopAuditInfoDO.setSubmittedUserName(""); - if (Constants.ZERO_INTEGER.equals(request.getAuditResult())) { - shopAuditInfoDO.setResultType(Constants.ONE_INTEGER); - shopAuditInfoDO.setRejectReason(request.getCause()); - Map requestMap = new HashMap<>(); - ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(shopId); - LineInfoDO lineInfo = lineInfoMapper.getByLineId(shopInfoDO.getLineId()); - requestMap.put("storeName", shopInfoDO.getShopName()); - requestMap.put("partnerName", lineInfo.getUsername()); - requestMap.put("partnerMobile", lineInfo.getMobile()); - requestMap.put("lineId", String.valueOf(lineInfo.getId())); - requestMap.put("shopId", String.valueOf(shopInfoDO.getId())); - commonService.sendMessage(Collections.singletonList(lineInfo.getInvestmentManager()), MessageEnum.MESSAGE_20, requestMap); - } else if (Constants.ONE_INTEGER.equals(request.getAuditResult())) { - shopAuditInfoDO.setResultType(Constants.ZERO_INTEGER); - shopAuditInfoDO.setPassReason(request.getCause()); - //校验建店与加盟签约合同是否完成 并初始化后续流程数据 - //preparationService.contractAndBuildStoreCompletion(shopId); - } - shopAuditInfoMapper.insertSelective(shopAuditInfoDO); - Long auditId = shopAuditInfoDO.getId(); - shopStageInfoDAO.updateShopStageAndAuditInfo(shopId, shopSubStageStatusEnum, auditId); - signFranchiseMapper.updateAuditByShopId(auditId, shopId); +// Long shopId = getShopId(request.getKdzBusinessId()); +// ShopSubStageStatusEnum shopSubStageStatusEnum = null; +// if (request.getAuditResult() == 1) { +// shopSubStageStatusEnum = SHOP_SUB_STAGE_STATUS_84; +// } else if (request.getAuditResult() == 0) { +// shopSubStageStatusEnum = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_85; +// } +// ShopAuditInfoDO shopAuditInfoDO = new ShopAuditInfoDO(); +// shopAuditInfoDO.setShopId(shopId); +// shopAuditInfoDO.setAuditType(AuditTypeEnum.SIGN_FRANCHISE.getCode()); +// shopAuditInfoDO.setSubmittedUserId(""); +// shopAuditInfoDO.setSubmittedUserName(""); +// if (Constants.ZERO_INTEGER.equals(request.getAuditResult())) { +// shopAuditInfoDO.setResultType(Constants.ONE_INTEGER); +// shopAuditInfoDO.setRejectReason(request.getCause()); +// Map requestMap = new HashMap<>(); +// ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(shopId); +// LineInfoDO lineInfo = lineInfoMapper.getByLineId(shopInfoDO.getLineId()); +// requestMap.put("storeName", shopInfoDO.getShopName()); +// requestMap.put("partnerName", lineInfo.getUsername()); +// requestMap.put("partnerMobile", lineInfo.getMobile()); +// requestMap.put("lineId", String.valueOf(lineInfo.getId())); +// requestMap.put("shopId", String.valueOf(shopInfoDO.getId())); +// commonService.sendMessage(Collections.singletonList(lineInfo.getInvestmentManager()), MessageEnum.MESSAGE_20, requestMap); +// } else if (Constants.ONE_INTEGER.equals(request.getAuditResult())) { +// shopAuditInfoDO.setResultType(Constants.ZERO_INTEGER); +// shopAuditInfoDO.setPassReason(request.getCause()); +// //校验建店与加盟签约合同是否完成 并初始化后续流程数据 +// //preparationService.contractAndBuildStoreCompletion(shopId); +// } +// shopAuditInfoMapper.insertSelective(shopAuditInfoDO); +// Long auditId = shopAuditInfoDO.getId(); +// shopStageInfoDAO.updateShopStageAndAuditInfo(shopId, shopSubStageStatusEnum, auditId); + //signFranchiseMapper.updateAuditByShopId(auditId, shopId); return true; } @@ -361,6 +364,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu shopAuditInfoDO.setSubmittedUserId(user.getUserId()); shopAuditInfoDO.setSubmittedUserName(user.getName()); //驳回 + ContractCallbackDTO contractCallbackDTO = null; if (Constants.ZERO_INTEGER.equals(request.getAuditResult())) { shopAuditInfoDO.setResultType(Constants.ONE_INTEGER); shopAuditInfoDO.setRejectReason(request.getCause()); @@ -415,27 +419,33 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu FranchiseFeeDO franchiseFeeDO = franchiseFeeMapper.selectByShopId(shopId); SignFranchiseDO signFranchiseDO = signFranchiseMapper.selectByShopId(shopId); - ContractInformationDTO contractInformationDTO = new ContractInformationDTO(); - contractInformationDTO.setShopId(shopId); - contractInformationDTO.setJoinModel(shopInfoDO.getJoinMode()); - contractInformationDTO.setShopName(shopInfoDO.getShopName()); - //品牌信息 - contractInformationDTO.setSign1Name(signFranchiseDO.getPartnershipSignatoryFirst()); - contractInformationDTO.setSign2Name(signFranchiseDO.getPartnershipSignatorySecond()); - contractInformationDTO.setFirstYearFee(franchiseFeeDO.getFirstYearFee()); - contractInformationDTO.setLoanMargin(franchiseFeeDO.getLoanMargin()); - contractInformationDTO.setFirstYearManagementFee(franchiseFeeDO.getFirstYearManageFee()); - contractInformationDTO.setFirstYearFee(franchiseFeeDO.getFirstYearFee()); - contractInformationDTO.setPerformanceBond(franchiseFeeDO.getPerformanceBond()); + //自营店 无缴费信息 不需要校验 + if (franchiseFeeDO != null){ + ContractInformationDTO contractInformationDTO = new ContractInformationDTO(); + contractInformationDTO.setShopId(shopId); + contractInformationDTO.setJoinModel(shopInfoDO.getJoinMode()); + contractInformationDTO.setShopName(shopInfoDO.getShopName()); + //品牌信息 + contractInformationDTO.setSign1Name(signFranchiseDO.getPartnershipSignatoryFirst()); + contractInformationDTO.setSign2Name(signFranchiseDO.getPartnershipSignatorySecond()); + contractInformationDTO.setFirstYearFee(franchiseFeeDO.getFirstYearFee()); + contractInformationDTO.setLoanMargin(franchiseFeeDO.getLoanMargin()); + contractInformationDTO.setFirstYearManagementFee(franchiseFeeDO.getFirstYearManageFee()); + contractInformationDTO.setFirstYearFee(franchiseFeeDO.getFirstYearFee()); + contractInformationDTO.setPerformanceBond(franchiseFeeDO.getPerformanceBond()); - FranchiseBrandEnum enumByCode = FranchiseBrandEnum.getEnumByCode(shopInfoDO.getFranchiseBrand()); - if (enumByCode != null){ - contractInformationDTO.setPayeeName(enumByCode.getPayeeName()); - contractInformationDTO.setBrandOwner(enumByCode.getBrandOwner()); + FranchiseBrandEnum enumByCode = FranchiseBrandEnum.getEnumByCode(shopInfoDO.getFranchiseBrand()); + if (enumByCode != null){ + contractInformationDTO.setPayeeName(enumByCode.getPayeeName()); + contractInformationDTO.setBrandOwner(enumByCode.getBrandOwner()); + } + try { + contractCallbackDTO = pushService.pushContract(contractInformationDTO); + } catch (Exception e) { + log.error("推送合同信息失败", e); + } } - - log.info("加盟合同审批时签约类型:{}", SignTypeEnum.getDescByCode(signFranchiseDO.getSignType())); Boolean sendNotice = Boolean.TRUE; commonService.sendSms(lineInfoDO.getMobile(), SMSMsgEnum.SIGN_CONTRACT); @@ -460,7 +470,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu } shopAuditInfoMapper.insertSelective(shopAuditInfoDO); Long auditId = shopAuditInfoDO.getId(); - signFranchiseMapper.updateAuditByShopId(auditId, shopId); + signFranchiseMapper.updateAuditByShopId(auditId, shopId,contractCallbackDTO); //审批记录表记录 List operationLogs = operationLogDAO.getBySubStageStatusEnumAndsStatus(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83, OperationTypeEnum.OPERATION_TYPE_1.getCode()); operationLogService.batchUpdateProcessed(operationLogs, auditId, user.getUserId(), request.getCause()); diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java index 64c87bda8..c80580481 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java @@ -4,12 +4,11 @@ import com.alibaba.fastjson.JSONObject; import com.cool.store.constants.CommonConstants; import com.cool.store.constants.RedisConstant; import com.cool.store.dao.*; -import com.cool.store.dto.FoodTokenDTO; -import com.cool.store.dto.GetAccessTokenDTO; -import com.cool.store.dto.HqtTokenDTO; -import com.cool.store.dto.ModifyPasswordDTO; +import com.cool.store.dto.*; +import com.cool.store.dto.contract.ContractCallbackDTO; import com.cool.store.entity.*; import com.cool.store.enums.DownSystemTypeEnum; +import com.cool.store.enums.FranchiseBrandEnum; import com.cool.store.enums.MessageEnum; import com.cool.store.enums.SMSMsgEnum; import com.cool.store.enums.point.ShopSubStageStatusEnum; @@ -17,6 +16,7 @@ import com.cool.store.job.XxlJobHandler; import com.cool.store.mapper.FranchiseFeeMapper; import com.cool.store.mapper.LineInfoMapper; import com.cool.store.mapper.ShopInfoMapper; +import com.cool.store.mapper.SignFranchiseMapper; import com.cool.store.mq.util.HttpRestTemplateService; import com.cool.store.request.*; import com.cool.store.request.bigdata.ProfitDataRequest; @@ -99,6 +99,8 @@ public class PCTestController { LinePayService linePayService; @Resource LinePayDAO linePayDAO; + @Resource + SignFranchiseMapper signFranchiseMapper; @GetMapping("/syncStore") public ResponseResult syncStore(@RequestParam("shopId")Long shopId){ @@ -393,6 +395,44 @@ public class PCTestController { return ResponseResult.success(Boolean.TRUE); } + @GetMapping("/pushContract") + @ApiOperation("推送合同信息") + public ResponseResult pushContract(@RequestParam(value = "shopId", required = true) Long shopId) { + + ShopInfoDO shopInfoDO = shopInfoDAO.getShopInfo(shopId); + FranchiseFeeDO franchiseFeeDO = franchiseFeeMapper.selectByShopId(shopId); + SignFranchiseDO signFranchiseDO = signFranchiseMapper.selectByShopId(shopId); + + //自营店 无缴费信息 不需要校验 + if (franchiseFeeDO != null){ + ContractInformationDTO contractInformationDTO = new ContractInformationDTO(); + contractInformationDTO.setShopId(shopId); + contractInformationDTO.setJoinModel(shopInfoDO.getJoinMode()); + contractInformationDTO.setShopName(shopInfoDO.getShopName()); + //品牌信息 + contractInformationDTO.setSign1Name(signFranchiseDO.getPartnershipSignatoryFirst()); + contractInformationDTO.setSign2Name(signFranchiseDO.getPartnershipSignatorySecond()); + contractInformationDTO.setFirstYearFee(franchiseFeeDO.getFirstYearFee()); + contractInformationDTO.setLoanMargin(franchiseFeeDO.getLoanMargin()); + contractInformationDTO.setFirstYearManagementFee(franchiseFeeDO.getFirstYearManageFee()); + contractInformationDTO.setFirstYearFee(franchiseFeeDO.getFirstYearFee()); + contractInformationDTO.setPerformanceBond(franchiseFeeDO.getPerformanceBond()); + + FranchiseBrandEnum enumByCode = FranchiseBrandEnum.getEnumByCode(shopInfoDO.getFranchiseBrand()); + if (enumByCode != null){ + contractInformationDTO.setPayeeName(enumByCode.getPayeeName()); + contractInformationDTO.setBrandOwner(enumByCode.getBrandOwner()); + } + try { + ContractCallbackDTO contractCallbackDTO = pushService.pushContract(contractInformationDTO); + log.info("推送合同信息回调:{}", JSONObject.toJSONString(contractCallbackDTO)); + } catch (Exception e) { + log.error("推送合同信息失败", e); + } + } + return ResponseResult.success(Boolean.TRUE); + } + @Resource ShopStageInfoDAO shopStageInfoDAO; From 5ada2f284f2174e52b3f092df13ed0862497b5b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Wed, 17 Sep 2025 15:48:38 +0800 Subject: [PATCH 07/28] =?UTF-8?q?feat:=E6=B3=95=E5=A4=A7=E5=A4=A7=E4=B8=80?= =?UTF-8?q?=E6=9C=9F=20=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/entity/SignFranchiseDO.java | 10 ++++++++++ .../cool/store/response/AddSignFranchiseResponse.java | 5 +++++ .../store/service/impl/SignFranchiseServiceImpl.java | 2 ++ 3 files changed, 17 insertions(+) diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java index 34af719bc..9f10482e4 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java @@ -86,4 +86,14 @@ public class SignFranchiseDO { //是否统管 : 1-统管,0-不统管', @Column(name = "unified_management") private Integer unifiedManagement; + /** + * 信息是否一致 财务使用 + */ + @Column(name = "info_consistency_flag") + private Integer infoConsistencyFlag; + /** + * 不一致原因 + */ + @Column(name = "reason") + private String reason; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/AddSignFranchiseResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/AddSignFranchiseResponse.java index f6537dfe0..e75765010 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/AddSignFranchiseResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/AddSignFranchiseResponse.java @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.persistence.Column; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.util.Date; @@ -240,6 +241,10 @@ public class AddSignFranchiseResponse { @ApiModelProperty("是否统管 : 1-统管,0-不统管") private Integer unifiedManagement; + @ApiModelProperty("信息是否一致") + private Integer infoConsistencyFlag; + @ApiModelProperty("不一致原因") + private String reason; } 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 063920164..783469770 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 @@ -563,6 +563,8 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu } if (Objects.nonNull(signFranchiseDO)) { addSignFranchiseResponse.setUnifiedManagement(signFranchiseDO.getUnifiedManagement()); + addSignFranchiseResponse.setInfoConsistencyFlag(signFranchiseDO.getInfoConsistencyFlag()); + addSignFranchiseResponse.setReason(signFranchiseDO.getReason()); addSignFranchiseResponse.setId(signFranchiseDO.getId()); addSignFranchiseResponse.setShopId(signFranchiseDO.getShopId()); addSignFranchiseResponse.setSignType(signFranchiseDO.getSignType()); From 2053507ae701fc27a9c2600fed8b9c5b9a376c55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Fri, 19 Sep 2025 14:01:32 +0800 Subject: [PATCH 08/28] =?UTF-8?q?feat:=E6=B3=95=E5=A4=A7=E5=A4=A7=E4=B8=80?= =?UTF-8?q?=E6=9C=9F=20=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/service/impl/FranchiseFeeServiceImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java index 8bfb2cc07..38d1cbe7c 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java @@ -246,7 +246,10 @@ public class FranchiseFeeServiceImpl implements FranchiseFeeService { } franchiseFeeMapper.updateByPrimaryKeySelective(franchiseFeeDO); if (XGJCollectionStatusEnum.COMPLETED.getCode().equals(request.getPaymentStatus())){ - shopStageInfoDAO.batchUpdateShopStageStatus(request.getShopId(),Arrays.asList(SHOP_SUB_STAGE_STATUS_73,SHOP_SUB_STAGE_STATUS_80)); + ShopStageInfoDO shopStageStatus = shopStageInfoDAO.getShopSubStageInfo(request.getShopId(), ShopSubStageEnum.SHOP_STAGE_8); + if (SHOP_SUB_STAGE_STATUS_00.equals(shopStageStatus.getShopSubStageStatus())){ + shopStageInfoDAO.batchUpdateShopStageStatus(request.getShopId(),Arrays.asList(SHOP_SUB_STAGE_STATUS_73,SHOP_SUB_STAGE_STATUS_80)); + } } return ApiResponse.success(Boolean.TRUE); } From 6f38fb99ed196e10aec638bc481b4c144db6cd4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Fri, 19 Sep 2025 14:28:57 +0800 Subject: [PATCH 09/28] =?UTF-8?q?feat:=E6=B3=95=E5=A4=A7=E5=A4=A7=E4=B8=80?= =?UTF-8?q?=E6=9C=9F=20=E9=99=90=E5=88=B6=E6=8F=90=E4=BA=A4=E5=8E=BB?= =?UTF-8?q?=E6=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/service/impl/FranchiseFeeServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java index 38d1cbe7c..de0897cfc 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java @@ -102,9 +102,9 @@ public class FranchiseFeeServiceImpl implements FranchiseFeeService { @Transactional(rollbackFor = Exception.class) public Boolean update(FranchiseFeeRequest request) { ShopStageInfoDO shopStageInfo = shopStageInfoDAO.getShopSubStageInfo(request.getShopId(), ShopSubStageEnum.SHOP_STAGE_7); - if (shopStageInfo.getShopSubStageStatus().equals(SHOP_SUB_STAGE_STATUS_73.getShopSubStageStatus())){ - throw new ServiceException(ErrorCodeEnum.NOT_ALLOW_OPERATE); - } +// if (shopStageInfo.getShopSubStageStatus().equals(SHOP_SUB_STAGE_STATUS_73.getShopSubStageStatus())){ +// throw new ServiceException(ErrorCodeEnum.NOT_ALLOW_OPERATE); +// } FranchiseFeeDO franchiseFeeDO = request.toFranchiseFeeDO(); FranchiseFeeDO franchiseFeeDO1 = franchiseFeeMapper.selectByShopId(request.getShopId()); if (Objects.nonNull(franchiseFeeDO1)) { From ba47781bd115ee66d54550a8d8033e5a3464fe7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Fri, 19 Sep 2025 14:35:35 +0800 Subject: [PATCH 10/28] =?UTF-8?q?feat:=E6=B3=95=E5=A4=A7=E5=A4=A7=E4=B8=80?= =?UTF-8?q?=E6=9C=9F=20=E9=99=90=E5=88=B6=E6=8F=90=E4=BA=A4=E5=8E=BB?= =?UTF-8?q?=E6=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/service/impl/FranchiseFeeServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java index de0897cfc..a184c4d95 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java @@ -228,9 +228,9 @@ public class FranchiseFeeServiceImpl implements FranchiseFeeService { return ApiResponse.error(ErrorCodeEnum.SHOP_ID_NOT_EXIST); } FranchiseFeeDO franchiseFeeDO = franchiseFeeMapper.selectByShopId(request.getShopId()); - if (XGJCollectionStatusEnum.COMPLETED.getCode().equals(franchiseFeeDO.getXgjCollectionStatus())){ - return ApiResponse.error(ErrorCodeEnum.XGJ_COLLECTION_STATUS_COMPLETE); - } +// if (XGJCollectionStatusEnum.COMPLETED.getCode().equals(franchiseFeeDO.getXgjCollectionStatus())){ +// return ApiResponse.error(ErrorCodeEnum.XGJ_COLLECTION_STATUS_COMPLETE); +// } franchiseFeeDO.setXgjCollectionStatus(request.getPaymentStatus()); franchiseFeeDO.setXgjRemainderPayableAmount(request.getRemainingFee()); franchiseFeeDO.setXgjFeesPaid(request.getPaidFees()); From b202c65b3aa69fb06db7d6e50629656a5c48bfa2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Fri, 19 Sep 2025 14:50:51 +0800 Subject: [PATCH 11/28] =?UTF-8?q?feat:=E6=B3=95=E5=A4=A7=E5=A4=A7=E4=B8=80?= =?UTF-8?q?=E6=9C=9F=20=E9=99=90=E5=88=B6=E6=8F=90=E4=BA=A4=E5=8E=BB?= =?UTF-8?q?=E6=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/service/impl/FranchiseFeeServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java index a184c4d95..db11cc618 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java @@ -247,7 +247,7 @@ public class FranchiseFeeServiceImpl implements FranchiseFeeService { franchiseFeeMapper.updateByPrimaryKeySelective(franchiseFeeDO); if (XGJCollectionStatusEnum.COMPLETED.getCode().equals(request.getPaymentStatus())){ ShopStageInfoDO shopStageStatus = shopStageInfoDAO.getShopSubStageInfo(request.getShopId(), ShopSubStageEnum.SHOP_STAGE_8); - if (SHOP_SUB_STAGE_STATUS_00.equals(shopStageStatus.getShopSubStageStatus())){ + if (SHOP_SUB_STAGE_STATUS_00.getShopSubStageStatus().equals(shopStageStatus.getShopSubStageStatus())){ shopStageInfoDAO.batchUpdateShopStageStatus(request.getShopId(),Arrays.asList(SHOP_SUB_STAGE_STATUS_73,SHOP_SUB_STAGE_STATUS_80)); } } From 5239a72970fda8cdd717616209231f10e8628bd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Fri, 19 Sep 2025 17:30:15 +0800 Subject: [PATCH 12/28] =?UTF-8?q?feat:=E6=B3=95=E5=A4=A7=E5=A4=A7=E4=B8=80?= =?UTF-8?q?=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/service/impl/FranchiseFeeServiceImpl.java | 5 ++++- .../cool/store/service/impl/SignFranchiseServiceImpl.java | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java index db11cc618..5a404ff5f 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java @@ -242,7 +242,10 @@ public class FranchiseFeeServiceImpl implements FranchiseFeeService { LinePayDO lastPay = linePayMapper.getLastPay(franchiseFeeDO.getShopId()); lastPay.setRemark(lastPay.getRemark()+"系统监测到您多缴费"+request.getPaidFees().subtract(request.getPayableFee())+"元 请申请退款或留做他用!"); linePayMapper.updateByPrimaryKeySelective(lastPay); - shopStageInfoDAO.batchUpdateShopStageStatus(request.getShopId(),Arrays.asList(SHOP_SUB_STAGE_STATUS_73,SHOP_SUB_STAGE_STATUS_80)); + ShopStageInfoDO shopStageStatus = shopStageInfoDAO.getShopSubStageInfo(request.getShopId(), ShopSubStageEnum.SHOP_STAGE_8); + if (SHOP_SUB_STAGE_STATUS_00.getShopSubStageStatus().equals(shopStageStatus.getShopSubStageStatus())){ + shopStageInfoDAO.batchUpdateShopStageStatus(request.getShopId(),Arrays.asList(SHOP_SUB_STAGE_STATUS_73,SHOP_SUB_STAGE_STATUS_80)); + } } franchiseFeeMapper.updateByPrimaryKeySelective(franchiseFeeDO); if (XGJCollectionStatusEnum.COMPLETED.getCode().equals(request.getPaymentStatus())){ 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 783469770..17c2a152d 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 @@ -431,7 +431,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu contractInformationDTO.setFirstYearFee(franchiseFeeDO.getFirstYearFee()); contractInformationDTO.setLoanMargin(franchiseFeeDO.getLoanMargin()); contractInformationDTO.setFirstYearManagementFee(franchiseFeeDO.getFirstYearManageFee()); - contractInformationDTO.setFirstYearFee(franchiseFeeDO.getFirstYearFee()); + contractInformationDTO.setYearFranchiseFee(franchiseFeeDO.getYearFranchiseFee()); contractInformationDTO.setPerformanceBond(franchiseFeeDO.getPerformanceBond()); FranchiseBrandEnum enumByCode = FranchiseBrandEnum.getEnumByCode(shopInfoDO.getFranchiseBrand()); From 59ca00cc2d7f2aaee5d9c4eff56a7ed57a47c4bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Fri, 19 Sep 2025 17:42:47 +0800 Subject: [PATCH 13/28] =?UTF-8?q?feat:=E7=AD=BE=E7=BA=A6=E4=B9=8B=E5=90=8E?= =?UTF-8?q?=E9=87=8D=E6=96=B0=E6=8E=A8=E9=80=81=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SignFranchiseServiceImpl.java | 86 ++++++++++++------- 1 file changed, 54 insertions(+), 32 deletions(-) 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 17c2a152d..12c24c2e5 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 @@ -219,7 +219,18 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu OperationTypeEnum.OPERATION_TYPE_1, "加盟签约合同审批", OperationStatusEnum.NOT_PROCESSED); } else { + //修改签约人信息 signFranchiseMapper.updateByPrimaryKeySelective(signFranchiseDO); + //如果已经签约 修改之后从新推送数据到新管家 + ShopStageInfoDO shopSubStageInfo = shopStageInfoDAO.getShopSubStageInfo(request.getId(), ShopSubStageEnum.SHOP_STAGE_8); + if (shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_84.getShopSubStageStatus())){ + //如果已经签约 修改之后从新推送数据 + ContractCallbackDTO contractCallbackDTO = pushContractRequest(shopInfoDO, request.getShopId()); + if (!Objects.isNull(contractCallbackDTO)){ + signFranchiseMapper.updateAuditByShopId(null, request.getShopId(),contractCallbackDTO); + } + + } } //修改shop & point updateShopAndPoint(request, shopInfoDO, pointInfoById); @@ -414,39 +425,9 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu //初始化数据 preparationService.contractAndBuildStoreCompletion(request.getShopId()); - //推送法大大数据 - //查询缴费信息 - FranchiseFeeDO franchiseFeeDO = franchiseFeeMapper.selectByShopId(shopId); - SignFranchiseDO signFranchiseDO = signFranchiseMapper.selectByShopId(shopId); + //推送数据 + contractCallbackDTO = pushContractRequest(shopInfoDO, request.getShopId()); - //自营店 无缴费信息 不需要校验 - if (franchiseFeeDO != null){ - ContractInformationDTO contractInformationDTO = new ContractInformationDTO(); - contractInformationDTO.setShopId(shopId); - contractInformationDTO.setJoinModel(shopInfoDO.getJoinMode()); - contractInformationDTO.setShopName(shopInfoDO.getShopName()); - //品牌信息 - contractInformationDTO.setSign1Name(signFranchiseDO.getPartnershipSignatoryFirst()); - contractInformationDTO.setSign2Name(signFranchiseDO.getPartnershipSignatorySecond()); - contractInformationDTO.setFirstYearFee(franchiseFeeDO.getFirstYearFee()); - contractInformationDTO.setLoanMargin(franchiseFeeDO.getLoanMargin()); - contractInformationDTO.setFirstYearManagementFee(franchiseFeeDO.getFirstYearManageFee()); - contractInformationDTO.setYearFranchiseFee(franchiseFeeDO.getYearFranchiseFee()); - contractInformationDTO.setPerformanceBond(franchiseFeeDO.getPerformanceBond()); - - FranchiseBrandEnum enumByCode = FranchiseBrandEnum.getEnumByCode(shopInfoDO.getFranchiseBrand()); - if (enumByCode != null){ - contractInformationDTO.setPayeeName(enumByCode.getPayeeName()); - contractInformationDTO.setBrandOwner(enumByCode.getBrandOwner()); - } - try { - contractCallbackDTO = pushService.pushContract(contractInformationDTO); - } catch (Exception e) { - log.error("推送合同信息失败", e); - } - } - - log.info("加盟合同审批时签约类型:{}", SignTypeEnum.getDescByCode(signFranchiseDO.getSignType())); Boolean sendNotice = Boolean.TRUE; commonService.sendSms(lineInfoDO.getMobile(), SMSMsgEnum.SIGN_CONTRACT); if (sendNotice) { @@ -488,6 +469,47 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu } } + + /** + * 推送合同信息请求 + * @param shopId + */ + private ContractCallbackDTO pushContractRequest(ShopInfoDO shopInfoDO,Long shopId){ + //推送法大大数据 + //查询缴费信息 + FranchiseFeeDO franchiseFeeDO = franchiseFeeMapper.selectByShopId(shopId); + SignFranchiseDO signFranchiseDO = signFranchiseMapper.selectByShopId(shopId); + + log.info("加盟合同审批时签约类型:{}", SignTypeEnum.getDescByCode(signFranchiseDO.getSignType())); + //自营店 无缴费信息 不需要校验 + if (franchiseFeeDO != null){ + ContractInformationDTO contractInformationDTO = new ContractInformationDTO(); + contractInformationDTO.setShopId(shopId); + contractInformationDTO.setJoinModel(shopInfoDO.getJoinMode()); + contractInformationDTO.setShopName(shopInfoDO.getShopName()); + //品牌信息 + contractInformationDTO.setSign1Name(signFranchiseDO.getPartnershipSignatoryFirst()); + contractInformationDTO.setSign2Name(signFranchiseDO.getPartnershipSignatorySecond()); + contractInformationDTO.setFirstYearFee(franchiseFeeDO.getFirstYearFee()); + contractInformationDTO.setLoanMargin(franchiseFeeDO.getLoanMargin()); + contractInformationDTO.setFirstYearManagementFee(franchiseFeeDO.getFirstYearManageFee()); + contractInformationDTO.setYearFranchiseFee(franchiseFeeDO.getYearFranchiseFee()); + contractInformationDTO.setPerformanceBond(franchiseFeeDO.getPerformanceBond()); + + FranchiseBrandEnum enumByCode = FranchiseBrandEnum.getEnumByCode(shopInfoDO.getFranchiseBrand()); + if (enumByCode != null){ + contractInformationDTO.setPayeeName(enumByCode.getPayeeName()); + contractInformationDTO.setBrandOwner(enumByCode.getBrandOwner()); + } + try { + return pushService.pushContract(contractInformationDTO); + } catch (Exception e) { + log.error("推送合同信息失败", e); + } + } + return null; + } + public HqtBuildRequest getHqtBuildRequest(Long shopId) { ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); LineInfoDO lineInfoDO = lineInfoDAO.getLineInfo(shopInfo.getLineId()); From 89e9cf3b57e8f07bb79a42e8b659941834eb51ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Fri, 10 Oct 2025 10:06:11 +0800 Subject: [PATCH 14/28] =?UTF-8?q?feat:=E8=80=81=E5=BA=97=E6=96=B0=E5=BC=80?= =?UTF-8?q?=E7=89=B9=E6=AE=8A=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/dao/SignFranchiseDAO.java | 9 +++++++++ .../cool/store/dto/ContractInformationDTO.java | 2 ++ .../store/dto/contract/ContractCallbackDTO.java | 2 ++ .../com/cool/store/entity/SignFranchiseDO.java | 3 +++ .../store/request/AddSignFranchiseRequest.java | 4 ++++ .../store/response/AddSignFranchiseResponse.java | 4 ++-- .../service/impl/SignFranchiseServiceImpl.java | 15 +++++++++++++-- 7 files changed, 35 insertions(+), 4 deletions(-) diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/SignFranchiseDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/SignFranchiseDAO.java index 42cbec644..c79e7307b 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/SignFranchiseDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/SignFranchiseDAO.java @@ -1,6 +1,8 @@ package com.cool.store.dao; import com.alibaba.excel.util.CollectionUtils; +import com.alibaba.excel.util.StringUtils; +import com.cool.store.dto.contract.ContractCallbackDTO; import com.cool.store.entity.SignFranchiseDO; import com.cool.store.mapper.SignFranchiseMapper; import org.apache.ibatis.annotations.Param; @@ -38,4 +40,11 @@ public class SignFranchiseDAO { public SignFranchiseDO selectByShopId(Long shopId){ return signFranchiseMapper.selectByShopId(shopId); } + + public void updateAuditByShopId(Long auditId, Long shopId, ContractCallbackDTO dto){ + if (dto==null || (StringUtils.isEmpty(dto.getReason())&&dto.getInfoConsistencyFlag()==null)){ + return; + } + signFranchiseMapper.updateAuditByShopId(auditId,shopId,dto); + } } 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 20b3da15f..2bb015289 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 @@ -41,5 +41,7 @@ public class ContractInformationDTO { private String payeeName; @ApiModelProperty("品牌方") private String brandOwner; + @ApiModelProperty("老店编码 签约类型选择老店转加盟时有") + private String oldShopCode; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractCallbackDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractCallbackDTO.java index e686d0af1..9339be828 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractCallbackDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/contract/ContractCallbackDTO.java @@ -14,4 +14,6 @@ public class ContractCallbackDTO { private String reason; + private String storeCode; + } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java index 9f10482e4..a86dd7544 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java @@ -96,4 +96,7 @@ public class SignFranchiseDO { */ @Column(name = "reason") private String reason; + + @Column(name = "old_shop_code") + private String oldShopCode; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java index be8b6ec1c..aaf8d6c24 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java @@ -148,6 +148,9 @@ public class AddSignFranchiseRequest { @ApiModelProperty("是否统管 : 1-统管,0-不统管") private Integer unifiedManagement; + @ApiModelProperty("老店编码 签约类型选择老店转加盟时有") + private String oldShopCode; + public SignFranchiseDO toSignFranchiseDO() { @@ -161,6 +164,7 @@ public class AddSignFranchiseRequest { signFranchiseDO.setContractStartTime(this.contractStartTime); signFranchiseDO.setContractEndTime(this.contractStartEndTime); signFranchiseDO.setImpressionNum(this.impressionNum); + signFranchiseDO.setOldShopCode(this.oldShopCode); // signFranchiseDO.setBusinessStartHours(setMill(this.businessStartHours)); // signFranchiseDO.setBusinessEndHours(setMill(this.businessEndHours)); // signFranchiseDO.setIrregularReason(this.irregularReason); diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/AddSignFranchiseResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/AddSignFranchiseResponse.java index e75765010..0eba431b2 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/AddSignFranchiseResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/AddSignFranchiseResponse.java @@ -245,6 +245,6 @@ public class AddSignFranchiseResponse { private Integer infoConsistencyFlag; @ApiModelProperty("不一致原因") private String reason; - - + @ApiModelProperty("老店编码 签约类型选择老店转加盟时有") + private String oldShopCode; } 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 12c24c2e5..044bd0cc9 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 @@ -62,6 +62,8 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu private EnterpriseUserRoleDao enterpriseUserRoleDao; @Resource SignFranchiseMapper signFranchiseMapper; + @Resource + SignFranchiseDAO signFranchiseDAO; @Resource UserAuthMappingService userAuthMappingService; @@ -227,7 +229,11 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu //如果已经签约 修改之后从新推送数据 ContractCallbackDTO contractCallbackDTO = pushContractRequest(shopInfoDO, request.getShopId()); if (!Objects.isNull(contractCallbackDTO)){ - signFranchiseMapper.updateAuditByShopId(null, request.getShopId(),contractCallbackDTO); + if (StringUtils.isNoneEmpty(contractCallbackDTO.getStoreCode())){ + shopInfoDO.setShopCode(contractCallbackDTO.getStoreCode()); + shopInfoDAO.updateShopInfo(shopInfoDO); + } + signFranchiseDAO.updateAuditByShopId(null, request.getShopId(),contractCallbackDTO); } } @@ -451,7 +457,11 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu } shopAuditInfoMapper.insertSelective(shopAuditInfoDO); Long auditId = shopAuditInfoDO.getId(); - signFranchiseMapper.updateAuditByShopId(auditId, shopId,contractCallbackDTO); + if (contractCallbackDTO!=null&&StringUtils.isNotEmpty(contractCallbackDTO.getStoreCode())){ + shopInfoDO.setShopCode(contractCallbackDTO.getStoreCode()); + shopInfoMapper.updateByPrimaryKeySelective(shopInfoDO); + } + signFranchiseDAO.updateAuditByShopId(auditId, shopId,contractCallbackDTO); //审批记录表记录 List operationLogs = operationLogDAO.getBySubStageStatusEnumAndsStatus(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83, OperationTypeEnum.OPERATION_TYPE_1.getCode()); operationLogService.batchUpdateProcessed(operationLogs, auditId, user.getUserId(), request.getCause()); @@ -495,6 +505,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu contractInformationDTO.setFirstYearManagementFee(franchiseFeeDO.getFirstYearManageFee()); contractInformationDTO.setYearFranchiseFee(franchiseFeeDO.getYearFranchiseFee()); contractInformationDTO.setPerformanceBond(franchiseFeeDO.getPerformanceBond()); + contractInformationDTO.setOldShopCode(signFranchiseDO.getOldShopCode()); FranchiseBrandEnum enumByCode = FranchiseBrandEnum.getEnumByCode(shopInfoDO.getFranchiseBrand()); if (enumByCode != null){ From 17494e9fb4826d7d76967a3d9beccbcb7b33c213 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Thu, 23 Oct 2025 18:01:44 +0800 Subject: [PATCH 15/28] feat:getOldShopCode --- .../com/cool/store/service/impl/SignFranchiseServiceImpl.java | 1 + 1 file changed, 1 insertion(+) 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 044bd0cc9..1fc2d7341 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 @@ -625,6 +625,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu addSignFranchiseResponse.setIntroduceStore(signFranchiseDO.getIntroduceStore()); addSignFranchiseResponse.setIntroductionAward(signFranchiseDO.getIntroductionAward()); addSignFranchiseResponse.setPartnershipSignatoryFirstWhichStore(signFranchiseDO.getPartnershipSignatoryFirstWhichStore()); + addSignFranchiseResponse.setOldShopCode(signFranchiseDO.getOldShopCode()); } else { if (Objects.nonNull(franchiseFeeDO)) { From 360328eba829f27e37ba1724f5f2917660180198 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Mon, 10 Nov 2025 13:28:19 +0800 Subject: [PATCH 16/28] feat:getShopId --- .../com/cool/store/service/impl/SignFranchiseServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 1fc2d7341..1eb43e9d3 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 @@ -224,7 +224,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu //修改签约人信息 signFranchiseMapper.updateByPrimaryKeySelective(signFranchiseDO); //如果已经签约 修改之后从新推送数据到新管家 - ShopStageInfoDO shopSubStageInfo = shopStageInfoDAO.getShopSubStageInfo(request.getId(), ShopSubStageEnum.SHOP_STAGE_8); + ShopStageInfoDO shopSubStageInfo = shopStageInfoDAO.getShopSubStageInfo(request.getShopId(), ShopSubStageEnum.SHOP_STAGE_8); if (shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_84.getShopSubStageStatus())){ //如果已经签约 修改之后从新推送数据 ContractCallbackDTO contractCallbackDTO = pushContractRequest(shopInfoDO, request.getShopId()); From 9d00b92cc56497401a51ec8e4ae83084df89a938 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Wed, 12 Nov 2025 13:29:54 +0800 Subject: [PATCH 17/28] =?UTF-8?q?feat:=E8=80=81=E5=BA=97=E8=BD=AC=E5=8A=A0?= =?UTF-8?q?=E7=9B=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/service/impl/SignFranchiseServiceImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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 1eb43e9d3..2ea32f2fa 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 @@ -505,8 +505,10 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu contractInformationDTO.setFirstYearManagementFee(franchiseFeeDO.getFirstYearManageFee()); contractInformationDTO.setYearFranchiseFee(franchiseFeeDO.getYearFranchiseFee()); contractInformationDTO.setPerformanceBond(franchiseFeeDO.getPerformanceBond()); - contractInformationDTO.setOldShopCode(signFranchiseDO.getOldShopCode()); - + //老店转加盟(也叫直营转加盟) + if (SignTypeEnum.DIRECT_SALES_TO_JOINING.getCode().equals(signFranchiseDO.getSignType())){ + contractInformationDTO.setOldShopCode(signFranchiseDO.getOldShopCode()); + } FranchiseBrandEnum enumByCode = FranchiseBrandEnum.getEnumByCode(shopInfoDO.getFranchiseBrand()); if (enumByCode != null){ contractInformationDTO.setPayeeName(enumByCode.getPayeeName()); From 537ecb2f61d83824d8d7e0dce0d0d6c965b53066 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Fri, 21 Nov 2025 13:28:24 +0800 Subject: [PATCH 18/28] =?UTF-8?q?feat:=E5=90=88=E5=90=8C=E7=BC=96=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/cool/store/dto/ContractInformationDTO.java | 2 ++ .../com/cool/store/service/impl/SignFranchiseServiceImpl.java | 2 ++ 2 files changed, 4 insertions(+) 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 2bb015289..7018fcef9 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 @@ -43,5 +43,7 @@ public class ContractInformationDTO { private String brandOwner; @ApiModelProperty("老店编码 签约类型选择老店转加盟时有") private String oldShopCode; + @ApiModelProperty("合同编号") + private String contractNo; } 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 2ea32f2fa..f0f2e35c2 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 @@ -491,6 +491,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu SignFranchiseDO signFranchiseDO = signFranchiseMapper.selectByShopId(shopId); log.info("加盟合同审批时签约类型:{}", SignTypeEnum.getDescByCode(signFranchiseDO.getSignType())); + //自营店 无缴费信息 不需要校验 if (franchiseFeeDO != null){ ContractInformationDTO contractInformationDTO = new ContractInformationDTO(); @@ -514,6 +515,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu contractInformationDTO.setPayeeName(enumByCode.getPayeeName()); contractInformationDTO.setBrandOwner(enumByCode.getBrandOwner()); } + contractInformationDTO.setContractNo(signFranchiseDO.getContractCode()); try { return pushService.pushContract(contractInformationDTO); } catch (Exception e) { From 19376134d0c2c67c27fad6cca4a41789554d706e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 25 Nov 2025 13:50:30 +0800 Subject: [PATCH 19/28] =?UTF-8?q?feat:=E6=AD=A3=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/enums/ErrorCodeEnum.java | 1 + .../store/dto/ContractInformationDTO.java | 42 +++++++-- .../cool/store/entity/SignFranchiseDO.java | 72 +++++++++++++++ .../request/AddSignFranchiseRequest.java | 89 +++++++++++++++++++ .../impl/SignFranchiseServiceImpl.java | 56 ++++++++++++ 5 files changed, 254 insertions(+), 6 deletions(-) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index d48973587..8865c48f5 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java @@ -292,6 +292,7 @@ public enum ErrorCodeEnum { PRODUCTS_DISCARDED(1511034,"产品已报销,无法操作",null), PRODUCTS_SALES_COMPLETED(1511034,"含有销售完成的产品,无法批量报销",null), STORE_IS_EXIST(1511035,"该门店已存在",null), + FEE_NOT_CONSISTENT(1511036,"合同金额与缴费账单金额不一致,请确定!",null), MESSAGE_TEMPLATE_NOT_SUPPORT_EDIT(1610001,"当前消息已发布,不支持编辑!",null), 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 7018fcef9..2a17848ea 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,14 +1,8 @@ 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; import lombok.Data; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; /** * @Author suzhuhong @@ -46,4 +40,40 @@ public class ContractInformationDTO { @ApiModelProperty("合同编号") private String contractNo; + @ApiModelProperty(name = "合同加盟费") + private String contractFranchiseFee; + + @ApiModelProperty(name = "合同管理费") + private String contractManageFee; + + @ApiModelProperty(name = "合同品牌使用费") + private String contractBrandUseFee; + + @ApiModelProperty(name = "合同设计费") + private String contractPerformanceBond; + + @ApiModelProperty(name = "合同保证金") + private String contractLoanMargin; + + @ApiModelProperty(name = "合同系统使用费") + private String contractSysUserFee; + + @ApiModelProperty(name = "加盟来源") + private String joinSource; + + @ApiModelProperty(name = "签约形式") + private String signModality; + + @ApiModelProperty(name = "加盟费频率") + private Integer franchiseFeeFrequency; + + @ApiModelProperty(name = "品牌使用费频率") + private Integer brandUseFeeFrequency; + + @ApiModelProperty(name = "管理费频率") + private Integer manageFeeFrequency; + + @ApiModelProperty(name = "管理费频率") + private String discountAmount; + } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java index a86dd7544..5d049f2c5 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java @@ -99,4 +99,76 @@ public class SignFranchiseDO { @Column(name = "old_shop_code") private String oldShopCode; + + /** + * 合同加盟费 + */ + @Column(name = "contract_franchise_fee") + private String contractFranchiseFee; + + /** + * 合同管理费 + */ + @Column(name = "contract_manage_fee") + private String contractManageFee; + + /** + * 合同品牌使用费 + */ + @Column(name = "contract_brand_use_fee") + private String contractBrandUseFee; + + /** + * 合同设计费 + */ + @Column(name = "contract_performance_bond") + private String contractPerformanceBond; + + /** + * 合同保证金 + */ + @Column(name = "contract_loan_margin") + private String contractLoanMargin; + + /** + * 合同系统使用费 + */ + @Column(name = "contract_sys_user_fee") + private String contractSysUserFee; + + /** + * 加盟来源 + */ + @Column(name = "join_source") + private String joinSource; + + /** + * 签约形式 + */ + @Column(name = "sign_modality") + private String signModality; + + /** + * 加盟费频率 + */ + @Column(name = "franchise_fee_frequency") + private Integer franchiseFeeFrequency; + + /** + * 品牌使用费频率 + */ + @Column(name = "brand_use_fee_frequency") + private Integer brandUseFeeFrequency; + + /** + * 管理费频率 + */ + @Column(name = "manage_fee_frequency") + private Integer manageFeeFrequency; + + /** + * 加盟费折扣金额 + */ + @Column(name = "discount_amount") + private String discountAmount; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java index aaf8d6c24..146eba3a0 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java @@ -1,6 +1,7 @@ package com.cool.store.request; import com.cool.store.entity.SignFranchiseDO; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -151,6 +152,82 @@ public class AddSignFranchiseRequest { @ApiModelProperty("老店编码 签约类型选择老店转加盟时有") private String oldShopCode; + @ApiModelProperty("合同加盟费") + @NotBlank(message = "合同加盟费不能为空") + private String contractFranchiseFee; + + /** + * 合同管理费 + */ + @ApiModelProperty("合同管理费") + @NotBlank(message = "合同管理费不能为空") + private String contractManageFee; + + /** + * 合同品牌使用费 + */ + @ApiModelProperty("合同品牌使用费") + @NotBlank(message = "合同品牌使用费不能为空") + private String contractBrandUseFee; + + /** + * 合同设计费 + */ + @ApiModelProperty("合同设计费") + @NotBlank(message = "合同设计费不能为空") + private String contractPerformanceBond; + + /** + * 合同保证金 + */ + @ApiModelProperty("合同保证金") + @NotBlank(message = "合同保证金不能为空") + private String contractLoanMargin; + + /** + * 合同系统使用费 + */ + @ApiModelProperty("合同系统使用费") + @NotBlank(message = "合同系统使用费不能为空") + private String contractSysUserFee; + + /** + * 加盟来源 + */ + @ApiModelProperty("加盟来源") + private String joinSource; + + /** + * 签约形式 + */ + @ApiModelProperty("签约形式") + private String signModality; + + /** + * 加盟费频率 + */ + @ApiModelProperty("加盟费频率") + private Integer franchiseFeeFrequency; + + /** + * 品牌使用费频率 + */ + @ApiModelProperty("品牌使用费频率") + private Integer brandUseFeeFrequency; + + /** + * 管理费频率 + */ + @ApiModelProperty("管理费频率") + private Integer manageFeeFrequency; + + /** + * 加盟费折扣金额 + */ + @ApiModelProperty("加盟费折扣金额") + private String discountAmount; + + public SignFranchiseDO toSignFranchiseDO() { @@ -184,6 +261,18 @@ public class AddSignFranchiseRequest { signFranchiseDO.setIntroductionAward(this.introductionAward); signFranchiseDO.setPartnershipSignatoryFirstWhichStore(this.partnershipSignatoryFirstWhichStore); signFranchiseDO.setUnifiedManagement(this.unifiedManagement); + signFranchiseDO.setContractFranchiseFee(this.contractFranchiseFee); + signFranchiseDO.setContractManageFee(this.contractManageFee); + signFranchiseDO.setContractBrandUseFee(this.contractBrandUseFee); + signFranchiseDO.setContractPerformanceBond(this.contractPerformanceBond); + signFranchiseDO.setContractLoanMargin(this.contractLoanMargin); + signFranchiseDO.setContractSysUserFee(this.contractSysUserFee); + signFranchiseDO.setJoinSource(this.joinSource); + signFranchiseDO.setSignModality(this.signModality); + signFranchiseDO.setFranchiseFeeFrequency(this.franchiseFeeFrequency); + signFranchiseDO.setBrandUseFeeFrequency(this.brandUseFeeFrequency); + signFranchiseDO.setManageFeeFrequency(this.manageFeeFrequency); + signFranchiseDO.setDiscountAmount(this.discountAmount); return signFranchiseDO; } 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 f0f2e35c2..7775d9fa1 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 @@ -185,6 +185,10 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu if (Objects.isNull(request.getShopId())) { throw new ServiceException(ErrorCodeEnum.SHOP_ID_NOT_EXIST); } + //校验金额 + if (!feeCheck(request)){ + throw new ServiceException(ErrorCodeEnum.FEE_NOT_CONSISTENT); + } SignFranchiseDO isExist = signFranchiseMapper.selectByShopId(request.getShopId()); if (Objects.nonNull(isExist) && Objects.isNull(request.getId())) { throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION); @@ -268,6 +272,10 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu if (Objects.isNull(request.getShopId())) { throw new ServiceException(ErrorCodeEnum.SHOP_ID_NOT_EXIST); } + //校验金额 + if (!feeCheck(request)){ + throw new ServiceException(ErrorCodeEnum.FEE_NOT_CONSISTENT); + } ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId()); PointInfoDO pointInfoById = pointInfoDAO.getPointInfoById(shopInfoDO.getPointId()); SignFranchiseDO signFranchiseDO = request.toSignFranchiseDO(); @@ -298,6 +306,39 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu return Boolean.TRUE; } + /** + * 费用校验 + * @param request + * @return + */ + private Boolean feeCheck(AddSignFranchiseRequest request){ + //查询账单金额 + FranchiseFeeDO franchiseFeeDO = franchiseFeeMapper.selectByShopId(request.getShopId()); + if (!request.getContractFranchiseFee().equals(franchiseFeeDO.getYearFranchiseFee())){ + return Boolean.FALSE; + } + //合同设计费 + if (!request.getContractPerformanceBond().equals(franchiseFeeDO.getPerformanceBond())){ + return Boolean.FALSE; + } + //品牌使用费 + if (!request.getContractBrandUseFee().equals(franchiseFeeDO.getFirstYearFee())){ + return Boolean.FALSE; + } + //合同保证金 + if (!request.getContractLoanMargin().equals(franchiseFeeDO.getLoanMargin())){ + return Boolean.FALSE; + } + //合同管理费 + if (!request.getContractManageFee().equals(franchiseFeeDO.getFirstYearManageFee())){ + return Boolean.FALSE; + } + return Boolean.TRUE; + } + + + + private void updateShopAndPoint(AddSignFranchiseRequest request, ShopInfoDO shopInfoDO, PointInfoDO pointInfoById) { //店铺信息 shopInfoDO.setManagerRegionId(request.getManagerRegionId()); @@ -506,6 +547,21 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu contractInformationDTO.setFirstYearManagementFee(franchiseFeeDO.getFirstYearManageFee()); contractInformationDTO.setYearFranchiseFee(franchiseFeeDO.getYearFranchiseFee()); contractInformationDTO.setPerformanceBond(franchiseFeeDO.getPerformanceBond()); + + contractInformationDTO.setContractFranchiseFee(signFranchiseDO.getContractFranchiseFee()); + contractInformationDTO.setContractManageFee(signFranchiseDO.getContractManageFee()); + contractInformationDTO.setContractBrandUseFee(signFranchiseDO.getContractBrandUseFee()); + contractInformationDTO.setContractPerformanceBond(signFranchiseDO.getContractPerformanceBond()); + contractInformationDTO.setContractLoanMargin(signFranchiseDO.getContractLoanMargin()); + contractInformationDTO.setContractSysUserFee(signFranchiseDO.getContractSysUserFee()); + contractInformationDTO.setSignModality(signFranchiseDO.getSignModality()); + contractInformationDTO.setFranchiseFeeFrequency(signFranchiseDO.getFranchiseFeeFrequency()); + contractInformationDTO.setBrandUseFeeFrequency(signFranchiseDO.getBrandUseFeeFrequency()); + contractInformationDTO.setJoinSource(signFranchiseDO.getJoinSource()); + contractInformationDTO.setManageFeeFrequency(signFranchiseDO.getManageFeeFrequency()); + contractInformationDTO.setDiscountAmount(signFranchiseDO.getDiscountAmount()); + + //老店转加盟(也叫直营转加盟) if (SignTypeEnum.DIRECT_SALES_TO_JOINING.getCode().equals(signFranchiseDO.getSignType())){ contractInformationDTO.setOldShopCode(signFranchiseDO.getOldShopCode()); From 1ca3994821452277089802bcd0628a63dd579bf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 25 Nov 2025 16:31:42 +0800 Subject: [PATCH 20/28] =?UTF-8?q?feat:=E5=90=88=E5=90=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/dto/ContractInformationDTO.java | 5 +- .../cool/store/entity/SignFranchiseDO.java | 6 ++ .../response/AddSignFranchiseResponse.java | 75 +++++++++++++++++++ .../store/service/SignFranchiseService.java | 9 +++ .../impl/SignFranchiseServiceImpl.java | 52 +++++-------- 5 files changed, 113 insertions(+), 34 deletions(-) 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 2a17848ea..e0ab9d969 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 @@ -74,6 +74,9 @@ public class ContractInformationDTO { private Integer manageFeeFrequency; @ApiModelProperty(name = "管理费频率") - private String discountAmount; + private String discountAmount; + + @ApiModelProperty(name = "提交人") + private String summitUserName; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java index 5d049f2c5..757306711 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java @@ -171,4 +171,10 @@ public class SignFranchiseDO { */ @Column(name = "discount_amount") private String discountAmount; + + @Column(name = "create_user_id") + private String createUserId; + + @Column(name = "update_user_id") + private String updateUserId; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/AddSignFranchiseResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/AddSignFranchiseResponse.java index 0eba431b2..f07cac07e 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/AddSignFranchiseResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/AddSignFranchiseResponse.java @@ -247,4 +247,79 @@ public class AddSignFranchiseResponse { private String reason; @ApiModelProperty("老店编码 签约类型选择老店转加盟时有") private String oldShopCode; + + @ApiModelProperty("合同加盟费") + @NotBlank(message = "合同加盟费不能为空") + private String contractFranchiseFee; + + /** + * 合同管理费 + */ + @ApiModelProperty("合同管理费") + @NotBlank(message = "合同管理费不能为空") + private String contractManageFee; + + /** + * 合同品牌使用费 + */ + @ApiModelProperty("合同品牌使用费") + @NotBlank(message = "合同品牌使用费不能为空") + private String contractBrandUseFee; + + /** + * 合同设计费 + */ + @ApiModelProperty("合同设计费") + @NotBlank(message = "合同设计费不能为空") + private String contractPerformanceBond; + + /** + * 合同保证金 + */ + @ApiModelProperty("合同保证金") + @NotBlank(message = "合同保证金不能为空") + private String contractLoanMargin; + + /** + * 合同系统使用费 + */ + @ApiModelProperty("合同系统使用费") + @NotBlank(message = "合同系统使用费不能为空") + private String contractSysUserFee; + + /** + * 加盟来源 + */ + @ApiModelProperty("加盟来源") + private String joinSource; + + /** + * 签约形式 + */ + @ApiModelProperty("签约形式") + private String signModality; + + /** + * 加盟费频率 + */ + @ApiModelProperty("加盟费频率") + private Integer franchiseFeeFrequency; + + /** + * 品牌使用费频率 + */ + @ApiModelProperty("品牌使用费频率") + private Integer brandUseFeeFrequency; + + /** + * 管理费频率 + */ + @ApiModelProperty("管理费频率") + private Integer manageFeeFrequency; + + /** + * 加盟费折扣金额 + */ + @ApiModelProperty("加盟费折扣金额") + private String discountAmount; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java index cff97e9ec..dbf687700 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java @@ -41,5 +41,14 @@ public interface SignFranchiseService { */ Boolean rePay(Long shopId); + /** + * 回退到缴费阶段 + * @param shopId + * @return + */ + Boolean backPayFeeStage(Long shopId); + + + Integer dateHandle(); } 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 7775d9fa1..fd3dc6e7c 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 @@ -28,6 +28,7 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -205,6 +206,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu if (Boolean.TRUE.equals(acquired)) { SignFranchiseDO signFranchiseDO = request.toSignFranchiseDO(); if (Objects.isNull(request.getId())) { + signFranchiseDO.setCreateUserId(user.getUserId()); signFranchiseMapper.insertSelective(signFranchiseDO); shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83); //发送通知 @@ -531,6 +533,12 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu FranchiseFeeDO franchiseFeeDO = franchiseFeeMapper.selectByShopId(shopId); SignFranchiseDO signFranchiseDO = signFranchiseMapper.selectByShopId(shopId); + String userName = ""; + if (signFranchiseDO == null){ + userName = enterpriseUserDAO.getUserName(signFranchiseDO.getCreateUserId()); + } + + log.info("加盟合同审批时签约类型:{}", SignTypeEnum.getDescByCode(signFranchiseDO.getSignType())); //自营店 无缴费信息 不需要校验 @@ -560,7 +568,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu contractInformationDTO.setJoinSource(signFranchiseDO.getJoinSource()); contractInformationDTO.setManageFeeFrequency(signFranchiseDO.getManageFeeFrequency()); contractInformationDTO.setDiscountAmount(signFranchiseDO.getDiscountAmount()); - + contractInformationDTO.setSummitUserName(userName); //老店转加盟(也叫直营转加盟) if (SignTypeEnum.DIRECT_SALES_TO_JOINING.getCode().equals(signFranchiseDO.getSignType())){ @@ -655,38 +663,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu addSignFranchiseResponse.setManagerRegionName(managerRegion.getName()); } if (Objects.nonNull(signFranchiseDO)) { - addSignFranchiseResponse.setUnifiedManagement(signFranchiseDO.getUnifiedManagement()); - addSignFranchiseResponse.setInfoConsistencyFlag(signFranchiseDO.getInfoConsistencyFlag()); - addSignFranchiseResponse.setReason(signFranchiseDO.getReason()); - addSignFranchiseResponse.setId(signFranchiseDO.getId()); - addSignFranchiseResponse.setShopId(signFranchiseDO.getShopId()); - addSignFranchiseResponse.setSignType(signFranchiseDO.getSignType()); - addSignFranchiseResponse.setBrandFee(signFranchiseDO.getBrandFee()); - addSignFranchiseResponse.setIsBusinessLicense(signFranchiseDO.getIsBusinessLicense()); - addSignFranchiseResponse.setIsFoodLicense(signFranchiseDO.getIsFoodLicense()); - addSignFranchiseResponse.setContractStartTime(signFranchiseDO.getContractStartTime()); - addSignFranchiseResponse.setContractStartEndTime(signFranchiseDO.getContractEndTime()); - addSignFranchiseResponse.setImpressionNum(signFranchiseDO.getImpressionNum()); - addSignFranchiseResponse.setBusinessStartHours(signFranchiseDO.getBusinessStartHours()); - addSignFranchiseResponse.setBusinessEndHours(signFranchiseDO.getBusinessEndHours()); - addSignFranchiseResponse.setIrregularReason(signFranchiseDO.getIrregularReason()); - addSignFranchiseResponse.setRemark(signFranchiseDO.getRemark()); - addSignFranchiseResponse.setResign(signFranchiseDO.getResign()); - addSignFranchiseResponse.setMobile(signFranchiseDO.getMobile()); - addSignFranchiseResponse.setContractCode(signFranchiseDO.getContractCode()); - addSignFranchiseResponse.setContractAmount(signFranchiseDO.getContractAmount()); - addSignFranchiseResponse.setPartnershipSignatoryFirst(signFranchiseDO.getPartnershipSignatoryFirst()); - addSignFranchiseResponse.setPartnershipSignatorySecond(signFranchiseDO.getPartnershipSignatorySecond()); - addSignFranchiseResponse.setBusinessModel(signFranchiseDO.getBusinessModel()); - addSignFranchiseResponse.setPartnershipSignatorySecondIdNumber(signFranchiseDO.getPartnershipSignatorySecondIdNumber()); - addSignFranchiseResponse.setPartnershipSignatorySecondMobile(signFranchiseDO.getPartnershipSignatorySecondMobile()); - addSignFranchiseResponse.setProtectiveDistance(signFranchiseDO.getProtectiveDistance()); - addSignFranchiseResponse.setIntroducer(signFranchiseDO.getIntroducer()); - addSignFranchiseResponse.setIntroduceStore(signFranchiseDO.getIntroduceStore()); - addSignFranchiseResponse.setIntroductionAward(signFranchiseDO.getIntroductionAward()); - addSignFranchiseResponse.setPartnershipSignatoryFirstWhichStore(signFranchiseDO.getPartnershipSignatoryFirstWhichStore()); - addSignFranchiseResponse.setOldShopCode(signFranchiseDO.getOldShopCode()); - + BeanUtils.copyProperties(signFranchiseDO, addSignFranchiseResponse); } else { if (Objects.nonNull(franchiseFeeDO)) { BigDecimal total = new BigDecimal(franchiseFeeDO.getYearFranchiseFee()) @@ -778,6 +755,15 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu return true; } + @Override + public Boolean backPayFeeStage(Long shopId) { + //回退到对账中 此阶段账单可编辑 可再次对账 + shopStageInfoDAO.updateShopStageInfo(shopId, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_72); + //缴费阶段回退到未开始 + shopStageInfoDAO.updateShopStageToNotStarted(shopId, ShopSubStageEnum.SHOP_STAGE_8); + return true; + } + @Override public Integer dateHandle() { return signFranchiseMapper.dateHandle(); From 7d2b2f40e4c2b04e12e28f091acf3dbb43c5e7fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Wed, 26 Nov 2025 10:05:21 +0800 Subject: [PATCH 21/28] feat:backPayFeeStage --- .../store/service/SignFranchiseService.java | 2 +- .../service/impl/SignFranchiseServiceImpl.java | 18 +++++++++++++++--- .../webb/PCSignFranchiseController.java | 6 ++++++ 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java index dbf687700..cd514be2e 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java @@ -46,7 +46,7 @@ public interface SignFranchiseService { * @param shopId * @return */ - Boolean backPayFeeStage(Long shopId); + Boolean backPayFeeStage(AuditApproveRequest request, LoginUserInfo user); 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 fd3dc6e7c..156b321ab 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 @@ -756,11 +756,23 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu } @Override - public Boolean backPayFeeStage(Long shopId) { + public Boolean backPayFeeStage(AuditApproveRequest request, LoginUserInfo user) { //回退到对账中 此阶段账单可编辑 可再次对账 - shopStageInfoDAO.updateShopStageInfo(shopId, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_72); + shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_72); //缴费阶段回退到未开始 - shopStageInfoDAO.updateShopStageToNotStarted(shopId, ShopSubStageEnum.SHOP_STAGE_8); + shopStageInfoDAO.updateShopStageToNotStarted(request.getShopId(), ShopSubStageEnum.SHOP_STAGE_8); + ShopAuditInfoDO shopAuditInfoDO = new ShopAuditInfoDO(); + shopAuditInfoDO.setShopId(request.getShopId()); + shopAuditInfoDO.setAuditType(AuditTypeEnum.SIGN_FRANCHISE.getCode()); + shopAuditInfoDO.setSubmittedUserId(user.getUserId()); + shopAuditInfoDO.setSubmittedUserName(user.getName()); + shopAuditInfoDO.setResultType(Constants.ONE_INTEGER); + shopAuditInfoDO.setRejectReason(request.getCause()); + shopAuditInfoMapper.insertSelective(shopAuditInfoDO); + Long auditId = shopAuditInfoDO.getId(); + //审批记录表记录 + List operationLogs = operationLogDAO.getBySubStageStatusEnumAndsStatus(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83, OperationTypeEnum.OPERATION_TYPE_1.getCode()); + operationLogService.batchUpdateProcessed(operationLogs, auditId, user.getUserId(), "回退到缴费阶段,"+request.getCause()); return true; } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCSignFranchiseController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCSignFranchiseController.java index f9fbdf693..a1193795a 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCSignFranchiseController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCSignFranchiseController.java @@ -55,6 +55,12 @@ public class PCSignFranchiseController { return ResponseResult.success(signFranchiseService.rePay(shopId)); } + @ApiOperation("回到缴费阶段") + @PostMapping("/backPayFeeStage") + public ResponseResult backPayFeeStage(@RequestBody @Validated AuditApproveRequest request) { + return ResponseResult.success(signFranchiseService.backPayFeeStage(request, CurrentUserHolder.getUser())); + } + @ApiOperation("数据处理,全部设置为新签") @GetMapping("/dateHandle") public ResponseResult dateHandle() { From c404e6c51a82002ff6666e68d08eb049338d0793 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Thu, 27 Nov 2025 10:23:40 +0800 Subject: [PATCH 22/28] =?UTF-8?q?feat:=E5=90=88=E5=90=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/cool/store/dto/ContractInformationDTO.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 e0ab9d969..0b6bee15c 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 @@ -58,10 +58,10 @@ public class ContractInformationDTO { @ApiModelProperty(name = "合同系统使用费") private String contractSysUserFee; - @ApiModelProperty(name = "加盟来源") + @ApiModelProperty(name = "加盟来源 other-其他 招商会-investment 加盟商推荐-partner_recommend 自然流量-organic_traffic 员工推荐-employee_recommend ") private String joinSource; - @ApiModelProperty(name = "签约形式") + @ApiModelProperty(name = "签约形式 纸质合同-paper_contract 电子合同-electronic_contract 已付款未签约-paid_but_not_signed") private String signModality; @ApiModelProperty(name = "加盟费频率") From 6727fe69315f2bdfd6618f6a563b4110956c2ff6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Fri, 28 Nov 2025 11:14:31 +0800 Subject: [PATCH 23/28] =?UTF-8?q?feat:=E5=90=88=E5=90=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/dto/ContractInformationDTO.java | 20 +++++++++++++++++++ .../cool/store/entity/SignFranchiseDO.java | 7 +++++++ .../request/AddSignFranchiseRequest.java | 8 ++++++++ .../impl/SignFranchiseServiceImpl.java | 13 +++++++++++- 4 files changed, 47 insertions(+), 1 deletion(-) 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 0b6bee15c..85bc300b2 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 @@ -3,6 +3,8 @@ package com.cool.store.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.Date; + /** * @Author suzhuhong @@ -40,6 +42,9 @@ public class ContractInformationDTO { @ApiModelProperty("合同编号") private String contractNo; + @ApiModelProperty("币种") + private String currency; + @ApiModelProperty(name = "合同加盟费") private String contractFranchiseFee; @@ -79,4 +84,19 @@ public class ContractInformationDTO { @ApiModelProperty(name = "提交人") private String summitUserName; + @ApiModelProperty(name = "签约人地址") + private String signerAddress; + + @ApiModelProperty(name = "签约人手机号") + private String signerPhone; + + @ApiModelProperty(name = "合同使用年限") + private Integer contractServiceLife; + + @ApiModelProperty(name = "合同开始时间") + private Date contractStartTime; + + @ApiModelProperty(name = "合同结束时间") + private Date contractEndTime; + } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java index 757306711..3dabd196b 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java @@ -177,4 +177,11 @@ public class SignFranchiseDO { @Column(name = "update_user_id") private String updateUserId; + + @Column(name = "currency") + private String currency; + + @Column(name = "contract_service_life") + private Integer contractServiceLife; + } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java index 146eba3a0..5138caf1d 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java @@ -227,6 +227,12 @@ public class AddSignFranchiseRequest { @ApiModelProperty("加盟费折扣金额") private String discountAmount; + @ApiModelProperty("币种") + private String currency; + + @ApiModelProperty("合同使用年限") + private Integer contractServiceLife; + @@ -273,6 +279,8 @@ public class AddSignFranchiseRequest { signFranchiseDO.setBrandUseFeeFrequency(this.brandUseFeeFrequency); signFranchiseDO.setManageFeeFrequency(this.manageFeeFrequency); signFranchiseDO.setDiscountAmount(this.discountAmount); + signFranchiseDO.setCurrency(this.currency); + signFranchiseDO.setContractServiceLife(this.contractServiceLife); return signFranchiseDO; } 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 156b321ab..1b4f27847 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 @@ -538,12 +538,19 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu userName = enterpriseUserDAO.getUserName(signFranchiseDO.getCreateUserId()); } + LineInfoDO lineInfo = lineInfoDAO.getLineInfo(shopInfoDO.getLineId()); + log.info("加盟合同审批时签约类型:{}", SignTypeEnum.getDescByCode(signFranchiseDO.getSignType())); + ContractInformationDTO contractInformationDTO = new ContractInformationDTO(); + if (Objects.nonNull(lineInfo)){ + contractInformationDTO.setSignerAddress(lineInfo.getLiveAddress()); + contractInformationDTO.setSignerPhone(lineInfo.getMobile()); + } + //自营店 无缴费信息 不需要校验 if (franchiseFeeDO != null){ - ContractInformationDTO contractInformationDTO = new ContractInformationDTO(); contractInformationDTO.setShopId(shopId); contractInformationDTO.setJoinModel(shopInfoDO.getJoinMode()); contractInformationDTO.setShopName(shopInfoDO.getShopName()); @@ -569,6 +576,10 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu contractInformationDTO.setManageFeeFrequency(signFranchiseDO.getManageFeeFrequency()); contractInformationDTO.setDiscountAmount(signFranchiseDO.getDiscountAmount()); contractInformationDTO.setSummitUserName(userName); + contractInformationDTO.setCurrency(signFranchiseDO.getCurrency()); + contractInformationDTO.setContractStartTime(signFranchiseDO.getContractStartTime()); + contractInformationDTO.setContractEndTime(signFranchiseDO.getContractEndTime()); + contractInformationDTO.setContractServiceLife(signFranchiseDO.getContractServiceLife()); //老店转加盟(也叫直营转加盟) if (SignTypeEnum.DIRECT_SALES_TO_JOINING.getCode().equals(signFranchiseDO.getSignType())){ From d431a0205fb6abbe4387bd72f1cdbed85881ffd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Fri, 28 Nov 2025 11:18:39 +0800 Subject: [PATCH 24/28] =?UTF-8?q?feat:=E5=90=88=E5=90=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/cool/store/dto/ContractInformationDTO.java | 4 ++-- .../com/cool/store/service/impl/SignFranchiseServiceImpl.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) 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 85bc300b2..170dbd580 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 @@ -94,9 +94,9 @@ public class ContractInformationDTO { private Integer contractServiceLife; @ApiModelProperty(name = "合同开始时间") - private Date contractStartTime; + private String contractStartTime; @ApiModelProperty(name = "合同结束时间") - private Date contractEndTime; + private String contractEndTime; } 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 1b4f27847..3e5f9b81a 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 @@ -577,8 +577,8 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu contractInformationDTO.setDiscountAmount(signFranchiseDO.getDiscountAmount()); contractInformationDTO.setSummitUserName(userName); contractInformationDTO.setCurrency(signFranchiseDO.getCurrency()); - contractInformationDTO.setContractStartTime(signFranchiseDO.getContractStartTime()); - contractInformationDTO.setContractEndTime(signFranchiseDO.getContractEndTime()); + contractInformationDTO.setContractStartTime(DateUtils.dateTime(signFranchiseDO.getContractStartTime())); + contractInformationDTO.setContractEndTime(DateUtils.dateTime(signFranchiseDO.getContractEndTime())); contractInformationDTO.setContractServiceLife(signFranchiseDO.getContractServiceLife()); //老店转加盟(也叫直营转加盟) From 71c6446cd33f1c0464e7dbe98063c1fd4e1c35a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Mon, 1 Dec 2025 13:56:39 +0800 Subject: [PATCH 25/28] =?UTF-8?q?feat:=E9=97=A8=E5=BA=97=E7=BC=96=E7=A0=81?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SignFranchiseServiceImpl.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) 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 38052821d..7ef8ce209 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 @@ -338,23 +338,28 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu private Boolean feeCheck(AddSignFranchiseRequest request){ //查询账单金额 FranchiseFeeDO franchiseFeeDO = franchiseFeeMapper.selectByShopId(request.getShopId()); - if (!request.getContractFranchiseFee().equals(franchiseFeeDO.getYearFranchiseFee())){ + + //正新鸡排 + if (franchiseFeeDO.getYearFranchiseFee()!=null&&request.getContractFranchiseFee()!=null&&!request.getContractFranchiseFee().equals(franchiseFeeDO.getYearFranchiseFee())){ return Boolean.FALSE; } //合同设计费 - if (!request.getContractPerformanceBond().equals(franchiseFeeDO.getPerformanceBond())){ + if (franchiseFeeDO.getPerformanceBond()!=null&&request.getContractPerformanceBond()!=null&&!request.getContractPerformanceBond().equals(franchiseFeeDO.getPerformanceBond())){ return Boolean.FALSE; } //品牌使用费 - if (!request.getContractBrandUseFee().equals(franchiseFeeDO.getFirstYearFee())){ + if (franchiseFeeDO.getFirstYearFee()!=null&&request.getContractBrandUseFee()!=null&&!request.getContractBrandUseFee().equals(franchiseFeeDO.getFirstYearFee())){ return Boolean.FALSE; } //合同保证金 - if (!request.getContractLoanMargin().equals(franchiseFeeDO.getLoanMargin())){ + if (franchiseFeeDO.getLoanMargin()!=null&&request.getContractLoanMargin()!=null&&!request.getContractLoanMargin().equals(franchiseFeeDO.getLoanMargin())){ return Boolean.FALSE; } //合同管理费 - if (!request.getContractManageFee().equals(franchiseFeeDO.getFirstYearManageFee())){ + if (franchiseFeeDO.getFirstYearManageFee()!=null&&request.getContractManageFee()!=null&&!request.getContractManageFee().equals(franchiseFeeDO.getFirstYearManageFee())){ + return Boolean.FALSE; + } + if (franchiseFeeDO.getCashierFee()!=null&&request.getContractSysUserFee()!=null&&!request.getContractSysUserFee().equals(franchiseFeeDO.getCashierFee())){ return Boolean.FALSE; } return Boolean.TRUE; From 587800ea9d07395277ab2bc986594da84d3fec62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Mon, 1 Dec 2025 15:24:12 +0800 Subject: [PATCH 26/28] feat:WALLET_API_ERROR --- .../src/main/java/com/cool/store/enums/ErrorCodeEnum.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index 96e9a456c..c183db4a7 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java @@ -324,10 +324,9 @@ public enum ErrorCodeEnum { WALLET_OPEN_ACCOUNT_FAIL(1620001,"钱包开通失败",null), WALLET_WITH_DRAWER_FAIL(1620002,"提现失败",null), WALLET_API_ERROR(1620003,"{0}",null), - ; CURRENT_BRAND_SORT_NUMBER_EXIST(16100007,"当前品牌已存在该排序数字!",null), - CONTRACT_CONFIG_NOT_EXIST(16100008,"合同配置不存在!",null),; + CONTRACT_CONFIG_NOT_EXIST(16100008,"合同配置不存在!",null); ; From 8b250b744908d7f07c3608e96ada91be0cd9bd26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 2 Dec 2025 13:46:57 +0800 Subject: [PATCH 27/28] =?UTF-8?q?feat:=E5=90=88=E5=90=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/response/AddSignFranchiseResponse.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/AddSignFranchiseResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/AddSignFranchiseResponse.java index d55a7c685..6c14c941b 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/AddSignFranchiseResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/AddSignFranchiseResponse.java @@ -47,7 +47,7 @@ public class AddSignFranchiseResponse { private Date contractStartTime; @ApiModelProperty("合同结束日期") - private Date contractStartEndTime; + private Date contractEndTime; @ApiModelProperty("用印次数") private String impressionNum; @@ -326,4 +326,10 @@ public class AddSignFranchiseResponse { private String discountAmount; @ApiModelProperty("收银费(系统费)大写") private String bigCashierFee; + + @Column(name = "currency") + private String currency; + + @Column(name = "contract_service_life") + private Integer contractServiceLife; } From 597baa82b9534b9341f030567a01b20b7979ca92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 2 Dec 2025 14:03:57 +0800 Subject: [PATCH 28/28] =?UTF-8?q?feat:=E5=90=88=E5=90=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/service/impl/SignFranchiseServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 7ef8ce209..3d568ab62 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 @@ -577,7 +577,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu SignFranchiseDO signFranchiseDO = signFranchiseMapper.selectByShopId(shopId); String userName = ""; - if (signFranchiseDO == null){ + if (signFranchiseDO != null){ userName = enterpriseUserDAO.getUserName(signFranchiseDO.getCreateUserId()); }