From 6e0b7073cbefe61876bceca31de3ea931304f5c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Sun, 28 Apr 2024 17:58:26 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E6=A3=80=E6=9F=A5=E9=A1=B9=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/webc/MiniAssessmentTemplateController.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniAssessmentTemplateController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniAssessmentTemplateController.java index 9d3090069..86e8656dd 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniAssessmentTemplateController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniAssessmentTemplateController.java @@ -3,9 +3,13 @@ package com.cool.store.controller.webc; import com.cool.store.response.ResponseResult; import com.cool.store.service.AssessmentTemplateService; import com.cool.store.vo.AssessmentTemplateVO; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; @@ -15,6 +19,10 @@ import java.util.List; * @Date 2024/4/28 16:29 * @Version 1.0 */ +@RestController +@RequestMapping("/mini/template") +@Api(tags = "小程序检查项模板") +@Slf4j public class MiniAssessmentTemplateController { @Resource From dbee058061a1b22bf1451aa17610aca01b722fa5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Sun, 28 Apr 2024 19:34:56 +0800 Subject: [PATCH 2/8] rows --- .../com/cool/store/dto/decoration/RowsDTO.java | 17 +++++++++++++++++ .../cool/store/service/impl/YlfServiceImpl.java | 5 ++++- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/RowsDTO.java diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/RowsDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/RowsDTO.java new file mode 100644 index 000000000..e7a4cdbcf --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/RowsDTO.java @@ -0,0 +1,17 @@ +package com.cool.store.dto.decoration; + +import lombok.Data; + +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2024/4/28 19:19 + * @Version 1.0 + */ +@Data +public class RowsDTO{ + + private List rows; + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/YlfServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/YlfServiceImpl.java index bd20b41f2..b1fa41581 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/YlfServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/YlfServiceImpl.java @@ -3,6 +3,7 @@ package com.cool.store.service.impl; import com.alibaba.fastjson.JSONObject; import com.cool.store.dto.decoration.DecorationDTO; import com.cool.store.dto.decoration.ProjectDTO; +import com.cool.store.dto.decoration.RowsDTO; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.exception.ServiceException; import com.cool.store.mq.util.HttpRestTemplateService; @@ -11,6 +12,7 @@ import com.cool.store.utils.poi.constant.Constants; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; +import springfox.documentation.spring.web.json.Json; import javax.annotation.Resource; import java.util.HashMap; @@ -45,7 +47,8 @@ public class YlfServiceImpl implements YlfService { if (data == null) { return null; } - List list = (List) ((JSONObject) JSONObject.parseObject(forObject, JSONObject.class).get("data")).get("rows"); + RowsDTO rowsDTOS = JSONObject.parseObject(JSONObject.toJSONString( data), RowsDTO.class); + List list = rowsDTOS.getRows(); if (CollectionUtils.isNotEmpty(list)) { return list.get(0); } From 95d21eaf9bb5ec0e90c4de167cafd4d10e803280 Mon Sep 17 00:00:00 2001 From: wangxiaopeng <807933401@qq.com> Date: Sun, 28 Apr 2024 20:07:53 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E5=8A=A0=E7=9B=9F?= =?UTF-8?q?=E5=95=86=E7=BC=96=E7=A0=81=E6=9F=A5=E8=AF=A2=E5=8A=A0=E7=9B=9F?= =?UTF-8?q?=E5=95=86=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/dto/ehr/FranchiseeInfoDTO.java | 159 ++++++++++++++++++ .../cool/store/dto/ehr/StaffBaseInfoDTO.java | 64 +++++++ .../cool/store/service/XfsgEhrService.java | 26 +++ .../service/impl/XfsgEhrServiceImpl.java | 83 +++++++++ .../store/utils/poi/constant/Constants.java | 6 + .../webc/TrainingRegistController.java | 41 +++++ 6 files changed, 379 insertions(+) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/ehr/FranchiseeInfoDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/ehr/StaffBaseInfoDTO.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/XfsgEhrService.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/impl/XfsgEhrServiceImpl.java create mode 100644 coolstore-partner-web/src/main/java/com/cool/store/controller/webc/TrainingRegistController.java diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/ehr/FranchiseeInfoDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/ehr/FranchiseeInfoDTO.java new file mode 100644 index 000000000..e245d20e8 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/ehr/FranchiseeInfoDTO.java @@ -0,0 +1,159 @@ +package com.cool.store.dto.ehr; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +import java.util.List; + +/** + * 加盟商信息查询 + */ +@NoArgsConstructor +@Data +public class FranchiseeInfoDTO { + @ApiModelProperty("自增主键") + private int keyId; + @ApiModelProperty("加盟商编号") + private String frId; + @ApiModelProperty("加盟商姓名") + private String frName; + @ApiModelProperty("加盟商手机号码") + private String frMobile; + @ApiModelProperty("身份证号") + private String idCard; + @ApiModelProperty("身份证地址") + private String idCardAddress; + @ApiModelProperty("性别:0-女,1-男") + private int sex; + @ApiModelProperty("状态:0-蓄水池,1-查看,2-正式,3-解约") + private int stat; + @ApiModelProperty("缴款时间") + private String payDateStr; + @ApiModelProperty("生效日期") + private String eftDate; + @ApiModelProperty("结束日期") + private String endDateStr; + @ApiModelProperty("收款账户") + private String retAccount; + @ApiModelProperty("开户行") + private String bank; + @ApiModelProperty("开户行名称") + private String bankName; + @ApiModelProperty("开户行支行") + private String bankSub; + @ApiModelProperty("开户行支行名称") + private String bankSubName; + @ApiModelProperty("备注") + private String remark; + @ApiModelProperty("省份代码") + private String provinceCode; + @ApiModelProperty("省份名称") + private String provinceName; + @ApiModelProperty("城市代码") + private String cityCode; + @ApiModelProperty("城市名称") + private String cityName; + @ApiModelProperty("生日") + private Date birthday; + @ApiModelProperty("微信号") + private String wechat; + @ApiModelProperty("投资方式") + private String investType; + @ApiModelProperty("其它业务/生意") + private String otherBusinesses; + @ApiModelProperty("合伙人") + private List partners; + @ApiModelProperty("资金来源") + private String capitalSource; + @ApiModelProperty("投资金额,单位:万") + private String capitalAmount; + @ApiModelProperty("水果行业从业经验") + private String experience; + @ApiModelProperty("是否有亲属在鲜丰工作") + private int workAtXf; + @ApiModelProperty("亲属工号(有亲属在鲜丰工作)") + private String jobNo; + @ApiModelProperty("行业类型") + private String industryType; + @ApiModelProperty("文化程度") + private String education; + @ApiModelProperty("紧急联系人姓名") + private String contactName; + @ApiModelProperty("紧急联系人电话") + private String contactPhone; + @ApiModelProperty("面试信息id") + private String interviewId; + @ApiModelProperty("面试视频地址") + private String videoUrl; + @ApiModelProperty("面试得分表地址") + private String tableUrl; + @ApiModelProperty("身份证原件正面地址") + private String idCardFrontUrl; + @ApiModelProperty("身份证原件背面地址") + private String idCardBackUrl; + @ApiModelProperty("面试状态") + private String state; + @ApiModelProperty("开户银行编码") + private String bankCode; + @ApiModelProperty("支行编码") + private String bankSubCode; + @ApiModelProperty("加盟费") + private int franchiseFee; + @ApiModelProperty("保证金") + private int deposit; + @ApiModelProperty("合同开始时间") + private Date contractStartDate; + @ApiModelProperty("合同结束时间") + private Date contractEndDate; + @ApiModelProperty("合同附件") + private String attachmentUrl; + @ApiModelProperty("签约类型:0-个人签约;1-企业签约") + private int signType; + @ApiModelProperty("法人") + private String legalPerson; + @ApiModelProperty("营业期限") + private String businessTerm; + @ApiModelProperty("OA流程编号") + private String processNum; + @ApiModelProperty("") + private int bind; + @ApiModelProperty("") + private int sign; + @ApiModelProperty("") + private int business; + @ApiModelProperty("门店信息") + private List storeInfoVOS; + + @Data + public static class FranchiseePartnerDTO{ + @ApiModelProperty("合伙人姓名") + private String name; + @ApiModelProperty("合伙人电话") + private String phone; + } + + @Data + public static class FranchiseeStoreInfoDTO{ + @ApiModelProperty("门店代码") + private String storeCode; + @ApiModelProperty("门店名称") + private String storeName; + @ApiModelProperty("开店/关店") + private String status; + @ApiModelProperty("正常营业/关店") + private String businessStatus; + @ApiModelProperty("解约") + private String signingStatus; + @ApiModelProperty("解约原因") + private String unbindCause; + @ApiModelProperty("浙北大区/萧山战区/萧山一区域") + private String area; + @ApiModelProperty("加盟商姓名") + private String franchiseeName; + @ApiModelProperty("加盟商编码") + private String frId; + } + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/ehr/StaffBaseInfoDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/ehr/StaffBaseInfoDTO.java new file mode 100644 index 000000000..9bbb9928d --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/ehr/StaffBaseInfoDTO.java @@ -0,0 +1,64 @@ +package com.cool.store.dto.ehr; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 员工详细信息数据接口 + */ +@NoArgsConstructor +@Data +public class StaffBaseInfoDTO { + + @ApiModelProperty("姓名") + private String name; + + @ApiModelProperty("工号") + private String staffNumber; + + @ApiModelProperty("身份证") + private String idCard; + + @ApiModelProperty("部门code") + private String departmentCode; + + @ApiModelProperty("部门名称") + private String departmentName; + + @ApiModelProperty("岗位Id") + private String jobId; + + @ApiModelProperty("岗位名称") + private String jobName; + + @ApiModelProperty("员工状态:0离职、1转正、2试用、3实习、4待离职、5临时工、6暑假工、7兼职工") + private Integer status; + + @ApiModelProperty("性别") + private String sex; + + @ApiModelProperty("生日") + private String birthday; + + @ApiModelProperty("身份证-人像面") + private String idNumPhoto; + + @ApiModelProperty("身份证-国徽面") + private String emblemPhoto; + + @ApiModelProperty("最高学历") + private String highestDegree; + + @ApiModelProperty("手机号(OA侧绑定的手机号)") + private String phone; + + @ApiModelProperty("入职日期") + private String entryDate; + + @ApiModelProperty("年龄") + private String age; + + @ApiModelProperty("健康证") + private String healthCertificate; +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/XfsgEhrService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/XfsgEhrService.java new file mode 100644 index 000000000..21ffcdb5d --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/XfsgEhrService.java @@ -0,0 +1,26 @@ +package com.cool.store.service; + +import com.cool.store.dto.ehr.FranchiseeInfoDTO; +import com.cool.store.dto.ehr.StaffBaseInfoDTO; + +/** + * @author wxp + */ +public interface XfsgEhrService { + + /** + * 员工详细信息数据接口 + * @param staffNumber + * @return + */ + StaffBaseInfoDTO getUserInfoByCode(String staffNumber); + + /** + * 根据加盟商编码查询加盟商 + * @param frId + * @return + */ + FranchiseeInfoDTO getFranchiseeInfoByFrId(String frId); + + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/XfsgEhrServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/XfsgEhrServiceImpl.java new file mode 100644 index 000000000..636067cf3 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/XfsgEhrServiceImpl.java @@ -0,0 +1,83 @@ +package com.cool.store.service.impl; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.cool.store.dto.ehr.FranchiseeInfoDTO; +import com.cool.store.dto.ehr.StaffBaseInfoDTO; +import com.cool.store.mq.util.HttpRestTemplateService; +import com.cool.store.service.XfsgEhrService; +import com.cool.store.utils.SecureUtil; +import com.cool.store.utils.poi.constant.Constants; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; + +/** + * describe: 鲜丰水果api + * @author wxp + * @date 2024/04/28 + */ +@Service +@Slf4j +public class XfsgEhrServiceImpl implements XfsgEhrService { + + @Value("${xfsg.url}") + private String xfsgUrl; + + @Resource + private HttpRestTemplateService httpRestTemplateService; + + @Override + public StaffBaseInfoDTO getUserInfoByCode(String staffNumber) { + Map requestMap = new HashMap<>(); + fillSignatureInfo(requestMap); + requestMap.put("staffNumber", staffNumber); + String url = xfsgUrl + Constants.GET_USER_INFO_BY_CODE; + JSONObject result = httpRestTemplateService.getForObject(url, JSONObject.class, requestMap); + Integer code = result.getInteger("code"); + if (code != 0) { + log.info("xfsg#getUserInfoByCode,staffNumber:{},请求失败", staffNumber); + return null; + } + JSONObject data = result.getJSONObject("data"); + if (data == null) { + log.info("xfsg#getUserInfoByCode,staffNumber:{},返回值data为空", staffNumber); + return null; + } + StaffBaseInfoDTO staffBaseInfoDTO = JSON.parseObject(data.toJSONString(), StaffBaseInfoDTO.class); + return staffBaseInfoDTO; + } + + @Override + public FranchiseeInfoDTO getFranchiseeInfoByFrId(String frId) { + Map requestMap = new HashMap<>(); + fillSignatureInfo(requestMap); + requestMap.put("frId", frId); + String url = xfsgUrl + Constants.GET_FRANCHISEE_INFO_BY_CODE; + JSONObject result = httpRestTemplateService.getForObject(url, JSONObject.class, requestMap); + Integer code = result.getInteger("code"); + if (code != 0) { + log.info("xfsg#getFranchiseeInfoByFrId,frId:{},请求失败", frId); + return null; + } + JSONObject data = result.getJSONObject("data"); + if (data == null) { + log.info("xfsg#getFranchiseeInfoByFrId,frId:{},返回值data为空", frId); + return null; + } + FranchiseeInfoDTO franchiseeInfoDTO = JSON.parseObject(data.toJSONString(), FranchiseeInfoDTO.class); + return franchiseeInfoDTO; + } + + private void fillSignatureInfo(Map requestMap) { + long timestamp = System.currentTimeMillis(); + String signature = SecureUtil.getSignature(timestamp); + requestMap.put("timestamp", timestamp); + requestMap.put("signature", signature); + } + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/constant/Constants.java b/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/constant/Constants.java index 11437a060..aa708f83c 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/constant/Constants.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/constant/Constants.java @@ -178,6 +178,12 @@ public class Constants public static final String FRANCHISE_AGREEMENT_PERSON = "/api/coolstore/start-flow/franchise-agreement-person"; + // 员工详细信息数据接口 + public static final String GET_USER_INFO_BY_CODE = "/api/kdz/get-user-info-by-code"; + // 加盟商信息数据接口 + public static final String GET_FRANCHISEE_INFO_BY_CODE = "/api/kdz/franchisee/get-info"; + + public static final Integer ZERO_INTEGER = 0; public static final Integer ONE_INTEGER = 1; diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/TrainingRegistController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/TrainingRegistController.java new file mode 100644 index 000000000..72297f63d --- /dev/null +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/TrainingRegistController.java @@ -0,0 +1,41 @@ +package com.cool.store.controller.webc; + +import com.cool.store.dto.ehr.FranchiseeInfoDTO; +import com.cool.store.dto.ehr.StaffBaseInfoDTO; +import com.cool.store.response.ResponseResult; +import com.cool.store.service.XfsgEhrService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * 培训登记 + */ +@RestController +@RequestMapping("/mini/trainingRegist") +@Api(tags = "移动端培训登记") +@Slf4j +public class TrainingRegistController { + + @Resource + XfsgEhrService xfsgEhrService; + + @ApiOperation("根据工号获取员工详细信息") + @GetMapping("/getUserInfoByCode") + public ResponseResult getUserInfoByCode(@RequestParam("staffNumber") String staffNumber) { + return ResponseResult.success(xfsgEhrService.getUserInfoByCode(staffNumber)); + } + + @ApiOperation("根据加盟商编码查询加盟商信息") + @GetMapping("/getFranchiseeInfoByFrId") + public ResponseResult getFranchiseeInfoByFrId(@RequestParam("frId") String frId) { + return ResponseResult.success(xfsgEhrService.getFranchiseeInfoByFrId(frId)); + } + +} From 66e1e216c966e74df1cc2d146f77bca36546a7a9 Mon Sep 17 00:00:00 2001 From: wangxiaopeng <807933401@qq.com> Date: Sun, 28 Apr 2024 20:15:02 +0800 Subject: [PATCH 4/8] xfsgurl --- .../src/main/resources/application-online.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coolstore-partner-web/src/main/resources/application-online.properties b/coolstore-partner-web/src/main/resources/application-online.properties index f7cc9e867..ffeea905a 100644 --- a/coolstore-partner-web/src/main/resources/application-online.properties +++ b/coolstore-partner-web/src/main/resources/application-online.properties @@ -79,7 +79,7 @@ xxl.job.accessToken=25365115eed84e9ba5e0040abb255a09 exhibition.channel.id=52399 recommended.channel.id=52400 -xfsg.url=https://inf-test.xianfengsg.com/InfService +xfsg.url=https://inf.xianfengsg.com/InfService aliyun.sms.accessKeyId=LTAI5tAVZ3r9UtSpLGcmGoQn aliyun.sms.accessKeySecret=WIMjO4BjVg3YAHwmplq86yOyS2HMpa From 757c5b43315686d247347028e0c4951c9f4ffe6d Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Sun, 28 Apr 2024 23:18:52 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E6=96=B0=E5=BA=97=E8=A3=85=E4=BF=AE?= =?UTF-8?q?=E9=98=B6=E6=AE=B51.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/enums/ConstructionPhaseEnum.java | 30 +++++ .../com/cool/store/enums/DesignPhaseEnum.java | 41 +++++++ .../com/cool/store/enums/ErrorCodeEnum.java | 2 + .../java/com/cool/store/dao/ShopInfoDAO.java | 4 +- .../com/cool/store/mapper/ShopInfoMapper.java | 1 + .../main/resources/mapper/ShopInfoMapper.xml | 6 + .../dto/decoration/DecorationModelDTO.java | 15 +++ .../store/dto/decoration/DesignRowsDTO.java | 16 +++ .../store/request/DecorationPayRequest.java | 32 ++++++ .../java/com/cool/store/vo/DesignInfoVo.java | 13 ++- .../com/cool/store/vo/log/DesignLogVo.java | 2 - .../cool/store/service/DecorationService.java | 24 +++- .../com/cool/store/service/YlfService.java | 3 +- .../service/impl/DecorationServiceImpl.java | 105 +++++++++++++++++- .../store/service/impl/YlfServiceImpl.java | 16 ++- .../webb/PCDecorationController.java | 38 +++++-- 16 files changed, 317 insertions(+), 31 deletions(-) create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/ConstructionPhaseEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/DesignPhaseEnum.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/DecorationModelDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/DesignRowsDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/DecorationPayRequest.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ConstructionPhaseEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ConstructionPhaseEnum.java new file mode 100644 index 000000000..a134f573d --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ConstructionPhaseEnum.java @@ -0,0 +1,30 @@ +package com.cool.store.enums; + +/** + * @Auther: WangShuo + * @Date: 2024/04/28/下午7:25 + * @Version 1.0 + * @注释: + */ +public enum ConstructionPhaseEnum { + NOT_SHOWN(-1,"不显示"), + NOT_START(0,"未开工"), + construction_ING(1,"施工中"), + construction_FINSH(2,"已完工"); + private Integer code; + + private String message; + + ConstructionPhaseEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/DesignPhaseEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/DesignPhaseEnum.java new file mode 100644 index 000000000..8fc5a2412 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/DesignPhaseEnum.java @@ -0,0 +1,41 @@ +package com.cool.store.enums; + +/** + * @Auther: WangShuo + * @Date: 2024/04/28/下午6:46 + * @Version 1.0 + * @注释: + */ + +public enum DesignPhaseEnum { + //设计阶段 + ACCEPTANCE_FAILED(0,"验收未通过"), + ACCEPTANCE_NOT_START(1, "未开始"), + ACCEPTANCE_DESIGNING(2, "设计中"), + ACCEPTED_NOT(3, "未验收"), + + AUDIT_WAIT(5,"待审批"), + AUDIT_FAIL(6,"审批驳回"), + AUDIT_ING(7,"审批中"), + AUDIT_DISCARD (8,"审批作废"), + AUDIT_PASS(9,"审批通过"), + ACCEPTANCE_FAIL(10,"审批验收未通过"), + ACCEPTANCE_PASS (11,"验收通过"); + + private Integer code; + + private String message; + + DesignPhaseEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} 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 507ad77e2..4e4e617f6 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 @@ -183,6 +183,8 @@ public enum ErrorCodeEnum { GET_FIRST_ORDER(103021,"获取鲜丰首批订货金失败",null), YLF_ERROR(110001, "云立方接口异常!", null), + + ; diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java index 9308fe962..6b36b3ed9 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java @@ -158,5 +158,7 @@ public class ShopInfoDAO { public List ListByCondition(PreparationRequest request){ return shopInfoMapper.ListByCondition(request); } - + public Long getRegionIdByShopCode(String shopCode){ + return shopInfoMapper.getRegionIdByShopCode(shopCode); + } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopInfoMapper.java index 89dcff08e..f656d9fe3 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopInfoMapper.java @@ -85,4 +85,5 @@ public interface ShopInfoMapper extends Mapper { List ListByCondition(@Param("request") PreparationRequest request); + Long getRegionIdByShopCode(@Param("shopCode") String shopCode); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml index 0d3a1b84d..21c0c72ab 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml @@ -149,6 +149,12 @@ + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/DecorationModelDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/DecorationModelDTO.java new file mode 100644 index 000000000..523e58d90 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/DecorationModelDTO.java @@ -0,0 +1,15 @@ +package com.cool.store.dto.decoration; + +import lombok.Data; + +/** + * @Auther: WangShuo + * @Date: 2024/04/28/下午9:33 + * @Version 1.0 + * @注释: + */ +@Data +public class DecorationModelDTO { + private String totalAmount; + private String payUrl; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/DesignRowsDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/DesignRowsDTO.java new file mode 100644 index 000000000..e0dc8bc67 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/DesignRowsDTO.java @@ -0,0 +1,16 @@ +package com.cool.store.dto.decoration; + +import lombok.Data; + +import java.util.List; + +/** + * @Auther: WangShuo + * @Date: 2024/04/28/下午8:41 + * @Version 1.0 + * @注释: + */ +@Data +public class DesignRowsDTO { + private List rows; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/DecorationPayRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/DecorationPayRequest.java new file mode 100644 index 000000000..6afe557ef --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/DecorationPayRequest.java @@ -0,0 +1,32 @@ +package com.cool.store.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @Auther: WangShuo + * @Date: 2024/04/28/下午9:58 + * @Version 1.0 + * @注释: + */ +@Data +public class DecorationPayRequest { + @ApiModelProperty("line_info.id") + private Long lineId; + @ApiModelProperty("店铺编码") + private String shopCode; + @ApiModelProperty("加盟商姓名") + private String name; + @ApiModelProperty("支付账户") + private String payAccount; + @ApiModelProperty("开户行code") + private String bankCode; + @ApiModelProperty("支行code") + private String branchBankCode; + @ApiModelProperty("缴纳时间") + private Date payTime; + @ApiModelProperty("付款截图") + private String payPic; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/DesignInfoVo.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/DesignInfoVo.java index 5ae14ea19..912791193 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/DesignInfoVo.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/DesignInfoVo.java @@ -1,5 +1,9 @@ package com.cool.store.vo; +import com.cool.store.dto.decoration.AttachmentsDTO; +import com.cool.store.dto.decoration.BudgetDTO; +import com.cool.store.dto.decoration.ConstructionScheduleDTO; +import com.cool.store.dto.decoration.DesignSchemeDTO; import com.cool.store.vo.log.DesignLogVo; import lombok.Data; @@ -14,9 +18,8 @@ import java.util.List; @Data public class DesignInfoVo { - private String name; - private Integer resultType; - private String planTime; - private List logs; - + private List designScheme; + private ConstructionScheduleDTO measuringRoom; + private ConstructionScheduleDTO ConstructionDrawings; + private BudgetDTO proposedBookBudget; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/log/DesignLogVo.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/log/DesignLogVo.java index 1c6d147bc..8f50a7d5f 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/log/DesignLogVo.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/log/DesignLogVo.java @@ -16,7 +16,5 @@ public class DesignLogVo { private String logTime; private String name; private String description; - private String planTime; - private String finishTime; private List attachmentUrl; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationService.java index 4b1c471a6..91c27f5fc 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationService.java @@ -1,6 +1,10 @@ package com.cool.store.service; +import com.cool.store.dto.decoration.ConstructionScheduleDTO; +import com.cool.store.dto.decoration.DecorationModelDTO; +import com.cool.store.request.DecorationPayRequest; import com.cool.store.vo.DesignInfoVo; +import com.cool.store.vo.PartnerUserInfoVO; import java.util.List; @@ -22,5 +26,23 @@ public interface DecorationService { * @Date: 2024/4/28 * @description:设计阶段信息 */ - List DesignInfo(String shopCode); + DesignInfoVo DesignInfo(String shopCode); + /** + * @Auther: wangshuo + * @Date: 2024/4/28 + * @description:获取装修款和支付二维码 + */ + DecorationModelDTO DecorationModel(String shopCode); + /** + * @Auther: wangshuo + * @Date: 2024/4/28 + * @description:提交装修款付款凭证 + */ + String submitDecorationModel(DecorationPayRequest decorationPayRequest, PartnerUserInfoVO partnerUserInfoVO); + /** + * @Auther: wangshuo + * @Date: 2024/4/28 + * @description:施工阶段 + */ + List getConstruction(String shopCode); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/YlfService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/YlfService.java index 40709ee53..680fd1de1 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/YlfService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/YlfService.java @@ -1,6 +1,7 @@ package com.cool.store.service; import com.cool.store.dto.decoration.DecorationDTO; +import com.cool.store.dto.decoration.ProjectDTO; /** * @Author suzhuhong @@ -18,6 +19,6 @@ public interface YlfService { * @Date: 2024/4/25 * @description:项目列表 */ - String getProjectList(String shopCode); + ProjectDTO getProjectList(String shopCode); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java index bf02accce..b3b7b9704 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java @@ -1,16 +1,30 @@ package com.cool.store.service.impl; +import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSONObject; -import com.cool.store.dto.decoration.DecorationDTO; +import com.cool.store.context.PartnerUserHolder; +import com.cool.store.dao.LinePayDAO; +import com.cool.store.dao.RegionQrcodeConfigDao; +import com.cool.store.dao.ShopInfoDAO; +import com.cool.store.dto.decoration.*; +import com.cool.store.entity.LinePayDO; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.exception.ServiceException; +import com.cool.store.request.DecorationPayRequest; import com.cool.store.service.DecorationService; import com.cool.store.service.YlfService; +import com.cool.store.utils.poi.StringUtils; import com.cool.store.vo.DesignInfoVo; +import com.cool.store.vo.PartnerUserInfoVO; +import com.cool.store.vo.log.DesignLogVo; import org.apache.poi.ss.formula.functions.T; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.Collections; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** @@ -22,17 +36,96 @@ import java.util.List; @Service public class DecorationServiceImpl implements DecorationService { + private static final Logger log = LoggerFactory.getLogger(DecorationServiceImpl.class); @Resource private YlfService ylfService; + @Resource + private RegionQrcodeConfigDao regionQrcodeConfigDao; + @Resource + private ShopInfoDAO shopInfoDAO; + @Resource + private LinePayDAO linePayDAO; + private static String MEASURING_THE_ROOM = "量房"; + private static String CONSTRUCTION_DRAWING = "施工图+预算"; @Override public List decorations() { return Collections.emptyList(); } @Override - public List DesignInfo(String shopCode) { - String projectId = ylfService.getProjectList(shopCode); + public DesignInfoVo DesignInfo(String shopCode) { + ProjectDTO projectList = ylfService.getProjectList(shopCode); + String projectId = projectList.getProjectId(); + DecorationDTO decoration = ylfService.getDecoration(Long.parseLong(projectId)); + List designScheme = decoration.getDesignScheme(); - return Collections.emptyList(); + List constructionSchedule = decoration.getConstructionSchedule(); + Map constructionScheduleMap = constructionSchedule.stream().collect(Collectors.toMap(ConstructionScheduleDTO::getName, + dto -> dto)); + //量房 + ConstructionScheduleDTO measuringRoom = constructionScheduleMap.get(MEASURING_THE_ROOM); + //施工图 + ConstructionScheduleDTO ConstructionDrawings = constructionScheduleMap.get(CONSTRUCTION_DRAWING); + //预算 + List proposedBookBudget = decoration.getProposedBookBudget(); + Collections.sort(decoration.getProposedBookBudget(),(x1,x2)->x2.getId().compareTo(x1.getId())); + + DesignInfoVo designInfoVo = new DesignInfoVo(); + designInfoVo.setMeasuringRoom(measuringRoom); + designInfoVo.setConstructionDrawings(ConstructionDrawings); + designInfoVo.setDesignScheme(designScheme); + designInfoVo.setProposedBookBudget(proposedBookBudget.get(0)); + return designInfoVo; + } + + @Override + public DecorationModelDTO DecorationModel(String shopCode) { + if (StringUtils.isEmpty(shopCode)){ + log.error("DecorationModel shopCode is null"); + throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR); + } + ProjectDTO projectList = ylfService.getProjectList(shopCode); + String projectId = projectList.getProjectId(); + DecorationDTO decoration = ylfService.getDecoration(Long.parseLong(projectId)); + //TODO 验证 + //预算 + List proposedBookBudget = decoration.getProposedBookBudget(); + Collections.sort(decoration.getProposedBookBudget(),(x1,x2)->x2.getId().compareTo(x1.getId())); + String totalAmount = proposedBookBudget.get(0).getTotalAmount(); + //支付二维码url + Long regionId = shopInfoDAO.getRegionIdByShopCode(shopCode); + String payPic = regionQrcodeConfigDao.getPayPicByRegionId(regionId); + DecorationModelDTO decorationModelDTO = new DecorationModelDTO(); + decorationModelDTO.setPayUrl(payPic); + decorationModelDTO.setTotalAmount(totalAmount); + return decorationModelDTO; + } + + @Override + public String submitDecorationModel(DecorationPayRequest decorationPayRequest, PartnerUserInfoVO partnerUserInfoVO) { + LinePayDO linePayDO =new LinePayDO(); + BeanUtil.copyProperties(decorationPayRequest, linePayDO); + linePayDO.setCreateTime(new Date()); + linePayDO.setUpdateTime(new Date()); + linePayDO.setLineId(partnerUserInfoVO.getLineId()); + linePayDO.setCreateUserId(partnerUserInfoVO.getUsername()); + linePayDO.setUpdateUserId(partnerUserInfoVO.getUsername()); + linePayDO.setPayBusinessType(2); + linePayDO.setPayType(2); + return ""; + } + + @Override + public List getConstruction(String shopCode) { + ProjectDTO projectList = ylfService.getProjectList(shopCode); + String projectId = projectList.getProjectId(); + DecorationDTO decoration = ylfService.getDecoration(Long.parseLong(projectId)); + List constructionSchedule = decoration.getConstructionSchedule(); + Map constructionScheduleMap = constructionSchedule.stream().collect(Collectors.toMap(ConstructionScheduleDTO::getName, + dto -> dto)); + constructionScheduleMap.remove(MEASURING_THE_ROOM); + constructionScheduleMap.remove(CONSTRUCTION_DRAWING); + List collect = constructionScheduleMap.values().stream().collect(Collectors.toList()); + return collect; } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/YlfServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/YlfServiceImpl.java index b1fa41581..0134f50d0 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/YlfServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/YlfServiceImpl.java @@ -2,6 +2,7 @@ package com.cool.store.service.impl; import com.alibaba.fastjson.JSONObject; import com.cool.store.dto.decoration.DecorationDTO; +import com.cool.store.dto.decoration.DesignRowsDTO; import com.cool.store.dto.decoration.ProjectDTO; import com.cool.store.dto.decoration.RowsDTO; import com.cool.store.enums.ErrorCodeEnum; @@ -59,7 +60,7 @@ public class YlfServiceImpl implements YlfService { } @Override - public String getProjectList(String shopCode) { + public ProjectDTO getProjectList(String shopCode) { log.info("getProjectList param:{}", shopCode); if (Objects.isNull(shopCode)) { throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR); @@ -69,14 +70,17 @@ public class YlfServiceImpl implements YlfService { try { String jsonString = httpRestTemplateService.getForObject(url, String.class, new HashMap<>()); JSONObject jsonObject = JSONObject.parseObject(jsonString); + Object data = JSONObject.parseObject(jsonString, JSONObject.class).get("data"); log.info("CoolStoreStartFlowServiceImpl#getOrder,jsonObject:{}", jsonObject); if (jsonObject.get("status").equals(Constants.SUCCESS)) { - if (jsonObject.get("data").toString() == null) { + if (Objects.isNull(data)) { return null; } - List projectDTOS = (List) ((JSONObject) JSONObject.parseObject(jsonString, JSONObject.class).get("data")).get("rows"); - - return ((ProjectDTO)projectDTOS.get(0)).getProjectId(); + DesignRowsDTO designRowsDTO = JSONObject.parseObject(JSONObject.toJSONString(data), DesignRowsDTO.class); + List rows = designRowsDTO.getRows(); + if (CollectionUtils.isNotEmpty(rows)) { + return rows.get(0); + } } else { log.info("获取云立方装修公司信息失败,shopCode:{}", shopCode); throw new ServiceException(ErrorCodeEnum.YLF_ERROR); @@ -87,7 +91,7 @@ public class YlfServiceImpl implements YlfService { throw new ServiceException(ErrorCodeEnum.XFSG_SERVICE_ERROR); } - } + return null;} } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCDecorationController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCDecorationController.java index a362ddbd0..1e5a98ac5 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCDecorationController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCDecorationController.java @@ -1,15 +1,23 @@ package com.cool.store.controller.webb; +import com.alibaba.fastjson.JSONObject; +import com.cool.store.context.PartnerUserHolder; +import com.cool.store.dto.decoration.ConstructionScheduleDTO; +import com.cool.store.dto.decoration.DecorationDTO; +import com.cool.store.dto.decoration.DecorationModelDTO; +import com.cool.store.request.DecorationPayRequest; import com.cool.store.response.ResponseResult; import com.cool.store.service.CoolStoreStartFlowService; +import com.cool.store.service.DecorationService; import com.cool.store.service.YlfService; +import com.cool.store.vo.DesignInfoVo; +import com.cool.store.vo.PartnerUserInfoVO; import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; /** * @Auther: WangShuo @@ -23,11 +31,23 @@ import javax.annotation.Resource; @Slf4j public class PCDecorationController { @Resource - private YlfService ylfService; - @GetMapping("/get") - private ResponseResult get(){ - String shopCode = "31310383"; - return new ResponseResult<>(200,ylfService.getProjectList(shopCode)) ; - + private DecorationService decorationService; + @GetMapping("/design") + public ResponseResult get(@RequestParam String shopCode){ + return ResponseResult.success( decorationService.DesignInfo(shopCode)) ; + } + @GetMapping("/getDecorationModel") + public ResponseResult getDecorationModel(@RequestParam String shopCode){ + return ResponseResult.success(decorationService.DecorationModel(shopCode)) ; + } + @PostMapping("/submitDecorationModel") + public ResponseResult submitDecorationModel(@RequestBody DecorationPayRequest DecorationPayRequest){ + PartnerUserInfoVO user = PartnerUserHolder.getUser(); + decorationService.submitDecorationModel(DecorationPayRequest, user); + return ResponseResult.success(); + } + @GetMapping("/getConstruction") + public ResponseResult> getConstruction(@RequestParam String shopCode){ + return ResponseResult.success(decorationService.getConstruction(shopCode)) ; } } From ef78ee75a99f568d1d7fa1827baf24c87727905b Mon Sep 17 00:00:00 2001 From: guohb Date: Mon, 29 Apr 2024 10:58:05 +0800 Subject: [PATCH 6/8] =?UTF-8?q?feat:=E5=8A=A0=E7=9B=9F=E5=90=88=E5=90=8C?= =?UTF-8?q?=E7=AD=BE=E7=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/enums/AuditEnum.java | 1 + .../com/cool/store/enums/SignTypeEnum.java | 63 +++++ .../store/mapper/SignFranchiseMapper.java | 8 + .../resources/mapper/SignFranchiseMapper.xml | 4 + .../com/cool/store/entity/FranchiseFeeDO.java | 18 +- .../cool/store/entity/LicenseTransactDO.java | 6 + .../cool/store/entity/SignFranchiseDO.java | 53 ++++ .../request/AddSignFranchiseRequest.java | 79 ++++++ .../request/FranchiseAgreementRequest.java | 94 ++++--- .../store/request/FranchiseFeeRequest.java | 26 +- .../store/request/SubmitLicenseRequest.java | 2 +- .../store/response/FranchiseFeeResponse.java | 46 ++-- .../store/service/SignFranchiseService.java | 13 + .../impl/SignFranchiseServiceImpl.java | 257 ++++++++++++++++++ .../webb/PCApplyLicenseController.java | 2 +- .../webb/PCSignFranchiseController.java | 30 ++ 16 files changed, 605 insertions(+), 97 deletions(-) create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/SignTypeEnum.java create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/mapper/SignFranchiseMapper.java create mode 100644 coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java create mode 100644 coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCSignFranchiseController.java 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); + } +} From 7bd55c95924df292ae6444fef11d75b5891a795e Mon Sep 17 00:00:00 2001 From: guohb Date: Mon, 29 Apr 2024 11:20:30 +0800 Subject: [PATCH 7/8] =?UTF-8?q?fix:=E7=BC=B4=E8=B4=B9=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/mapper/FranchiseFeeMapper.java | 1 - .../java/com/cool/store/response/FranchiseFeeResponse.java | 4 ++++ .../cool/store/service/impl/FranchiseFeeServiceImpl.java | 7 +++++++ .../store/controller/webb/PCFranchiseFeeController.java | 3 +++ .../com/cool/store/controller/webc/LinePayController.java | 2 +- 5 files changed, 15 insertions(+), 2 deletions(-) diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/FranchiseFeeMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/FranchiseFeeMapper.java index e1f2ea8cd..750e0ae6c 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/FranchiseFeeMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/FranchiseFeeMapper.java @@ -1,6 +1,5 @@ package com.cool.store.mapper; -import com.cool.store.entity.FirstOrderDO; import com.cool.store.entity.FranchiseFeeDO; import tk.mybatis.mapper.common.Mapper; 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 3cf1e79d7..af0a15fa5 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,6 +1,7 @@ package com.cool.store.response; import com.cool.store.entity.FranchiseFeeDO; +import com.cool.store.entity.LinePayDO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -41,6 +42,9 @@ public class FranchiseFeeResponse { private Date createTime; private Date updateTime; + private LinePayDO linePayDO; + + public static FranchiseFeeResponse from(FranchiseFeeDO franchiseFeeDO) { if (franchiseFeeDO == null) { 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 e4919eaf4..d7dd0d829 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 @@ -2,7 +2,9 @@ package com.cool.store.service.impl; import com.alibaba.fastjson.JSONObject; import com.cool.store.entity.FranchiseFeeDO; +import com.cool.store.entity.LinePayDO; import com.cool.store.mapper.FranchiseFeeMapper; +import com.cool.store.mapper.LinePayMapper; import com.cool.store.request.FranchiseFeeRequest; import com.cool.store.response.FranchiseFeeResponse; import com.cool.store.service.FranchiseFeeService; @@ -18,6 +20,9 @@ public class FranchiseFeeServiceImpl implements FranchiseFeeService { @Resource FranchiseFeeMapper franchiseFeeMapper; + @Resource + LinePayMapper linePayMapper; + @Override public Boolean submitLicense(FranchiseFeeRequest request) { log.info("submitLicense request:{}", JSONObject.toJSONString(request)); @@ -31,7 +36,9 @@ public class FranchiseFeeServiceImpl implements FranchiseFeeService { FranchiseFeeDO franchiseFeeDO = new FranchiseFeeDO(); franchiseFeeDO.setShopId(shopId); FranchiseFeeDO result = franchiseFeeMapper.selectOneByExample(franchiseFeeDO); + LinePayDO linePayDO = linePayMapper.selectByPrimaryKey(result.getPayId()); FranchiseFeeResponse resp = FranchiseFeeResponse.from(result); + resp.setLinePayDO(linePayDO); return resp; } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCFranchiseFeeController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCFranchiseFeeController.java index c39ea8f9b..febdc7df7 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCFranchiseFeeController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCFranchiseFeeController.java @@ -10,6 +10,8 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; + @RestController @RequestMapping("/pc/franchiseFee") @Api(tags = "PC加盟费/保证金") @@ -17,6 +19,7 @@ import org.springframework.web.bind.annotation.*; public class PCFranchiseFeeController { + @Resource FranchiseFeeService franchiseFeeService; @ApiOperation("基本信息提交") diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/LinePayController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/LinePayController.java index c85d3f3aa..39a71e927 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/LinePayController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/LinePayController.java @@ -38,7 +38,7 @@ public class LinePayController { return ResponseResult.success(linePayService.getLinePayInfo(lineId)); } - @ApiOperation("缴纳意向金") + @ApiOperation("缴纳意向金/加盟费") @PostMapping("/submitPayInfo") public ResponseResult submitPayInfo(@RequestBody LinePaySubmitRequest request){ PartnerUserInfoVO partnerUser = PartnerUserHolder.getUser(); From 3b888eef4057fb1c714dbe6ad544b607c86c6988 Mon Sep 17 00:00:00 2001 From: guohb Date: Mon, 29 Apr 2024 11:39:29 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E7=AD=BE=E7=BA=A6=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../request/AuditFranchiseFeeRequest.java | 16 +++++++ .../store/service/FranchiseFeeService.java | 3 ++ .../service/impl/FranchiseFeeServiceImpl.java | 43 ++++++++++++++++++- .../webb/PCFranchiseFeeController.java | 9 ++++ 4 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/AuditFranchiseFeeRequest.java diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/AuditFranchiseFeeRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/AuditFranchiseFeeRequest.java new file mode 100644 index 000000000..8012753db --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/AuditFranchiseFeeRequest.java @@ -0,0 +1,16 @@ +package com.cool.store.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AuditFranchiseFeeRequest { + @ApiModelProperty("原因") + private String result; + + @ApiModelProperty("0通过 1不通过") + private Integer status; + + @ApiModelProperty("shopId") + private Long shopId; +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/FranchiseFeeService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/FranchiseFeeService.java index 7e24064c9..b40d6a7ac 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/FranchiseFeeService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/FranchiseFeeService.java @@ -1,5 +1,6 @@ package com.cool.store.service; +import com.cool.store.request.AuditFranchiseFeeRequest; import com.cool.store.request.FranchiseFeeRequest; import com.cool.store.response.FranchiseFeeResponse; @@ -17,4 +18,6 @@ public interface FranchiseFeeService { * @return */ FranchiseFeeResponse getDetail(Long shopId); + + Boolean auditFranchiseFee(AuditFranchiseFeeRequest request); } 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 d7dd0d829..1f95666f0 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 @@ -1,15 +1,25 @@ package com.cool.store.service.impl; 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.FranchiseFeeDO; import com.cool.store.entity.LinePayDO; +import com.cool.store.entity.ShopAuditInfoDO; +import com.cool.store.enums.AuditTypeEnum; +import com.cool.store.enums.point.ShopSubStageStatusEnum; import com.cool.store.mapper.FranchiseFeeMapper; import com.cool.store.mapper.LinePayMapper; +import com.cool.store.mapper.ShopAuditInfoMapper; +import com.cool.store.request.AuditFranchiseFeeRequest; import com.cool.store.request.FranchiseFeeRequest; import com.cool.store.response.FranchiseFeeResponse; import com.cool.store.service.FranchiseFeeService; +import com.cool.store.utils.poi.constant.Constants; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; @@ -23,12 +33,19 @@ public class FranchiseFeeServiceImpl implements FranchiseFeeService { @Resource LinePayMapper linePayMapper; + @Resource + ShopAuditInfoMapper shopAuditInfoMapper; + + @Resource + ShopStageInfoDAO shopStageInfoDAO; + @Override + @Transactional(rollbackFor = Exception.class) public Boolean submitLicense(FranchiseFeeRequest request) { log.info("submitLicense request:{}", JSONObject.toJSONString(request)); FranchiseFeeDO franchiseFeeDO = request.toFranchiseFeeDO(); - franchiseFeeMapper.insertSelective(franchiseFeeDO); - return null; + shopStageInfoDAO.updateShopStageInfo(request.getShopId(),ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_72); + return franchiseFeeMapper.insertSelective(franchiseFeeDO) == 1 ? true:false; } @Override @@ -41,4 +58,26 @@ public class FranchiseFeeServiceImpl implements FranchiseFeeService { resp.setLinePayDO(linePayDO); return resp; } + + @Override + public Boolean auditFranchiseFee(AuditFranchiseFeeRequest request) { + ShopAuditInfoDO shopAuditInfoDO = new ShopAuditInfoDO(); + shopAuditInfoDO.setShopId(request.getShopId()); + ShopSubStageStatusEnum shopSubStageStatusEnum = null; + shopAuditInfoDO.setAuditType(AuditTypeEnum.LICENSE_APPROVAL.getCode()); + LoginUserInfo user = CurrentUserHolder.getUser(); + shopAuditInfoDO.setSubmittedUserId(user.getUserId()); + shopAuditInfoDO.setSubmittedUserName(user.getName()); + shopAuditInfoDO.setDataType(1); + shopAuditInfoDO.setResultType(request.getStatus()); + if (request.getStatus() == Constants.ZERO_INTEGER){ + shopAuditInfoDO.setPassReason(request.getResult()); + shopSubStageStatusEnum = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_73; + }else if (request.getStatus() == Constants.ONE_INTEGER){ + shopAuditInfoDO.setRejectReason(request.getResult()); + shopSubStageStatusEnum = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_74; + } + shopStageInfoDAO.updateShopStageInfo(request.getShopId(),shopSubStageStatusEnum); + return shopAuditInfoMapper.insertSelective(shopAuditInfoDO) == 1 ? true : false; + } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCFranchiseFeeController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCFranchiseFeeController.java index febdc7df7..56d90374f 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCFranchiseFeeController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCFranchiseFeeController.java @@ -1,5 +1,6 @@ package com.cool.store.controller.webb; +import com.cool.store.request.AuditFranchiseFeeRequest; import com.cool.store.request.FranchiseFeeRequest; import com.cool.store.request.SubmitLicenseRequest; import com.cool.store.response.FranchiseFeeResponse; @@ -33,4 +34,12 @@ public class PCFranchiseFeeController { public ResponseResult getDetail(@RequestParam("shopId") Long shopId) { return ResponseResult.success(franchiseFeeService.getDetail(shopId)); } + + + @ApiOperation("缴纳加盟费/保证金审核接口") + @PostMapping("/audit") + public ResponseResult auditFranchiseFee(@RequestBody AuditFranchiseFeeRequest request) { + return ResponseResult.success(franchiseFeeService.auditFranchiseFee(request)); + } + }