feat:加盟合同签约

This commit is contained in:
guohb
2024-04-29 10:58:05 +08:00
parent 757c5b4331
commit ef78ee75a9
16 changed files with 605 additions and 97 deletions

View File

@@ -4,6 +4,7 @@ public enum AuditEnum {
CONTRACT_INTENTION("intention", "意向加盟合同API","intentAgreementServiceImpl"),
SYS_BUILD("sysBuild", "系统建店API","sysStoreAppServiceImpl"),
SIGN_FRANCHISE("signFranchise", "加盟合同签约","signFranchiseServiceImpl"),
;

View File

@@ -0,0 +1,63 @@
package com.cool.store.enums;
import org.apache.commons.lang3.StringUtils;
import java.util.Arrays;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
public enum SignTypeEnum {
TRANSFER(0,"转让","A104"),
NEW_SIGNING(1,"新签","A101"),
RENEWAL(2,"续签","A102"),
RELOCATION (3,"迁址","A103"),
NEW_SIGNING_INDUSTRIES(5,"新签同异业转化","A105"),
;
private Integer code;
private String desc;
private String sap;
SignTypeEnum(Integer code, String desc,String sap) {
this.code = code;
this.desc = desc;
this.sap =sap;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public String getSap() {
return sap;
}
public void setSap(String sap) {
this.sap = sap;
}
protected static final Map<Integer, SignTypeEnum> map = Arrays.stream(values()).collect(
Collectors.toMap(SignTypeEnum::getCode, Function.identity()));
public static SignTypeEnum getWorkflowStageByCode(Integer code) {
if(code == null) {
return null;
}
return map.get(code);
}
}

View File

@@ -0,0 +1,8 @@
package com.cool.store.mapper;
import com.cool.store.entity.SignFranchiseDO;
import tk.mybatis.mapper.common.Mapper;
public interface SignFranchiseMapper extends Mapper<SignFranchiseDO> {
}

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cool.store.mapper.SignFranchiseMapper">
</mapper>

View File

@@ -1,12 +1,18 @@
package com.cool.store.entity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.util.Date;
@Data
@Table(name = "xfsg_franchise_fee")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class FranchiseFeeDO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -24,21 +30,21 @@ public class FranchiseFeeDO {
@Column(name = "first_year_end_time")
private Date firstYearEndTime;
@Column(name = "first_year_fee")
private Date firstYearFee;
private String firstYearFee;
@Column(name = "second_year_start_time")
private Date secondYearStartTime;
@Column(name = "second_year_end_time")
private Date secondYearEndTime;
@Column(name = "second_year_fee")
private Date secondYearFee;
@Column(name = "third_year_first_time")
private Date thirdYearFirstTime;
private String secondYearFee;
@Column(name = "third_year_start_time")
private Date thirdYearStartTime;
@Column(name = "third_year_end_time")
private Date thirdYearEndTime;
@Column(name = "third_year_fee")
private Date thirdYearFee;
private String thirdYearFee;
@Column(name = "performance_bond")
private Date performanceBond;
private String performanceBond;
@Column(name = "create_time")
private Date createTime;
@Column(name = "update_time")

View File

@@ -1,12 +1,18 @@
package com.cool.store.entity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.util.Date;
@Table(name = "xfsg_license_transact")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class LicenseTransactDO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)

View File

@@ -0,0 +1,53 @@
package com.cool.store.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.util.Date;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "xfsg_sign_franchise")
public class SignFranchiseDO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "xfsg_shop_info.id")
private Long shopId;
@Column(name = "sign_type")
private Integer signType;
@Column(name = "brand_fee")
private String brandFee;
@Column(name = "is_business_license")
private Integer isBusinessLicense;
@Column(name = "is_food_license")
private Integer isFoodLicense;
@Column(name = "contract_start_time")
private Date contractStartTime;
@Column(name = "contract_end_time")
private Date contractStartEndTime;
@Column(name = "impression_num")
private String impressionNum;
@Column(name = "business_start_hours")
private Date businessStartHours;
@Column(name = "business_end_hours")
private Date businessEndHours;
@Column(name = "irregular_reason")
private String irregularReason;
@Column(name = "remark")
private String remark;
@Column(name = "resign")
private Integer resign;
@Column(name = "mobile")
private String mobile;
@Column(name = "create_time")
private Date createTime;
@Column(name = "update_time")
private Date updateTime;
}

