feat:合同

This commit is contained in:
苏竹红
2025-11-25 16:31:42 +08:00
parent 19376134d0
commit 1ca3994821
5 changed files with 113 additions and 34 deletions

View File

@@ -76,4 +76,7 @@ public class ContractInformationDTO {
@ApiModelProperty(name = "管理费频率")
private String discountAmount;
@ApiModelProperty(name = "提交人")
private String summitUserName;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -41,5 +41,14 @@ public interface SignFranchiseService {
*/
Boolean rePay(Long shopId);
/**
* 回退到缴费阶段
* @param shopId
* @return
*/
Boolean backPayFeeStage(Long shopId);
Integer dateHandle();
}

View File

@@ -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();