From 0892edc6431972f53353424453c9b823ad3fd453 Mon Sep 17 00:00:00 2001 From: wxp01309236 Date: Thu, 15 Jun 2023 11:07:20 +0800 Subject: [PATCH 01/17] =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-ab.properties | 5 +++++ .../src/main/resources/application-dev.properties | 5 +++++ .../src/main/resources/application-hd.properties | 7 ++++++- .../src/main/resources/application-local.properties | 5 +++++ .../src/main/resources/application-online.properties | 7 ++++++- .../src/main/resources/application-pre.properties | 7 ++++++- .../src/main/resources/application-test.properties | 7 ++++++- 7 files changed, 39 insertions(+), 4 deletions(-) diff --git a/coolstore-partner-webb/src/main/resources/application-ab.properties b/coolstore-partner-webb/src/main/resources/application-ab.properties index a03cc5c07..00252356c 100644 --- a/coolstore-partner-webb/src/main/resources/application-ab.properties +++ b/coolstore-partner-webb/src/main/resources/application-ab.properties @@ -56,6 +56,11 @@ cdn.url=https://testhsaypic.coolstore.cn trtc.sdkAppId=1400811820 trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219 +weixin.appId=wx6f984e535e571818 +weixin.appSecret=245a483747e6e9f8762d3e8539cf0318 + +signKey=77fea013c3a6459685b83c21a2fc3411 + #xxljob配置 xxl.job.admin.addresses = http://10.7.53.224:10001/xxl-job-admin xxl.job.executor.appname = ${spring.application.name} diff --git a/coolstore-partner-webb/src/main/resources/application-dev.properties b/coolstore-partner-webb/src/main/resources/application-dev.properties index 14ecbbb60..03b7ea307 100644 --- a/coolstore-partner-webb/src/main/resources/application-dev.properties +++ b/coolstore-partner-webb/src/main/resources/application-dev.properties @@ -53,6 +53,11 @@ corp.id = 171cddee76471740 trtc.sdkAppId=1400811820 trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219 +weixin.appId=wx6f984e535e571818 +weixin.appSecret=245a483747e6e9f8762d3e8539cf0318 + +signKey=77fea013c3a6459685b83c21a2fc3411 + #xxljob配置 xxl.job.admin.addresses = https://djob.coolstore.cn/xxl-job-admin xxl.job.executor.appname = ${spring.application.name} diff --git a/coolstore-partner-webb/src/main/resources/application-hd.properties b/coolstore-partner-webb/src/main/resources/application-hd.properties index 4151b74e7..0ca8ebeba 100644 --- a/coolstore-partner-webb/src/main/resources/application-hd.properties +++ b/coolstore-partner-webb/src/main/resources/application-hd.properties @@ -51,4 +51,9 @@ corp.id = 171cddee76471740 #TRTC trtc.sdkAppId=1400811820 -trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219 \ No newline at end of file +trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219 + +weixin.appId=wx6f984e535e571818 +weixin.appSecret=245a483747e6e9f8762d3e8539cf0318 + +signKey=d851f2a9ac90474abecdc2fbb148d4d7 \ No newline at end of file diff --git a/coolstore-partner-webb/src/main/resources/application-local.properties b/coolstore-partner-webb/src/main/resources/application-local.properties index e049a073d..33d502d30 100644 --- a/coolstore-partner-webb/src/main/resources/application-local.properties +++ b/coolstore-partner-webb/src/main/resources/application-local.properties @@ -59,6 +59,11 @@ cdn.url=https://testhsaypic.coolstore.cn trtc.sdkAppId=1400811820 trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219 +weixin.appId=wx6f984e535e571818 +weixin.appSecret=245a483747e6e9f8762d3e8539cf0318 + +signKey=77fea013c3a6459685b83c21a2fc3411 + xxl.job.admin.addresses = xxl.job.executor.appname = ${spring.application.name} xxl.job.executor.ip = diff --git a/coolstore-partner-webb/src/main/resources/application-online.properties b/coolstore-partner-webb/src/main/resources/application-online.properties index 0da916d40..b055f644a 100644 --- a/coolstore-partner-webb/src/main/resources/application-online.properties +++ b/coolstore-partner-webb/src/main/resources/application-online.properties @@ -51,4 +51,9 @@ corp.id = 171cddee76471740 #TRTC trtc.sdkAppId=1400811820 -trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219 \ No newline at end of file +trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219 + +weixin.appId=wx6f984e535e571818 +weixin.appSecret=245a483747e6e9f8762d3e8539cf0318 + +signKey=d851f2a9ac90474abecdc2fbb148d4d7 \ No newline at end of file diff --git a/coolstore-partner-webb/src/main/resources/application-pre.properties b/coolstore-partner-webb/src/main/resources/application-pre.properties index 0da916d40..b055f644a 100644 --- a/coolstore-partner-webb/src/main/resources/application-pre.properties +++ b/coolstore-partner-webb/src/main/resources/application-pre.properties @@ -51,4 +51,9 @@ corp.id = 171cddee76471740 #TRTC trtc.sdkAppId=1400811820 -trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219 \ No newline at end of file +trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219 + +weixin.appId=wx6f984e535e571818 +weixin.appSecret=245a483747e6e9f8762d3e8539cf0318 + +signKey=d851f2a9ac90474abecdc2fbb148d4d7 \ No newline at end of file diff --git a/coolstore-partner-webb/src/main/resources/application-test.properties b/coolstore-partner-webb/src/main/resources/application-test.properties index 6439240e0..d06b97aa7 100644 --- a/coolstore-partner-webb/src/main/resources/application-test.properties +++ b/coolstore-partner-webb/src/main/resources/application-test.properties @@ -51,4 +51,9 @@ corp.id = 171cddee76471740 #TRTC trtc.sdkAppId=1400811820 -trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219 \ No newline at end of file +trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219 + +weixin.appId=wx6f984e535e571818 +weixin.appSecret=245a483747e6e9f8762d3e8539cf0318 + +signKey=77fea013c3a6459685b83c21a2fc3411 \ No newline at end of file From e93452e50f5958a0f7ff5aedd7843a5a1152ab43 Mon Sep 17 00:00:00 2001 From: wxp01309236 Date: Thu, 15 Jun 2023 11:14:17 +0800 Subject: [PATCH 02/17] patternList --- .../src/main/java/com/cool/store/config/SignValidateFilter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java b/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java index 0bcd75cb9..a9975ff24 100644 --- a/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java +++ b/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java @@ -46,7 +46,7 @@ public class SignValidateFilter implements Filter { private static List patternList = Lists.newArrayList("/web/check/ok","/check/ok", - "/partner/pc/doc.html","/partner/pc/v2/api-docs","/**/test/**","/partner/pc/feiShuLogin","/partner/pc/oss/getUploadFileConfig", + "/partner/mini/program/doc.html","/partner/pc/v2/api-docs","/**/test/**","/partner/pc/feiShuLogin","/partner/pc/oss/getUploadFileConfig", "/**/swagger*/**", "/**/webjars/**"); From d14ef08ef35c83518c63a502c4cf4cf917f2026a Mon Sep 17 00:00:00 2001 From: wxp01309236 Date: Thu, 15 Jun 2023 11:18:23 +0800 Subject: [PATCH 03/17] isInWhiteList --- .../cool/store/config/SignValidateFilter.java | 36 +++++++++---------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java b/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java index a9975ff24..56dfb370b 100644 --- a/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java +++ b/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java @@ -79,27 +79,25 @@ public class SignValidateFilter implements Filter { String method = request.getMethod(); String userStr = ""; boolean isInWhiteList = excludePath(uri); - - Map parameterMap = request.getParameterMap(); - String jsonStr = JSONObject.toJSONString(parameterMap); - JSONObject obj = JSONObject.parseObject(jsonStr); - log.info("params:{}", obj.toJSONString()); - String params = obj.toJSONString(); - String sign = request.getHeader("SIGN"); - String nonce = request.getHeader("NONCE"); - String timestamp = request.getHeader("TIMESTAMP"); - String aesPhone = request.getHeader("PHONE"); - String openid = request.getHeader("OPENID"); - String phone = AesUtil.decrypt(aesPhone, signKey); - String md5Value = phone + Md5Utils.md5(Md5Utils.md5(openid)); - log.info("sign:{}, nonce:{}, timestamp:{},aesPhone:{}, openid:{}, 解密后的手机号:{}, md5Value:{}", - sign, nonce, timestamp, aesPhone, openid, phone, md5Value); - String signStr = timestamp + nonce + params + signKey + md5Value; - String newSign = Sha1Utils.getSha1(signStr.getBytes()); - log.info("newSign: {}", newSign); - log.info("url:{}", uri); if ( !isInWhiteList && !method.equals("OPTIONS")) { + Map parameterMap = request.getParameterMap(); + String jsonStr = JSONObject.toJSONString(parameterMap); + JSONObject obj = JSONObject.parseObject(jsonStr); + log.info("params:{}", obj.toJSONString()); + String params = obj.toJSONString(); + String sign = request.getHeader("SIGN"); + String nonce = request.getHeader("NONCE"); + String timestamp = request.getHeader("TIMESTAMP"); + String aesPhone = request.getHeader("PHONE"); + String openid = request.getHeader("OPENID"); + String phone = AesUtil.decrypt(aesPhone, signKey); + String md5Value = phone + Md5Utils.md5(Md5Utils.md5(openid)); + log.info("sign:{}, nonce:{}, timestamp:{},aesPhone:{}, openid:{}, 解密后的手机号:{}, md5Value:{}", + sign, nonce, timestamp, aesPhone, openid, phone, md5Value); + String signStr = timestamp + nonce + params + signKey + md5Value; + String newSign = Sha1Utils.getSha1(signStr.getBytes()); + log.info("newSign: {}", newSign); // 前后端验签不等 if (!newSign.equals(sign)) { response.setStatus(HttpStatus.OK.value()); From 299a23b0bed9de3f7239a4cb09be2761d688694a Mon Sep 17 00:00:00 2001 From: wxp01309236 Date: Thu, 15 Jun 2023 11:20:51 +0800 Subject: [PATCH 04/17] patternList --- .../src/main/java/com/cool/store/config/SignValidateFilter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java b/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java index 56dfb370b..46b913743 100644 --- a/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java +++ b/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java @@ -46,7 +46,7 @@ public class SignValidateFilter implements Filter { private static List patternList = Lists.newArrayList("/web/check/ok","/check/ok", - "/partner/mini/program/doc.html","/partner/pc/v2/api-docs","/**/test/**","/partner/pc/feiShuLogin","/partner/pc/oss/getUploadFileConfig", + "/partner/mini/program/doc.html","/partner/mini/program/v2/api-docs","/**/test/**","/partner/pc/feiShuLogin","/partner/pc/oss/getUploadFileConfig", "/**/swagger*/**", "/**/webjars/**"); From 4356655dfd3b2493f80301ee6cfebef6a6500462 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Thu, 15 Jun 2023 11:36:51 +0800 Subject: [PATCH 05/17] =?UTF-8?q?=E5=BA=97=E5=91=98+=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E7=A0=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/enums/WorkflowStageEnum.java | 4 +- .../cool/store/enums/WorkflowStatusEnum.java | 15 ++-- .../com/cool/store/dao/HyPartnerClerkDAO.java | 34 +++++++++ .../store/mapper/HyPartnerClerkMapper.java | 5 ++ .../resources/mapper/HyPartnerClerkMapper.xml | 7 ++ .../store/service/HyPartnerClerkService.java | 25 +++++++ .../cool/store/service/OpenAreaService.java | 9 +++ .../service/impl/HyPartnerClerkImpl.java | 41 ++++++++++ .../impl/HyPartnerIntentInfoServiceImpl.java | 2 +- .../HyPartnerInterviewPlanServiceImpl.java | 4 +- .../service/impl/OpenAreaServiceImpl.java | 53 ++++++++++++- .../store/controller/ClerkController.java | 41 ++++++++++ .../cool/store/controller/DeskController.java | 74 +++---------------- .../store/controller/OpenAreaController.java | 67 +++++++++++++++++ .../store/controller/OpenAreaController.java | 2 +- 15 files changed, 302 insertions(+), 81 deletions(-) create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerClerkDAO.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerClerkService.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkImpl.java create mode 100644 coolstore-partner-webb/src/main/java/com/cool/store/controller/ClerkController.java create mode 100644 coolstore-partner-webb/src/main/java/com/cool/store/controller/OpenAreaController.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/WorkflowStageEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/WorkflowStageEnum.java index 79217d723..d21df697f 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/WorkflowStageEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/WorkflowStageEnum.java @@ -30,8 +30,8 @@ public enum WorkflowStageEnum { public static final HashMap getWorkflowStageMap(){ HashMap result = new HashMap<>(); result.put(INTENT.getCode(),WorkflowStatusEnum.INTENT_3.getCode()); - result.put(RESERVATION.getCode(),WorkflowStatusEnum.RESERVATION_6.getCode()); - result.put(INTERVIEW.getCode(),WorkflowStatusEnum.INTERVIEW_6.getCode()); + result.put(RESERVATION.getCode(),WorkflowStatusEnum.RESERVATION_7.getCode()); + result.put(INTERVIEW.getCode(),WorkflowStatusEnum.INTERVIEW_7.getCode()); return result; } diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/WorkflowStatusEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/WorkflowStatusEnum.java index e83971fdf..19979dd45 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/WorkflowStatusEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/WorkflowStatusEnum.java @@ -14,16 +14,17 @@ public enum WorkflowStatusEnum { //预约面试阶段 RESERVATION_0("0","待预约"), - RESERVATION_6("6","到期未预约"), + RESERVATION_1("1","待审核"), + RESERVATION_7("7","到期未预约"), //合格资格面试 - INTERVIEW_1("1","待面试"), - INTERVIEW_2("2","已开始"), - INTERVIEW_3("3","待审核"), - INTERVIEW_4("4","审核中"), - INTERVIEW_5("5","审核通过"), - INTERVIEW_6("6","拒绝"), + INTERVIEW_2("2","待面试"), + INTERVIEW_3("3","已开始"), + INTERVIEW_4("4","待审核"), + INTERVIEW_5("5","审核中"), + INTERVIEW_6("6","审核通过"), + INTERVIEW_7("7","拒绝"), ; diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerClerkDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerClerkDAO.java new file mode 100644 index 000000000..5edcb6f2e --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerClerkDAO.java @@ -0,0 +1,34 @@ +package com.cool.store.dao; + +import com.cool.store.entity.HyPartnerClerkDO; +import com.cool.store.mapper.HyPartnerClerkMapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2023/6/15 10:09 + * @Version 1.0 + */ +@Repository +public class HyPartnerClerkDAO { + + @Resource + HyPartnerClerkMapper hyPartnerClerkMapper; + + public int insertSelective( HyPartnerClerkDO record){ + return hyPartnerClerkMapper.insertSelective(record); + } + + public int updateByPrimaryKeySelective(HyPartnerClerkDO record){ + return hyPartnerClerkMapper.updateByPrimaryKeySelective(record); + } + + public List getHyPartnerClerkList(Long lineId){ + return hyPartnerClerkMapper.getHyPartnerClerkList(lineId); + } + +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerClerkMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerClerkMapper.java index d428722d2..c463c7bce 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerClerkMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerClerkMapper.java @@ -3,6 +3,8 @@ package com.cool.store.mapper; import com.cool.store.entity.HyPartnerClerkDO; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * @author zhangchenbiao * @date 2023-05-29 03:51 @@ -22,4 +24,7 @@ public interface HyPartnerClerkMapper { * dateTime:2023-05-29 03:51 */ int updateByPrimaryKeySelective(@Param("record") HyPartnerClerkDO record); + + List getHyPartnerClerkList(@Param("lineId") Long lineId); + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerClerkMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerClerkMapper.xml index 3d8f19b42..508288dec 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerClerkMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerClerkMapper.xml @@ -101,4 +101,11 @@ where id = #{record.id} + + \ No newline at end of file diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerClerkService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerClerkService.java new file mode 100644 index 000000000..eeeddc963 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerClerkService.java @@ -0,0 +1,25 @@ +package com.cool.store.service; + +import com.cool.store.vo.PartnerClerkVO; + +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2023/6/15 11:05 + * @Version 1.0 + */ +public interface HyPartnerClerkService { + + + /** + * 通过线索ID查询店员信息 + * @param lineId + * @return + */ + List getPartnerClerkList(Long lineId); + + + + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/OpenAreaService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/OpenAreaService.java index 21548368a..7f497aa28 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/OpenAreaService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/OpenAreaService.java @@ -24,6 +24,15 @@ public interface OpenAreaService { List queryByKeyword(String keyword,Boolean flag); + /** + * 查询所有的开放区域 城市树 + * @param keyword + * @param flag + * @return + */ + List queryAllOpenAreaByKeyword(String keyword,Boolean flag); + + /** * 查询字列表 * @param type diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkImpl.java new file mode 100644 index 000000000..26b945c7a --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkImpl.java @@ -0,0 +1,41 @@ +package com.cool.store.service.impl; + +import com.cool.store.dao.HyPartnerClerkDAO; +import com.cool.store.entity.HyPartnerClerkDO; +import com.cool.store.service.HyPartnerClerkService; +import com.cool.store.vo.PartnerClerkVO; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2023/6/15 11:05 + * @Version 1.0 + */ +@Service +public class HyPartnerClerkImpl implements HyPartnerClerkService { + + @Resource + HyPartnerClerkDAO hyPartnerClerkDAO; + + + @Override + public List getPartnerClerkList(Long lineId) { + List hyPartnerClerkList = hyPartnerClerkDAO.getHyPartnerClerkList(lineId); + List result= new ArrayList<>(); + hyPartnerClerkList.forEach(x->{ + PartnerClerkVO partnerClerkVO = new PartnerClerkVO(); + partnerClerkVO.setPartnerId(x.getPartnerId()); + partnerClerkVO.setPartnerLineId(x.getPartnerLineId()); + partnerClerkVO.setAge(x.getAge()); + partnerClerkVO.setChooseReason(x.getChooseReason()); + partnerClerkVO.setUsername(x.getUsername()); + partnerClerkVO.setRelationship(x.getRelationship()); + result.add(partnerClerkVO); + }); + return result; + } +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java index e2a8205b1..b3c43a44e 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java @@ -50,7 +50,7 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic workflowStatus = WorkflowStatusEnum.RESERVATION_0.getCode(); } if (CommonConstants.FOLLOW.equals(type)) { - workflowStatus = WorkflowStatusEnum.INTERVIEW_4.getCode(); + workflowStatus = WorkflowStatusEnum.INTERVIEW_5.getCode(); } PageHelper.startPage(pageNumber,pageSize); PageInfo partnerIntentApplyInfo = hyPartnerIntentInfoDAO.selectPartnerIntentApplyInfoList(userId, WorkflowStageEnum.INTENT.getCode(), workflowStatus); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerInterviewPlanServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerInterviewPlanServiceImpl.java index 22b878104..2e5a6e6f7 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerInterviewPlanServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerInterviewPlanServiceImpl.java @@ -84,10 +84,10 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan public PageInfo getQualifiedInterviewList(String userId, String type, Integer pageSize, Integer pageNumber) { String workflowStatus = ""; if (CommonConstants.PENDING.equals(type)) { - workflowStatus = WorkflowStatusEnum.INTERVIEW_3.getCode(); + workflowStatus = WorkflowStatusEnum.INTERVIEW_4.getCode(); } if (CommonConstants.FOLLOW.equals(type)) { - workflowStatus = WorkflowStatusEnum.INTERVIEW_4.getCode(); + workflowStatus = WorkflowStatusEnum.INTERVIEW_5.getCode(); } PageHelper.startPage(pageNumber,pageSize); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpenAreaServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpenAreaServiceImpl.java index 3d3f25043..5fb5b549e 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpenAreaServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpenAreaServiceImpl.java @@ -12,13 +12,11 @@ import com.cool.store.vo.OpenAreaVO; import com.cool.store.vo.OpenProvinceVO; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; /** @@ -59,6 +57,53 @@ public class OpenAreaServiceImpl implements OpenAreaService { return openAreaTreeVOS; } + @Override + public List queryAllOpenAreaByKeyword(String keyword, Boolean flag) { + //先查出所有的一级菜单 + List openArea = hyOpenAreaInfoDAO.queryFirstLevel(); + Map longHyOpenAreaInfoDOMap = openArea.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x)); + + //查询关键字下所有的数据 原始的数据 + List hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,flag); + + Map hyMap = hyOpenAreaInfoDOS.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x)); + + Set list = new HashSet(); + hyOpenAreaInfoDOS.stream().forEach(x->{ + Long parentId = x.getParentId(); + HyOpenAreaInfoDO hyOpenAreaInfoDO = hyMap.get(parentId); + if (hyOpenAreaInfoDO==null&&parentId!=null){ + //添加到集合中 + list.add(x.getParentId()); + } + }); + if (CollectionUtils.isNotEmpty(list)){ + //二级采单 + List hyOpenAreaInfoDOList = hyOpenAreaInfoDAO.queryByIdsExcludeFirstLevel(new ArrayList<>(list)); + hyOpenAreaInfoDOS.addAll(hyOpenAreaInfoDOList); + //如果二级采单是空 说明list全部是一级采单 + if (CollectionUtils.isEmpty(hyOpenAreaInfoDOList)){ + list.stream().forEach(x->{ + HyOpenAreaInfoDO hyOpenAreaInfoDO = hyMap.get(x); + if (hyOpenAreaInfoDO==null){ + hyOpenAreaInfoDOS.add(longHyOpenAreaInfoDOMap.get(x)); + } + }); + } + hyOpenAreaInfoDOList.stream().forEach(x->{ + Long parentId = x.getParentId(); + HyOpenAreaInfoDO hyOpenAreaInfoDO = hyMap.get(parentId); + if (hyOpenAreaInfoDO==null){ + HyOpenAreaInfoDO infoDO = longHyOpenAreaInfoDOMap.get(parentId); + hyOpenAreaInfoDOS.add(infoDO); + } + }); + } + JSONArray objects = buildTree(JSONArray.parseArray(JSONObject.toJSONString(hyOpenAreaInfoDOS)), "id", "parentId","childNode" ); + List openAreaTreeVOS = JSONObject.parseArray(objects.toJSONString(), OpenAreaTreeVO.class); + return openAreaTreeVOS; + } + @Override public List getChildrenList(String type, Long parentId) { List childrenList = hyOpenAreaInfoDAO.getChildrenList(type, parentId); diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/ClerkController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/ClerkController.java new file mode 100644 index 000000000..c2378f68b --- /dev/null +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/ClerkController.java @@ -0,0 +1,41 @@ +package com.cool.store.controller; + +import com.cool.store.response.ResponseResult; +import com.cool.store.service.HyPartnerClerkService; +import com.cool.store.vo.PartnerClerkVO; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2023/6/15 11:13 + * @Version 1.0 + */ +@RestController +@Slf4j +public class ClerkController { + + @Resource + HyPartnerClerkService hyPartnerClerkService; + + + @GetMapping(path = "/queryPartnerClerkInfoList") + @ApiOperation("根据线索ID 查询店员列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "lineId", value = "线索ID", required = false), + }) + public ResponseResult> queryPartnerClerkInfoList(@RequestParam(value = "lineId",required = false)Long lineId){ + return ResponseResult.success(hyPartnerClerkService.getPartnerClerkList(lineId)); + } + + + +} diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java index e8287818f..3fa03560e 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java @@ -1,5 +1,6 @@ package com.cool.store.controller; +import com.cool.store.context.CurrentUserHolder; import com.cool.store.enums.LineStatusEnum; import com.cool.store.request.*; import com.cool.store.response.ResponseResult; @@ -35,15 +36,14 @@ public class DeskController { HyPartnerLineInfoService hyPartnerLineInfoService; @Resource HyPartnerBaseInfoService hyPartnerBaseInfoService; - @Resource - OpenAreaService openAreaService; + @GetMapping(path = "/interviewSchedule") @ApiOperation("面试日程信息 面试信息有限 不做分页") - public ResponseResult interviewSchedule(@RequestParam(value = "userId",required = false) String userId, - @RequestParam(value = "selectedData",required = false) Date selectedData){ + public ResponseResult interviewSchedule(@RequestParam(value = "selectedData",required = false) Date selectedData){ + String userId = CurrentUserHolder.getUserId(); return ResponseResult.success(deskService.interviewSchedule(userId,selectedData)); } @@ -60,10 +60,8 @@ public class DeskController { @GetMapping(path = "/queryInterviewPlan") @ApiOperation("是否有面试与临期线索") - @ApiImplicitParams({ - @ApiImplicitParam(name = "userId", value = "招商经理ID", required = false), - }) - public ResponseResult queryInterviewPlanVO(@RequestParam(value = "userId",required = false)String userId){ + public ResponseResult queryInterviewPlanVO(){ + String userId = CurrentUserHolder.getUserId(); return ResponseResult.success(deskService.getInterviewPlan(userId)); } @@ -78,7 +76,7 @@ public class DeskController { public ResponseResult> queryIntentApplyList(@RequestParam(value = "type",required = false)String type, @RequestParam(value = "pageNumber",required = false,defaultValue = "1")Integer pageNumber, @RequestParam(value = "pageSize",required = false,defaultValue = "10")Integer pageSize){ - String userId = ""; + String userId = CurrentUserHolder.getUserId(); return ResponseResult.success(hyPartnerIntentInfoService.getPartnerIntentApplyList(userId,type,pageSize,pageNumber)); } @@ -88,7 +86,7 @@ public class DeskController { public ResponseResult> querySubscribeInterviewTimeList(@RequestParam(value = "pageNumber",required = false,defaultValue = "1")Integer pageNumber, @RequestParam(value = "pageSize",required = false,defaultValue = "10")Integer pageSize){ - String userId = ""; + String userId = CurrentUserHolder.getUserId(); return ResponseResult.success(hyPartnerInterviewPlanService.getPartnerInterviewInfoList(userId,pageSize,pageNumber)); } @@ -100,7 +98,7 @@ public class DeskController { public ResponseResult> queryQualifiedInterviewList(@RequestParam(value = "type",required = false)String type, @RequestParam(value = "pageNumber",required = false,defaultValue = "1")Integer pageNumber, @RequestParam(value = "pageSize",required = false,defaultValue = "10")Integer pageSize){ - String userId = ""; + String userId = CurrentUserHolder.getUserId(); return ResponseResult.success(hyPartnerInterviewPlanService.getQualifiedInterviewList(userId,type,pageSize,pageNumber)); } @@ -158,7 +156,7 @@ public class DeskController { public ResponseResult> lastMonthCloseLine(@RequestParam(value = "pageNumber",required = false,defaultValue = "1")Integer pageNumber, @RequestParam(value = "pageSize",required = false,defaultValue = "10")Integer pageSize){ - String userId = ""; + String userId = CurrentUserHolder.getUserId(); return ResponseResult.success(hyPartnerLineInfoService.lastMonthCloseLine(userId,pageSize,pageNumber)); } @@ -242,56 +240,4 @@ public class DeskController { return ResponseResult.success(hyPartnerBaseInfoService.addTags(addTagsRequest)); } - - // TODO: 2023/6/13 添加根据线索查询店员接口列表接口 -// @GetMapping(path = "/queryPartnerIntentApplyInfo") -// @ApiOperation("查看意向审核信息") -// @ApiImplicitParams({ -// @ApiImplicitParam(name = "lineId", value = "线索ID", required = false), -// }) -// public ResponseResult queryPartnerIntentApplyInfo(@RequestParam(value = "lineId",required = false)Long lineId){ -// -// return ResponseResult.success(); -// } - - - - @GetMapping(path = "/getOpenAreaTree") - @ApiOperation("开放城市树-搜索城市") - @ApiImplicitParams({ - @ApiImplicitParam(name = "keyWord", value = "搜索关键字", required = false) - }) - public ResponseResult> getOpenAreaTree(@RequestParam(value = "keyWord",required = false)String keyWord){ - - return ResponseResult.success(openAreaService.queryByKeyword(keyWord,Boolean.TRUE)); - } - - - @GetMapping(path = "/getOpenAreaList") - @ApiOperation("开放城市树-子列表") - @ApiImplicitParams({ - @ApiImplicitParam(name = "parentId", value = "父区域名称", required = false), - @ApiImplicitParam(name = "type", value = "可预约-reservation 可申请-apply ", required = false) - }) - public ResponseResult> getOpenAreaList(@RequestParam(value = "parentId",required = false)Long parentId, - @RequestParam(value = "type",required = false)String type){ - return ResponseResult.success(openAreaService.getChildrenList(type,parentId)); - } - - - - @PostMapping(path = "/changeOpenAreaStatus") - @ApiOperation("变更开放区域状态") - public ResponseResult changeOpenAreaStatus(@RequestBody OpenAreaRequest openAreaRequest){ - - String userId = ""; - return ResponseResult.success(openAreaService.batchUpdate( userId, openAreaRequest)); - } - - - - - - - } diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/OpenAreaController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/OpenAreaController.java new file mode 100644 index 000000000..f9c1a7e09 --- /dev/null +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/OpenAreaController.java @@ -0,0 +1,67 @@ +package com.cool.store.controller; + +import com.cool.store.context.CurrentUserHolder; +import com.cool.store.request.OpenAreaRequest; +import com.cool.store.response.ResponseResult; +import com.cool.store.service.OpenAreaService; +import com.cool.store.vo.OpenAreaTreeVO; +import com.cool.store.vo.OpenAreaVO; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2023/6/15 9:49 + * @Version 1.0 + */ +@RestController +public class OpenAreaController { + + @Resource + OpenAreaService openAreaService; + + @GetMapping(path = "/getOpenAreaTree") + @ApiOperation("开放城市树-搜索城市 到第二节点") + @ApiImplicitParams({ + @ApiImplicitParam(name = "keyword", value = "搜索关键字", required = false) + }) + public ResponseResult> getOpenAreaTree(@RequestParam(value = "keyword",required = false)String keyword){ + return ResponseResult.success(openAreaService.queryByKeyword(keyword,Boolean.TRUE)); + } + + + @GetMapping(path = "/getAllOpenAreaTree") + @ApiOperation("开放城市树-所有节点") + @ApiImplicitParams({ + @ApiImplicitParam(name = "keyword", value = "搜索关键字", required = false) + }) + public ResponseResult> getAllOpenAreaTree(@RequestParam(value = "keyword",required = false)String keyword){ + return ResponseResult.success(openAreaService.queryAllOpenAreaByKeyword(keyword,Boolean.FALSE)); + } + + + @GetMapping(path = "/getOpenAreaList") + @ApiOperation("开放城市树-子列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "parentId", value = "父区域名称", required = false), + @ApiImplicitParam(name = "type", value = "可预约-reservation 可申请-apply ", required = false) + }) + public ResponseResult> getOpenAreaList(@RequestParam(value = "parentId",required = false)Long parentId, + @RequestParam(value = "type",required = false)String type){ + return ResponseResult.success(openAreaService.getChildrenList(type,parentId)); + } + + + + @PostMapping(path = "/changeOpenAreaStatus") + @ApiOperation("变更开放区域状态") + public ResponseResult changeOpenAreaStatus(@RequestBody OpenAreaRequest openAreaRequest){ + String userId = CurrentUserHolder.getUserId(); + return ResponseResult.success(openAreaService.batchUpdate( userId, openAreaRequest)); + } +} diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/controller/OpenAreaController.java b/coolstore-partner-webc/src/main/java/com/cool/store/controller/OpenAreaController.java index eee62096c..5090d56c5 100644 --- a/coolstore-partner-webc/src/main/java/com/cool/store/controller/OpenAreaController.java +++ b/coolstore-partner-webc/src/main/java/com/cool/store/controller/OpenAreaController.java @@ -51,7 +51,7 @@ public class OpenAreaController { @ApiImplicitParam(name = "keyword", value = "搜索关键字", required = false), }) public ResponseResult> getOpenAreaList(@RequestParam(value = "keyword",required = false)String keyword){ - List openAreaTreeVOS = openAreaService.queryByKeyword(keyword,Boolean.FALSE); + List openAreaTreeVOS = openAreaService.queryAllOpenAreaByKeyword(keyword,Boolean.FALSE); return ResponseResult.success(openAreaTreeVOS); } From 7fe9e0012e8b69abc86bb2fa19ebc0b423fdb400 Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Thu, 15 Jun 2023 15:08:52 +0800 Subject: [PATCH 06/17] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=97=A5=E7=A8=8B=E8=8E=B7=E5=8F=96=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/http/ISVHttpRequest.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/http/ISVHttpRequest.java b/coolstore-partner-service/src/main/java/com/cool/store/http/ISVHttpRequest.java index e9e08ca4d..83abd4c11 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/http/ISVHttpRequest.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/http/ISVHttpRequest.java @@ -283,4 +283,32 @@ public class ISVHttpRequest { } return null; } + + /** + * 获取飞书日程 + * @param userId + * @param startTime + * @param endTime + * @return + * @throws ApiException + */ + public List getUserCalendarsEvents(String userId, long startTime, long endTime)throws ApiException{ + String url = isvDomain + "/user/getUserCalendarsEvents"; + HashMap requestMap = new HashMap(); + requestMap.put("userId", userId); + requestMap.put("startTime", startTime); + requestMap.put("endTime", endTime); + ResultDTO responseEntity = null; + try { + responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap); + log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity)); + if(Objects.nonNull(responseEntity.getData()) && responseEntity.isSuccess()){ + return JSONObject.parseArray(JSONObject.toJSONString(responseEntity.getData()), UserCalendarsEventDTO.class); + } + } catch (Exception e) { + log.info("调用isv出错{}", e); + throw new ApiException(e.getMessage()); + } + return null; + } } From 39782aec34cb5a1d6a9aef6ccab58c9cd9fa2d69 Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Thu, 15 Jun 2023 16:08:39 +0800 Subject: [PATCH 07/17] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=9B=B8=E5=85=B3dao=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/dao/EnterpriseUserDAO.java | 6 ++++- .../cool/store/dao/UserRegionMappingDAO.java | 25 +++++++++++++++++++ .../store/mapper/EnterpriseUserMapper.java | 9 +++++++ .../store/mapper/UserRegionMappingMapper.java | 14 +++++++++++ .../resources/mapper/EnterpriseUserMapper.xml | 19 ++++++++++++++ .../mapper/UserRegionMappingMapper.xml | 8 ++++++ .../coolstore-partner-service.iml | 1 + coolstore-partner-service/pom.xml | 4 +++ .../coolstore-partner-webb.iml | 1 + .../resources/application-local.properties | 2 +- .../coolstore-partner-webc.iml | 1 + pom.xml | 5 ++++ 12 files changed, 93 insertions(+), 2 deletions(-) diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java index b7ec414df..35df62fe0 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java @@ -29,7 +29,7 @@ public class EnterpriseUserDAO { return enterpriseUserMapper.getUserInfoById(userId); } - public List getUserInfoByUserIds(List userIdList){ + public List getUserInfoByUserIds(List userIdList){ if(CollectionUtils.isEmpty(userIdList)){ return Lists.newArrayList(); } @@ -60,4 +60,8 @@ public class EnterpriseUserDAO { } return enterpriseUserMapper.deleteUserByUserId(userId); } + + public List searchUserByRegionIdsAndKeyword(List regionIds, String keyword, boolean isLeader){ + return enterpriseUserMapper.searchUserByRegionIdsAndKeyword(regionIds, keyword, isLeader); + } } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/UserRegionMappingDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/UserRegionMappingDAO.java index bb2a20c00..953411d2b 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/UserRegionMappingDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/UserRegionMappingDAO.java @@ -4,6 +4,7 @@ import com.cool.store.constants.CommonConstants; import com.cool.store.entity.UserRegionMappingDO; import com.cool.store.enums.DataSourceEnum; import com.cool.store.mapper.UserRegionMappingMapper; +import com.google.common.collect.Lists; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Repository; @@ -59,4 +60,28 @@ public class UserRegionMappingDAO { return userRegionMappingMapper.deleteUserRegionByUserId(userId); } + /** + * 获取一个区域下直挂的人 + * @param regionId + * @return + */ + public List getUserListByRegionId(String regionId){ + if(StringUtils.isBlank(regionId)){ + return Lists.newArrayList(); + } + return userRegionMappingMapper.getUserListByRegionId(regionId); + } + + /** + * 获取一个人所属的部门 + * @param userId + * @return + */ + public List getRegionIdsByUserId(String userId){ + if(StringUtils.isBlank(userId)){ + return Lists.newArrayList(); + } + return userRegionMappingMapper.getRegionIdsByUserId(userId); + } + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java index fb9a1cd58..bb043adb0 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java @@ -52,4 +52,13 @@ public interface EnterpriseUserMapper { * @return */ Integer deleteUserByUserId(@Param("userId") String userId); + + /** + * 根据关键字搜索部门下的用户 + * @param regionIds + * @param keyword + * @param isLeader + * @return + */ + List searchUserByRegionIdsAndKeyword(@Param("regionIds") List regionIds, @Param("keyword") String keyword, @Param("isLeader") boolean isLeader); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/UserRegionMappingMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/UserRegionMappingMapper.java index bc4d256ef..afd2ce57d 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/UserRegionMappingMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/UserRegionMappingMapper.java @@ -54,4 +54,18 @@ public interface UserRegionMappingMapper { * @return */ Integer deleteUserRegionByUserId(@Param("userId") String userId); + + /** + * 获取一个区域下是直挂的人 + * @param regionId + * @return + */ + List getUserListByRegionId(@Param("regionId") String regionId); + + /** + * 获取人所在的区域 + * @param userId + * @return + */ + List getRegionIdsByUserId(@Param("userId") String userId); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml index c33abf8a8..7b89849c0 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml @@ -261,4 +261,23 @@ update enterprise_user set deleted = 1 where user_id = #{userId} + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/UserRegionMappingMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/UserRegionMappingMapper.xml index 861475f2c..4560fc962 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/UserRegionMappingMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/UserRegionMappingMapper.xml @@ -123,4 +123,12 @@ update user_region_mapping set deleted = 1 where user_id = #{userId} + + + + \ No newline at end of file diff --git a/coolstore-partner-service/coolstore-partner-service.iml b/coolstore-partner-service/coolstore-partner-service.iml index 761caf1cb..6cda7d6d9 100644 --- a/coolstore-partner-service/coolstore-partner-service.iml +++ b/coolstore-partner-service/coolstore-partner-service.iml @@ -141,5 +141,6 @@ + \ No newline at end of file diff --git a/coolstore-partner-service/pom.xml b/coolstore-partner-service/pom.xml index b14527b8a..1422f9c1d 100644 --- a/coolstore-partner-service/pom.xml +++ b/coolstore-partner-service/pom.xml @@ -59,6 +59,10 @@ com.xuxueli xxl-job-core + + com.aliyun + dytnsapi20200217 + \ No newline at end of file diff --git a/coolstore-partner-webb/coolstore-partner-webb.iml b/coolstore-partner-webb/coolstore-partner-webb.iml index fe481cb8c..ab3cdc788 100644 --- a/coolstore-partner-webb/coolstore-partner-webb.iml +++ b/coolstore-partner-webb/coolstore-partner-webb.iml @@ -106,6 +106,7 @@ + diff --git a/coolstore-partner-webb/src/main/resources/application-local.properties b/coolstore-partner-webb/src/main/resources/application-local.properties index 33d502d30..e3eb4fe20 100644 --- a/coolstore-partner-webb/src/main/resources/application-local.properties +++ b/coolstore-partner-webb/src/main/resources/application-local.properties @@ -36,7 +36,7 @@ customize_sub_table_size=10 mybatis.configuration.call-setters-on-nulls=true mybatis.configuration.map-underscore-to-camel-case=true -isv.domain = http://localhost:31100 +isv.domain = http://localhost:31100/isv #rocketmq \u914D\u7F6E rocketmq.accessKey=zK2oVEz4G1ts23d2 diff --git a/coolstore-partner-webc/coolstore-partner-webc.iml b/coolstore-partner-webc/coolstore-partner-webc.iml index 399bb9f2b..bef9271d3 100644 --- a/coolstore-partner-webc/coolstore-partner-webc.iml +++ b/coolstore-partner-webc/coolstore-partner-webc.iml @@ -104,6 +104,7 @@ + diff --git a/pom.xml b/pom.xml index c1eea1c2b..02ccc0a58 100644 --- a/pom.xml +++ b/pom.xml @@ -176,6 +176,11 @@ xxl-job-core 2.3.0 + + com.aliyun + dytnsapi20200217 + 1.0.28 + From 3fb8e439ecb3bf0cf616e6cec6d3b81f3034aa1c Mon Sep 17 00:00:00 2001 From: pserimal Date: Thu, 15 Jun 2023 18:16:07 +0800 Subject: [PATCH 08/17] =?UTF-8?q?=E5=8A=A8=E6=80=81=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E6=9E=9A=E4=B8=BE=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/enums/ContentSubjectEnum.java | 17 +++++++++++++++++ .../com/cool/store/enums/ContentTypeEnum.java | 16 ++++++++++++++++ .../resources/mapper/HyContentInfoMapper.xml | 4 ++-- .../cool/store/dto/content/ContentAddDto.java | 6 ++++-- .../store/dto/content/ContentQueryListDto.java | 6 ++++-- .../store/dto/content/ContentUpdateDto.java | 6 ++++-- .../com/cool/store/entity/HyContentInfoDO.java | 8 +++++--- .../java/com/cool/store/vo/HyContentInfoVO.java | 6 ++++-- .../store/controller/ContentController.java | 6 ++++-- 9 files changed, 60 insertions(+), 15 deletions(-) create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/ContentSubjectEnum.java create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/ContentTypeEnum.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ContentSubjectEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ContentSubjectEnum.java new file mode 100644 index 000000000..a5a7a6c7d --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ContentSubjectEnum.java @@ -0,0 +1,17 @@ +package com.cool.store.enums; + +/** + * 动态栏目枚举类 + */ +public enum ContentSubjectEnum { + HY_CULTURE("沪姨文化"), + PARTNER_SAYS("加盟商说"), + BRAND_NEWS("品牌动态") + ; + + private String subjectName; + + ContentSubjectEnum(String subjectName) { + this.subjectName = subjectName; + } +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ContentTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ContentTypeEnum.java new file mode 100644 index 000000000..3246f3f38 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ContentTypeEnum.java @@ -0,0 +1,16 @@ +package com.cool.store.enums; + +/** + * 动态类型(图文/视频) + */ +public enum ContentTypeEnum { + VIDEO("视频"), + IMAGE("图文") + ; + + private String type; + + ContentTypeEnum(String type) { + this.type = type; + } +} diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyContentInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyContentInfoMapper.xml index 0c8a7bf6f..cf27b14f9 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyContentInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyContentInfoMapper.xml @@ -153,10 +153,10 @@ and content_title like concat('%', #{contentTitle}, '%') - + and subject = #{subject} - + and content_type = #{contentType} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/content/ContentAddDto.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/content/ContentAddDto.java index e130c0606..88cfb700c 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/content/ContentAddDto.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/content/ContentAddDto.java @@ -1,5 +1,7 @@ package com.cool.store.dto.content; +import com.cool.store.enums.ContentSubjectEnum; +import com.cool.store.enums.ContentTypeEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -13,10 +15,10 @@ public class ContentAddDto { private String status; @ApiModelProperty(value = "栏目code", required = true) - private String subject; + private ContentSubjectEnum subject; @ApiModelProperty(value = "类型", required = true) - private String contentType; + private ContentTypeEnum contentType; @ApiModelProperty(value = "封面地址", required = true) private String cover; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/content/ContentQueryListDto.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/content/ContentQueryListDto.java index 96e23930d..64432436a 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/content/ContentQueryListDto.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/content/ContentQueryListDto.java @@ -1,6 +1,8 @@ package com.cool.store.dto.content; import com.cool.store.common.PageBasicInfo; +import com.cool.store.enums.ContentSubjectEnum; +import com.cool.store.enums.ContentTypeEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; @@ -13,10 +15,10 @@ public class ContentQueryListDto extends PageBasicInfo { private String contentTitle; @ApiModelProperty("栏目Code") - private String subject; + private ContentSubjectEnum subject; @ApiModelProperty("类型,默认选中全部时不传值") - private String contentType; + private ContentTypeEnum contentType; @ApiModelProperty("筛选开始时间") private String startTime; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/content/ContentUpdateDto.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/content/ContentUpdateDto.java index d95330fbf..29d754498 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/content/ContentUpdateDto.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/content/ContentUpdateDto.java @@ -1,5 +1,7 @@ package com.cool.store.dto.content; +import com.cool.store.enums.ContentSubjectEnum; +import com.cool.store.enums.ContentTypeEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -16,10 +18,10 @@ public class ContentUpdateDto { private String status; @ApiModelProperty("栏目code") - private String subject; + private ContentSubjectEnum subject; @ApiModelProperty("类型") - private String contentType; + private ContentTypeEnum contentType; @ApiModelProperty("封面地址") private String cover; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/HyContentInfoDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/HyContentInfoDO.java index 39724a0e5..1bcb014f4 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/HyContentInfoDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/HyContentInfoDO.java @@ -1,8 +1,10 @@ package com.cool.store.entity; +import com.cool.store.enums.ContentSubjectEnum; +import com.cool.store.enums.ContentTypeEnum; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; -import java.util.Date; + import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -25,10 +27,10 @@ public class HyContentInfoDO implements Serializable { private String contentTitle; @ApiModelProperty("栏目CODE") - private String subject; + private ContentSubjectEnum subject; @ApiModelProperty("类型 image-图文 video-视频") - private String contentType; + private ContentTypeEnum contentType; @ApiModelProperty("封面URL") private String cover; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/HyContentInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/HyContentInfoVO.java index 4d412c27d..2a0a1aa06 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/HyContentInfoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/HyContentInfoVO.java @@ -1,5 +1,7 @@ package com.cool.store.vo; +import com.cool.store.enums.ContentSubjectEnum; +import com.cool.store.enums.ContentTypeEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -13,10 +15,10 @@ public class HyContentInfoVO { private String contentTitle; @ApiModelProperty("栏目CODE") - private String subject; + private ContentSubjectEnum subject; @ApiModelProperty("类型 image-图文 video-视频") - private String contentType; + private ContentTypeEnum contentType; @ApiModelProperty("封面URL") private String cover; diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/ContentController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/ContentController.java index a93f954aa..fda765b0a 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/ContentController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/ContentController.java @@ -32,14 +32,16 @@ public class ContentController { @PostMapping("/delete") @ApiOperation("删除动态") - public void deleteContent(@RequestParam(value = "contentId") String contentId) { + public ResponseResult deleteContent(@RequestParam(value = "contentId") String contentId) { contentService.deleteContent(contentId); + return ResponseResult.success(); } @PostMapping("/modify") @ApiOperation("修改动态") - public void updateContent(@RequestBody ContentUpdateDto dto) { + public ResponseResult updateContent(@RequestBody ContentUpdateDto dto) { contentService.updateContent(dto); + return ResponseResult.success(); } @PostMapping("/queryContentList") From d80c70deb7541f541eaf28acfe74f880d40e3f6c Mon Sep 17 00:00:00 2001 From: pserimal Date: Thu, 15 Jun 2023 19:02:01 +0800 Subject: [PATCH 09/17] =?UTF-8?q?=E9=9D=A2=E8=AF=95=E9=80=9A=E8=BF=87?= =?UTF-8?q?=E5=87=BD=E8=AF=A6=E6=83=85=E5=8F=8A=E9=80=9A=E8=BF=87=E5=87=BD?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=92=8COSS=E6=9C=8D=E5=8A=A1=E5=99=A8?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/utils/PDFUtils.java | 11 +++- .../com/cool/store/utils/PassLetterUtils.java | 46 ++++++++----- .../mapper/HyPartnerInterviewMapper.java | 8 ++- .../resources/mapper/HyContentInfoMapper.xml | 4 +- .../mapper/HyPartnerInterviewMapper.xml | 38 +++++++++-- ...InterviewVO.java => EnterInterviewVO.java} | 8 ++- .../store/vo/PartnerPassLetterDetailVO.java | 5 +- coolstore-partner-service/pom.xml | 5 ++ .../java/com/cool/store/oss/OSSServer.java | 64 +++++++++++++++++++ .../cool/store/service/InterviewService.java | 11 ++++ .../service/PartnerInterviewService.java | 4 +- .../service/impl/InterviewServiceImpl.java | 45 +++++++++++++ .../impl/PartnerInterviewServiceImpl.java | 59 +++++++++++------ .../store/controller/InterviewController.java | 8 ++- .../store/controller/InterviewController.java | 15 +---- 15 files changed, 266 insertions(+), 65 deletions(-) rename coolstore-partner-model/src/main/java/com/cool/store/vo/{PartnerEnterInterviewVO.java => EnterInterviewVO.java} (59%) create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/oss/OSSServer.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/utils/PDFUtils.java b/coolstore-partner-common/src/main/java/com/cool/store/utils/PDFUtils.java index b12b8b33b..272b19a0e 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/utils/PDFUtils.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/utils/PDFUtils.java @@ -94,10 +94,11 @@ public class PDFUtils { * @param color 字体颜色 */ private static void addContent(PdfReader reader, OutputStream outputStream, String content, float x, float y, BaseFont baseFont, float fontSize, int fontStyle, Color color) { + PdfStamper stamper = null; try { //生成 paragraph 并放在正确位置 //抠模板 - PdfStamper stamper = new PdfStamper(reader, outputStream); + stamper = new PdfStamper(reader, outputStream); PdfContentByte over = stamper.getOverContent(1); Font font = new Font(baseFont, fontSize, fontStyle, color); Paragraph insertContent = new Paragraph(content, font); @@ -110,6 +111,14 @@ public class PDFUtils { stamper.close(); } catch (IOException e) { throw new RuntimeException(e); + } finally { + try { + if (stamper != null) { + stamper.close(); + } + } catch (IOException ex) { + throw new RuntimeException(ex); + } } } diff --git a/coolstore-partner-common/src/main/java/com/cool/store/utils/PassLetterUtils.java b/coolstore-partner-common/src/main/java/com/cool/store/utils/PassLetterUtils.java index af3da67ef..a94e5ee53 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/utils/PassLetterUtils.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/utils/PassLetterUtils.java @@ -22,19 +22,16 @@ public class PassLetterUtils { * 返回通过函编码 * @param partnerName 加盟商姓名 * @param verifyCity 审批城市 + * @param passCode 通过函编码 * @param passTime 审批通过时间 */ - public static String genPassLetter(String partnerName, String passCode, String verifyCity, DateTime passTime) { - String randomNum = RandomUtil.randomNumbers(5); - if (ObjectUtil.isEmpty(passCode)) { - passCode = "HSAY" + DateUtil.format(passTime, "yyMMdd") + "-" + randomNum; - } + public static ByteArrayOutputStream genPassLetter(String partnerName, String passCode, String verifyCity, DateTime passTime) { String passTimeStr = DateUtil.format(passTime, "yyyy年MM月dd日"); Document document = new Document(); + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); try { //1. 创建 pdf document -// ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - FileOutputStream outputStream = new FileOutputStream("passLetter.pdf"); +// FileOutputStream outputStream = new FileOutputStream("passLetter.pdf"); PdfWriter.getInstance(document, outputStream); document.open(); @@ -44,21 +41,38 @@ public class PassLetterUtils { document.close(); //3. 填写通过函模板信息 - addContentToPdf(partnerName + " 先生/女士", 122, 640); - addContentToPdf(passCode, 122, 558); - addContentToPdf(verifyCity, 155, 494); - addContentToPdf("60天", 135, 450); - addContentToPdf(passTimeStr, 393, 152); - return passCode; + addContentToPdf(outputStream, partnerName + " 先生/女士", 122, 640); + addContentToPdf(outputStream, passCode, 122, 558); + addContentToPdf(outputStream, verifyCity, 155, 494); + addContentToPdf(outputStream, "60天", 135, 450); + addContentToPdf(outputStream, passTimeStr, 393, 152); + return outputStream; } catch (IOException e) { throw new RuntimeException(e); + } finally { + try { + document.close(); + outputStream.close(); + } catch (IOException e) { + throw new RuntimeException(e); + } } } - private static void addContentToPdf(String content, float x, float y) { + /** + * 生成 passCode 的方法,拆分出来方便单独获取 passCode + * @return + */ + public static String genPassCode(DateTime passTime) { + String randomNum = RandomUtil.randomNumbers(5); + String passCode = "HSAY" + DateUtil.format(passTime, "yyMMdd") + "-" + randomNum; + return passCode; + } + + private static void addContentToPdf(ByteArrayOutputStream outputStream, String content, float x, float y) { try { - PdfReader pdfReader = new PdfReader(Files.newInputStream(Paths.get("passLetter.pdf"))); - OutputStream outputStream = Files.newOutputStream(Paths.get("passLetter.pdf")); + ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray()); + PdfReader pdfReader = new PdfReader(inputStream); PDFUtils.putParagraphAbsolutely(pdfReader, outputStream, x, y, content, 20, new Color(255, 82,25)); } catch (IOException e) { throw new RuntimeException(e); diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java index 4e0de1a97..b26ecc51e 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java @@ -1,6 +1,7 @@ package com.cool.store.mapper; import com.cool.store.entity.HyPartnerInterviewDO; +import com.cool.store.vo.EnterInterviewVO; import com.cool.store.vo.PartnerInterviewInfoVO; import com.cool.store.vo.PartnerPassLetterDetailVO; import org.apache.ibatis.annotations.Param; @@ -61,11 +62,16 @@ public interface HyPartnerInterviewMapper { /** * 根据会议 id 查询面试官 id */ - String getInterviewerByInterviewId(@Param("interviewId") String interviewId); + EnterInterviewVO getInterviewerByInterviewId(@Param("interviewId") String interviewId); /** * 获取通知函详情 */ PartnerPassLetterDetailVO getPassLetterDetail(@Param("interviewId") String interviewId); + /** + * 生成通过函 pdf 后修改 + */ + int updatePassLetterInfo(@Param("passCode") String passCode, @Param("passFileUrl") String passFileUrl, @Param("expiryDate") String expiryDate, @Param("interviewId") String interviewId); + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyContentInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyContentInfoMapper.xml index cf27b14f9..e69a1691f 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyContentInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyContentInfoMapper.xml @@ -106,10 +106,10 @@ content_title = #{record.contentTitle}, - + subject = #{record.subject}, - + content_type = #{record.contentType}, diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml index 0fa5d3610..2eee85c8c 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml @@ -34,6 +34,11 @@ + + + + + @@ -311,23 +316,44 @@ - + SELECT interviewer, interviewer interviewer_id, partner_id FROM hy_partner_interview WHERE id = #{interviewId} + + + UPDATE hy_partner_interview + + + pass_code = #{passCode}, + + + pass_file_url = #{passFileUrl}, + + + expiry_date = #{expiryDate} + + + WHERE id = #{interviewId} + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerEnterInterviewVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/EnterInterviewVO.java similarity index 59% rename from coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerEnterInterviewVO.java rename to coolstore-partner-model/src/main/java/com/cool/store/vo/EnterInterviewVO.java index c9a294e2d..76f42563d 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerEnterInterviewVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/EnterInterviewVO.java @@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data -public class PartnerEnterInterviewVO { +public class EnterInterviewVO { @ApiModelProperty("userSig 进入会议需要的用户签名") private String userSign; @@ -12,4 +12,10 @@ public class PartnerEnterInterviewVO { @ApiModelProperty("面试官id") private String interviewerId; + @ApiModelProperty("面试官姓名") + private String interviewerName; + + @ApiModelProperty("加盟商姓名") + private String partnerName; + } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerPassLetterDetailVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerPassLetterDetailVO.java index cc83453f9..4bb0a40e2 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerPassLetterDetailVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerPassLetterDetailVO.java @@ -9,7 +9,10 @@ public class PartnerPassLetterDetailVO { @ApiModelProperty("加盟商姓名") private String partnerName; - @ApiModelProperty("编码") + @ApiModelProperty("授权码") + private String authCode; + + @ApiModelProperty("通过函编码") private String passCode; @ApiModelProperty("审核城市") diff --git a/coolstore-partner-service/pom.xml b/coolstore-partner-service/pom.xml index 1422f9c1d..d1c4bc08a 100644 --- a/coolstore-partner-service/pom.xml +++ b/coolstore-partner-service/pom.xml @@ -41,6 +41,11 @@ com.aliyun ons20190214 + + + com.aliyun.oss + aliyun-sdk-oss + com.github.pagehelper pagehelper diff --git a/coolstore-partner-service/src/main/java/com/cool/store/oss/OSSServer.java b/coolstore-partner-service/src/main/java/com/cool/store/oss/OSSServer.java new file mode 100644 index 000000000..6f6261d31 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/oss/OSSServer.java @@ -0,0 +1,64 @@ +package com.cool.store.oss; + +import com.aliyun.oss.ClientException; +import com.aliyun.oss.OSS; +import com.aliyun.oss.OSSClientBuilder; +import com.aliyun.oss.OSSException; +import com.aliyun.oss.model.PutObjectRequest; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import java.io.InputStream; + +@Component +@Slf4j +public class OSSServer { + + @Value("${oss.accessKeyId:null}") + private String accessKeyId; + @Value("${oss.accessKeySecret:null}") + private String accessKeySecret; + @Value("${oss.endpoint:null}") + private String endpoint; + @Value("${oss.bucket:null}") + private String bucket; + @Value("${corp.id:null}") + private String corpId; + + /** + * 服务端上传文件的方法 + * ObjectName 为文件存放位置 + 名字,不可包含 bucket + */ + public String uploadFileServer(InputStream inputStream, String objectName) { + // 创建OSSClient实例。 + OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); + try { + // 创建PutObjectRequest对象。 + PutObjectRequest putObjectRequest = new PutObjectRequest(bucket, objectName, inputStream); + // 创建PutObject请求。 + ossClient.putObject(putObjectRequest); + return "http://" + bucket + "." + endpoint + "/" + objectName; + } catch (OSSException oe) { + log.error("Caught an OSSException, which means your request made it to OSS, " + + "but was rejected with an error response for some reason."); + log.error("Error Message:" + oe.getErrorMessage()); + log.error("Error Code:" + oe.getErrorCode()); + log.error("Request ID:" + oe.getRequestId()); + log.error("Host ID:" + oe.getHostId()); + } catch (ClientException ce) { + log.error("Caught an ClientException, which means the client encountered " + + "a serious internal problem while trying to communicate with OSS, " + + "such as not being able to access the network."); + log.error("Error Message:" + ce.getMessage()); + } catch (RuntimeException e) { + throw new RuntimeException(e); + } + finally { + if (ossClient != null) { + ossClient.shutdown(); + } + } + return null; + } +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/InterviewService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/InterviewService.java index b101c26a1..c7e1173ed 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/InterviewService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/InterviewService.java @@ -1,9 +1,11 @@ package com.cool.store.service; +import com.cool.store.dto.partner.EnterInterviewDto; import com.cool.store.request.EntrustOthersReq; import com.cool.store.request.FinishInterviewReq; import com.cool.store.request.GetInterviewListReq; import com.cool.store.request.ModifyInterviewTimeReq; +import com.cool.store.vo.EnterInterviewVO; import com.cool.store.vo.interview.InterviewVO; import java.util.List; @@ -39,4 +41,13 @@ public interface InterviewService { * @param request */ void finishInterview(FinishInterviewReq request); + + /** + * 进入面试间的方法 + * 修改一些面试状态 + * 最后返回 userSign 用于进入腾讯云音视频房间 + * @return userSign 进入视频所需签名 + */ + EnterInterviewVO enterInterviewRoom(EnterInterviewDto dto); + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerInterviewService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerInterviewService.java index efc740737..9d8bca88f 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerInterviewService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerInterviewService.java @@ -1,7 +1,7 @@ package com.cool.store.service; import com.cool.store.dto.partner.EnterInterviewDto; -import com.cool.store.vo.PartnerEnterInterviewVO; +import com.cool.store.vo.EnterInterviewVO; import com.cool.store.vo.PartnerInterviewInfoVO; import com.cool.store.vo.PartnerPassLetterDetailVO; @@ -20,7 +20,7 @@ public interface PartnerInterviewService { * 最后返回 userSign 用于进入腾讯云音视频房间 * @return userSign 进入视频所需签名 */ - PartnerEnterInterviewVO enterInterviewRoom(EnterInterviewDto dto); + EnterInterviewVO enterInterviewRoom(EnterInterviewDto dto); /** * 获取通知函详情 diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java index 5b7fc8700..c4e5488cf 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java @@ -2,8 +2,11 @@ package com.cool.store.service.impl; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; +import com.cool.store.dto.partner.EnterInterviewDto; import com.cool.store.entity.HyPartnerInterviewDO; import com.cool.store.entity.HyPartnerInterviewPlanDO; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.exception.ServiceException; import com.cool.store.mapper.HyPartnerInterviewMapper; import com.cool.store.mapper.HyPartnerInterviewPlanMapper; import com.cool.store.request.EntrustOthersReq; @@ -11,10 +14,14 @@ import com.cool.store.request.FinishInterviewReq; import com.cool.store.request.GetInterviewListReq; import com.cool.store.request.ModifyInterviewTimeReq; import com.cool.store.service.InterviewService; +import com.cool.store.utils.TRTCUtils; +import com.cool.store.vo.EnterInterviewVO; import com.cool.store.vo.interview.InterviewVO; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; @@ -28,9 +35,18 @@ import java.util.List; @Service public class InterviewServiceImpl implements InterviewService { + @Value("${trtc.sdkAppId}") + private Long sdkAppId; + + @Value("${trtc.secretKey}") + private String key; + @Autowired private HyPartnerInterviewPlanMapper hyPartnerInterviewPlanMapper; + @Autowired + private HyPartnerInterviewMapper interviewMapper; + @Autowired private HyPartnerInterviewMapper hyPartnerInterviewMapper; @Override @@ -97,6 +113,35 @@ public class InterviewServiceImpl implements InterviewService { } + /** + * 进入面试间的方法 + * 修改一些面试状态 + * 最后返回 userSign 用于进入腾讯云音视频房间 + * + * @return userSign 进入视频所需签名 + */ + @Override + @Transactional + public EnterInterviewVO enterInterviewRoom(EnterInterviewDto dto) { + try { + //1. 将面试状态改为 --> 2已开始 + interviewMapper.updateInterviewStatus(dto.getInterviewId(), 2); + //3. 修改面试实际开始时间,以第一个人进来的时间为准,后续不再修改 + interviewMapper.updateActualStartTime(dto.getInterviewId(), DateUtil.now()); + //4. 修改加盟商或面试官进入面试时间 + interviewMapper.updateEnterTime(dto.getInterviewId(), dto.getUserType(), DateUtil.now()); + //5. 加盟商如果进入了,就修改面试计划表 is_partner_interview 字段 + interviewMapper.updateWhetherPartnerEnter(dto.getInterviewId()); + //6. 查询对应的面试官id、姓名及加盟商姓名 + EnterInterviewVO vo = interviewMapper.getInterviewerByInterviewId(dto.getInterviewId()); + //生成 userSign + String userSig = TRTCUtils.genUserSig(sdkAppId, key, dto.getUserId()); + vo.setUserSign(userSig); + return vo; + } catch (Exception e) { + throw new ServiceException(ErrorCodeEnum.INTERVIEW_ENTER_FAIL); + } + } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerInterviewServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerInterviewServiceImpl.java index 3507e4f8b..f2606d200 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerInterviewServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerInterviewServiceImpl.java @@ -2,16 +2,16 @@ package com.cool.store.service.impl; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.RandomUtil; +import cn.hutool.core.util.ObjectUtil; import com.cool.store.dto.partner.EnterInterviewDto; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.exception.ServiceException; import com.cool.store.mapper.HyPartnerInterviewMapper; +import com.cool.store.oss.OSSServer; import com.cool.store.service.PartnerInterviewService; -import com.cool.store.utils.PDFUtils; import com.cool.store.utils.PassLetterUtils; import com.cool.store.utils.TRTCUtils; -import com.cool.store.vo.PartnerEnterInterviewVO; +import com.cool.store.vo.EnterInterviewVO; import com.cool.store.vo.PartnerInterviewInfoVO; import com.cool.store.vo.PartnerPassLetterDetailVO; import org.springframework.beans.factory.annotation.Autowired; @@ -19,8 +19,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.io.ByteArrayOutputStream; -import java.io.OutputStream; +import java.io.*; @Service public class PartnerInterviewServiceImpl implements PartnerInterviewService { @@ -28,6 +27,9 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService { @Autowired private HyPartnerInterviewMapper interviewMapper; + @Autowired + private OSSServer ossServer; + @Value("${trtc.sdkAppId}") private Long sdkAppId; @@ -54,7 +56,7 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService { */ @Override @Transactional - public PartnerEnterInterviewVO enterInterviewRoom(EnterInterviewDto dto) { + public EnterInterviewVO enterInterviewRoom(EnterInterviewDto dto) { try { //1. 将面试状态改为 --> 2已开始 interviewMapper.updateInterviewStatus(dto.getInterviewId(), 2); @@ -64,13 +66,11 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService { interviewMapper.updateEnterTime(dto.getInterviewId(), dto.getUserType(), DateUtil.now()); //5. 加盟商如果进入了,就修改面试计划表 is_partner_interview 字段 interviewMapper.updateWhetherPartnerEnter(dto.getInterviewId()); - //6. 查询对应的面试官id - String interviewId = interviewMapper.getInterviewerByInterviewId(dto.getInterviewId()); + //6. 查询对应的面试官id、姓名及加盟商姓名 + EnterInterviewVO vo = interviewMapper.getInterviewerByInterviewId(dto.getInterviewId()); //生成 userSign String userSig = TRTCUtils.genUserSig(sdkAppId, key, dto.getUserId()); - PartnerEnterInterviewVO vo = new PartnerEnterInterviewVO(); vo.setUserSign(userSig); - vo.setInterviewerId(interviewId); return vo; } catch (Exception e) { throw new ServiceException(ErrorCodeEnum.INTERVIEW_ENTER_FAIL); @@ -84,17 +84,8 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService { @Override public PartnerPassLetterDetailVO passLetterDetail(String interviewId) { PartnerPassLetterDetailVO vo = interviewMapper.getPassLetterDetail(interviewId); - //有效期为审批通过次日起第 60 天的 23:59:59,由此倒推 createTime - DateTime expiryDate = DateUtil.parseDate(vo.getExpiryDate()); - DateTime createTime = DateUtil.offsetDay(expiryDate, -61); - vo.setCreateTime(DateUtil.format(createTime, "yyyy-MM-dd")); //解析意向开店区域为市级行政区 String verifyCity = vo.getVerifyCity(); - if (verifyCity == null) { - String passCode = PassLetterUtils.genPassLetter(vo.getPartnerName(), verifyCity, vo.getPassCode(), createTime); - vo.setPassCode(passCode); - return vo; - } String[] split = verifyCity.split("/"); //根据长度来取市级行政区域 if (split.length == 2) { @@ -106,9 +97,35 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService { } else { System.out.println("wrong"); } - String passCode = PassLetterUtils.genPassLetter(vo.getPartnerName(), verifyCity, vo.getPassCode(), createTime); - vo.setPassCode(passCode); + // TODO 调用生成通过函和修改数据库数据的方法 + String passCode = genPassLetterAndUpdateDB(vo, interviewId); + //再查一次 vo + vo = interviewMapper.getPassLetterDetail(interviewId); + //有效期为审批通过次日起第 60 天的 23:59:59,由此倒推 createTime + DateTime expiryDate = DateUtil.parseDate(vo.getExpiryDate()); + DateTime createTime = DateUtil.offsetDay(expiryDate, -60); + vo.setCreateTime(DateUtil.format(createTime, "yyyy-MM-dd")); return vo; } + /** + * TODO 暂时将生成 passLetter 并上传 OSS 和修改数据库对应信息的方法放在这里,实际应该在 800 的回调方法中 + * @return passCode + */ + private String genPassLetterAndUpdateDB(PartnerPassLetterDetailVO passLetterDetail, String interviewId) { + //已经有 passCode 的话就不要再生成了,默认上游全部数据都正确 + if (ObjectUtil.isEmpty(passLetterDetail.getPassCode())) { + DateTime createTime = DateUtil.date(); + String code = passLetterDetail.getPassCode() == null ? PassLetterUtils.genPassCode(createTime) : passLetterDetail.getPassCode(); + ByteArrayOutputStream outputStream = PassLetterUtils.genPassLetter(passLetterDetail.getPartnerName(), code, passLetterDetail.getVerifyCity(), createTime); + ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray()); + String passFileUrl = ossServer.uploadFileServer(inputStream, "partner/passLetter/" + code + ".pdf"); + //计算有效期截至日期 + DateTime expiryDate = DateUtil.offsetDay(createTime, 60); + String expiryDateStr = DateUtil.format(expiryDate, "yyyy-MM-dd") + " 23:59:59"; + interviewMapper.updatePassLetterInfo(code, passFileUrl, expiryDateStr, interviewId); + } + return passLetterDetail.getPassCode(); + } + } diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/InterviewController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/InterviewController.java index 4a4453ae9..c8360f4b7 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/InterviewController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/InterviewController.java @@ -1,8 +1,10 @@ package com.cool.store.controller; +import com.cool.store.dto.partner.EnterInterviewDto; import com.cool.store.request.*; import com.cool.store.response.ResponseResult; import com.cool.store.service.InterviewService; +import com.cool.store.vo.EnterInterviewVO; import com.cool.store.vo.interview.InterviewVO; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -65,6 +67,10 @@ public class InterviewController { return ResponseResult.success(); } - + @PostMapping("/enter") + @ApiOperation("进入面试间") + public ResponseResult enterInterviewRoom(@RequestBody EnterInterviewDto dto) { + return ResponseResult.success(interviewService.enterInterviewRoom(dto)); + } } diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/controller/InterviewController.java b/coolstore-partner-webc/src/main/java/com/cool/store/controller/InterviewController.java index 96c06b465..3af188129 100644 --- a/coolstore-partner-webc/src/main/java/com/cool/store/controller/InterviewController.java +++ b/coolstore-partner-webc/src/main/java/com/cool/store/controller/InterviewController.java @@ -3,25 +3,14 @@ package com.cool.store.controller; import com.cool.store.dto.partner.EnterInterviewDto; import com.cool.store.response.ResponseResult; import com.cool.store.service.PartnerInterviewService; -import com.cool.store.utils.PDFUtils; -import com.cool.store.vo.PartnerEnterInterviewVO; +import com.cool.store.vo.EnterInterviewVO; import com.cool.store.vo.PartnerInterviewInfoVO; import com.cool.store.vo.PartnerPassLetterDetailVO; -import com.lowagie.text.Document; -import com.lowagie.text.Image; -import com.lowagie.text.pdf.PdfWriter; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.apache.tomcat.util.http.fileupload.IOUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import javax.servlet.ServletOutputStream; -import javax.servlet.http.HttpServletResponse; -import java.io.*; -import java.nio.file.Files; -import java.nio.file.Paths; - @Api(tags = "加盟商资格面试") @RestController @RequestMapping("interview") @@ -38,7 +27,7 @@ public class InterviewController { @PostMapping("/enter") @ApiOperation("进入面试间") - public ResponseResult enterInterviewRoom(@RequestBody EnterInterviewDto dto) { + public ResponseResult enterInterviewRoom(@RequestBody EnterInterviewDto dto) { return ResponseResult.success(interviewService.enterInterviewRoom(dto)); } From 8a674179989a2f357d6a16b33605f5f91df2636a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Thu, 15 Jun 2023 19:26:51 +0800 Subject: [PATCH 10/17] =?UTF-8?q?=E6=8B=9B=E5=95=86=E7=BB=8F=E7=90=86?= =?UTF-8?q?=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/constants/CommonConstants.java | 4 ++ .../store/dao/HyIntendDevZoneInfoDAO.java | 1 - .../store/dao/HyPartnerIntentInfoDAO.java | 2 +- .../mapper/HyPartnerIntentInfoMapper.java | 2 +- .../mapper/HyPartnerIntentInfoMapper.xml | 2 +- .../store/vo/EnterpriseUserSingleInfoVO.java | 18 ++++++ .../cool/store/vo/PartnerIntentInfoVO.java | 6 ++ .../store/service/EnterpriseUserService.java | 9 +++ .../service/HyPartnerIntentInfoService.java | 3 +- .../com/cool/store/service/ZoneService.java | 6 ++ .../impl/EnterpriseUserServiceImpl.java | 59 ++++++++++++++++++ .../impl/HyPartnerIntentInfoServiceImpl.java | 60 +++++++++++++++---- .../store/service/impl/ZoneServiceImpl.java | 17 +++++- .../cool/store/controller/DeskController.java | 34 ++++++++++- .../store/controller/RegionController.java | 16 +++++ .../cool/store/controller/ZoneController.java | 8 +++ 16 files changed, 226 insertions(+), 21 deletions(-) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/vo/EnterpriseUserSingleInfoVO.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java b/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java index 31a74495e..07f705625 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java @@ -114,4 +114,8 @@ public class CommonConstants { public static final String FOLLOW = "follow"; public static final String PENDING = "pending"; + public static final String ALLOCATION = "allocation"; + + public static final String TRANSFER = "transfer"; + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevZoneInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevZoneInfoDAO.java index 89d265abe..a8b47cfc5 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevZoneInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevZoneInfoDAO.java @@ -46,5 +46,4 @@ public class HyIntendDevZoneInfoDAO { - } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerIntentInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerIntentInfoDAO.java index 211c5f87f..1196ec32a 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerIntentInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerIntentInfoDAO.java @@ -48,7 +48,7 @@ public class HyPartnerIntentInfoDAO { } - public PartnerIntentApplyInfoDTO selectByLineId(Long lineId){ + public HyPartnerIntentInfoDO selectByLineId(Long lineId){ if (lineId==null){ return null; } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerIntentInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerIntentInfoMapper.java index cd68c7a3e..ea75a2a96 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerIntentInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerIntentInfoMapper.java @@ -46,5 +46,5 @@ public interface HyPartnerIntentInfoMapper { * @param lineId * @return */ - PartnerIntentApplyInfoDTO selectByLineId(@Param("lineId") Long lineId); + HyPartnerIntentInfoDO selectByLineId(@Param("lineId") Long lineId); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerIntentInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerIntentInfoMapper.xml index e495f858c..aa14b21b3 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerIntentInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerIntentInfoMapper.xml @@ -279,7 +279,7 @@ order by b.create_time - select from hy_partner_intent_info diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/EnterpriseUserSingleInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/EnterpriseUserSingleInfoVO.java new file mode 100644 index 000000000..e08f6e3cd --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/EnterpriseUserSingleInfoVO.java @@ -0,0 +1,18 @@ +package com.cool.store.vo; + +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2023/6/15 14:31 + * @Version 1.0 + */ +@Data +public class EnterpriseUserSingleInfoVO { + + private String userId; + + private String userName; + + private String mobile; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerIntentInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerIntentInfoVO.java index fb2d1271c..42b1ddf1e 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerIntentInfoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerIntentInfoVO.java @@ -22,6 +22,12 @@ public class PartnerIntentInfoVO { @ApiModelProperty("hy_partner_user_info.partner_id") private String partnerId; + @ApiModelProperty("加盟商姓名") + private String partnerUserName; + + @ApiModelProperty("加盟商手机号") + private String partnerUserPhone; + @ApiModelProperty("hy_partner_line_info.id") private Long partnerLineId; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/EnterpriseUserService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/EnterpriseUserService.java index 53da2b8ef..ced52a735 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/EnterpriseUserService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/EnterpriseUserService.java @@ -1,6 +1,7 @@ package com.cool.store.service; import com.cool.store.entity.EnterpriseUserDO; import com.cool.store.request.EnterpriseUserRequest; +import com.cool.store.vo.EnterpriseUserSingleInfoVO; import com.cool.store.vo.buser.EnterpriseUserPageVO; import java.util.List; @@ -16,4 +17,12 @@ public interface EnterpriseUserService { EnterpriseUserDO getUserInfoByUserId(String userId); + + /** + * + * @param userId + * @return + */ + List getInvestmentManagerList(String type,String userId,String keyword); + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerIntentInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerIntentInfoService.java index 47a14455b..915635b6e 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerIntentInfoService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerIntentInfoService.java @@ -2,6 +2,7 @@ package com.cool.store.service; import com.cool.store.request.BaseUserInfoRequest; import com.cool.store.vo.PartnerIntentApplyInfoVO; +import com.cool.store.vo.PartnerIntentInfoVO; import com.github.pagehelper.PageInfo; /** @@ -27,7 +28,7 @@ public interface HyPartnerIntentInfoService { * @param lineId * @return */ - PartnerIntentApplyInfoVO getPartnerIntentApplyInfo(Long lineId); + PartnerIntentInfoVO getPartnerIntentApplyDetail(Long lineId); /** * 员工端 修改加盟商意向信息 diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/ZoneService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/ZoneService.java index 8526bccfd..1dfdccc5c 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/ZoneService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/ZoneService.java @@ -61,6 +61,12 @@ public interface ZoneService { */ List checkZone(IntentAreaSettingRequest intentAreaSettingRequest); + /** + * 查询所有绑定战区的组织机构 + * @return + */ + List queryAllBingZoneRegionList(String type); + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseUserServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseUserServiceImpl.java index ad101df9a..fd897c898 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseUserServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseUserServiceImpl.java @@ -1,11 +1,19 @@ package com.cool.store.service.impl; +import com.cool.store.constants.CommonConstants; import com.cool.store.dao.*; import com.cool.store.entity.*; import com.cool.store.service.EnterpriseUserService; +import com.cool.store.service.ZoneService; +import com.cool.store.vo.EnterpriseUserSingleInfoVO; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; /** * @author zhangchenbiao @@ -22,10 +30,61 @@ public class EnterpriseUserServiceImpl implements EnterpriseUserService { private EnterpriseUserDAO enterpriseUserDAO; @Resource private EnterpriseUserRoleDAO enterpriseUserRoleDAO; + @Resource + ZoneService zoneService; + @Resource + RegionDAO regionDAO; + @Resource + UserRegionMappingDAO userRegionMappingDAO; + @Override public EnterpriseUserDO getUserInfoByUserId(String userId) { return enterpriseUserDAO.getUserInfoById(userId); } + + @Override + public List getInvestmentManagerList(String type,String userId, String keyword) { + //查询当前人员信息 + EnterpriseUserDO userInfo = enterpriseUserDAO.getUserInfoById(userId); + + //当前登录人所在组织机构 + List regionIds = userRegionMappingDAO.getRegionIdsByUserId(userId); + + //所有绑定了战区的组织机构 + List list = zoneService.queryAllBingZoneRegionList("intend"); + HashSet regionList = new HashSet<>(); + regionIds.forEach(x->{ + if (list.contains(x)){ + regionList.add(x); + } + }); + //分配 + //如果是招商经理 只能分配给自己 + //如果是负责人 分配给负责人所在战区人员 + List enterpriseUserDOS = new ArrayList<>(); + if (CommonConstants.ALLOCATION.equals(type)){ + if (userInfo.getIsLeader()){ + enterpriseUserDOS = enterpriseUserDAO.searchUserByRegionIdsAndKeyword(new ArrayList<>(regionList), keyword, Boolean.TRUE); + } + if (CollectionUtils.isNotEmpty(regionList)){ + //只有招商经理本人 + enterpriseUserDOS.add(userInfo); + } + } + //转交 所有的招商经理 + if (CommonConstants.TRANSFER.equals(type)){ + enterpriseUserDOS = enterpriseUserDAO.searchUserByRegionIdsAndKeyword(new ArrayList<>(regionList), keyword, Boolean.TRUE); + } + List enterpriseUserSingleInfoVOS = new ArrayList<>(); + enterpriseUserDOS.forEach(x->{ + EnterpriseUserSingleInfoVO enterpriseUserSingleInfoVO = new EnterpriseUserSingleInfoVO(); + enterpriseUserSingleInfoVO.setUserId(x.getUserId()); + enterpriseUserSingleInfoVO.setUserName(x.getName()); + enterpriseUserSingleInfoVO.setMobile(x.getMobile()); + enterpriseUserSingleInfoVOS.add(enterpriseUserSingleInfoVO); + }); + return enterpriseUserSingleInfoVOS; + } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java index b3c43a44e..02c75d133 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java @@ -1,11 +1,13 @@ package com.cool.store.service.impl; +import com.alibaba.fastjson.JSONObject; import com.cool.store.constants.CommonConstants; import com.cool.store.dao.HyPartnerBaseInfoDAO; import com.cool.store.dao.HyPartnerIntentInfoDAO; import com.cool.store.dao.HyPartnerLineInfoDAO; import com.cool.store.dao.HyPartnerUserInfoDAO; import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO; +import com.cool.store.entity.HyPartnerIntentInfoDO; import com.cool.store.entity.HyPartnerUserInfoDO; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.WorkflowStageEnum; @@ -13,9 +15,12 @@ import com.cool.store.enums.WorkflowStatusEnum; import com.cool.store.exception.ServiceException; import com.cool.store.request.BaseUserInfoRequest; import com.cool.store.service.HyPartnerIntentInfoService; +import com.cool.store.utils.StringUtil; import com.cool.store.vo.PartnerIntentApplyInfoVO; +import com.cool.store.vo.PartnerIntentInfoVO; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.google.common.collect.Lists; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -73,17 +78,6 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic return partnerIntentApplyInfo; } - @Override - public PartnerIntentApplyInfoVO getPartnerIntentApplyInfo(Long lineId) { - PartnerIntentApplyInfoDTO partnerIntentApplyInfoDTO= hyPartnerIntentInfoDAO.selectByLineId(lineId); - PartnerIntentApplyInfoVO partnerIntentApplyInfoVO = partnerIntentApplyInfoDTOToVo(partnerIntentApplyInfoDTO); - HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(partnerIntentApplyInfoDTO.getPartnerId()); - partnerIntentApplyInfoVO.setPartnerUserName(hyPartnerUserInfoDO.getUsername()); - partnerIntentApplyInfoVO.setPartnerUserPhone(hyPartnerUserInfoDO.getMobile()); - //todo su 手机号归属地 意向申请区域名称 - return partnerIntentApplyInfoVO; - } - @Override public Boolean updatePartnerIntentInfo(BaseUserInfoRequest baseUserInfoRequest) { HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(String.valueOf(baseUserInfoRequest.getPartnerId())); @@ -102,6 +96,17 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic return Boolean.TRUE; } + @Override + public PartnerIntentInfoVO getPartnerIntentApplyDetail(Long lineId) { + HyPartnerIntentInfoDO hyPartnerIntentInfoDO= hyPartnerIntentInfoDAO.selectByLineId(lineId); + PartnerIntentInfoVO partnerIntentInfoVO = convertPartnerIntentApplyInfoDOToVO(hyPartnerIntentInfoDO); + HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(hyPartnerIntentInfoDO.getPartnerId()); + partnerIntentInfoVO.setPartnerUserName(hyPartnerUserInfoDO.getUsername()); + partnerIntentInfoVO.setPartnerUserPhone(hyPartnerUserInfoDO.getMobile()); + //todo su 手机号归属地 意向申请区域名称 + return partnerIntentInfoVO; + } + /** * partnerIntentApplyInfoDTOToVo * @param partnerIntentApplyInfoDTO @@ -121,4 +126,37 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic } + /** + * + * @param hyPartnerIntentInfoDO + * @return + */ + private PartnerIntentInfoVO convertPartnerIntentApplyInfoDOToVO(HyPartnerIntentInfoDO hyPartnerIntentInfoDO){ + PartnerIntentInfoVO partnerIntentInfoVO = new PartnerIntentInfoVO(); + partnerIntentInfoVO.setId(hyPartnerIntentInfoDO.getId()); + partnerIntentInfoVO.setPartnerId(hyPartnerIntentInfoDO.getPartnerId()); + partnerIntentInfoVO.setPartnerLineId(hyPartnerIntentInfoDO.getPartnerLineId()); + partnerIntentInfoVO.setAcceptAdjustType(hyPartnerIntentInfoDO.getAcceptAdjustType()); + partnerIntentInfoVO.setLiveArea(hyPartnerIntentInfoDO.getLiveArea()); + partnerIntentInfoVO.setWantShopArea(hyPartnerIntentInfoDO.getWantShopArea()); + partnerIntentInfoVO.setEducation(hyPartnerIntentInfoDO.getEducation()); + partnerIntentInfoVO.setMaxBudget(hyPartnerIntentInfoDO.getMaxBudget()); + partnerIntentInfoVO.setBrandStrength(hyPartnerIntentInfoDO.getBrandStrength()); + partnerIntentInfoVO.setIsConsumer(hyPartnerIntentInfoDO.getIsConsumer()); + partnerIntentInfoVO.setIsHaveWantShop(hyPartnerIntentInfoDO.getIsHaveWantShop()); + partnerIntentInfoVO.setIsHaveWorkExp(hyPartnerIntentInfoDO.getIsHaveWorkExp()); + partnerIntentInfoVO.setMoneyProve(StringUtil.isEmpty(hyPartnerIntentInfoDO.getMoneyProve())? + Lists.newArrayList(): JSONObject.parseArray(hyPartnerIntentInfoDO.getMoneyProve(),String.class)); + partnerIntentInfoVO.setMoneySource(hyPartnerIntentInfoDO.getMoneySource()); + partnerIntentInfoVO.setWorkYear(hyPartnerIntentInfoDO.getWorkYear()); + partnerIntentInfoVO.setWeakness(hyPartnerIntentInfoDO.getWeakness()); + partnerIntentInfoVO.setCreateTime(hyPartnerIntentInfoDO.getCreateTime()); + partnerIntentInfoVO.setOtherBand(hyPartnerIntentInfoDO.getOtherBand()); + partnerIntentInfoVO.setStrength(hyPartnerIntentInfoDO.getStrength()); + partnerIntentInfoVO.setNeedImprove(hyPartnerIntentInfoDO.getNeedImprove()); + return partnerIntentInfoVO; + } + + + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ZoneServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ZoneServiceImpl.java index 52aae654d..58bac567c 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ZoneServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ZoneServiceImpl.java @@ -201,13 +201,26 @@ public class ZoneServiceImpl implements ZoneService { List openAreaIdList = list.stream().map(ZoneCheckDTO::getOpenAreaMappingId).collect(Collectors.toList()); List hyOpenAreaInfoDOList = openAreaInfoDAO.selectByIds(openAreaIdList); Map areaNameMap = hyOpenAreaInfoDOList.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, HyOpenAreaInfoDO::getAreaName)); - List reslut = new ArrayList<>(); + List result = new ArrayList<>(); list.forEach(x->{ ZoneCheckVO zoneCheckVO = new ZoneCheckVO(); zoneCheckVO.setZoneName(x.getZoneName()); String areaName = areaNameMap.get(x.getOpenAreaMappingId()); zoneCheckVO.setAreaName(areaName); + result.add(zoneCheckVO); }); - return reslut; + return result; } + + @Override + public List queryAllBingZoneRegionList(String type) { + PageInfo intend = hyIntendDevZoneInfoDAO.getHyIntendDevZoneInfoList(type); + List list = intend.getList(); + List resultList = list.stream().filter(x->StringUtil.isNotEmpty(x.getAssociatedRegionId())) + .flatMap(HyIntendDevZoneInfoDO -> JSONObject.parseArray(HyIntendDevZoneInfoDO.getAssociatedRegionId(), String.class).stream()) + .collect(Collectors.toList()); + return resultList; + } + + } diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java index 3fa03560e..a18ad5337 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java @@ -1,7 +1,10 @@ package com.cool.store.controller; import com.cool.store.context.CurrentUserHolder; +import com.cool.store.dto.calendar.UserCalendarsEventDTO; import com.cool.store.enums.LineStatusEnum; +import com.cool.store.exception.ApiException; +import com.cool.store.http.ISVHttpRequest; import com.cool.store.request.*; import com.cool.store.response.ResponseResult; import com.cool.store.service.*; @@ -36,7 +39,10 @@ public class DeskController { HyPartnerLineInfoService hyPartnerLineInfoService; @Resource HyPartnerBaseInfoService hyPartnerBaseInfoService; - + @Resource + private ISVHttpRequest isvHttpRequest; + @Resource + EnterpriseUserService enterpriseUserService; @GetMapping(path = "/interviewSchedule") @@ -48,6 +54,28 @@ public class DeskController { } + @GetMapping(path = "/getInvestmentManagerList") + @ApiOperation("招商经理") + @ApiImplicitParams({ + @ApiImplicitParam(name = "type", value = "allocation-招商经理 transfer", required = false), + @ApiImplicitParam(name = "keyword", value = "keyword", required = false), + }) + public ResponseResult> getInvestmentManagerList(String type,String keyword){ + return ResponseResult.success(enterpriseUserService.getInvestmentManagerList(type,CurrentUserHolder.getUserId(),keyword)); + } + + + @GetMapping(path = "/interviewSchedule") + @ApiOperation("飞书日程信息") + public ResponseResult> interviewSchedule(@RequestParam(value = "startTime",required = true) Long startTime, + @RequestParam(value = "endTime",required = true) Long endTime) throws ApiException { + + String userId = CurrentUserHolder.getUserId(); + return ResponseResult.success(isvHttpRequest.getUserCalendarsEvents(userId,startTime,endTime)); + } + + + @GetMapping(path = "/queryStageCount") @ApiOperation("招商经理视角====各阶段待处理待跟进数量") @ApiImplicitParams({ @@ -118,8 +146,8 @@ public class DeskController { @ApiImplicitParams({ @ApiImplicitParam(name = "lineId", value = "线索ID", required = false), }) - public ResponseResult getPartnerIntentInfo(@RequestParam(value = "lineId",required = false)Long lineId){ - return ResponseResult.success(hyPartnerIntentInfoService.getPartnerIntentApplyInfo(lineId)); + public ResponseResult getPartnerIntentInfo(@RequestParam(value = "lineId",required = false)Long lineId){ + return ResponseResult.success(hyPartnerIntentInfoService.getPartnerIntentApplyDetail(lineId)); } diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/RegionController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/RegionController.java index 436ca5c64..20703f5ad 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/RegionController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/RegionController.java @@ -2,11 +2,16 @@ package com.cool.store.controller; import com.cool.store.response.ResponseResult; import com.cool.store.service.RegionService; +import com.cool.store.service.ZoneService; import com.cool.store.vo.region.RegionBaseInfoVO; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +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; @@ -28,6 +33,8 @@ public class RegionController { @Resource private RegionService regionService; + @Resource + ZoneService zoneService; @GetMapping("/getRegionList") public ResponseResult> getRegionBaseInfoList(){ @@ -36,4 +43,13 @@ public class RegionController { } + @ApiOperation("查询所有被绑定战区的组织机构") + @ApiImplicitParams({ + @ApiImplicitParam(name = "type", value = "intent-意向区域 development 开发区域", required = false) + }) + @GetMapping("/queryAllBingZoneRegionList") + public ResponseResult> queryAllBingZoneRegionList(@RequestParam(value = "type",required = false)String type){ + return ResponseResult.success(zoneService.queryAllBingZoneRegionList(type)); + } + } diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/ZoneController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/ZoneController.java index a3e150335..65a49967a 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/ZoneController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/ZoneController.java @@ -4,6 +4,7 @@ import com.cool.store.context.CurrentUserHolder; import com.cool.store.request.IntentAreaSettingRequest; import com.cool.store.response.ResponseResult; import com.cool.store.service.ZoneService; +import com.cool.store.vo.ZoneCheckVO; import com.cool.store.vo.ZoneVO; import com.github.pagehelper.PageInfo; import io.swagger.annotations.ApiImplicitParam; @@ -13,6 +14,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; /** * @Author suzhuhong @@ -32,6 +34,12 @@ public class ZoneController { return ResponseResult.success(zoneService.addZone( CurrentUserHolder.getUserId(),intentAreaSettingRequest)); } + @PostMapping(path = "/checkZone") + @ApiOperation("校验战区") + public ResponseResult> checkZone(@RequestBody IntentAreaSettingRequest intentAreaSettingRequest){ + return ResponseResult.success(zoneService.checkZone(intentAreaSettingRequest)); + } + @PostMapping(path = "/updateZone") @ApiOperation("编辑意向战区/开发战区") public ResponseResult updateZone(@RequestBody IntentAreaSettingRequest intentAreaSettingRequest){ From 3d52ccaa5b387e05316691b3fcf9d4a29a82217e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Thu, 15 Jun 2023 19:31:10 +0800 Subject: [PATCH 11/17] =?UTF-8?q?=E6=8B=9B=E5=95=86=E7=BB=8F=E7=90=86?= =?UTF-8?q?=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/cool/store/controller/DeskController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java index a18ad5337..3098e57d5 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java @@ -65,9 +65,9 @@ public class DeskController { } - @GetMapping(path = "/interviewSchedule") + @GetMapping(path = "/getUserCalendarsEvents") @ApiOperation("飞书日程信息") - public ResponseResult> interviewSchedule(@RequestParam(value = "startTime",required = true) Long startTime, + public ResponseResult> getUserCalendarsEvents(@RequestParam(value = "startTime",required = true) Long startTime, @RequestParam(value = "endTime",required = true) Long endTime) throws ApiException { String userId = CurrentUserHolder.getUserId(); From 0ad84af01fab6f5b5b8bf2cadbfa0addfb2d8460 Mon Sep 17 00:00:00 2001 From: wxp01309236 Date: Thu, 15 Jun 2023 22:04:30 +0800 Subject: [PATCH 12/17] =?UTF-8?q?=E6=84=8F=E5=90=91=E4=B9=A6=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E7=BB=B4=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/enums/ErrorCodeEnum.java | 2 + .../cool/store/dao/HyPartnerBaseInfoDAO.java | 9 +- .../com/cool/store/dao/HyPartnerClerkDAO.java | 26 +++++- .../store/dao/HyPartnerIntentInfoDAO.java | 11 ++- .../cool/store/dao/HyPartnerLineInfoDAO.java | 9 +- .../cool/store/dao/HyPartnerUserInfoDAO.java | 7 ++ .../store/mapper/HyPartnerBaseInfoMapper.java | 3 + .../store/mapper/HyPartnerClerkMapper.java | 13 +++ .../mapper/HyPartnerIntentInfoMapper.java | 2 + .../store/mapper/HyPartnerLineInfoMapper.java | 5 +- .../store/mapper/HyPartnerUserInfoMapper.java | 3 + .../mapper/HyPartnerBaseInfoMapper.xml | 8 ++ .../resources/mapper/HyPartnerClerkMapper.xml | 33 ++++++++ .../mapper/HyPartnerIntentInfoMapper.xml | 7 ++ .../mapper/HyPartnerLineInfoMapper.xml | 7 ++ .../mapper/HyPartnerUserInfoMapper.xml | 7 ++ .../request/PartnerIntentInfoRequest.java | 6 ++ .../service/HyPartnerBaseInfoService.java | 6 ++ .../store/service/HyPartnerClerkService.java | 5 ++ .../service/HyPartnerIntentInfoService.java | 5 ++ .../store/service/PartnerUserInfoService.java | 7 ++ .../impl/HyPartnerBaseInfoServiceImpl.java | 51 ++++++++++++ .../service/impl/HyPartnerClerkImpl.java | 41 ---------- .../impl/HyPartnerClerkServiceImpl.java | 82 +++++++++++++++++++ .../impl/HyPartnerIntentInfoServiceImpl.java | 54 ++++++++++++ .../impl/PartnerUserInfoServiceImpl.java | 27 ++++++ .../store/controller/PartnerController.java | 51 ++++++------ 27 files changed, 412 insertions(+), 75 deletions(-) delete mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkImpl.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkServiceImpl.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index e6650568f..78257f53f 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 @@ -55,6 +55,8 @@ public enum ErrorCodeEnum { WORK_FLOW_STAGE_PASS_ERROR(500002, "通过错误,非对应阶段!", null), PARTNER_USER_NOT_EXIST(500003, "加盟商用户信息不存在!", null), ZONE_NOT_EXIST(500004, "战区不存在!", null), + PARTNER_BASEINFO_NOT_EXIST(500005, "基本信息不存在!", null), + INTENT_INFO_NOT_EXIST(500006, "意向信息不存在!", null), INTERVIEW_ENTER_FAIL(1021101, "进入面试间失败", null), diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerBaseInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerBaseInfoDAO.java index edcd63f67..9e141f57d 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerBaseInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerBaseInfoDAO.java @@ -2,7 +2,7 @@ package com.cool.store.dao; import com.cool.store.entity.HyPartnerBaseInfoDO; import com.cool.store.mapper.HyPartnerBaseInfoMapper; -import org.apache.ibatis.annotations.Param; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Repository; import javax.annotation.Resource; @@ -38,4 +38,11 @@ public class HyPartnerBaseInfoDAO { return hyPartnerBaseInfoMapper.updateByPartnerId(userName,mobile,partnerId); } + public HyPartnerBaseInfoDO getByPartnerIdAndLineId(String partnerId, Long partnerLineId){ + if (StringUtils.isEmpty(partnerId) || partnerLineId == null){ + return null; + } + return hyPartnerBaseInfoMapper.getByPartnerIdAndLineId(partnerId, partnerLineId); + } + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerClerkDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerClerkDAO.java index 5edcb6f2e..8963346a6 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerClerkDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerClerkDAO.java @@ -2,11 +2,14 @@ package com.cool.store.dao; import com.cool.store.entity.HyPartnerClerkDO; import com.cool.store.mapper.HyPartnerClerkMapper; -import org.apache.ibatis.annotations.Param; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Repository; import javax.annotation.Resource; +import java.util.Collections; import java.util.List; +import java.util.Objects; /** * @Author suzhuhong @@ -31,4 +34,25 @@ public class HyPartnerClerkDAO { return hyPartnerClerkMapper.getHyPartnerClerkList(lineId); } + public int batchInsert(List hyPartnerClerkDOList){ + if (CollectionUtils.isEmpty(hyPartnerClerkDOList)){ + return -1; + } + return hyPartnerClerkMapper.batchInsert(hyPartnerClerkDOList); + } + + public void deleteByPartnerIdAndLineId(String partnerId, Long partnerLineId){ + if (StringUtils.isEmpty(partnerId) || Objects.isNull(partnerLineId)){ + return; + } + hyPartnerClerkMapper.deleteByPartnerIdAndLineId(partnerId, partnerLineId); + } + + public List listByPartnerIdAndLineId(String partnerId, Long partnerLineId){ + if (StringUtils.isEmpty(partnerId) || Objects.isNull(partnerLineId)){ + return Collections.emptyList(); + } + return hyPartnerClerkMapper.listByPartnerIdAndLineId(partnerId, partnerLineId); + } + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerIntentInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerIntentInfoDAO.java index 1196ec32a..c950a1fed 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerIntentInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerIntentInfoDAO.java @@ -4,13 +4,11 @@ import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO; import com.cool.store.entity.HyPartnerIntentInfoDO; import com.cool.store.mapper.HyPartnerIntentInfoMapper; import com.github.pagehelper.PageInfo; -import com.google.common.collect.Lists; import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import javax.annotation.Resource; -import java.util.List; +import java.util.Objects; /** * @Author suzhuhong @@ -55,5 +53,12 @@ public class HyPartnerIntentInfoDAO { return hyPartnerIntentInfoMapper.selectByLineId(lineId); } + public HyPartnerIntentInfoDO getByPartnerIdAndLineId(String partnerId, Long partnerLineId){ + if (StringUtils.isEmpty(partnerId) || Objects.isNull(partnerLineId)){ + return null; + } + return hyPartnerIntentInfoMapper.getByPartnerIdAndLineId(partnerId, partnerLineId); + } + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java index 471c5ad53..5ee627712 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java @@ -1,7 +1,6 @@ package com.cool.store.dao; import com.cool.store.dto.partner.PartnerBlackListDTO; -import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO; import com.cool.store.dto.partner.PartnerLineInfoAndBaseInfoDTO; import com.cool.store.dto.partner.StageCountDTO; import com.cool.store.entity.HyPartnerLineInfoDO; @@ -10,7 +9,6 @@ import com.github.pagehelper.PageInfo; import com.google.common.collect.Lists; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import javax.annotation.Resource; @@ -125,7 +123,12 @@ public class HyPartnerLineInfoDAO { return hyPartnerLineInfoMapper.joinAndRemoveBlack(lineId,status,joinReason,removeReason); } - + public HyPartnerLineInfoDO getByPartnerId(String partnerId){ + if (StringUtils.isEmpty(partnerId)){ + return null; + } + return hyPartnerLineInfoMapper.getByPartnerId(partnerId); + } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerUserInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerUserInfoDAO.java index ec703675d..f03520321 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerUserInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerUserInfoDAO.java @@ -68,5 +68,12 @@ public class HyPartnerUserInfoDAO { return hyPartnerUserInfoMapper.insertSelective(record); } + public int updateJoinKnowById(Integer isWritePartnerKnow, Long id){ + if (id == null || isWritePartnerKnow == null){ + return 0; + } + return hyPartnerUserInfoMapper.updateJoinKnowById(isWritePartnerKnow, id); + } + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerBaseInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerBaseInfoMapper.java index a2acbe68b..6488260db 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerBaseInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerBaseInfoMapper.java @@ -33,4 +33,7 @@ public interface HyPartnerBaseInfoMapper { int updateByPartnerId(@Param("userName") String userName, @Param("mobile") String mobile, @Param("partnerId") String partnerId); + + HyPartnerBaseInfoDO getByPartnerIdAndLineId(@Param("partnerId") String partnerId, @Param("partnerLineId") Long partnerLineId); + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerClerkMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerClerkMapper.java index c463c7bce..5f56188b7 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerClerkMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerClerkMapper.java @@ -27,4 +27,17 @@ public interface HyPartnerClerkMapper { List getHyPartnerClerkList(@Param("lineId") Long lineId); + + int batchInsert(@Param("recordList") List recordList); + + void deleteByPartnerIdAndLineId(@Param("partnerId") String partnerId, @Param("partnerLineId") Long partnerLineId); + + /** + * 查询店员信息 + * @return + */ + List listByPartnerIdAndLineId(@Param("partnerId") String partnerId, + @Param("partnerLineId") Long partnerLineId); + + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerIntentInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerIntentInfoMapper.java index ea75a2a96..711026290 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerIntentInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerIntentInfoMapper.java @@ -47,4 +47,6 @@ public interface HyPartnerIntentInfoMapper { * @return */ HyPartnerIntentInfoDO selectByLineId(@Param("lineId") Long lineId); + + HyPartnerIntentInfoDO getByPartnerIdAndLineId(@Param("partnerId") String partnerId, @Param("partnerLineId") Long partnerLineId); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java index 274c09095..88e518079 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java @@ -1,11 +1,9 @@ package com.cool.store.mapper; import com.cool.store.dto.partner.PartnerBlackListDTO; -import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO; import com.cool.store.dto.partner.PartnerLineInfoAndBaseInfoDTO; import com.cool.store.dto.partner.StageCountDTO; import com.cool.store.entity.HyPartnerLineInfoDO; -import com.cool.store.entity.HyPartnerLineInfoDO; import com.github.pagehelper.PageInfo; import org.apache.ibatis.annotations.Param; @@ -132,4 +130,7 @@ public interface HyPartnerLineInfoMapper { @Param("joinReason") String joinReason, @Param("removeReason") String removeReason); + HyPartnerLineInfoDO getByPartnerId(@Param("partnerId") String partnerId); + + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerUserInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerUserInfoMapper.java index 124d573f6..5bf4ead72 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerUserInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerUserInfoMapper.java @@ -40,4 +40,7 @@ public interface HyPartnerUserInfoMapper { * @return */ List selectByPartnerIds(@Param("partnerIdList") List partnerIdList); + + int updateJoinKnowById(@Param("isWritePartnerKnow")Integer isWritePartnerKnow, @Param("id")Long id); + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml index 3fde0213b..8168519e8 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml @@ -216,4 +216,12 @@ where partner_id = #{partnerId} + + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerClerkMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerClerkMapper.xml index 508288dec..925976e59 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerClerkMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerClerkMapper.xml @@ -108,4 +108,37 @@ from hy_partner_clerk where partner_line_id = #{lineId} + + + insert into + hy_partner_clerk + ( + partner_line_id, + partner_id, + username, + relationship, + age, + choose_reason + ) + values + + (#{record.partnerLineId}, + #{record.partnerId}, + #{record.username}, + #{record.relationship}, + #{record.age}, + #{record.chooseReason}) + + + + + delete from hy_partner_clerk where partner_id = #{partnerId} and partner_line_id = #{partnerLineId} + + + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerIntentInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerIntentInfoMapper.xml index aa14b21b3..dbb61371e 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerIntentInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerIntentInfoMapper.xml @@ -288,4 +288,11 @@ + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml index 9c1866d01..8e9a4387f 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml @@ -384,4 +384,11 @@ where id = #{lineId} + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerUserInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerUserInfoMapper.xml index 053fa7474..6fd0729d7 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerUserInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerUserInfoMapper.xml @@ -147,4 +147,11 @@ where id = #{record.id} + + + update hy_partner_user_info + set `is_write_partner_know`=#{isWritePartnerKnow,jdbcType=INTEGER} + where id=#{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerIntentInfoRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerIntentInfoRequest.java index 65d164d98..5d74e7ec2 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerIntentInfoRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerIntentInfoRequest.java @@ -18,6 +18,12 @@ public class PartnerIntentInfoRequest { @ApiModelProperty("") private Long id; + @ApiModelProperty("线索表ID") + private Long partnerLineId; + + @ApiModelProperty("加盟商C端用户表ID partnerId ") + private String partnerId; + @ApiModelProperty("常驻区域") private String liveArea; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerBaseInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerBaseInfoService.java index d399e597a..2b57f6384 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerBaseInfoService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerBaseInfoService.java @@ -1,6 +1,8 @@ package com.cool.store.service; import com.cool.store.request.AddTagsRequest; +import com.cool.store.request.PartnerBaseInfoRequest; +import com.cool.store.vo.PartnerBaseInfoVO; /** * @Author suzhuhong @@ -16,4 +18,8 @@ public interface HyPartnerBaseInfoService { * @return */ Boolean addTags(AddTagsRequest addTagsRequest); + + Boolean submitPartnerBaseInfo(PartnerBaseInfoRequest request); + + PartnerBaseInfoVO queryPartnerBaseInfo(String partnerId, Long lineId); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerClerkService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerClerkService.java index eeeddc963..a499af9df 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerClerkService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerClerkService.java @@ -1,5 +1,6 @@ package com.cool.store.service; +import com.cool.store.request.PartnerClerkInfoRequest; import com.cool.store.vo.PartnerClerkVO; import java.util.List; @@ -19,6 +20,10 @@ public interface HyPartnerClerkService { */ List getPartnerClerkList(Long lineId); + Boolean submitPartnerClerkInfo(PartnerClerkInfoRequest request); + + List queryPartnerClerkInfo(String partnerId, Long lineId); + diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerIntentInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerIntentInfoService.java index 915635b6e..1edf577c3 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerIntentInfoService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerIntentInfoService.java @@ -1,6 +1,7 @@ package com.cool.store.service; import com.cool.store.request.BaseUserInfoRequest; +import com.cool.store.request.PartnerIntentInfoRequest; import com.cool.store.vo.PartnerIntentApplyInfoVO; import com.cool.store.vo.PartnerIntentInfoVO; import com.github.pagehelper.PageInfo; @@ -37,4 +38,8 @@ public interface HyPartnerIntentInfoService { */ Boolean updatePartnerIntentInfo(BaseUserInfoRequest baseUserInfoRequest); + Boolean submitPartnerIntentInfo(PartnerIntentInfoRequest partnerIntentInfoRequest); + + PartnerIntentInfoVO queryPartnerIntentInfo(String partnerId, Long lineId); + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerUserInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerUserInfoService.java index 778cfd105..6a0e51d28 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerUserInfoService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerUserInfoService.java @@ -1,5 +1,12 @@ package com.cool.store.service; +import com.cool.store.entity.HyPartnerUserInfoDO; + public interface PartnerUserInfoService { + HyPartnerUserInfoDO selectByPartnerId(String partnerId); + + Boolean queryJoinNotice(String partnerId); + + Boolean completeJoinNotice(String partnerId); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java index af7181b85..08e6979f2 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java @@ -1,10 +1,16 @@ package com.cool.store.service.impl; +import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSONObject; import com.cool.store.dao.HyPartnerBaseInfoDAO; +import com.cool.store.dao.HyPartnerLineInfoDAO; import com.cool.store.entity.HyPartnerBaseInfoDO; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.exception.ServiceException; import com.cool.store.request.AddTagsRequest; +import com.cool.store.request.PartnerBaseInfoRequest; import com.cool.store.service.HyPartnerBaseInfoService; +import com.cool.store.vo.PartnerBaseInfoVO; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; @@ -29,4 +35,49 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService { hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(hyPartnerBaseInfoDO); return Boolean.TRUE; } + + /** + * //前提 未提交加盟申请 + * //成功 意向区域变更成功 失败 您已进入意向申请流程,当前不可变更意向区域 + * @param request + * @return + */ + @Override + public Boolean submitPartnerBaseInfo(PartnerBaseInfoRequest request) { + HyPartnerBaseInfoDO baseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId()); + if(baseInfoDO == null){ + baseInfoDO = new HyPartnerBaseInfoDO(); + fillBaseInfo(baseInfoDO, request); + hyPartnerBaseInfoDAO.insertSelective(baseInfoDO); + }else { + fillBaseInfo(baseInfoDO, request); + hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(baseInfoDO); + } + return true; + } + + @Override + public PartnerBaseInfoVO queryPartnerBaseInfo(String partnerId, Long lineId) { + HyPartnerBaseInfoDO hyPartnerBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(partnerId, lineId); + if (hyPartnerBaseInfoDO == null){ + throw new ServiceException(ErrorCodeEnum.PARTNER_BASEINFO_NOT_EXIST); + } + PartnerBaseInfoVO baseInfoVO = new PartnerBaseInfoVO(); + BeanUtil.copyProperties(hyPartnerBaseInfoDO, baseInfoVO); + return baseInfoVO; + } + + private void fillBaseInfo(HyPartnerBaseInfoDO baseInfoDO, PartnerBaseInfoRequest request) { + baseInfoDO.setPartnerId(request.getPartnerId()); + baseInfoDO.setPartnerLineId(request.getPartnerLineId()); + baseInfoDO.setMobile(request.getMobile()); + baseInfoDO.setUsername(request.getUsername()); + baseInfoDO.setSex(request.getSex()); + baseInfoDO.setNation(request.getNation()); + baseInfoDO.setBirthdate(request.getBirthdate()); + baseInfoDO.setIdCard(request.getIdCard()); + baseInfoDO.setIdCardPhotoFront(request.getIdCardPhotoFront()); + baseInfoDO.setIdCardPhotoBlack(request.getIdCardPhotoBlack()); + baseInfoDO.setLiveAddress(request.getLiveAddress()); + } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkImpl.java deleted file mode 100644 index 26b945c7a..000000000 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.cool.store.service.impl; - -import com.cool.store.dao.HyPartnerClerkDAO; -import com.cool.store.entity.HyPartnerClerkDO; -import com.cool.store.service.HyPartnerClerkService; -import com.cool.store.vo.PartnerClerkVO; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; - -/** - * @Author suzhuhong - * @Date 2023/6/15 11:05 - * @Version 1.0 - */ -@Service -public class HyPartnerClerkImpl implements HyPartnerClerkService { - - @Resource - HyPartnerClerkDAO hyPartnerClerkDAO; - - - @Override - public List getPartnerClerkList(Long lineId) { - List hyPartnerClerkList = hyPartnerClerkDAO.getHyPartnerClerkList(lineId); - List result= new ArrayList<>(); - hyPartnerClerkList.forEach(x->{ - PartnerClerkVO partnerClerkVO = new PartnerClerkVO(); - partnerClerkVO.setPartnerId(x.getPartnerId()); - partnerClerkVO.setPartnerLineId(x.getPartnerLineId()); - partnerClerkVO.setAge(x.getAge()); - partnerClerkVO.setChooseReason(x.getChooseReason()); - partnerClerkVO.setUsername(x.getUsername()); - partnerClerkVO.setRelationship(x.getRelationship()); - result.add(partnerClerkVO); - }); - return result; - } -} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkServiceImpl.java new file mode 100644 index 000000000..e2f81a330 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkServiceImpl.java @@ -0,0 +1,82 @@ +package com.cool.store.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.cool.store.dao.HyPartnerClerkDAO; +import com.cool.store.entity.HyPartnerClerkDO; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.exception.ServiceException; +import com.cool.store.request.PartnerClerkInfoRequest; +import com.cool.store.service.HyPartnerClerkService; +import com.cool.store.utils.StringUtil; +import com.cool.store.vo.PartnerClerkVO; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.ListUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * @Author wxp + * @Date 2023/6/14 21:37 + * @Version 1.0 + */ +@Service +public class HyPartnerClerkServiceImpl implements HyPartnerClerkService { + + @Resource + HyPartnerClerkDAO hyPartnerClerkDAO; + + @Override + public List getPartnerClerkList(Long lineId) { + List hyPartnerClerkList = hyPartnerClerkDAO.getHyPartnerClerkList(lineId); + List result= new ArrayList<>(); + hyPartnerClerkList.forEach(x->{ + PartnerClerkVO partnerClerkVO = new PartnerClerkVO(); + partnerClerkVO.setPartnerId(x.getPartnerId()); + partnerClerkVO.setPartnerLineId(x.getPartnerLineId()); + partnerClerkVO.setAge(x.getAge()); + partnerClerkVO.setChooseReason(x.getChooseReason()); + partnerClerkVO.setUsername(x.getUsername()); + partnerClerkVO.setRelationship(x.getRelationship()); + result.add(partnerClerkVO); + }); + return result; + } + + @Override + public Boolean submitPartnerClerkInfo(PartnerClerkInfoRequest request) { + if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId()) || CollectionUtils.isEmpty(request.getPartnerClerkRequestList())){ + throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); + } + hyPartnerClerkDAO.deleteByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId()); + List clerkDOList = new ArrayList<>(); + request.getPartnerClerkRequestList().stream().forEach(x->{ + HyPartnerClerkDO clerkDO = new HyPartnerClerkDO(); + clerkDO.setPartnerLineId(request.getPartnerLineId()); + clerkDO.setPartnerId(request.getPartnerId()); + clerkDO.setUsername(x.getUsername()); + clerkDO.setRelationship(x.getRelationship()); + clerkDO.setAge(x.getAge()); + clerkDO.setChooseReason(x.getChooseReason()); + clerkDOList.add(clerkDO); + }); + hyPartnerClerkDAO.batchInsert(clerkDOList); + return true; + } + + @Override + public List queryPartnerClerkInfo(String partnerId, Long lineId) { + List clerkDOList = hyPartnerClerkDAO.listByPartnerIdAndLineId(partnerId, lineId); + List clerkVOList = ListUtils.emptyIfNull(clerkDOList).stream().map(clerkDO -> { + PartnerClerkVO clerkVO = new PartnerClerkVO(); + BeanUtil.copyProperties(clerkDO, clerkVO); + return clerkVO; + }).collect(Collectors.toList()); + return clerkVOList; + } + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java index 02c75d133..026cf28ff 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java @@ -1,6 +1,7 @@ package com.cool.store.service.impl; import com.alibaba.fastjson.JSONObject; +import cn.hutool.core.bean.BeanUtil; import com.cool.store.constants.CommonConstants; import com.cool.store.dao.HyPartnerBaseInfoDAO; import com.cool.store.dao.HyPartnerIntentInfoDAO; @@ -14,6 +15,7 @@ import com.cool.store.enums.WorkflowStageEnum; import com.cool.store.enums.WorkflowStatusEnum; import com.cool.store.exception.ServiceException; import com.cool.store.request.BaseUserInfoRequest; +import com.cool.store.request.PartnerIntentInfoRequest; import com.cool.store.service.HyPartnerIntentInfoService; import com.cool.store.utils.StringUtil; import com.cool.store.vo.PartnerIntentApplyInfoVO; @@ -27,6 +29,7 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -107,6 +110,57 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic return partnerIntentInfoVO; } + @Override + public Boolean submitPartnerIntentInfo(PartnerIntentInfoRequest request) { + if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId())){ + throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); + } + HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId()); + if(intentInfoDO == null){ + intentInfoDO = new HyPartnerIntentInfoDO(); + fillIntentInfo(intentInfoDO, request); + hyPartnerIntentInfoDAO.insertSelective(intentInfoDO); + }else { + fillIntentInfo(intentInfoDO, request); + hyPartnerIntentInfoDAO.updateByPrimaryKeySelective(intentInfoDO); + } + return true; + } + + @Override + public PartnerIntentInfoVO queryPartnerIntentInfo(String partnerId, Long lineId) { + HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(partnerId, lineId); + if (intentInfoDO == null){ + throw new ServiceException(ErrorCodeEnum.INTENT_INFO_NOT_EXIST); + } + PartnerIntentInfoVO intentInfoVO = new PartnerIntentInfoVO(); + BeanUtil.copyProperties(intentInfoDO, intentInfoVO); + return intentInfoVO; + } + + private void fillIntentInfo(HyPartnerIntentInfoDO intentInfoDO, PartnerIntentInfoRequest request) { + intentInfoDO.setPartnerId(request.getPartnerId()); + intentInfoDO.setPartnerLineId(request.getPartnerLineId()); + intentInfoDO.setLiveArea(request.getLiveArea()); + intentInfoDO.setWantShopArea(request.getWantShopArea()); + intentInfoDO.setAcceptAdjustType(request.getAcceptAdjustType()); + intentInfoDO.setIsHaveWantShop(request.getIsHaveWantShop()); + intentInfoDO.setWantShopInfo(request.getWantShopInfo()); + intentInfoDO.setMaxBudget(request.getMaxBudget()); + intentInfoDO.setMoneySource(request.getMoneySource()); + intentInfoDO.setMoneyProve(String.join(",", request.getMoneyProve())); + intentInfoDO.setEducation(request.getEducation()); + intentInfoDO.setWorkYear(request.getWorkYear()); + intentInfoDO.setIsHaveWorkExp(request.getIsHaveWorkExp()); + intentInfoDO.setWorkExp(request.getWorkExp()); + intentInfoDO.setIsConsumer(request.getIsConsumer()); + intentInfoDO.setOtherBand(request.getOtherBand()); + intentInfoDO.setBrandStrength(request.getBrandStrength()); + intentInfoDO.setNeedImprove(request.getNeedImprove()); + intentInfoDO.setStrength(request.getStrength()); + intentInfoDO.setWeakness(request.getWeakness()); + } + /** * partnerIntentApplyInfoDTOToVo * @param partnerIntentApplyInfoDTO diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java index e7ee84666..8365b31d9 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java @@ -1,6 +1,10 @@ package com.cool.store.service.impl; +import com.cool.store.constants.CommonConstants; import com.cool.store.dao.HyPartnerUserInfoDAO; +import com.cool.store.entity.HyPartnerUserInfoDO; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.exception.ServiceException; import com.cool.store.service.PartnerUserInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -11,4 +15,27 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService { @Autowired private HyPartnerUserInfoDAO hyPartnerUserInfoDAO; + @Override + public HyPartnerUserInfoDO selectByPartnerId(String partnerId) { + return hyPartnerUserInfoDAO.selectByPartnerId(partnerId); + } + + @Override + public Boolean queryJoinNotice(String partnerId) { + HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(partnerId); + if (hyPartnerUserInfoDO==null){ + throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST); + } + return hyPartnerUserInfoDO.getIsWritePartnerKnow() == 1; + } + + @Override + public Boolean completeJoinNotice(String partnerId) { + HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(partnerId); + if (hyPartnerUserInfoDO == null){ + throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST); + } + hyPartnerUserInfoDAO.updateJoinKnowById(CommonConstants.ONE, hyPartnerUserInfoDO.getId()); + return true; + } } diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java b/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java index d589d8732..a32b338b0 100644 --- a/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java +++ b/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java @@ -1,14 +1,16 @@ package com.cool.store.controller; +import com.cool.store.context.PartnerUserHolder; import com.cool.store.request.BaseUserInfoRequest; import com.cool.store.request.PartnerBaseInfoRequest; import com.cool.store.request.PartnerClerkInfoRequest; import com.cool.store.request.PartnerIntentInfoRequest; import com.cool.store.response.ResponseResult; +import com.cool.store.service.HyPartnerBaseInfoService; +import com.cool.store.service.HyPartnerClerkService; import com.cool.store.service.HyPartnerIntentInfoService; import com.cool.store.service.PartnerUserInfoService; import com.cool.store.vo.*; -import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -36,6 +38,14 @@ public class PartnerController { @Resource HyPartnerIntentInfoService hyPartnerIntentInfoService; + @Resource + HyPartnerBaseInfoService hyPartnerBaseInfoService; + @Resource + HyPartnerClerkService hyPartnerClerkService; + + + + @PostMapping(path = "/applyBaseInfo") @ApiOperation("提交基本信息") public ResponseResult applyBaseInfo(@RequestBody BaseUserInfoRequest baseUserInfoRequest){ @@ -79,26 +89,24 @@ public class PartnerController { @PostMapping(path = "/submitPartnerBaseInfo") @ApiOperation("提交加盟商基本信息") - public ResponseResult submitPartnerBaseInfo(@RequestBody PartnerBaseInfoRequest PartnerBaseInfoRequest){ - + public ResponseResult submitPartnerBaseInfo(@RequestBody PartnerBaseInfoRequest baseInfoRequest){ //前提 未提交加盟申请 //成功 意向区域变更成功 失败 您已进入意向申请流程,当前不可变更意向区域 - return ResponseResult.success(); + return ResponseResult.success(hyPartnerBaseInfoService.submitPartnerBaseInfo(baseInfoRequest)); } @PostMapping(path = "/submitPartnerClerkInfo") @ApiOperation("提交加盟商店员信息") public ResponseResult submitPartnerClerkInfo(@RequestBody PartnerClerkInfoRequest partnerClerkInfoRequest){ - return ResponseResult.success(); + return ResponseResult.success(hyPartnerClerkService.submitPartnerClerkInfo(partnerClerkInfoRequest)); } @PostMapping(path = "/submitPartnerIntentInfo") @ApiOperation("提交加盟商意向信息/行业认知") public ResponseResult submitPartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){ - - return ResponseResult.success(); + return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest)); } @@ -107,7 +115,7 @@ public class PartnerController { @ApiOperation("修改加盟商店员信息") public ResponseResult changePartnerClerkInfo(@RequestBody PartnerClerkInfoRequest partnerClerkInfoRequest){ - return ResponseResult.success(); + return ResponseResult.success(hyPartnerClerkService.submitPartnerClerkInfo(partnerClerkInfoRequest)); } @@ -115,7 +123,7 @@ public class PartnerController { @ApiOperation("修改加盟商意向信息/行业认知") public ResponseResult changePartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){ - return ResponseResult.success(); + return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest)); } @@ -140,9 +148,8 @@ public class PartnerController { @ApiImplicitParam(name = "lineId", value = "线索ID", required = false), }) public ResponseResult queryPartnerBaseInfo(@RequestParam(value = "lineId",required = false)Long lineId){ - - - return ResponseResult.success(); + PartnerUserInfoVO userInfoVO = PartnerUserHolder.getUser(); + return ResponseResult.success(hyPartnerBaseInfoService.queryPartnerBaseInfo(userInfoVO.getPartnerId(), lineId)); } @@ -153,8 +160,8 @@ public class PartnerController { }) public ResponseResult> queryPartnerClerkInfo(@RequestParam(value = "lineId",required = false)Long lineId){ - - return ResponseResult.success(); + PartnerUserInfoVO userInfoVO = PartnerUserHolder.getUser(); + return ResponseResult.success(hyPartnerClerkService.queryPartnerClerkInfo(userInfoVO.getPartnerId(), lineId)); } @@ -165,8 +172,8 @@ public class PartnerController { }) public ResponseResult queryPartnerIntentInfo(@RequestParam(value = "lineId",required = false)Long lineId){ - - return ResponseResult.success(); + PartnerUserInfoVO userInfoVO = PartnerUserHolder.getUser(); + return ResponseResult.success(hyPartnerIntentInfoService.queryPartnerIntentInfo(userInfoVO.getPartnerId(), lineId)); } @@ -177,10 +184,8 @@ public class PartnerController { @ApiImplicitParams({ @ApiImplicitParam(name = "partnerId", value = "加盟商ID", required = false), }) - public ResponseResult completeJoinNotice(@RequestParam(value = "partnerId",required = false)Long partnerId){ - - - return ResponseResult.success(); + public ResponseResult completeJoinNotice(@RequestParam(value = "partnerId",required = false)String partnerId){ + return ResponseResult.success(partnerUserInfoService.completeJoinNotice(partnerId)); } @@ -189,10 +194,8 @@ public class PartnerController { @ApiImplicitParams({ @ApiImplicitParam(name = "partnerId", value = "加盟商ID", required = false), }) - public ResponseResult queryJoinNotice(@RequestParam(value = "partnerId",required = false)Long partnerId){ - - - return ResponseResult.success(); + public ResponseResult queryJoinNotice(@RequestParam(value = "partnerId",required = false)String partnerId){ + return ResponseResult.success(partnerUserInfoService.queryJoinNotice(partnerId)); } } From a6a6093dd92c19dd7b2e9f152d13760b4c9eee6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Fri, 16 Jun 2023 10:09:44 +0800 Subject: [PATCH 13/17] =?UTF-8?q?=E7=A7=81=E6=B5=B7=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/dao/HyPartnerLineInfoDAO.java | 25 +++++- .../store/mapper/HyPartnerLineInfoMapper.java | 41 ++++++++- .../mapper/HyPartnerLineInfoMapper.xml | 63 +++++++++++++- .../cool/store/dto/partner/LineCountDTO.java | 17 ++++ .../store/dto/partner/PublicSeaLineDTO.java | 28 ++++++ .../com/cool/store/request/LineRequest.java | 14 ++- .../cool/store/vo/PrivateSeaLineListVo.java | 14 +++ .../cool/store/vo/PublicSeaLineListVo.java | 4 + .../service/HyPartnerLineInfoService.java | 13 ++- .../impl/HyPartnerLineInfoServiceImpl.java | 87 ++++++++++++++++--- .../cool/store/controller/DeskController.java | 12 +-- 11 files changed, 282 insertions(+), 36 deletions(-) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/partner/LineCountDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/partner/PublicSeaLineDTO.java diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java index 5ee627712..532d95b82 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java @@ -3,6 +3,7 @@ package com.cool.store.dao; import com.cool.store.dto.partner.PartnerBlackListDTO; import com.cool.store.dto.partner.PartnerLineInfoAndBaseInfoDTO; import com.cool.store.dto.partner.StageCountDTO; +import com.cool.store.dto.partner.*; import com.cool.store.entity.HyPartnerLineInfoDO; import com.cool.store.mapper.HyPartnerLineInfoMapper; import com.github.pagehelper.PageInfo; @@ -12,6 +13,8 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Repository; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -111,8 +114,8 @@ public class HyPartnerLineInfoDAO { } - public PageInfo getBlackList( String keyWord, String intentArea , Integer acceptAdjustType){ - return hyPartnerLineInfoMapper.getBlackList(keyWord,intentArea,acceptAdjustType); + public PageInfo getBlackList( String userNameKeyword,String phoneKeyword, String intentArea , Integer acceptAdjustType){ + return hyPartnerLineInfoMapper.getBlackList(userNameKeyword,phoneKeyword,intentArea,acceptAdjustType); } @@ -123,6 +126,17 @@ public class HyPartnerLineInfoDAO { return hyPartnerLineInfoMapper.joinAndRemoveBlack(lineId,status,joinReason,removeReason); } + public PageInfo getPublicSeaLineList( String userNameKeyword, String phoneKeyword, String intentArea, Integer acceptAdjustType, Date updateStartTime, Date updateEndTime, List userIdList){ + return hyPartnerLineInfoMapper.getPublicSeaLineList(userNameKeyword,phoneKeyword,intentArea,acceptAdjustType,updateStartTime,updateEndTime,userIdList); + } + + + public List getPartnerLastLine(List partnerIdList){ + if (CollectionUtils.isEmpty(partnerIdList)){ + return new ArrayList<>(); + } + return hyPartnerLineInfoMapper.getPartnerLastLine(partnerIdList); + } public HyPartnerLineInfoDO getByPartnerId(String partnerId){ if (StringUtils.isEmpty(partnerId)){ return null; @@ -131,4 +145,11 @@ public class HyPartnerLineInfoDAO { } + public List getFollowCountList( List partnerIdList){ + if (CollectionUtils.isEmpty(partnerIdList)){ + return new ArrayList<>(); + } + return hyPartnerLineInfoMapper.getFollowCountList(partnerIdList); + } + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java index 88e518079..2e878544f 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java @@ -1,5 +1,6 @@ package com.cool.store.mapper; +import com.cool.store.dto.partner.*; import com.cool.store.dto.partner.PartnerBlackListDTO; import com.cool.store.dto.partner.PartnerLineInfoAndBaseInfoDTO; import com.cool.store.dto.partner.StageCountDTO; @@ -7,6 +8,7 @@ import com.cool.store.entity.HyPartnerLineInfoDO; import com.github.pagehelper.PageInfo; import org.apache.ibatis.annotations.Param; +import java.util.Date; import java.util.List; /** @@ -107,12 +109,14 @@ public interface HyPartnerLineInfoMapper { /** * 查询黑名单列表 - * @param keyWord + * @param userNameKeyword + * @param phoneKeyword * @param intentArea * @param acceptAdjustType * @return */ - PageInfo getBlackList(@Param("keyWord") String keyWord, + PageInfo getBlackList(@Param("userNameKeyword") String userNameKeyword, + @Param("phoneKeyword") String phoneKeyword, @Param("intentArea") String intentArea , @Param("acceptAdjustType") Integer acceptAdjustType); @@ -133,4 +137,37 @@ public interface HyPartnerLineInfoMapper { HyPartnerLineInfoDO getByPartnerId(@Param("partnerId") String partnerId); + + /** + * 查询公海线索 + * @param userNameKeyword + * @param phoneKeyword + * @param intentArea + * @param acceptAdjustType + * @param updateStartTime + * @param updateEndTime + * @param userIdList + * @return + */ + PageInfo getPublicSeaLineList(@Param("userNameKeyword") String userNameKeyword, + @Param("phoneKeyword") String phoneKeyword, + @Param("intentArea") String intentArea, + @Param("acceptAdjustType") Integer acceptAdjustType, + @Param("updateStartTime") Date updateStartTime, + @Param("updateEndTime") Date updateEndTime, + @Param("userIdList") List userIdList); + + /** + * 查询对应的加盟商最近线索 + * @param partnerIdList + * @return + */ + List getPartnerLastLine(@Param("partnerIdList") List partnerIdList); + + /** + * 加盟商跟进次数 + * @param partnerIdList + * @return + */ + List getFollowCountList(@Param("partnerIdList") List partnerIdList); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml index 8e9a4387f..64e399d3b 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml @@ -357,8 +357,11 @@ from hy_partner_line_info a inner join hy_partner_user_info b where a.partner_id = b.partner_id where deleted = 0 and line_status = 3 - - and (b.username like concat('%', #{keyWord}, '%') or b.mobile like concat('%', #{keyWord}, '%')) + + and b.username like concat('%', #{userNameKeyword}, '%') + + + and b.mobile like concat('%', #{phoneKeyword}, '%') and b.want_shop_area = #{intentArea} @@ -391,4 +394,60 @@ where partner_id = #{partnerId} + + + + + + + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/LineCountDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/LineCountDTO.java new file mode 100644 index 000000000..c7256636e --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/LineCountDTO.java @@ -0,0 +1,17 @@ +package com.cool.store.dto.partner; + +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2023/6/15 21:19 + * @Version 1.0 + */ +@Data +public class LineCountDTO { + + private String partnerId; + + private Integer followCount; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/PublicSeaLineDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/PublicSeaLineDTO.java new file mode 100644 index 000000000..0b4a07792 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/PublicSeaLineDTO.java @@ -0,0 +1,28 @@ +package com.cool.store.dto.partner; + +import lombok.Data; + +import java.util.Date; + +/** + * @Author suzhuhong + * @Date 2023/6/15 20:21 + * @Version 1.0 + */ +@Data +public class PublicSeaLineDTO { + + private Date createTime; + + private Long lineId; + + private String partnerId; + + private String userName; + + private String mobile; + + private String wantShopArea; + + private String acceptAdjustType; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/LineRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/LineRequest.java index 06f75a1ce..b0e4169af 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/LineRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/LineRequest.java @@ -17,8 +17,11 @@ import java.util.Date; public class LineRequest extends PageInfoRequest{ - @ApiModelProperty("关键字") - private String keyWord; + @ApiModelProperty("用户名关键字") + private String userNameKeyword; + + @ApiModelProperty("手机号关键字") + private String phoneKeyword; @ApiModelProperty("意向区域") private String intentArea; @@ -26,8 +29,11 @@ public class LineRequest extends PageInfoRequest{ @ApiModelProperty("调剂类型") private Integer acceptAdjustType; - @ApiModelProperty("更新时间") - private Date updateTime; + @ApiModelProperty("更新开始时间") + private Date updateStartTime; + + @ApiModelProperty("更新结束时间") + private Date updateEndTime; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PrivateSeaLineListVo.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PrivateSeaLineListVo.java index f0c81cec9..3128e7d9f 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PrivateSeaLineListVo.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PrivateSeaLineListVo.java @@ -55,8 +55,22 @@ public class PrivateSeaLineListVo { @ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂") private Integer acceptAdjustType; + @ApiModelProperty("更新时间") + private Date updateTime; + @ApiModelProperty("门店编码") + private String storeCode; + @ApiModelProperty("门店名称") + private String storeName; + @ApiModelProperty("线索状态") + private Integer lineStatus; + + @ApiModelProperty("推荐加盟商ID") + private String recommendPartnerId; + + @ApiModelProperty("推荐加盟商名称") + private String recommendPartnerName; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PublicSeaLineListVo.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PublicSeaLineListVo.java index bbf5f5acb..848d704ee 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PublicSeaLineListVo.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PublicSeaLineListVo.java @@ -59,5 +59,9 @@ public class PublicSeaLineListVo { @ApiModelProperty("跟进次数") private Integer followCount; + @ApiModelProperty("意向开店区域ID") + private String wantShopArea; + + private String acceptAdjustType; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java index 244fbf860..0b7f0b30a 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java @@ -2,10 +2,7 @@ package com.cool.store.service; import com.cool.store.request.CloseFollowRequest; import com.cool.store.request.LineRequest; -import com.cool.store.vo.BlackListVO; -import com.cool.store.vo.PartnerLineInfoAndBaseInfoVO; -import com.cool.store.vo.PartnerLineInfoVO; -import com.cool.store.vo.StageCountVO; +import com.cool.store.vo.*; import com.github.pagehelper.PageInfo; import java.util.List; @@ -99,5 +96,13 @@ public interface HyPartnerLineInfoService { */ Boolean closeOrPassFollow(String userId,CloseFollowRequest closeFollowRequest); + /** + * 公海线索 + * @param userId + * @param lineRequest + * @return + */ + PageInfo publicSeaLineList(String userId,LineRequest lineRequest); + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java index 10ec43267..e4b456878 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java @@ -2,11 +2,12 @@ package com.cool.store.service.impl; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONObject; +import com.cool.store.dao.EnterpriseUserDAO; import com.cool.store.dao.HyPartnerLineInfoDAO; import com.cool.store.dao.HyPartnerUserInfoDAO; -import com.cool.store.dto.partner.PartnerBlackListDTO; -import com.cool.store.dto.partner.PartnerLineInfoAndBaseInfoDTO; -import com.cool.store.dto.partner.StageCountDTO; +import com.cool.store.dao.UserRegionMappingDAO; +import com.cool.store.dto.partner.*; +import com.cool.store.entity.EnterpriseUserDO; import com.cool.store.entity.HyPartnerLineInfoDO; import com.cool.store.entity.HyPartnerUserInfoDO; import com.cool.store.enums.ErrorCodeEnum; @@ -16,24 +17,20 @@ import com.cool.store.enums.WorkflowStatusEnum; import com.cool.store.exception.ServiceException; import com.cool.store.request.CloseFollowRequest; import com.cool.store.request.LineRequest; +import com.cool.store.service.EnterpriseUserService; import com.cool.store.service.HyPartnerLineInfoService; import com.cool.store.utils.CoolDateUtils; import com.cool.store.utils.StringUtil; -import com.cool.store.vo.BlackListVO; -import com.cool.store.vo.PartnerLineInfoAndBaseInfoVO; -import com.cool.store.vo.PartnerLineInfoVO; -import com.cool.store.vo.StageCountVO; +import com.cool.store.vo.*; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.google.common.collect.Lists; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; /** @@ -48,6 +45,10 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { HyPartnerLineInfoDAO hyPartnerLineInfoDAO; @Resource HyPartnerUserInfoDAO hyPartnerUserInfoDAO; + @Resource + EnterpriseUserDAO enterpriseUserDAO; + @Resource + UserRegionMappingDAO userRegionMappingDAO; @Override public StageCountVO selectStagePendingCount(String userId) { @@ -138,7 +139,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { @Override public PageInfo getBlackList(LineRequest LineRequest) { PageHelper.startPage(LineRequest.getPageNum(),LineRequest.getPageSize()); - PageInfo blackListDTOPageInfo = hyPartnerLineInfoDAO.getBlackList(LineRequest.getKeyWord(), LineRequest.getIntentArea(), LineRequest.getAcceptAdjustType()); + PageInfo blackListDTOPageInfo = hyPartnerLineInfoDAO.getBlackList(LineRequest.getUserNameKeyword(), LineRequest.getPhoneKeyword(),LineRequest.getIntentArea(), LineRequest.getAcceptAdjustType()); List list = blackListDTOPageInfo.getList(); List result = new ArrayList<>(); list.stream().forEach(x->{ @@ -228,6 +229,68 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO); return Boolean.TRUE; } + + @Override + public PageInfo publicSeaLineList(String userId, LineRequest lineRequest) { + //确认是招商经理还是部门负责人 + EnterpriseUserDO userInfo = enterpriseUserDAO.getUserInfoById(userId); + List userIds = new ArrayList<>(); + if (userInfo.getIsLeader()){ + if (StringUtil.isNotEmpty(userInfo.getLeaderDeptIds())){ + List regionIds = JSONObject.parseArray(userInfo.getLeaderDeptIds(), String.class); + List enterpriseUserDOS = enterpriseUserDAO.searchUserByRegionIdsAndKeyword(regionIds, null, true); + userIds =enterpriseUserDOS.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList()); + } + }else { + userIds = Arrays.asList(userId); + } + PageHelper.startPage(lineRequest.getPageNum(),lineRequest.getPageSize()); + PageInfo publicSeaLineList = hyPartnerLineInfoDAO.getPublicSeaLineList(lineRequest.getUserNameKeyword(), lineRequest.getPhoneKeyword(), + lineRequest.getIntentArea(), lineRequest.getAcceptAdjustType(), lineRequest.getUpdateStartTime(), lineRequest.getUpdateEndTime(), userIds); + + List list = publicSeaLineList.getList(); + if (CollectionUtils.isEmpty(list)){ + return new PageInfo<>(); + } + //上一次结束的线索 + List partnerIdList = list.stream().map(PublicSeaLineDTO::getPartnerId).collect(Collectors.toList()); + List partnerLastLine = hyPartnerLineInfoDAO.getPartnerLastLine(partnerIdList); + List investmentManagerIds = partnerLastLine.stream().map(HyPartnerLineInfoDO::getInvestmentManager).collect(Collectors.toList()); + List userInfoList = enterpriseUserDAO.getUserInfoByUserIds(investmentManagerIds); + Map mobileMap = userInfoList.stream().filter(x -> + StringUtil.isNotEmpty(x.getMobile())).collect(Collectors.toMap(EnterpriseUserDO::getUserId, EnterpriseUserDO::getMobile)); + Map hyPartnerLineInfoDOMap = partnerLastLine.stream().collect(Collectors.toMap(HyPartnerLineInfoDO::getPartnerId, data -> data)); + + List followCountList = hyPartnerLineInfoDAO.getFollowCountList(partnerIdList); + Map countMap = followCountList.stream().collect(Collectors.toMap(LineCountDTO::getPartnerId, LineCountDTO::getFollowCount)); + + List result = new ArrayList<>(); + list.forEach(x->{ + PublicSeaLineListVo publicSeaLineListVo = new PublicSeaLineListVo(); + + publicSeaLineListVo.setPartnerId(x.getPartnerId()); + publicSeaLineListVo.setCreateTime(x.getCreateTime()); + publicSeaLineListVo.setPartnerUserName(x.getUserName()); + publicSeaLineListVo.setPartnerUserPhone(x.getMobile()); + // TODO: 2023/6/15 手机号归属地 + publicSeaLineListVo.setPhoneAddress(""); + publicSeaLineListVo.setWantShopArea(x.getWantShopArea()); + publicSeaLineListVo.setId(x.getLineId()); + publicSeaLineListVo.setAcceptAdjustType(x.getAcceptAdjustType()); + publicSeaLineListVo.setFollowCount(countMap.getOrDefault(x.getPartnerId(),0)); + + HyPartnerLineInfoDO hy = hyPartnerLineInfoDOMap.getOrDefault(x.getPartnerId(), new HyPartnerLineInfoDO()); + publicSeaLineListVo.setRejectPublicReason(hy.getRejectPublicReason()); + publicSeaLineListVo.setRejectRealReason(hy.getRejectRealReason()); + publicSeaLineListVo.setLastCloseDate(hy.getCloseTime()); + publicSeaLineListVo.setLastInvestmentManager(hy.getInvestmentManager()); + publicSeaLineListVo.setPartnerUserPhone(mobileMap.get(hy.getInvestmentManager())); + result.add(publicSeaLineListVo); + }); + publicSeaLineList.setList(result); + return publicSeaLineList; + } + /** * convertPartnerBlackListDTOToVo * @param partnerBlackListDTO diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java index 3098e57d5..c4fe96c72 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java @@ -82,8 +82,7 @@ public class DeskController { @ApiImplicitParam(name = "type", value = "类型 待处理-Pending 待跟进-follow", required = false), }) public ResponseResult queryStageCount(@RequestParam(value = "type",required = false)String type){ - String userId = ""; - return ResponseResult.success(deskService.getStageCountByType(userId,type)); + return ResponseResult.success(deskService.getStageCountByType(CurrentUserHolder.getUserId(),type)); } @GetMapping(path = "/queryInterviewPlan") @@ -204,7 +203,6 @@ public class DeskController { } - @PostMapping(path = "/queryPublicSeqLineList") @ApiOperation("公海列表") public ResponseResult> queryPublicSeaLineList(@RequestBody LineRequest LineRequest){ @@ -213,8 +211,6 @@ public class DeskController { } - - @PostMapping(path = "/queryPrivateSeaLineList") @ApiOperation("私海列表") public ResponseResult> queryPrivateSeqLineList(@RequestBody PrivateSeaLineListRequest privateSeaLineListRequest){ @@ -222,8 +218,6 @@ public class DeskController { return ResponseResult.success(); } - - @PostMapping(path = "/queryBlackList") @ApiOperation("黑名单列表") public ResponseResult> queryBlackList(@RequestBody LineRequest LineRequest){ @@ -250,9 +244,7 @@ public class DeskController { @PostMapping(path = "/closeOrPassFollow") @ApiOperation("意向申请审核 结束跟进/通过流程") public ResponseResult closeOrPassFollow(@RequestBody CloseFollowRequest closeFollowRequest){ - - String userId = ""; - return ResponseResult.success(hyPartnerLineInfoService.closeOrPassFollow(userId,closeFollowRequest)); + return ResponseResult.success(hyPartnerLineInfoService.closeOrPassFollow(CurrentUserHolder.getUserId(),closeFollowRequest)); } @PostMapping(path = "/changeIntentInfo") From 960fb0bb534348048fb09a6cf115d8e2087a47fc Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Fri, 16 Jun 2023 11:18:38 +0800 Subject: [PATCH 14/17] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=98=BF=E9=87=8C?= =?UTF-8?q?=E4=BA=91=E5=AF=B9=E6=8E=A5=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/enums/ErrorCodeEnum.java | 7 +- .../dto/partner/DescribePhoneNumberDTO.java | 33 +++++ .../store/vo/cuser/IdentityCardInfoVO.java | 41 +++++++ .../coolstore-partner-service.iml | 12 ++ coolstore-partner-service/pom.xml | 4 + .../com/cool/store/service/AliyunService.java | 28 +++++ .../store/service/impl/AliyunServiceImpl.java | 116 ++++++++++++++++++ .../coolstore-partner-webb.iml | 12 ++ .../coolstore-partner-webc.iml | 12 ++ .../store/controller/PartnerController.java | 21 +++- pom.xml | 5 + 11 files changed, 286 insertions(+), 5 deletions(-) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/partner/DescribePhoneNumberDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/vo/cuser/IdentityCardInfoVO.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/AliyunService.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/impl/AliyunServiceImpl.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index e6650568f..6e2837911 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 @@ -44,11 +44,10 @@ public enum ErrorCodeEnum { USER_GROUP_NAME_EXIST(1021076, "用户分组名称已存在", null), USER_GROUP_NOT_EXIST(1021077, "用户分组不存在", null), GET_INFO_ERROR(1021078, "获取信息异常", null), - - - - + GET_PHONENUMBER_INFO_ERROR(1021079, "手机号归属地获取异常", null), + IDENTITY_CARD_PARSE_FAIL(1021080, "身份证解析失败", null), PARAMS_REQUIRED(400002, "参数缺失!", null), + DATA_CONVERT_ERROR(400002, "日期转换异常!", null), LINE_ID_IS_NOT_EXIST(500001, "线索ID不存在!", null), diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/DescribePhoneNumberDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/DescribePhoneNumberDTO.java new file mode 100644 index 000000000..5ca976af0 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/DescribePhoneNumberDTO.java @@ -0,0 +1,33 @@ +package com.cool.store.dto.partner; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhangchenbiao + * @FileName: DescribePhoneNumberDTO + * @Description:手机号归属 + * @date 2023-06-15 20:07 + */ +@Data +public class DescribePhoneNumberDTO { + + @ApiModelProperty("基础运营商") + public String basicCarrier; + + @ApiModelProperty("实际运营商") + public String carrier; + + @ApiModelProperty("是否携号转网") + public Boolean isNumberPortability; + + @ApiModelProperty("号码归属号段") + public Long numberSegment; + + @ApiModelProperty("号码归属城市") + public String city; + + @ApiModelProperty("号码归属省份") + public String province; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/cuser/IdentityCardInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/cuser/IdentityCardInfoVO.java new file mode 100644 index 000000000..7bea7bbe1 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/cuser/IdentityCardInfoVO.java @@ -0,0 +1,41 @@ +package com.cool.store.vo.cuser; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhangchenbiao + * @FileName: IdentityCardInfoVO + * @Description: + * @date 2023-06-16 10:18 + */ +@Data +public class IdentityCardInfoVO { + + @ApiModelProperty("用户名") + private String username; + + @ApiModelProperty("地址") + private String liveAddress; + + @ApiModelProperty("出生日期") + private String birthdate; + + @ApiModelProperty("性别") + private String sex; + + @ApiModelProperty("身份证号") + private String idCard; + + @ApiModelProperty("民族") + private String nation; + + public IdentityCardInfoVO(String username, String liveAddress, String birthdate, String sex, String idCard, String nation) { + this.username = username; + this.liveAddress = liveAddress; + this.birthdate = birthdate; + this.sex = sex; + this.idCard = idCard; + this.nation = nation; + } +} diff --git a/coolstore-partner-service/coolstore-partner-service.iml b/coolstore-partner-service/coolstore-partner-service.iml index 6cda7d6d9..f7543f465 100644 --- a/coolstore-partner-service/coolstore-partner-service.iml +++ b/coolstore-partner-service/coolstore-partner-service.iml @@ -142,5 +142,17 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/coolstore-partner-service/pom.xml b/coolstore-partner-service/pom.xml index 1422f9c1d..97abbfd41 100644 --- a/coolstore-partner-service/pom.xml +++ b/coolstore-partner-service/pom.xml @@ -63,6 +63,10 @@ com.aliyun dytnsapi20200217 + + com.aliyun + ocr20191230 + \ No newline at end of file diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/AliyunService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/AliyunService.java new file mode 100644 index 000000000..f8a02ab6d --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/AliyunService.java @@ -0,0 +1,28 @@ +package com.cool.store.service; + +import com.cool.store.dto.partner.DescribePhoneNumberDTO; +import com.cool.store.vo.cuser.IdentityCardInfoVO; + +/** + * @author zhangchenbiao + * @FileName: AliyunService + * @Description:阿里云相关服务 + * @date 2023-06-15 20:04 + */ +public interface AliyunService { + + /** + * 获取手机号归属信息 + * @param phoneNumber + * @return + */ + DescribePhoneNumberDTO getPhoneNumberAttribute(String phoneNumber); + + /** + * 根据身份证正面获取信息 + * @param faceImageUrl + * @return + */ + IdentityCardInfoVO getIdentityCardInfo(String faceImageUrl); + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AliyunServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AliyunServiceImpl.java new file mode 100644 index 000000000..00df38d16 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AliyunServiceImpl.java @@ -0,0 +1,116 @@ +package com.cool.store.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.aliyun.dytnsapi20200217.Client; +import com.aliyun.dytnsapi20200217.models.DescribePhoneNumberOperatorAttributeRequest; +import com.aliyun.dytnsapi20200217.models.DescribePhoneNumberOperatorAttributeResponse; +import com.aliyun.ocr20191230.models.RecognizeIdentityCardResponse; +import com.aliyun.ocr20191230.models.RecognizeIdentityCardResponseBody; +import com.aliyun.tea.TeaException; +import com.aliyun.tea.TeaModel; +import com.aliyun.teaopenapi.models.Config; +import com.cool.store.dto.partner.DescribePhoneNumberDTO; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.exception.ServiceException; +import com.cool.store.service.AliyunService; +import com.cool.store.vo.cuser.IdentityCardInfoVO; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.io.IOException; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.Optional; + +/** + * @author zhangchenbiao + * @FileName: AliyunServiceImpl + * @Description: + * @date 2023-06-15 20:04 + */ +@Slf4j +@Service +public class AliyunServiceImpl implements AliyunService { + + @Override + public DescribePhoneNumberDTO getPhoneNumberAttribute(String phoneNumber) { + try { + Config config = new Config(); + //todo zcb ak sk替换 + config.accessKeyId = "LTAI5t9RaXvABZbHvoXjDFJ1"; + config.accessKeySecret = "zhOK7WWo3yGoUWkOMaatty19k25CMd"; + Client client = new Client(config); + DescribePhoneNumberOperatorAttributeRequest request = new DescribePhoneNumberOperatorAttributeRequest(); + request.authCode = "Y81FVZepk6"; + request.inputNumber = phoneNumber; + request.mask = "NORMAL"; + DescribePhoneNumberOperatorAttributeResponse response = client.describePhoneNumberOperatorAttribute(request); + String code = response.body.code; + if (!com.aliyun.teautil.Common.equalString(code, "OK")) { + log.error("错误信息:" , response.body.message + ""); + throw new ServiceException(ErrorCodeEnum.GET_PHONENUMBER_INFO_ERROR); + } + return JSONObject.parseObject(JSONObject.toJSONString(response.body.data), DescribePhoneNumberDTO.class); + } catch (Exception e) { + log.error("获取手机号异常:", e); + throw new ServiceException(ErrorCodeEnum.GET_PHONENUMBER_INFO_ERROR); + } + } + + @Override + public IdentityCardInfoVO getIdentityCardInfo(String faceImageUrl) { + //todo zcb ak sk替换 + com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config() + .setAccessKeyId("LTAI5t9RaXvABZbHvoXjDFJ1") + .setAccessKeySecret("zhOK7WWo3yGoUWkOMaatty19k25CMd"); + // 访问的域名 + config.endpoint = "ocr.cn-shanghai.aliyuncs.com"; + try { + com.aliyun.ocr20191230.Client client = new com.aliyun.ocr20191230.Client(config); + URL url = new URL(faceImageUrl); + InputStream inputStream = url.openConnection().getInputStream(); + com.aliyun.ocr20191230.models.RecognizeIdentityCardAdvanceRequest recognizeIdentityCardAdvanceRequest = new com.aliyun.ocr20191230.models.RecognizeIdentityCardAdvanceRequest() + .setImageURLObject(inputStream) + .setSide("face"); + com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions(); + RecognizeIdentityCardResponse idCardResponse = client.recognizeIdentityCardAdvance(recognizeIdentityCardAdvanceRequest, runtime); + log.info("身份证解析结果:{}", JSONObject.toJSONString(idCardResponse)); + RecognizeIdentityCardResponseBody.RecognizeIdentityCardResponseBodyDataFrontResult frontResult = Optional.ofNullable(idCardResponse).map(o -> o.getBody()).map(o -> o.data).map(o -> o.frontResult).orElse(null); + String username = frontResult.name; + String liveAddress = frontResult.address; + String birthdate = frontResult.birthDate; + if(StringUtils.isNotBlank(birthdate)){ + birthdate = convertDate(birthdate, "yyyyMMdd"); + } + String sex = frontResult.gender; + String idCard = frontResult.IDNumber; + String nation = frontResult.nationality; + IdentityCardInfoVO result = new IdentityCardInfoVO(username, liveAddress, birthdate, sex, idCard, nation); + log.info("身份证解析:{}", JSONObject.toJSONString(result)); + return result; + } catch (com.aliyun.tea.TeaException e) { + log.error("身份证解析报错TeaException:{}", e); + } catch (MalformedURLException e) { + log.error("身份证解析报错MalformedURLException:{}", e); + } catch (IOException e) { + log.error("身份证解析报错IOException:{}", e); + } catch (Exception e) { + log.error("身份证解析报错Exception:{}", e); + } + return null; + } + + public static String convertDate(String date, String format) { + try { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format); + LocalDate localDate = LocalDate.parse(date, formatter); + return localDate.toString(); + } catch (Exception e) { + throw new ServiceException(ErrorCodeEnum.DATA_CONVERT_ERROR); + } + } +} diff --git a/coolstore-partner-webb/coolstore-partner-webb.iml b/coolstore-partner-webb/coolstore-partner-webb.iml index ab3cdc788..af0ff3164 100644 --- a/coolstore-partner-webb/coolstore-partner-webb.iml +++ b/coolstore-partner-webb/coolstore-partner-webb.iml @@ -107,6 +107,18 @@ + + + + + + + + + + + + diff --git a/coolstore-partner-webc/coolstore-partner-webc.iml b/coolstore-partner-webc/coolstore-partner-webc.iml index bef9271d3..9cfa8ce03 100644 --- a/coolstore-partner-webc/coolstore-partner-webc.iml +++ b/coolstore-partner-webc/coolstore-partner-webc.iml @@ -105,6 +105,18 @@ + + + + + + + + + + + + diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java b/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java index d589d8732..e658a9310 100644 --- a/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java +++ b/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java @@ -1,13 +1,17 @@ package com.cool.store.controller; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.exception.ServiceException; import com.cool.store.request.BaseUserInfoRequest; import com.cool.store.request.PartnerBaseInfoRequest; import com.cool.store.request.PartnerClerkInfoRequest; import com.cool.store.request.PartnerIntentInfoRequest; import com.cool.store.response.ResponseResult; +import com.cool.store.service.AliyunService; import com.cool.store.service.HyPartnerIntentInfoService; import com.cool.store.service.PartnerUserInfoService; import com.cool.store.vo.*; +import com.cool.store.vo.cuser.IdentityCardInfoVO; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -34,7 +38,10 @@ public class PartnerController { private PartnerUserInfoService partnerUserInfoService; @Resource - HyPartnerIntentInfoService hyPartnerIntentInfoService; + private HyPartnerIntentInfoService hyPartnerIntentInfoService; + + @Resource + private AliyunService aliyunService; @PostMapping(path = "/applyBaseInfo") @ApiOperation("提交基本信息") @@ -195,4 +202,16 @@ public class PartnerController { return ResponseResult.success(); } + + @GetMapping(path = "/getIdentityCardInfo") + @ApiOperation("根据身份证正面解析获取数据") + public ResponseResult getIdentityCardInfo(@RequestParam(value = "faceImageUrl")String faceImageUrl){ + try { + IdentityCardInfoVO identityCardInfo = aliyunService.getIdentityCardInfo(faceImageUrl); + return ResponseResult.success(identityCardInfo); + } catch (Exception e) { + throw new ServiceException(ErrorCodeEnum.IDENTITY_CARD_PARSE_FAIL); + } + } + } diff --git a/pom.xml b/pom.xml index 02ccc0a58..2522598c4 100644 --- a/pom.xml +++ b/pom.xml @@ -181,6 +181,11 @@ dytnsapi20200217 1.0.28 + + com.aliyun + ocr20191230 + 1.0.26 + From df49f4a71fc1ff0f35180728e0f6de7969dd5c45 Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Fri, 16 Jun 2023 11:21:11 +0800 Subject: [PATCH 15/17] update --- .../coolstore-partner-service.iml | 14 ++++++++ .../cool/store/controller/TestController.java | 35 ++++++++++++++++--- 2 files changed, 44 insertions(+), 5 deletions(-) diff --git a/coolstore-partner-service/coolstore-partner-service.iml b/coolstore-partner-service/coolstore-partner-service.iml index f7543f465..8b2bb5d5c 100644 --- a/coolstore-partner-service/coolstore-partner-service.iml +++ b/coolstore-partner-service/coolstore-partner-service.iml @@ -130,6 +130,20 @@ + + + + + + + + + + + + + + diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/TestController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/TestController.java index 2e1798f79..6a4493a0e 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/TestController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/TestController.java @@ -1,26 +1,29 @@ package com.cool.store.controller; import com.alibaba.fastjson.JSONObject; +import com.cool.store.dao.EnterpriseUserDAO; import com.cool.store.dto.calendar.CreateCalendarEventDTO; import com.cool.store.dto.calendar.DeleteCalendarEventDTO; import com.cool.store.dto.calendar.UpdateCalendarEventDTO; import com.cool.store.dto.calendar.UserCalendarsEventDTO; +import com.cool.store.dto.partner.DescribePhoneNumberDTO; import com.cool.store.dto.response.ResultDTO; import com.cool.store.entity.HyOpenAreaInfoDO; import com.cool.store.entity.EnterpriseUserDO; -import com.cool.store.enums.RocketMqTagEnum; +import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.exception.ApiException; +import com.cool.store.exception.ServiceException; import com.cool.store.mapper.HyOpenAreaInfoMapper; import com.cool.store.http.ISVHttpRequest; -import com.cool.store.mq.producer.SimpleMessageService; -import com.cool.store.request.AllocationInvestmentManagerRequest; import com.cool.store.request.City; import com.cool.store.request.TestRequest; import com.cool.store.response.ResponseResult; +import com.cool.store.service.AliyunService; import com.cool.store.service.EnterpriseSyncService; import com.cool.store.service.EnterpriseUserService; -import com.cool.store.utils.UUIDUtils; +import com.cool.store.vo.cuser.IdentityCardInfoVO; +import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; @@ -43,9 +46,13 @@ public class TestController { @Resource private ISVHttpRequest isvHttpRequest; @Resource - HyOpenAreaInfoMapper hyOpenAreaInfoMapper; + private HyOpenAreaInfoMapper hyOpenAreaInfoMapper; @Resource private EnterpriseSyncService enterpriseSyncService; + @Resource + private EnterpriseUserDAO enterpriseUserDAO; + @Resource + private AliyunService aliyunService; @PostMapping("/post") public ResponseResult get(@RequestBody List testRequestList){ @@ -186,4 +193,22 @@ public class TestController { return ResultDTO.successResult(isvHttpRequest.deleteUserCalendarEvent(param)); } + @GetMapping("/user/getUserCalendarsEvents") + public ResultDTO> getUserCalendarsEvents(@RequestParam("userId") String userId, @RequestParam("startTime") long startTime, + @RequestParam("endTime") long endTime) throws ApiException { + log.info("getUserCalendarsEvents : corpId:{}, appType:{}, userId:{}, startTime:{}, endTime:{}", userId, startTime, endTime); + return ResultDTO.successResult(isvHttpRequest.getUserCalendarsEvents(userId, startTime, endTime)); + } + + @GetMapping(path = "/getIdentityCardInfo") + @ApiOperation("根据身份证正面解析获取数据") + public ResponseResult getIdentityCardInfo(@RequestParam(value = "faceImageUrl")String faceImageUrl){ + try { + IdentityCardInfoVO identityCardInfo = aliyunService.getIdentityCardInfo(faceImageUrl); + return ResponseResult.success(identityCardInfo); + } catch (Exception e) { + throw new ServiceException(ErrorCodeEnum.IDENTITY_CARD_PARSE_FAIL); + } + } + } From a85a51adf8ec319dd7a05a1c4a66df18586a855f Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Fri, 16 Jun 2023 11:38:17 +0800 Subject: [PATCH 16/17] =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/handler/CustomExceptionHandler.java | 5 +++++ coolstore-partner-webb/src/main/resources/logback-spring.xml | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/handler/CustomExceptionHandler.java b/coolstore-partner-service/src/main/java/com/cool/store/handler/CustomExceptionHandler.java index c46c6182b..39e4b658a 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/handler/CustomExceptionHandler.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/handler/CustomExceptionHandler.java @@ -4,6 +4,7 @@ package com.cool.store.handler; import com.cool.store.exception.ApiException; import com.cool.store.exception.ServiceException; import com.cool.store.response.error.ErrorResponse; +import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.ExceptionHandler; @@ -15,23 +16,27 @@ import org.springframework.web.bind.annotation.RestControllerAdvice; * @Description: 自定义异常处理 * @date 2023-06-13 19:42 */ +@Slf4j @RestControllerAdvice public class CustomExceptionHandler { @ExceptionHandler(value = ServiceException.class) public ResponseEntity handleCustomException(ServiceException e) { + log.error(e.getMessage(), e); ErrorResponse errorResponse = new ErrorResponse(e.getErrorCode(), e.getMessage()); return new ResponseEntity<>(errorResponse, HttpStatus.BAD_REQUEST); } @ExceptionHandler(value = ApiException.class) public ResponseEntity handleCustomException(ApiException e) { + log.error(e.getMessage(), e); ErrorResponse errorResponse = new ErrorResponse(e.getErrorCode(), e.getMessage()); return new ResponseEntity<>(errorResponse, HttpStatus.BAD_REQUEST); } @ExceptionHandler(value = Exception.class) public ResponseEntity handleException(Exception e) { + log.error(e.getMessage(), e); ErrorResponse errorResponse = new ErrorResponse(HttpStatus.INTERNAL_SERVER_ERROR.value(), e.getMessage()); return new ResponseEntity<>(errorResponse, HttpStatus.INTERNAL_SERVER_ERROR); } diff --git a/coolstore-partner-webb/src/main/resources/logback-spring.xml b/coolstore-partner-webb/src/main/resources/logback-spring.xml index 3e7aeec15..655a472f1 100644 --- a/coolstore-partner-webb/src/main/resources/logback-spring.xml +++ b/coolstore-partner-webb/src/main/resources/logback-spring.xml @@ -41,7 +41,7 @@ - + From cf99b7c0e7c744fd0a471342f450708a83047e1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Fri, 16 Jun 2023 11:39:12 +0800 Subject: [PATCH 17/17] =?UTF-8?q?=E6=88=98=E5=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/dao/HyOpenAreaInfoDAO.java | 3 --- .../resources/mapper/HyAdvancedSettingMapper.xml | 2 +- .../mapper/HyIntendDevelopementMappingMapper.xml | 2 +- .../main/resources/mapper/HyOpenAreaInfoMapper.xml | 12 ++++++++---- .../service/impl/AdvanceSettingServiceImpl.java | 3 ++- .../cool/store/service/impl/OpenAreaServiceImpl.java | 6 ++++-- 6 files changed, 16 insertions(+), 12 deletions(-) diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyOpenAreaInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyOpenAreaInfoDAO.java index ad9669f10..f5a4bc911 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyOpenAreaInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyOpenAreaInfoDAO.java @@ -30,9 +30,6 @@ public class HyOpenAreaInfoDAO { } public List queryByKeyword(String keyword,Boolean filterData){ - if (StringUtils.isEmpty(keyword)){ - return new ArrayList<>(); - } return hyOpenAreaInfoMapper.queryByKeyword(keyword,filterData); } diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyAdvancedSettingMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyAdvancedSettingMapper.xml index e070f52e1..ed9fe563c 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyAdvancedSettingMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyAdvancedSettingMapper.xml @@ -84,7 +84,7 @@ partner_url = #{record.partnerUrl}, tencent_video_account = #{record.tencentVideoAccount}, tencent_video_key = #{record.tencentVideoKey}, - update_user_id = #{record.updateUserId}, + update_user_id = #{record.updateUserId} where id = #{record.id} \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevelopementMappingMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevelopementMappingMapper.xml index 3b3cbfc51..70be2f6fc 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevelopementMappingMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevelopementMappingMapper.xml @@ -112,7 +112,7 @@ (#{record.mappingId}, #{record.openAreaMappingId}, - #{record.type} + #{record.type}) diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml index 5701dd529..523cb2e69 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml @@ -185,10 +185,14 @@ diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AdvanceSettingServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AdvanceSettingServiceImpl.java index 2ab4301ac..e2f54481a 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AdvanceSettingServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AdvanceSettingServiceImpl.java @@ -26,6 +26,7 @@ public class AdvanceSettingServiceImpl implements AdvanceSettingService { if (advancedSettingRequest.getId()!=null){ //修改 updateAdvanceSetting(userId,advancedSettingRequest); + return Boolean.TRUE; } HyAdvancedSettingDO hyAdvancedSettingDO = new HyAdvancedSettingDO(); hyAdvancedSettingDO.setCreateUserId(userId); @@ -38,7 +39,7 @@ public class AdvanceSettingServiceImpl implements AdvanceSettingService { private Boolean updateAdvanceSetting(String userId, AdvancedSettingRequest advancedSettingRequest) { HyAdvancedSettingDO hyAdvancedSettingDO = new HyAdvancedSettingDO(); - hyAdvancedSettingDO.setCreateUserId(userId); + hyAdvancedSettingDO.setUpdateUserId(userId); hyAdvancedSettingDO.setId(advancedSettingRequest.getId()); hyAdvancedSettingDO.setPartnerUrl(advancedSettingRequest.getPartnerUrl()); hyAdvancedSettingDO.setTencentVideoAccount(advancedSettingRequest.getTencentVideoAccount()); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpenAreaServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpenAreaServiceImpl.java index 5fb5b549e..f0bf8dcec 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpenAreaServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpenAreaServiceImpl.java @@ -41,6 +41,8 @@ public class OpenAreaServiceImpl implements OpenAreaService { List hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,flag); Set longSet = hyOpenAreaInfoDOS.stream().map(HyOpenAreaInfoDO::getId).collect(Collectors.toSet()); + List result = new ArrayList<>(); + result.addAll(hyOpenAreaInfoDOS); hyOpenAreaInfoDOS.stream().forEach(x->{ Long parentId = x.getParentId(); @@ -48,11 +50,11 @@ public class OpenAreaServiceImpl implements OpenAreaService { //添加到集合中 longSet.add(x.getParentId()); HyOpenAreaInfoDO hyOpenAreaInfoDO = longHyOpenAreaInfoDOMap.get(parentId); - hyOpenAreaInfoDOS.add(hyOpenAreaInfoDO); + result.add(hyOpenAreaInfoDO); } }); - JSONArray objects = buildTree(JSONArray.parseArray(JSONObject.toJSONString(hyOpenAreaInfoDOS)), "id", "parentId","childNode" ); + JSONArray objects = buildTree(JSONArray.parseArray(JSONObject.toJSONString(result)), "id", "parentId","childNode" ); List openAreaTreeVOS = JSONObject.parseArray(objects.toJSONString(), OpenAreaTreeVO.class); return openAreaTreeVOS; }