View File

@@ -0,0 +1,79 @@
package com.cool.store.request;
import com.cool.store.entity.SignFranchiseDO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel("提交加盟合同签约请求体")
public class AddSignFranchiseRequest {
@ApiModelProperty("主键,更新时才存在")
private Long id;
private Long shopId;
/**
* SignTypeEnum
*/
@ApiModelProperty("签约类型,0.转让 1.新签 2.续签 3.迁址 5.新签同异业转化")
private Integer signType;
@ApiModelProperty("品牌使用费比例")
private String brandFee;
@ApiModelProperty("是否有营业执照 0-是 1-否")
private Integer isBusinessLicense;
@ApiModelProperty("是否有食营 0-是 1-否")
private Integer isFoodLicense;
@ApiModelProperty("合同开始日期")
private Date contractStartTime;
@ApiModelProperty("合同结束日期")
private Date contractStartEndTime;
@ApiModelProperty("用印次数")
private String impressionNum;
@ApiModelProperty("营业开始时间(日期不重要传分秒即可)")
private Date businessStartHours;
@ApiModelProperty("营业结束时间(日期不重要传分秒即可)")
private Date businessEndHours;
@ApiModelProperty("非常规营业时间原因")
private String irregularReason;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("是否补签")
private Integer resign;
@ApiModelProperty("加盟商联系方式")
private String mobile;
public SignFranchiseDO toSignFranchiseDO() {
SignFranchiseDO signFranchiseDO = new SignFranchiseDO();
signFranchiseDO.setId(this.id);
signFranchiseDO.setShopId(this.shopId);
signFranchiseDO.setSignType(this.signType);
signFranchiseDO.setBrandFee(this.brandFee);
signFranchiseDO.setIsBusinessLicense(this.isBusinessLicense);
signFranchiseDO.setIsFoodLicense(this.isFoodLicense);
signFranchiseDO.setContractStartTime(this.contractStartTime);
signFranchiseDO.setContractStartEndTime(this.contractStartEndTime);
signFranchiseDO.setImpressionNum(this.impressionNum);
signFranchiseDO.setBusinessStartHours(this.businessStartHours);
signFranchiseDO.setBusinessEndHours(this.businessEndHours);
signFranchiseDO.setIrregularReason(this.irregularReason);
signFranchiseDO.setRemark(this.remark);
signFranchiseDO.setResign(this.resign);
signFranchiseDO.setMobile(this.mobile);
return signFranchiseDO;
}
}

View File

