diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/AuditEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/AuditEnum.java index ab3273afd..8b9deab90 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/AuditEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/AuditEnum.java @@ -4,6 +4,7 @@ public enum AuditEnum { CONTRACT_INTENTION("intention", "意向加盟合同API","intentAgreementServiceImpl"), SYS_BUILD("sysBuild", "系统建店API","sysStoreAppServiceImpl"), + SIGN_FRANCHISE("signFranchise", "加盟合同签约","signFranchiseServiceImpl"), ; diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/SignTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/SignTypeEnum.java new file mode 100644 index 000000000..bd5bd8e53 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/SignTypeEnum.java @@ -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 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); + } +} 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 new file mode 100644 index 000000000..c656ef48c --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SignFranchiseMapper.java @@ -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 { + +} diff --git a/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml new file mode 100644 index 000000000..3967e2c51 --- /dev/null +++ b/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/FranchiseFeeDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/FranchiseFeeDO.java index ff8d48b05..69ef4eb05 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/FranchiseFeeDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/FranchiseFeeDO.java @@ -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") diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/LicenseTransactDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/LicenseTransactDO.java index b223e5471..21cf6f1c0 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/LicenseTransactDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/LicenseTransactDO.java @@ -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) 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 new file mode 100644 index 000000000..a0617e42a --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java @@ -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; +} 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 new file mode 100644 index 000000000..51eece354 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java @@ -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; + } +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/FranchiseAgreementRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/FranchiseAgreementRequest.java index 5eac33328..7761cb8f4 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/FranchiseAgreementRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/FranchiseAgreementRequest.java @@ -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; /** * 营业执照办理授权书 */ diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/FranchiseFeeRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/FranchiseFeeRequest.java index e8fddff05..14945e609 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/FranchiseFeeRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/FranchiseFeeRequest.java @@ -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); diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/SubmitLicenseRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/SubmitLicenseRequest.java index 10f40e325..051edd64b 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/SubmitLicenseRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/SubmitLicenseRequest.java @@ -22,7 +22,7 @@ public class SubmitLicenseRequest { @ApiModelProperty("营业执照名称") private String licenseName; - @ApiModelProperty("营业执照类型 0:有限责任公司 1:工体工商") + @ApiModelProperty("营业执照类型 0.个体工商户 1.有限责任公司 2.独资企业 3.自然人经营") private Integer licenseType; @ApiModelProperty("营业执照上的法人") diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/FranchiseFeeResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/FranchiseFeeResponse.java index e0d75612a..3cf1e79d7 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/FranchiseFeeResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/FranchiseFeeResponse.java @@ -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()); 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 new file mode 100644 index 000000000..cbd17823f --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java @@ -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); +} 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 new file mode 100644 index 000000000..27b319aca --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java @@ -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 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; + } + +} diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCApplyLicenseController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCApplyLicenseController.java index 0735bcf01..de185d5ed 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCApplyLicenseController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCApplyLicenseController.java @@ -40,7 +40,7 @@ public class PCApplyLicenseController { /** * - * @param id + * @param * @param status 0通过 1不通过 * @return */ 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 new file mode 100644 index 000000000..acceb48d9 --- /dev/null +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCSignFranchiseController.java @@ -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 submitSignFranchise(@RequestBody AddSignFranchiseRequest request) { + return signFranchiseService.submitSignFranchise(request); + } +}