@@ -1,10 +1,16 @@
package com.cool.store.request;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class FranchiseAgreementRequest {
/**
* 流程发起人工号
@@ -13,7 +19,7 @@ public class FranchiseAgreementRequest {
/**
* 公司主体0.鲜丰水果股份有限公司
*/
private long company;
private Integer company;
/**
* 第一年度结束时间
*/
@@ -37,7 +43,7 @@ public class FranchiseAgreementRequest {
/**
* 辅助字段0.个人签字 1.企业盖章
*/
private long fzzd1;
private Integer fzzd1;
/**
* 工程装修合同发起人工号默认20230724
*/
@@ -45,11 +51,11 @@ public class FranchiseAgreementRequest {
/**
* 货款保证金
*/
private long hkbzj;
private Integer hkbzj;
/**
* 货款保证金大写
*/
private long hkbzjdx;
private Integer hkbzjdx;
/**
* 货款保证金大写文本
*/
@@ -57,27 +63,27 @@ public class FranchiseAgreementRequest {
/**
* 合同开始日
*/
private long ht_day;
private Integer ht_day;
/**
* 合同结束日
*/
private long ht_day2;
private Integer ht_day2;
/**
* 合同开始月
*/
private long ht_month1;
private Integer ht_month1;
/**
* 合同结束月
*/
private long ht_month2;
private Integer ht_month2;
/**
* 合同开始年
*/
private long ht_year1;
private Integer ht_year1;
/**
* 合同结束年
*/
private long ht_year2;
private Integer ht_year2;
/**
* 身份证正面
*/
@@ -93,15 +99,15 @@ public class FranchiseAgreementRequest {
/**
* 是否有营业执照
*/
private long is_business_license;
private Integer is_business_license;
/**
* 是否补缴保证金0.是 1.否
*/
private long is_deposit;
private Integer is_deposit;
/**
* 是否有食品许可证0.是 2.否[二证合一] 3.否[三小一摊] 4.否[暂未办理]
*/
private long is_food_license;
private Integer is_food_license;
/**
* 缴款日期
*/
@@ -129,71 +135,71 @@ public class FranchiseAgreementRequest {
/**
* 每年加盟费
*/
private long jmf;
private Integer jmf;
/**
* 第一年度加盟费
*/
private long jmf2;
private Integer jmf2;
/**
* 第二年度加盟费
*/
private long jmf3;
private Integer jmf3;
/**
* 第三年度加盟费
*/
private long jmf4;
private Integer jmf4;
/**
* 第一年度开始日
*/
private long jmfday1;
private Integer jmfday1;
/**
* 第一年度结束日
*/
private long jmfday2;
private Integer jmfday2;
/**
* 第二年度开始日
*/
private long jmfday3;
private Integer jmfday3;
/**
* 第二年度结束日
*/
private long jmfday4;
private Integer jmfday4;
/**
* 第三年度开始日
*/
private long jmfday5;
private Integer jmfday5;
/**
* 第三年度结束日
*/
private long jmfday6;
private Integer jmfday6;
/**
* 加盟费
*/
private long jmfdx;
private Integer jmfdx;
/**
* 第一年度开始月
*/
private long jmfmonth1;
private Integer jmfmonth1;
/**
* 第一年度结束月
*/
private long jmfmonth2;
private Integer jmfmonth2;
/**
* 第二年度开始月
*/
private long jmfmonth3;
private Integer jmfmonth3;
/**
* 第二年度结束月
*/
private long jmfmonth4;
private Integer jmfmonth4;
/**
* 第三年度开始月
*/
private long jmfmonth5;
private Integer jmfmonth5;
/**
* 第三年度结束月
*/
private long jmfmonth6;
private Integer jmfmonth6;
/**
* 加盟费大写文本
*/
@@ -201,27 +207,27 @@ public class FranchiseAgreementRequest {
/**
* 第一年度开始年
*/
private long jmfyear1;
private Integer jmfyear1;
/**
* 第一年度结束年
*/
private long jmfyear2;
private Integer jmfyear2;
/**
* 第二年度开始年
*/
private long jmfyear3;
private Integer jmfyear3;
/**
* 第二年度结束年
*/
private long jmfyear4;
private Integer jmfyear4;
/**
* 第三年度开始年
*/
private long jmfyear5;
private Integer jmfyear5;
/**
* 第三年度结束年
*/
private long jmfyear6;
private Integer jmfyear6;
/**
* 加盟费/保证金打款截图,上传文件,是否补签=否时必填,是否补签=是时不传
*/
@@ -233,11 +239,11 @@ public class FranchiseAgreementRequest {
/**
* 加盟商合同状态0.生效 1.终止 2.转让 3.草稿默认值0
*/
private long jmshtzt;
private Integer jmshtzt;
/**
* 加盟商类型0.新加盟商开单店 1.老加盟商开单店 2.老加盟商开区域单店 3.新加盟商开区域单店
*/
private long jmslx;
private Integer jmslx;
/**
* 加盟商联系方式
*/
@@ -273,11 +279,11 @@ public class FranchiseAgreementRequest {
/**
* 履约保证金
*/
private long lvbzj;
private Integer lvbzj;
/**
* 履约保证金大写
*/
private long lybzjdx;
private Integer lybzjdx;
/**
* 履约保证金大写文本
*/
@@ -309,7 +315,7 @@ public class FranchiseAgreementRequest {
/**
* 类型0.个体工商户 1.有限责任公司 2.独资企业 3.自然人经营
*/
private long partyb_type;
private Integer partyb_type;
/**
* 品牌使用费比例默认值0.05
*/
@@ -329,7 +335,7 @@ public class FranchiseAgreementRequest {
/**
* 签约类型,0.转让 1.新签 2.续签 3.迁址 5.新签同异业转化
*/
private long qylx;
private Integer qylx;
/**
* 契约锁电子印章默认值2731707107593166911
*/
@@ -353,7 +359,7 @@ public class FranchiseAgreementRequest {
/**
* 是否补签0.是 1.否
*/
private long sfbq__add;
private Integer sfbq__add;
/**
* 营业开始时间
*/
@@ -401,7 +407,7 @@ public class FranchiseAgreementRequest {
/**
* 用印次数
*/
private long yycs;
private Integer yycs;
/**
* 营业执照办理授权书
*/

View File

@@ -12,48 +12,34 @@ import java.util.Date;
@ApiModel("加盟费/保证金实体")
public class FranchiseFeeRequest {
@Column(name = "shop_id")
@ApiModelProperty("shopId")
private Long shopId;
@Column(name = "pay_id")
@ApiModelProperty("payId")
private Long payId;
@Column(name = "year_franchise_fee")
@ApiModelProperty("每年加盟费")
private String yearFranchiseFee;
@Column(name = "loan_margin")
@ApiModelProperty("贷款保证金")
private String loanMargin;
@Column(name = "first_year_start_time")
@ApiModelProperty("第一年度开始时间")
private Date firstYearStartTime;
@ApiModelProperty("第一年度结束时间")
@Column(name = "first_year_end_time")
private Date firstYearEndTime;
@ApiModelProperty("第一年度加盟费")
@Column(name = "first_year_fee")
private Date firstYearFee;
private String firstYearFee;
@ApiModelProperty("第二年度开始时间")
@Column(name = "second_year_start_time")
private Date secondYearStartTime;
@ApiModelProperty("第二年度结束时间")
@Column(name = "second_year_end_time")
private Date secondYearEndTime;
@ApiModelProperty("第二年度加盟费")
@Column(name = "second_year_fee")
private Date secondYearFee;
private String secondYearFee;
@ApiModelProperty("第仨年度开始时间")
@Column(name = "third_year_first_time")
private Date thirdYearFirstTime;
private Date thirdYearStartTime;
@ApiModelProperty("第仨年度结束时间")
@Column(name = "third_year_end_time")
private Date thirdYearEndTime;
@ApiModelProperty("第仨年度加盟费")
@Column(name = "third_year_fee")
private Date thirdYearFee;
private String thirdYearFee;
@ApiModelProperty("履约保证金")
@Column(name = "performance_bond")
private Date performanceBond;
private String performanceBond;
public FranchiseFeeDO toFranchiseFeeDO() {
@@ -68,7 +54,7 @@ public class FranchiseFeeRequest {
franchiseFeeDO.setSecondYearStartTime(this.secondYearStartTime);
franchiseFeeDO.setSecondYearEndTime(this.secondYearEndTime);
franchiseFeeDO.setSecondYearFee(this.secondYearFee);
franchiseFeeDO.setThirdYearFirstTime(this.thirdYearFirstTime);
franchiseFeeDO.setThirdYearStartTime(this.thirdYearStartTime);
franchiseFeeDO.setThirdYearEndTime(this.thirdYearEndTime);
franchiseFeeDO.setThirdYearFee(this.thirdYearFee);
franchiseFeeDO.setPerformanceBond(this.performanceBond);

View File

@@ -22,7 +22,7 @@ public class SubmitLicenseRequest {
@ApiModelProperty("营业执照名称")
private String licenseName;
@ApiModelProperty("营业执照类型 0:有限责任公司 1:工体工商")
@ApiModelProperty("营业执照类型 0.个体工商户 1.有限责任公司 2.独资企业 3.自然人经营")
private Integer licenseType;
@ApiModelProperty("营业执照上的法人")

View File

@@ -1,48 +1,44 @@
package com.cool.store.response;
import com.cool.store.entity.FranchiseFeeDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.*;
import java.util.Date;
@Data
@Table(name = "xfsg_franchise_fee")
public class FranchiseFeeResponse {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "shop_id")
@ApiModelProperty("shopId")
private Long shopId;
@Column(name = "pay_id")
@ApiModelProperty("payId")
private Long payId;
@Column(name = "year_franchise_fee")
@ApiModelProperty("每年加盟费")
private String yearFranchiseFee;
@Column(name = "loan_margin")
@ApiModelProperty("贷款保证金")
private String loanMargin;
@Column(name = "first_year_start_time")
@ApiModelProperty("第一年度开始时间")
private Date firstYearStartTime;
@Column(name = "first_year_end_time")
@ApiModelProperty("第一年度结束时间")
private Date firstYearEndTime;
@Column(name = "first_year_fee")
private Date firstYearFee;
@Column(name = "second_year_start_time")
@ApiModelProperty("第一年度加盟费")
private String firstYearFee;
@ApiModelProperty("第二年度开始时间")
private Date secondYearStartTime;
@Column(name = "second_year_end_time")
@ApiModelProperty("第二年度结束时间")
private Date secondYearEndTime;
@Column(name = "second_year_fee")
private Date secondYearFee;
@Column(name = "third_year_first_time")
private Date thirdYearFirstTime;
@Column(name = "third_year_end_time")
@ApiModelProperty("第二年度加盟费")
private String secondYearFee;
@ApiModelProperty("第仨年度开始时间")
private Date thirdYearStartTime;
@ApiModelProperty("第仨年度结束时间")
private Date thirdYearEndTime;
@Column(name = "third_year_fee")
private Date thirdYearFee;
@Column(name = "performance_bond")
private Date performanceBond;
@Column(name = "create_time")
@ApiModelProperty("第仨年度加盟费")
private String thirdYearFee;
@ApiModelProperty("履约保证金")
private String performanceBond;
private Date createTime;
@Column(name = "update_time")
private Date updateTime;
@@ -62,7 +58,7 @@ public class FranchiseFeeResponse {
franchiseFeeResponse.setSecondYearStartTime(franchiseFeeDO.getSecondYearStartTime());
franchiseFeeResponse.setSecondYearEndTime(franchiseFeeDO.getSecondYearEndTime());
franchiseFeeResponse.setSecondYearFee(franchiseFeeDO.getSecondYearFee());
franchiseFeeResponse.setThirdYearFirstTime(franchiseFeeDO.getThirdYearFirstTime());
franchiseFeeResponse.setThirdYearStartTime(franchiseFeeDO.getThirdYearStartTime());
franchiseFeeResponse.setThirdYearEndTime(franchiseFeeDO.getThirdYearEndTime());
franchiseFeeResponse.setThirdYearFee(franchiseFeeDO.getThirdYearFee());
franchiseFeeResponse.setPerformanceBond(franchiseFeeDO.getPerformanceBond());

View File

@@ -0,0 +1,13 @@
package com.cool.store.service;
import com.cool.store.request.AddSignFranchiseRequest;
import com.cool.store.response.ResponseResult;
public interface SignFranchiseService {
/**
* 提交加盟合同签约
* @param request
* @return
*/
ResponseResult submitSignFranchise(AddSignFranchiseRequest request);
}

View File

@@ -0,0 +1,257 @@
package com.cool.store.service.impl;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.dao.ShopStageInfoDAO;
import com.cool.store.entity.*;
import com.cool.store.enums.AuditEnum;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.SignTypeEnum;
import com.cool.store.enums.point.ShopSubStageStatusEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.*;
import com.cool.store.request.AddSignFranchiseRequest;
import com.cool.store.request.AuditResultRequest;
import com.cool.store.request.FranchiseAgreementRequest;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.CoolStoreStartFlowService;
import com.cool.store.service.SignFranchiseService;
import com.cool.store.service.SysStoreAppService;
import com.cool.store.utils.poi.DateUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
@Service
@Slf4j
public class SignFranchiseServiceImpl implements SignFranchiseService ,AuditResultService{
@Resource
SignFranchiseMapper signFranchiseMapper;
@Resource
CoolStoreStartFlowService coolStoreStartFlowService;
@Resource
FranchiseFeeMapper franchiseFeeMapper;
@Resource
ShopInfoMapper shopInfoMapper;
@Resource
IntentAgreementMapper intentAgreementMapper;
@Resource
LinePayMapper linePayMapper;
@Resource
PointInfoMapper pointInfoMapper;
@Resource
LineInfoMapper lineInfoMapper;
@Resource
SystemBuildingShopMapper systemBuildingShopMapper;
@Resource
ApplyLicenseMapper applyLicenseMapper;
@Resource
ThirdDepartmentMapper thirdDepartmentMapper;
@Resource
JoinIntentionMapper joinIntentionMapper;
@Resource
ShopStageInfoDAO shopStageInfoDAO;
@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 = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_84;
}else if (request.getAuditResult() == 0){
shopSubStageStatusEnum = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_85;
}
shopStageInfoDAO.updateShopStageInfo(shopId,shopSubStageStatusEnum);
return null;
}
private Long getShopId(String kdzBusinessId) {
String shopId = kdzBusinessId.substring(kdzBusinessId.indexOf("_") + 1, kdzBusinessId.lastIndexOf("_"));
return Long.valueOf(shopId);
}
@Override
@Transactional(rollbackFor = Exception.class)
public ResponseResult submitSignFranchise(AddSignFranchiseRequest request) {
log.info("submitSignFranchise request:{}", JSONObject.toJSONString(request));
if (Objects.isNull(request)) {
throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR);
}
if (Objects.isNull(request.getShopId())) {
throw new ServiceException(ErrorCodeEnum.SHOP_ID_NOT_EXIST);
}
SignFranchiseDO signFranchiseDO = request.toSignFranchiseDO();
if (Objects.isNull(request.getId())) {
signFranchiseMapper.insertSelective(signFranchiseDO);
} else {
signFranchiseMapper.updateByPrimaryKeySelective(signFranchiseDO);
}
//店铺信息
ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId());
FranchiseAgreementRequest franchiseAgreementRequest = convertFranchiseAgreement(request,shopInfoDO);
MemberQuestionDO memberQuestionDO = joinIntentionMapper.getByLineId(shopInfoDO.getLineId());
ResponseResult responseResult = coolStoreStartFlowService.franchiseAgreement(franchiseAgreementRequest, memberQuestionDO.getJoinType());
shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83);
return responseResult;
}
public FranchiseAgreementRequest convertFranchiseAgreement(AddSignFranchiseRequest request,
ShopInfoDO shopInfoDO){
LoginUserInfo user = CurrentUserHolder.getUser();
//shopId
Long shopId = request.getShopId();
//线索信息
LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(shopInfoDO.getLineId());
//缴费信息
FranchiseFeeDO franchiseFeeDO = franchiseFeeMapper.selectOne(FranchiseFeeDO.builder().shopId(shopId).build());
//线索id
Long lineId = shopInfoDO.getLineId();
//签约信息
SigningBaseInfoDO signingBaseInfoDO = intentAgreementMapper.selectByPartnerIdOrLineId(null, lineId);
//缴款信息
LinePayDO linePayDO = linePayMapper.getLinePayByLineIdAndPayType(lineId, 1);
//铺位信息
PointInfoDO pointInfoDO = pointInfoMapper.getDataByShopIdAndLineId(lineId, shopId);
//建店数据
SystemBuildingShopDO systemBuildingShopDO = systemBuildingShopMapper.selectOne(SystemBuildingShopDO.builder().shopId(shopId).lineId(lineId).build());
//证照办理
LicenseTransactDO licenseTransactDO = applyLicenseMapper.selectOne(LicenseTransactDO.builder().shopId(shopId).build());
//三方部门表
ThirdDepartmentDO thirdDepartmentDO= thirdDepartmentMapper.getByName(systemBuildingShopDO.getBigName());
//找不到的url统一用这个
List<String> temp = new ArrayList<>();temp.add("object");
Convert.digitToChinese(123);
FranchiseAgreementRequest buildResult = FranchiseAgreementRequest.builder()
.apply_user(user.getJobNumber())
.company(0)
.start1(DateUtils.dateTime(franchiseFeeDO.getFirstYearStartTime()))
.start2(DateUtils.dateTime(franchiseFeeDO.getSecondYearStartTime()))
.start3(DateUtils.dateTime(franchiseFeeDO.getThirdYearStartTime()))
.end1(DateUtils.dateTime(franchiseFeeDO.getFirstYearEndTime()))
.end2(DateUtils.dateTime(franchiseFeeDO.getSecondYearEndTime()))
.end3(DateUtils.dateTime(franchiseFeeDO.getThirdYearEndTime()))
.fjsc(temp)
.fqgsmc("鲜丰水果股份有限公司")
.fzzd1(0)
.gczxhtfqr("20230724")//没有
.hkbzj(Integer.valueOf(franchiseFeeDO.getLoanMargin()))
.hkbzjdx(Integer.valueOf(franchiseFeeDO.getLoanMargin()))
.hkbzjwb(Convert.digitToChinese(Integer.valueOf(franchiseFeeDO.getLoanMargin())))
.ht_day(DateTime.of(request.getContractStartTime()).getDay())
.ht_day2(DateTime.of(request.getContractStartEndTime()).getDay())
.ht_month1(DateTime.of(request.getContractStartTime()).getMonth())
.ht_month2(DateTime.of(request.getContractStartEndTime()).getMonth())
.ht_year1(DateTime.of(request.getContractStartTime()).getYear())
.ht_year2(DateTime.of(request.getContractStartEndTime()).getYear())
.idcard_1(Arrays.asList(signingBaseInfoDO.getIdCardFront()))
.idcard_2(Arrays.asList(signingBaseInfoDO.getIdCardReverse()))
.idcard_address(signingBaseInfoDO.getIdCardAddress())
.is_business_license(request.getIsBusinessLicense())
.is_deposit(1)
.is_food_license(request.getIsFoodLicense())
.jiaokuandate(DateUtils.dateTime(linePayDO.getPayTime()))
.jkr(linePayDO.getPayUserName())
.jmd_area(pointInfoDO.getDistrict())
.jmd_city(pointInfoDO.getCity())
.jmd_province(pointInfoDO.getProvince())
.jmd_street(pointInfoDO.getTownship())
.jmf(Integer.valueOf(franchiseFeeDO.getYearFranchiseFee()))
.jmf2(Integer.valueOf(franchiseFeeDO.getFirstYearFee()))
.jmf3(Integer.valueOf(franchiseFeeDO.getSecondYearFee()))
.jmf4(Integer.valueOf(franchiseFeeDO.getThirdYearFee()))
.jmfday1(DateTime.of(franchiseFeeDO.getFirstYearStartTime()).getDay())
.jmfday2(DateTime.of(franchiseFeeDO.getFirstYearEndTime()).getDay())
.jmfday3(DateTime.of(franchiseFeeDO.getSecondYearStartTime()).getDay())
.jmfday4(DateTime.of(franchiseFeeDO.getSecondYearEndTime()).getDay())
.jmfday5(DateTime.of(franchiseFeeDO.getThirdYearStartTime()).getDay())
.jmfday6(DateTime.of(franchiseFeeDO.getThirdYearEndTime()).getDay())
.jmfdx(Integer.valueOf(franchiseFeeDO.getYearFranchiseFee()))
.jmfmonth1(DateTime.of(franchiseFeeDO.getFirstYearStartTime()).getMonth())
.jmfmonth2(DateTime.of(franchiseFeeDO.getFirstYearEndTime()).getMonth())
.jmfmonth3(DateTime.of(franchiseFeeDO.getSecondYearStartTime()).getMonth())
.jmfmonth4(DateTime.of(franchiseFeeDO.getSecondYearEndTime()).getMonth())
.jmfmonth5(DateTime.of(franchiseFeeDO.getThirdYearStartTime()).getMonth())
.jmfmonth6(DateTime.of(franchiseFeeDO.getThirdYearEndTime()).getMonth())
.jmfwb(Convert.digitToChinese(Integer.valueOf(franchiseFeeDO.getYearFranchiseFee())))
.jmfyear1(DateTime.of(franchiseFeeDO.getFirstYearStartTime()).getYear())
.jmfyear2(DateTime.of(franchiseFeeDO.getFirstYearEndTime()).getYear())
.jmfyear3(DateTime.of(franchiseFeeDO.getSecondYearStartTime()).getYear())
.jmfyear4(DateTime.of(franchiseFeeDO.getSecondYearEndTime()).getYear())
.jmfyear5(DateTime.of(franchiseFeeDO.getThirdYearStartTime()).getYear())
.jmfyear6(DateTime.of(franchiseFeeDO.getThirdYearEndTime()).getYear())
.jmsdkjt(temp)
.jmsdm(lineInfoDO.getPartnerNum())
.jmshtzt(0)
.jmslx(systemBuildingShopDO.getFranchiseeType())
.jmslxfs(request.getMobile())
.jmssfzhm(signingBaseInfoDO.getIdCardNo())
.jmsxm(lineInfoDO.getPartnerNum())
.jmsxm1(lineInfoDO.getUsername())
.jsrq(DateUtils.dateTime(request.getContractStartEndTime()))
.jszhhz(linePayDO.getPayAccount())
.kdzBusinessId(AuditEnum.SIGN_FRANCHISE+"_"+shopId+"_"+lineId)
.khhjzh(linePayDO.getBankName())
.lvbzj(Integer.valueOf(franchiseFeeDO.getPerformanceBond()))
.lybzjdx(Integer.valueOf(franchiseFeeDO.getPerformanceBond()))
.lybzjwb(Convert.digitToChinese(Integer.valueOf(franchiseFeeDO.getPerformanceBond())))
.mddz(pointInfoDO.getAddress())
.mdmc(shopInfoDO.getStoreNum())
.mdmcwb(systemBuildingShopDO.getStoreName())
.oacompany(thirdDepartmentDO.getDepartmentCode())
.partyb_name(licenseTransactDO.getBusinessLicense())
.partyb_operator(licenseTransactDO.getOperator())
.partyb_type(licenseTransactDO.getLicenseType())
.ppsyfbl(Double.valueOf(request.getBrandFee()))
.psfl("以实际结算为准")
.qsdz("PUBLIC_COMPANY")
.qsrq(DateUtils.dateTime(request.getContractStartTime()))
.qylx(SignTypeEnum.getWorkflowStageByCode(request.getSignType()).getCode())
.qys_dzyz("2731707107593166911")
.qys_htywfl("3051420203180101971")
.reason2(request.getIrregularReason())
.remark(request.getRemark())
.remark2(systemBuildingShopDO.getReasons())
.sfbq__add(request.getResign())
.sj1(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_END,request.getBusinessStartHours()))
.sj2(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_END,request.getBusinessEndHours()))
.social_credit_code(licenseTransactDO.getCreditCode())
.spltxkz(temp)
.sqr_name(user.getName())
.sqrq(DateUtils.getDate())
.title("特许经营合同审批申请2023-"+ lineInfoDO.getUsername() +"-" + DateUtils.getDate())
.wlyzbm("201905081151092R")
.yycs(Integer.valueOf(request.getImpressionNum()))
.yyzzblsqs(temp)
.yyzzfyj(temp)
.zhihang(linePayDO.getBranchBankName())
.zqyty(SignTypeEnum.getWorkflowStageByCode(request.getSignType()).getSap())
.build();
return buildResult;
}
}

View File

@@ -40,7 +40,7 @@ public class PCApplyLicenseController {
/**
*
* @param id
* @param
* @param status 0通过 1不通过
* @return
*/

View File

@@ -0,0 +1,30 @@
package com.cool.store.controller.webb;
import com.cool.store.request.AddSignFranchiseRequest;
import com.cool.store.request.DeleteShopRequest;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.SignFranchiseService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@Api(tags = "pc加盟合同签约")
@RestController
@RequestMapping("/pc/signFranchise")
public class PCSignFranchiseController {
@Resource
SignFranchiseService signFranchiseService;
@ApiOperation("提交(更新)加盟合同签约")
@PostMapping("/submitOrUpdate")
public ResponseResult<Boolean> submitSignFranchise(@RequestBody AddSignFranchiseRequest request) {
return signFranchiseService.submitSignFranchise(request);
}
}