From bb64d3c7f8f6b8a40b807e49a36d93919dd8efad Mon Sep 17 00:00:00 2001 From: zhangyongzhangyong <2012005003@qq.coom> Date: Thu, 31 Dec 2020 14:09:40 +0800 Subject: [PATCH 01/18] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E6=89=80=E6=9C=89?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/ResiAroundPartyPointRankFormDTO.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/ResiAroundPartyPointRankFormDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/ResiAroundPartyPointRankFormDTO.java index 28391a9488..ea20744f4c 100644 --- a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/ResiAroundPartyPointRankFormDTO.java +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/ResiAroundPartyPointRankFormDTO.java @@ -30,19 +30,16 @@ public class ResiAroundPartyPointRankFormDTO implements Serializable { /** * 身边党员 grid 社区党员community * */ - @NotBlank(message = "查询的部门维度scope不能为空") private String scope; /** * 本月 monthly 总排行 all; * */ - @NotBlank(message = "查询的时间维度type不能为空") private String type; /** * 当前网格id * */ - @NotBlank(message = "网格id不能为空") private String gridId; /** From cd63a8dd768bfc11f2c09748f18eac93a1acf209 Mon Sep 17 00:00:00 2001 From: zhangyongzhangyong <2012005003@qq.coom> Date: Thu, 31 Dec 2020 14:24:49 +0800 Subject: [PATCH 02/18] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=85=A5=E5=8F=82?= =?UTF-8?q?=E8=BE=B9=E7=95=8C=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/UserPointStatisticalDailyServiceImpl.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointStatisticalDailyServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointStatisticalDailyServiceImpl.java index 9d1d387649..1f78931acd 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointStatisticalDailyServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointStatisticalDailyServiceImpl.java @@ -242,6 +242,12 @@ public class UserPointStatisticalDailyServiceImpl extends BaseServiceImpl resultDTOS = new ArrayList<>(); + // 增加边界条件 + if (StringUtils.isBlank(formDTO.getGridId()) || StringUtils.isBlank(formDTO.getScope()) || StringUtils.isBlank(formDTO.getType())){ + log.warn("入参错误 gridId:{} ; scope:{} ; type:{} ;", formDTO.getGridId(), formDTO.getScope(), formDTO .getType()); + return resultDTOS; + } + List gridList = new ArrayList<>(); // 1-1、获取参数中的网格id if (AroundPartyConstant.GRID.equals(formDTO.getScope())){ From b7312bb88c9c278c251f79afd0e9e175bc0342af Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 31 Dec 2020 14:38:34 +0800 Subject: [PATCH 03/18] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E6=8F=90=E9=86=92=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/constant/SmsTemplateConstant.java | 10 +++++ .../epmet/dto/form/ProjectSendMsgFormDTO.java | 31 +++++++++++++ .../feign/EpmetMessageOpenFeignClient.java | 9 ++++ .../EpmetMessageOpenFeignClientFallback.java | 6 +++ .../com/epmet/controller/SmsController.java | 17 ++++++++ .../java/com/epmet/service/SysSmsService.java | 10 +++++ .../epmet/service/impl/SysSmsServiceImpl.java | 43 +++++++++++++++++++ 7 files changed, 126 insertions(+) create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ProjectSendMsgFormDTO.java diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SmsTemplateConstant.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SmsTemplateConstant.java index 3bfac0e8f7..c5647e5edf 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SmsTemplateConstant.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SmsTemplateConstant.java @@ -27,4 +27,14 @@ public interface SmsTemplateConstant { * 修改密码验证码 */ String CHANGE_PASSWORD = "SMS_150731393"; + + /** + * 项目被吹哨提醒 + */ + String PROJECT_TRANSFER = "SMS_200187239"; + + /** + * 项目滞留提醒 + */ + String PROJECT_OVERDUE = "SMS_206885207"; } diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ProjectSendMsgFormDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ProjectSendMsgFormDTO.java new file mode 100644 index 0000000000..25971547a4 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ProjectSendMsgFormDTO.java @@ -0,0 +1,31 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 项目提醒--根据手机号、短信模板编码,发送短信 验证码 + * + * @author sun + */ +@Data +public class ProjectSendMsgFormDTO implements Serializable { + private static final long serialVersionUID = 8894395590639206399L; + /** + * 手机号 + */ + @NotBlank(message = "手机号不能为空", groups = {AddUserInternalGroup.class, AddUserShowGroup.class}) + private String mobile; + /** + * 场景: + */ + @NotBlank(message = "短信模板编码不能为空", groups = {AddUserInternalGroup.class}) + private String aliyunTemplateCode; + + public interface AddUserInternalGroup {} + + public interface AddUserShowGroup extends CustomerClientShowGroup {} +} diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/EpmetMessageOpenFeignClient.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/EpmetMessageOpenFeignClient.java index 1035ab1552..7aec4fa0f3 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/EpmetMessageOpenFeignClient.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/EpmetMessageOpenFeignClient.java @@ -3,6 +3,7 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.SysSmsDTO; +import com.epmet.dto.form.ProjectSendMsgFormDTO; import com.epmet.dto.form.SendVerificationCodeFormDTO; import com.epmet.dto.form.UserMessageFormDTO; import com.epmet.dto.form.WxSubscribeMessageFormDTO; @@ -77,4 +78,12 @@ public interface EpmetMessageOpenFeignClient { **/ @PostMapping(value = "message/wxmpmessage/sendwxsubscribemessage", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) Result sendWxSubscribeMessage(List msgList); + + /** + * @param formDTOList + * @author sun + * @description 项目流转或滞留推送短信提醒 + **/ + @PostMapping(value = "message/sms/projectsendmsg", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) + Result projectSendMsg(List formDTOList); } diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/fallback/EpmetMessageOpenFeignClientFallback.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/fallback/EpmetMessageOpenFeignClientFallback.java index 889569147f..a4a68e053f 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/fallback/EpmetMessageOpenFeignClientFallback.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/fallback/EpmetMessageOpenFeignClientFallback.java @@ -4,6 +4,7 @@ import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.SysSmsDTO; +import com.epmet.dto.form.ProjectSendMsgFormDTO; import com.epmet.dto.form.SendVerificationCodeFormDTO; import com.epmet.dto.form.UserMessageFormDTO; import com.epmet.dto.form.WxSubscribeMessageFormDTO; @@ -51,4 +52,9 @@ public class EpmetMessageOpenFeignClientFallback implements EpmetMessageOpenFeig public Result sendWxSubscribeMessage(List msgList) { return ModuleUtils.feignConError(ServiceConstant.EPMET_MESSAGE_SERVER, "sendWxSubscribeMessage", msgList); } + + @Override + public Result projectSendMsg(List formDTOList) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_MESSAGE_SERVER, "projectSendMsg", formDTOList); + } } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/SmsController.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/SmsController.java index 0a0f534a0a..8f3ced6845 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/SmsController.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/SmsController.java @@ -16,6 +16,7 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.AliyunGroup; import com.epmet.commons.tools.validator.group.QcloudGroup; import com.epmet.dto.SysSmsDTO; +import com.epmet.dto.form.ProjectSendMsgFormDTO; import com.epmet.dto.form.SendVerificationCodeFormDTO; import com.epmet.dto.result.SendVerificationCodeResultDTO; import com.epmet.enums.PlatformEnum; @@ -32,6 +33,7 @@ import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; import java.util.Arrays; +import java.util.List; import java.util.Map; /** @@ -139,4 +141,19 @@ public class SmsController { SendVerificationCodeResultDTO resultDTO=sysSmsService.sendVerificationCode(formDTO); return new Result().ok(resultDTO); } + + /** + * @param formDTOList + * @author sun + * @description 项目流转或滞留推送短信提醒 + **/ + @PostMapping("projectsendmsg") + public Result projectSendMsg(@RequestBody List formDTOList) { + for (ProjectSendMsgFormDTO formDTO : formDTOList) { + ValidatorUtils.validateEntity(formDTO, ProjectSendMsgFormDTO.AddUserShowGroup.class, ProjectSendMsgFormDTO.AddUserInternalGroup.class); + } + sysSmsService.projectSendMsg(formDTOList); + return new Result(); + } + } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/SysSmsService.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/SysSmsService.java index 1e67125423..8bb9cb2a8e 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/SysSmsService.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/SysSmsService.java @@ -12,11 +12,13 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.SysSmsDTO; +import com.epmet.dto.form.ProjectSendMsgFormDTO; import com.epmet.dto.form.SendVerificationCodeFormDTO; import com.epmet.dto.result.SendVerificationCodeResultDTO; import com.epmet.entity.SysSmsEntity; import java.util.LinkedHashMap; +import java.util.List; import java.util.Map; /** @@ -58,5 +60,13 @@ public interface SysSmsService extends BaseService { * @Date 2020/6/23 21:07 **/ SendVerificationCodeResultDTO sendVerificationCode(SendVerificationCodeFormDTO formDTO); + + /** + * @param formDTOList + * @author sun + * @description 项目流转或滞留推送短信提醒 + **/ + void projectSendMsg(List formDTOList); + } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java index 2c254701d2..766cc279e3 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java @@ -20,6 +20,7 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; import com.epmet.dao.SysSmsDao; import com.epmet.dto.SysSmsDTO; +import com.epmet.dto.form.ProjectSendMsgFormDTO; import com.epmet.dto.form.SendVerificationCodeFormDTO; import com.epmet.dto.result.SendVerificationCodeResultDTO; import com.epmet.entity.SysSmsEntity; @@ -38,6 +39,7 @@ import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.LinkedHashMap; +import java.util.List; import java.util.Map; @Service @@ -181,4 +183,45 @@ public class SysSmsServiceImpl extends BaseServiceImpl } return data; } + + /** + * @param formDTOList + * @author sun + * @description 项目流转或滞留推送短信提醒 + **/ + @Override + public void projectSendMsg(List formDTOList) { + formDTOList.forEach(dto->{ + SysSmsDTO sysSmsDTO = new SysSmsDTO(); + sysSmsDTO.setMobile(dto.getMobile()); + sysSmsDTO.setAliyunTemplateCode(dto.getAliyunTemplateCode()); + //推送短信 + this.sendMsg(sysSmsDTO); + }); + } + + /** + * @author sun + * @description 推送短信信箱,出错不中断 + **/ + private void sendMsg(SysSmsDTO sysSmsDTO) { + logger.info(String.format("固定短信模板推送短信信息接口入参:%s", JSON.toJSONString(sysSmsDTO))); + LinkedHashMap map = null; + try { + //短信服务 + AbstractSmsService service = SmsFactory.build(); + if (service == null) { + logger.error("发送短信异常,ErrorCode:%s,异常AbstractSmsService is null", ModuleErrorCode.SMS_CONFIG); + } + //发送短信 + if (StringUtils.isNotBlank(sysSmsDTO.getAliyunTemplateCode())) { + service.sendSmsByAliyunTemplateCode(sysSmsDTO.getMobile(), map, sysSmsDTO.getAliyunTemplateCode()); + } else { + service.sendSms(sysSmsDTO.getMobile(), map); + } + } catch (Exception e) { + logger.error(String.format("项目提醒发送短信失败,失败手机号:%s,ErrorCode:%s", sysSmsDTO.getMobile(), e.getMessage())); + } + } + } From 4723cc021d2fc97a0af6f0419ebb4ad88b109e96 Mon Sep 17 00:00:00 2001 From: zhangyongzhangyong <2012005003@qq.coom> Date: Thu, 31 Dec 2020 17:01:56 +0800 Subject: [PATCH 04/18] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E7=A9=BA=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/UserPointStatisticalDailyServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointStatisticalDailyServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointStatisticalDailyServiceImpl.java index 1f78931acd..8b0b408d8a 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointStatisticalDailyServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointStatisticalDailyServiceImpl.java @@ -244,7 +244,7 @@ public class UserPointStatisticalDailyServiceImpl extends BaseServiceImpl Date: Mon, 4 Jan 2021 13:33:53 +0800 Subject: [PATCH 05/18] =?UTF-8?q?=E5=8F=91=E9=80=81=E4=BF=A1=E6=81=AFDTO?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/form/ProjectSendMsgFormDTO.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ProjectSendMsgFormDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ProjectSendMsgFormDTO.java index 25971547a4..49721eb3d0 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ProjectSendMsgFormDTO.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ProjectSendMsgFormDTO.java @@ -25,6 +25,12 @@ public class ProjectSendMsgFormDTO implements Serializable { @NotBlank(message = "短信模板编码不能为空", groups = {AddUserInternalGroup.class}) private String aliyunTemplateCode; + /** + * 客户ID + */ + @NotBlank(message = "客户ID不能为空", groups = {AddUserInternalGroup.class}) + private String customerId; + public interface AddUserInternalGroup {} public interface AddUserShowGroup extends CustomerClientShowGroup {} From ec795ca6f69213541ccc47e20d13f849010f4725 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 4 Jan 2021 14:30:04 +0800 Subject: [PATCH 06/18] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=90=B9=E5=93=A8?= =?UTF-8?q?=EF=BC=8C=E6=BB=9E=E7=95=99=E7=9F=AD=E4=BF=A1=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProjectProcessServiceImpl.java | 23 ++++++++ .../service/impl/ProjectServiceImpl.java | 54 +++++++++++++++++++ 2 files changed, 77 insertions(+) diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java index 759d57bcb2..85c4340930 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java @@ -35,11 +35,13 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.constant.ProjectConstant; import com.epmet.constant.ReadFlagConstant; +import com.epmet.constant.SmsTemplateConstant; import com.epmet.constant.UserMessageConstant; import com.epmet.dao.ProjectOrgRelationDao; import com.epmet.dao.ProjectDao; import com.epmet.dao.ProjectProcessDao; import com.epmet.dao.ProjectStaffDao; +import com.epmet.dto.CustomerStaffDTO; import com.epmet.dto.ProjectDTO; import com.epmet.dto.ProjectProcessDTO; import com.epmet.dto.ProjectStaffDTO; @@ -305,6 +307,7 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl smsList = new ArrayList<>(); + staffList.forEach(staff -> { + CustomerStaffDTO staffDTO = new CustomerStaffDTO(); + staffDTO.setUserId(staff.getStaffId()); + Result staffResult = epmetUserFeignClient.getCustomerStaffInfoByUserId(staffDTO); + if (staffResult.success() && null != staffResult.getData()) { + ProjectSendMsgFormDTO sms = new ProjectSendMsgFormDTO(); + sms.setCustomerId(staffResult.getData().getCustomerId()); + sms.setMobile(staffResult.getData().getMobile()); + sms.setAliyunTemplateCode(SmsTemplateConstant.PROJECT_TRANSFER); + smsList.add(sms); + } + }); + Result result = epmetMessageOpenFeignClient.projectSendMsg(smsList); + if (!result.success()) { + logger.error("项目流转,发送手机短信失败" + JSON.toJSONString(result)); + } + } /** diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index 7334c73c39..f103a1e8df 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -33,6 +33,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.constant.ParameterKeyConstant; import com.epmet.constant.ProjectConstant; +import com.epmet.constant.SmsTemplateConstant; import com.epmet.constant.UserMessageConstant; import com.epmet.dao.ProjectDao; import com.epmet.dao.ProjectOrgRelationDao; @@ -629,6 +630,23 @@ public class ProjectServiceImpl extends BaseServiceImpl smsList = new ArrayList<>(); + CustomerStaffDTO staffDTO = new CustomerStaffDTO(); + staffDTO.setUserId(projectStaffDTO.getStaffId()); + Result staffResult = epmetUserFeignClient.getCustomerStaffInfoByUserId(staffDTO); + if (staffResult.success() && null != staffResult.getData()) { + ProjectSendMsgFormDTO sms = new ProjectSendMsgFormDTO(); + sms.setCustomerId(staffResult.getData().getCustomerId()); + sms.setMobile(staffResult.getData().getMobile()); + sms.setAliyunTemplateCode(SmsTemplateConstant.PROJECT_TRANSFER); + smsList.add(sms); + } + result = epmetMessageOpenFeignClient.projectSendMsg(smsList); + if (!result.success()) { + logger.error("项目退回,发送手机短信失败" + JSON.toJSONString(result)); + } } @Override @@ -855,6 +873,24 @@ public class ProjectServiceImpl extends BaseServiceImpl smsList = new ArrayList<>(); + staffList.forEach(staff -> { + CustomerStaffDTO staffDTO = new CustomerStaffDTO(); + staffDTO.setUserId(staff.getStaffId()); + Result staffDTOResult = epmetUserFeignClient.getCustomerStaffInfoByUserId(staffDTO); + if (staffDTOResult.success() && null != staffDTOResult.getData()) { + ProjectSendMsgFormDTO sms = new ProjectSendMsgFormDTO(); + sms.setCustomerId(staffDTOResult.getData().getCustomerId()); + sms.setMobile(staffDTOResult.getData().getMobile()); + sms.setAliyunTemplateCode(SmsTemplateConstant.PROJECT_TRANSFER); + smsList.add(sms); + } + }); + Result result = epmetMessageOpenFeignClient.projectSendMsg(smsList); + if (!result.success()) { + logger.error("项目吹哨,发送手机短信失败" + JSON.toJSONString(result)); + } return issueProjectResultDTO; } @@ -1242,6 +1278,8 @@ public class ProjectServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); //10.29 项目滞留提醒添加推送微信消息 sun List wxmpMsgList = new ArrayList<>(); + //短信消息 + List smsList = new ArrayList<>(); list.forEach(dto -> { String title; String msg; @@ -1291,6 +1329,18 @@ public class ProjectServiceImpl extends BaseServiceImpl staffDTOResult = epmetUserFeignClient.getCustomerStaffInfoByUserId(staffDTO); + if (staffDTOResult.success() && null != staffDTOResult.getData()) { + ProjectSendMsgFormDTO sms = new ProjectSendMsgFormDTO(); + sms.setCustomerId(staffDTOResult.getData().getCustomerId()); + sms.setMobile(staffDTOResult.getData().getMobile()); + sms.setAliyunTemplateCode(SmsTemplateConstant.PROJECT_OVERDUE); + smsList.add(sms); + } }); messageFeignClient.saveUserMessageList(msgList); logger.info("项目滞留提醒,开始推送微信订阅消息"); @@ -1298,6 +1348,10 @@ public class ProjectServiceImpl extends BaseServiceImpl Date: Mon, 4 Jan 2021 15:28:31 +0800 Subject: [PATCH 07/18] =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E5=8F=91=E9=80=81?= =?UTF-8?q?=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/constant/SysSmsConstant.java | 17 ++++ .../epmet/dto/form/ProjectSendMsgFormDTO.java | 6 ++ .../epmet-message-server/pom.xml | 6 ++ .../epmet/service/impl/SysSmsServiceImpl.java | 65 ++++++++++++++-- .../com/epmet/dto/CustomerParameterDTO.java | 77 +++++++++++++++++++ .../epmet/dto/form/CrmParameterFormDTO.java | 28 +++++++ .../dto/result/CrmParameterResultDTO.java | 39 ++++++++++ .../epmet/feign/OperCrmOpenFeignClient.java | 13 +++- .../OperCrmOpenFeignClientFallback.java | 7 ++ .../CustomerParameterController.java | 42 ++++++++++ .../com/epmet/dao/CustomerParameterDao.java | 27 +++++++ .../epmet/entity/CustomerParameterEntity.java | 44 +++++++++++ .../service/CustomerParameterService.java | 22 ++++++ .../impl/CustomerParameterServiceImpl.java | 43 +++++++++++ .../resources/mapper/CustomerParameterDao.xml | 19 +++++ 15 files changed, 448 insertions(+), 7 deletions(-) create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SysSmsConstant.java create mode 100644 epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/CustomerParameterDTO.java create mode 100644 epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/form/CrmParameterFormDTO.java create mode 100644 epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CrmParameterResultDTO.java create mode 100644 epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerParameterController.java create mode 100644 epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/dao/CustomerParameterDao.java create mode 100644 epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/entity/CustomerParameterEntity.java create mode 100644 epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerParameterService.java create mode 100644 epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerParameterServiceImpl.java create mode 100644 epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerParameterDao.xml diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SysSmsConstant.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SysSmsConstant.java new file mode 100644 index 0000000000..c0655993f7 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SysSmsConstant.java @@ -0,0 +1,17 @@ +package com.epmet.constant; + +/** + * @Author zxc + * @DateTime 2021/1/4 下午1:42 + */ +public interface SysSmsConstant { + + String IS_NULL_PARAM_LIST = "项目流转或滞留推送短信提醒入参集合为空......"; + + String SELECT_PARAMETER_INFO_FAILURE = "查询客户配置参数失败......"; + + String PARAMETER_INFO_IS_ZERO = "未查到客户配置参数......"; + + String NOT_ENOUGH_BALANCE = "客户:%s ,当前余额为:%s"; + +} diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ProjectSendMsgFormDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ProjectSendMsgFormDTO.java index 49721eb3d0..4615b2792e 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ProjectSendMsgFormDTO.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ProjectSendMsgFormDTO.java @@ -31,6 +31,12 @@ public class ProjectSendMsgFormDTO implements Serializable { @NotBlank(message = "客户ID不能为空", groups = {AddUserInternalGroup.class}) private String customerId; + /** + * 参数KEY + */ + @NotBlank(message = "参数KEY不能为空", groups = {AddUserInternalGroup.class}) + private String parameterKey; + public interface AddUserInternalGroup {} public interface AddUserShowGroup extends CustomerClientShowGroup {} diff --git a/epmet-module/epmet-message/epmet-message-server/pom.xml b/epmet-module/epmet-message/epmet-message-server/pom.xml index 6a10b4724d..778985212f 100644 --- a/epmet-module/epmet-message/epmet-message-server/pom.xml +++ b/epmet-module/epmet-message/epmet-message-server/pom.xml @@ -112,6 +112,12 @@ 2.0.0 compile + + + com.epmet + oper-crm-client + 2.0.0 + diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java index 766cc279e3..17e6c855f2 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java @@ -17,15 +17,20 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.ErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.SysSmsConstant; import com.epmet.dao.SysSmsDao; import com.epmet.dto.SysSmsDTO; +import com.epmet.dto.form.CrmParameterFormDTO; import com.epmet.dto.form.ProjectSendMsgFormDTO; import com.epmet.dto.form.SendVerificationCodeFormDTO; +import com.epmet.dto.result.CrmParameterResultDTO; import com.epmet.dto.result.SendVerificationCodeResultDTO; import com.epmet.entity.SysSmsEntity; import com.epmet.exception.ModuleErrorCode; import com.epmet.feign.EpmetMessageOpenFeignClient; +import com.epmet.feign.OperCrmOpenFeignClient; import com.epmet.service.SysSmsService; import com.epmet.sms.AbstractSmsService; import com.epmet.sms.SmsFactory; @@ -36,11 +41,13 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @Service public class SysSmsServiceImpl extends BaseServiceImpl implements SysSmsService { @@ -49,6 +56,8 @@ public class SysSmsServiceImpl extends BaseServiceImpl @Autowired private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; + @Autowired + private OperCrmOpenFeignClient operCrmOpenFeignClient; @Override public PageData page(Map params) { @@ -191,13 +200,57 @@ public class SysSmsServiceImpl extends BaseServiceImpl **/ @Override public void projectSendMsg(List formDTOList) { - formDTOList.forEach(dto->{ - SysSmsDTO sysSmsDTO = new SysSmsDTO(); - sysSmsDTO.setMobile(dto.getMobile()); - sysSmsDTO.setAliyunTemplateCode(dto.getAliyunTemplateCode()); - //推送短信 - this.sendMsg(sysSmsDTO); + if (CollectionUtils.isEmpty(formDTOList)){ + logger.error(SysSmsConstant.IS_NULL_PARAM_LIST); + return; + } + Map> groupByCustomer = formDTOList.stream().collect(Collectors.groupingBy(ProjectSendMsgFormDTO::getCustomerId)); + List parameterFormDTOS = ConvertUtils.sourceToTarget(formDTOList, CrmParameterFormDTO.class); + Result> listResult = operCrmOpenFeignClient.selectParamInfo(parameterFormDTOS); + if (!listResult.success()){ + throw new RenException(SysSmsConstant.SELECT_PARAMETER_INFO_FAILURE); + } + List parameterResult = listResult.getData(); + if (CollectionUtils.isEmpty(parameterResult)){ + logger.error(SysSmsConstant.PARAMETER_INFO_IS_ZERO); + return; + } + groupByCustomer.forEach((customerId,v) -> { + parameterResult.forEach(p -> { + if (customerId.equals(p.getCustomerId())){ + p.setBalanceStatus(Integer.valueOf(p.getParameterValue()) >= v.size() ? true : false); + } + }); }); + try { + groupByCustomer.forEach((customerId,v) -> { + parameterResult.forEach(p -> { + if (customerId.equals(p.getCustomerId())){ + if (p.getBalanceStatus() == false){ + logger.error(String.format(SysSmsConstant.NOT_ENOUGH_BALANCE,customerId,p.getParameterValue())); + }else { + v.forEach(dto->{ + SysSmsDTO sysSmsDTO = new SysSmsDTO(); + sysSmsDTO.setMobile(dto.getMobile()); + sysSmsDTO.setAliyunTemplateCode(dto.getAliyunTemplateCode()); + //推送短信 + this.sendMsg(sysSmsDTO); + }); + } + } + }); + }); + }catch (RenException e){ + logger.error(e.getInternalMsg()); + } + +// formDTOList.forEach(dto->{ +// SysSmsDTO sysSmsDTO = new SysSmsDTO(); +// sysSmsDTO.setMobile(dto.getMobile()); +// sysSmsDTO.setAliyunTemplateCode(dto.getAliyunTemplateCode()); +// //推送短信 +// this.sendMsg(sysSmsDTO); +// }); } /** diff --git a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/CustomerParameterDTO.java b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/CustomerParameterDTO.java new file mode 100644 index 0000000000..cd5f22e098 --- /dev/null +++ b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/CustomerParameterDTO.java @@ -0,0 +1,77 @@ +package com.epmet.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Author zxc + * @DateTime 2021/1/4 上午10:59 + */ +@Data +public class CustomerParameterDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 唯一标识 + */ + private String id; + + /** + * 客户ID + */ + private String customerId; + + /** + * 参数KEY值 + */ + private String parameterKey; + + /** + * 参数名称 + */ + private String parameterName; + + /** + * 参数VALUE值 + */ + private String parameterValue; + + /** + * 说明 + */ + private String description; + + /** + * 删除标识:0.未删除 1.已删除 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} diff --git a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/form/CrmParameterFormDTO.java b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/form/CrmParameterFormDTO.java new file mode 100644 index 0000000000..ab31d56ae7 --- /dev/null +++ b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/form/CrmParameterFormDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.form; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/1/4 上午10:44 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class CrmParameterFormDTO implements Serializable { + + private static final long serialVersionUID = -1892384189805073724L; + + public interface CrmParameterForm{} + + @NotBlank(message = "客户ID不能为空",groups = {CrmParameterForm.class}) + private String customerId; + + @NotBlank(message = "参数KEY值不能为空",groups = {CrmParameterForm.class}) + private String parameterKey; +} diff --git a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CrmParameterResultDTO.java b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CrmParameterResultDTO.java new file mode 100644 index 0000000000..d4781d6be2 --- /dev/null +++ b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CrmParameterResultDTO.java @@ -0,0 +1,39 @@ +package com.epmet.dto.result; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/1/4 上午10:46 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class CrmParameterResultDTO implements Serializable { + + private static final long serialVersionUID = 8082721392714934568L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 参数KEY值 + */ + private String parameterKey; + + /** + * 参数VALUE值 + */ + private String parameterValue; + + /** + * 余额状态【parameterValue】true:充足,false:不足 + */ + private Boolean balanceStatus = true; +} diff --git a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/OperCrmOpenFeignClient.java b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/OperCrmOpenFeignClient.java index 27d5c239d4..78ee285226 100644 --- a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/OperCrmOpenFeignClient.java +++ b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/OperCrmOpenFeignClient.java @@ -4,9 +4,11 @@ import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerAppDTO; import com.epmet.dto.CustomerDTO; +import com.epmet.dto.form.CrmParameterFormDTO; import com.epmet.dto.form.CustomerAppSecretFormDTO; import com.epmet.dto.form.CustomerManagerFormDTO; import com.epmet.dto.form.GridCountFormDTO; +import com.epmet.dto.result.CrmParameterResultDTO; import com.epmet.dto.result.GridCountResultDTO; import com.epmet.feign.fallback.OperCrmOpenFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; @@ -22,7 +24,7 @@ import java.util.List; * @date 2020/6/4 13:25 */ @FeignClient(name = ServiceConstant.OPER_CRM_SERVER, fallback = OperCrmOpenFeignClientFallback.class) -//@FeignClient(name = ServiceConstant.OPER_CRM_SERVER, fallback = OperCrmOpenFeignClientFallback.class, url = "118.190.150.119:48080/api") +//@FeignClient(name = ServiceConstant.OPER_CRM_SERVER, fallback = OperCrmOpenFeignClientFallback.class, url = "localhost:8090") public interface OperCrmOpenFeignClient { /** * 获取客户信息 @@ -74,4 +76,13 @@ public interface OperCrmOpenFeignClient { */ @PostMapping("/oper/crm/customer/getgridcount") Result getGridCount(@RequestBody GridCountFormDTO formDTO); + + /** + * @Description 查询客户配置信息 + * @Param formDTO + * @author zxc + * @date 2021/1/4 上午11:20 + */ + @PostMapping("/oper/crm/parameter/parameterinfo") + Result> selectParamInfo(@RequestBody List formDTOs); } diff --git a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/fallback/OperCrmOpenFeignClientFallback.java b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/fallback/OperCrmOpenFeignClientFallback.java index f4ad95f4ca..cebbe65f40 100644 --- a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/fallback/OperCrmOpenFeignClientFallback.java +++ b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/fallback/OperCrmOpenFeignClientFallback.java @@ -5,9 +5,11 @@ import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerAppDTO; import com.epmet.dto.CustomerDTO; +import com.epmet.dto.form.CrmParameterFormDTO; import com.epmet.dto.form.CustomerAppSecretFormDTO; import com.epmet.dto.form.CustomerManagerFormDTO; import com.epmet.dto.form.GridCountFormDTO; +import com.epmet.dto.result.CrmParameterResultDTO; import com.epmet.dto.result.GridCountResultDTO; import com.epmet.feign.OperCrmOpenFeignClient; import org.springframework.stereotype.Component; @@ -57,4 +59,9 @@ public class OperCrmOpenFeignClientFallback implements OperCrmOpenFeignClient { public Result getGridCount(GridCountFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.OPER_CRM_SERVER, "getGridCount", formDTO); } + + @Override + public Result> selectParamInfo(List formDTOs) { + return ModuleUtils.feignConError(ServiceConstant.OPER_CRM_SERVER, "selectParamInfo", formDTOs); + } } diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerParameterController.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerParameterController.java new file mode 100644 index 0000000000..03053106d0 --- /dev/null +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerParameterController.java @@ -0,0 +1,42 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.form.CrmParameterFormDTO; +import com.epmet.dto.form.ParameterFormDTO; +import com.epmet.dto.result.CrmParameterResultDTO; +import com.epmet.service.CustomerParameterService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @Author zxc + * @DateTime 2021/1/4 上午10:51 + */ +@RestController +@RequestMapping("parameter") +public class CustomerParameterController { + + @Autowired + private CustomerParameterService parameterService; + + /** + * @Description 查询客户配置信息 + * @Param formDTO + * @author zxc + * @date 2021/1/4 上午11:20 + */ + @PostMapping("parameterinfo") + public Result> selectParamInfo(@RequestBody List formDTOs){ + formDTOs.forEach(formDTO -> { + ValidatorUtils.validateEntity(formDTO, CrmParameterFormDTO.CrmParameterForm.class); + }); + return new Result>().ok(parameterService.selectParamInfo(formDTOs)); + } + +} diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/dao/CustomerParameterDao.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/dao/CustomerParameterDao.java new file mode 100644 index 0000000000..2095d06646 --- /dev/null +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/dao/CustomerParameterDao.java @@ -0,0 +1,27 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.CrmParameterFormDTO; +import com.epmet.dto.result.CrmParameterResultDTO; +import com.epmet.entity.CustomerParameterEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @Author zxc + * @DateTime 2021/1/4 上午11:01 + */ +@Mapper +public interface CustomerParameterDao extends BaseDao { + + /** + * @Description 查询客户的配置信息 + * @Param customerIds + * @author zxc + * @date 2021/1/4 上午11:07 + */ + List selectParamInfo(@Param("formDTOS")List formDTOS); + +} diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/entity/CustomerParameterEntity.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/entity/CustomerParameterEntity.java new file mode 100644 index 0000000000..a99c99573b --- /dev/null +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/entity/CustomerParameterEntity.java @@ -0,0 +1,44 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @Author zxc + * @DateTime 2021/1/4 上午11:03 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("customer_project_parameter") +public class CustomerParameterEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 参数KEY值 + */ + private String parameterKey; + + /** + * 参数名称 + */ + private String parameterName; + + /** + * 参数VALUE值 + */ + private String parameterValue; + + /** + * 说明 + */ + private String description; + +} diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerParameterService.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerParameterService.java new file mode 100644 index 0000000000..999ec3cc3d --- /dev/null +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerParameterService.java @@ -0,0 +1,22 @@ +package com.epmet.service; + +import com.epmet.dto.form.CrmParameterFormDTO; +import com.epmet.dto.result.CrmParameterResultDTO; + +import java.util.List; + +/** + * @Author zxc + * @DateTime 2021/1/4 上午10:52 + */ +public interface CustomerParameterService { + + /** + * @Description 查询客户配置信息 + * @Param formDTO + * @author zxc + * @date 2021/1/4 上午11:20 + */ + List selectParamInfo(List formDTOs); + +} diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerParameterServiceImpl.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerParameterServiceImpl.java new file mode 100644 index 0000000000..467e19fd77 --- /dev/null +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerParameterServiceImpl.java @@ -0,0 +1,43 @@ +package com.epmet.service.impl; + +import com.epmet.dao.CustomerParameterDao; +import com.epmet.dto.form.CrmParameterFormDTO; +import com.epmet.dto.result.CrmParameterResultDTO; +import com.epmet.service.CustomerParameterService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2021/1/4 上午10:53 + */ +@Service +@Slf4j +public class CustomerParameterServiceImpl implements CustomerParameterService { + + @Autowired + private CustomerParameterDao parameterDao; + + /** + * @Description 查询客户配置信息 + * @Param formDTO + * @author zxc + * @date 2021/1/4 上午11:20 + */ + @Override + public List selectParamInfo(List formDTOs) { + if (CollectionUtils.isEmpty(formDTOs)){ + return new ArrayList<>(); + } + List result = parameterDao.selectParamInfo(formDTOs); + if (CollectionUtils.isEmpty(result)){ + return new ArrayList<>(); + } + return result; + } +} diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerParameterDao.xml b/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerParameterDao.xml new file mode 100644 index 0000000000..35bf8738d1 --- /dev/null +++ b/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerParameterDao.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file From d1a4952314ba0cadec8dfe4b640deb07b3234c0b Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 4 Jan 2021 15:34:30 +0800 Subject: [PATCH 08/18] sql==customerParameter --- .../migration/V0.0.3__customer_parameter.sql | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 epmet-module/oper-crm/oper-crm-server/src/main/resources/db/migration/V0.0.3__customer_parameter.sql diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/resources/db/migration/V0.0.3__customer_parameter.sql b/epmet-module/oper-crm/oper-crm-server/src/main/resources/db/migration/V0.0.3__customer_parameter.sql new file mode 100644 index 0000000000..593aab721c --- /dev/null +++ b/epmet-module/oper-crm/oper-crm-server/src/main/resources/db/migration/V0.0.3__customer_parameter.sql @@ -0,0 +1,52 @@ +CREATE TABLE `customer_parameter` +( + `ID` varchar(64) NOT NULL COMMENT '唯一标识', + `CUSTOMER_ID` varchar(32) NOT NULL COMMENT '客户ID', + `PARAMETER_KEY` varchar(32) NOT NULL COMMENT '参数KEY值(发短信:send_msg;)', + `PARAMETER_NAME` varchar(32) DEFAULT NULL COMMENT '参数名称(短信)', + `PARAMETER_VALUE` varchar(32) DEFAULT NULL COMMENT '参数VALUE值', + `DESCRIPTION` varchar(32) DEFAULT NULL COMMENT '说明', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除标识:0.未删除 1.已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 + ROW_FORMAT = COMPACT COMMENT ='客户配置表'; + + +#=================== 数据初始化 ============================ +INSERT INTO customer_parameter ( + ID, + CUSTOMER_ID, + PARAMETER_KEY, + PARAMETER_NAME, + PARAMETER_VALUE, + DESCRIPTION, + DEL_FLAG, + REVISION, + CREATED_BY, + CREATED_TIME, + UPDATED_BY, + UPDATED_TIME +) +SELECT + MD5(uuid() + FLOOR(RAND() * 999999)), + id, + 'send_msg', + '短信', + '100', + '客户短信可发送次数配置', + '0', + '0', + 'app_user', + NOW(), + 'app_user', + NOW() +FROM + customer +WHERE + DEL_FLAG = '0' \ No newline at end of file From 9aa0beb55751143793e69f45103efe3b9548480b Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 4 Jan 2021 16:35:10 +0800 Subject: [PATCH 09/18] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/SysSmsServiceImpl.java | 4 ++++ .../epmet/dto/result/CrmParameterResultDTO.java | 5 +++++ .../com/epmet/feign/OperCrmOpenFeignClient.java | 9 +++++++++ .../fallback/OperCrmOpenFeignClientFallback.java | 5 +++++ .../controller/CustomerParameterController.java | 13 ++++++++++++- .../java/com/epmet/dao/CustomerParameterDao.java | 7 +++++++ .../epmet/service/CustomerParameterService.java | 8 ++++++++ .../service/impl/CustomerParameterServiceImpl.java | 14 ++++++++++++++ .../main/resources/mapper/CustomerParameterDao.xml | 13 +++++++++++++ 9 files changed, 77 insertions(+), 1 deletion(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java index 17e6c855f2..04809b8dd5 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java @@ -219,6 +219,7 @@ public class SysSmsServiceImpl extends BaseServiceImpl parameterResult.forEach(p -> { if (customerId.equals(p.getCustomerId())){ p.setBalanceStatus(Integer.valueOf(p.getParameterValue()) >= v.size() ? true : false); + p.setSubtractParameterValue(String.valueOf(Integer.valueOf(p.getParameterValue()) - v.size())); } }); }); @@ -243,6 +244,9 @@ public class SysSmsServiceImpl extends BaseServiceImpl }catch (RenException e){ logger.error(e.getInternalMsg()); } + Map> groupByStatus = parameterResult.stream().collect(Collectors.groupingBy(CrmParameterResultDTO::getBalanceStatus)); + List crmParameterResultDTOS = groupByStatus.get(true); + operCrmOpenFeignClient.updateParamInfo(crmParameterResultDTOS); // formDTOList.forEach(dto->{ // SysSmsDTO sysSmsDTO = new SysSmsDTO(); diff --git a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CrmParameterResultDTO.java b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CrmParameterResultDTO.java index d4781d6be2..c18bf9ee3b 100644 --- a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CrmParameterResultDTO.java +++ b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CrmParameterResultDTO.java @@ -36,4 +36,9 @@ public class CrmParameterResultDTO implements Serializable { * 余额状态【parameterValue】true:充足,false:不足 */ private Boolean balanceStatus = true; + + /** + * 新的参数VALUE值 + */ + private String subtractParameterValue; } diff --git a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/OperCrmOpenFeignClient.java b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/OperCrmOpenFeignClient.java index 78ee285226..496dcd636a 100644 --- a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/OperCrmOpenFeignClient.java +++ b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/OperCrmOpenFeignClient.java @@ -85,4 +85,13 @@ public interface OperCrmOpenFeignClient { */ @PostMapping("/oper/crm/parameter/parameterinfo") Result> selectParamInfo(@RequestBody List formDTOs); + + /** + * @Description 更新客户配置信息 + * @Param formDTOS + * @author zxc + * @date 2021/1/4 下午4:23 + */ + @PostMapping("/oper/crm/parameter/parameterupdate") + Result updateParamInfo(@RequestBody List formDTOS); } diff --git a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/fallback/OperCrmOpenFeignClientFallback.java b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/fallback/OperCrmOpenFeignClientFallback.java index cebbe65f40..d18f98065a 100644 --- a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/fallback/OperCrmOpenFeignClientFallback.java +++ b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/fallback/OperCrmOpenFeignClientFallback.java @@ -64,4 +64,9 @@ public class OperCrmOpenFeignClientFallback implements OperCrmOpenFeignClient { public Result> selectParamInfo(List formDTOs) { return ModuleUtils.feignConError(ServiceConstant.OPER_CRM_SERVER, "selectParamInfo", formDTOs); } + + @Override + public Result updateParamInfo(List formDTOS) { + return ModuleUtils.feignConError(ServiceConstant.OPER_CRM_SERVER, "updateParamInfo", formDTOS); + } } diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerParameterController.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerParameterController.java index 03053106d0..006080bd6b 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerParameterController.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerParameterController.java @@ -3,7 +3,6 @@ package com.epmet.controller; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.CrmParameterFormDTO; -import com.epmet.dto.form.ParameterFormDTO; import com.epmet.dto.result.CrmParameterResultDTO; import com.epmet.service.CustomerParameterService; import org.springframework.beans.factory.annotation.Autowired; @@ -39,4 +38,16 @@ public class CustomerParameterController { return new Result>().ok(parameterService.selectParamInfo(formDTOs)); } + /** + * @Description 更新客户配置信息 + * @Param formDTOS + * @author zxc + * @date 2021/1/4 下午4:23 + */ + @PostMapping("parameterupdate") + public Result updateParamInfo(@RequestBody List formDTOS){ + parameterService.updateParamInfo(formDTOS); + return new Result(); + } + } diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/dao/CustomerParameterDao.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/dao/CustomerParameterDao.java index 2095d06646..5d11da7f96 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/dao/CustomerParameterDao.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/dao/CustomerParameterDao.java @@ -24,4 +24,11 @@ public interface CustomerParameterDao extends BaseDao { */ List selectParamInfo(@Param("formDTOS")List formDTOS); + /** + * @Description 更新客户配置信息 + * @Param formDTOS + * @author zxc + * @date 2021/1/4 下午4:12 + */ + void updateParamInfo(@Param("formDTOS")List formDTOS); } diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerParameterService.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerParameterService.java index 999ec3cc3d..4ab868a9c1 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerParameterService.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerParameterService.java @@ -19,4 +19,12 @@ public interface CustomerParameterService { */ List selectParamInfo(List formDTOs); + /** + * @Description 更新客户配置信息 + * @Param formDTOS + * @author zxc + * @date 2021/1/4 下午4:10 + */ + void updateParamInfo(List formDTOS); + } diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerParameterServiceImpl.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerParameterServiceImpl.java index 467e19fd77..001fab6aff 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerParameterServiceImpl.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerParameterServiceImpl.java @@ -7,6 +7,7 @@ import com.epmet.service.CustomerParameterService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.util.ArrayList; @@ -40,4 +41,17 @@ public class CustomerParameterServiceImpl implements CustomerParameterService { } return result; } + + /** + * @Description 更新客户配置信息 + * @Param formDTOS + * @author zxc + * @date 2021/1/4 下午4:11 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void updateParamInfo(List formDTOS) { + if (CollectionUtils.isEmpty(formDTOS))return; + parameterDao.updateParamInfo(formDTOS); + } } diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerParameterDao.xml b/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerParameterDao.xml index 35bf8738d1..3c25c2e33a 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerParameterDao.xml +++ b/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerParameterDao.xml @@ -2,6 +2,19 @@ + + + + UPDATE customer_parameter + SET PARAMETER_VALUE = #{f.subtractParameterValue} + + DEL_FLAG = 0 + AND CUSTOMER_ID = #{f.customerId} + AND PARAMETER_KEY = #{f.parameterKey} + + + + + SELECT + tid as "tid", + title AS "type", + pri_tmpl_id AS "templateId" + FROM + personal_template + WHERE + del_flag = '0' + AND customer_id = #{customerId} + AND client_type = #{app} + AND ( + (KEY_IDS = '5,7,6' and tid = '8171')or + (KEY_IDS = '4,9,3' and tid = '2092')) + ORDER BY created_time ASC + + - \ No newline at end of file + diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/WxmpSubscribeConstant.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/WxmpSubscribeConstant.java new file mode 100644 index 0000000000..0c9c5f28b9 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/WxmpSubscribeConstant.java @@ -0,0 +1,6 @@ +package com.epmet.modules.constant; + +public interface WxmpSubscribeConstant { + String TYPE_COMMENT = "comment"; + String TYPE_SHIFT_ISSUE = "shiftIssue"; +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java index 53140e4fef..5502174889 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java @@ -258,7 +258,7 @@ public interface ResiTopicService extends BaseService { * @date 2020.11.20 10:26 */ FirstTopicShiftedToIssueApplicationResultDTO shiftIssueV2(ResiTopicTurnIssueFromDTO param); - + /** * @Description 工作端审核议题通过时获取一些议题相关信息 * @param param @@ -267,7 +267,7 @@ public interface ResiTopicService extends BaseService { * @date 2020.11.20 18:09 */ IssueShiftedFromTopicFormDTO getIssueInfoWhenAudit(ResiTopicTurnIssueFromDTO param); - + /** * @Description 政府端查看议题详情时的话题相关信息 * @param govTopicIssueInfoFormDTO @@ -324,4 +324,14 @@ public interface ResiTopicService extends BaseService { */ List getTopicIdsByGroup(String groupId); -} \ No newline at end of file + /** + * @Description 向关注话题的人发送微信订阅 + * @param tokenDto + * @param id + * @param type 订阅类型 comment / shiftIssue + * @return void + * @Author liushaowen + * @Date 2020/12/31 10:28 + */ + void sendWxmpUpdateSubscribe(TokenDto tokenDto, String id, String type); +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java index a4e0365d2a..af32bb959e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java @@ -38,6 +38,7 @@ import com.epmet.dto.form.UserResiInfoListFormDTO; import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.modules.comment.entity.ResiTopicCommentEntity; import com.epmet.modules.constant.ResiGroupRedisKeys; +import com.epmet.modules.constant.WxmpSubscribeConstant; import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.member.dao.ResiGroupMemberDao; import com.epmet.modules.member.redis.ResiGroupMemberRedis; @@ -224,6 +225,8 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl commentList = resiTopicCommentService.getCommentList(tokenDto, resiQueryCommentFormDTO).getData(); + Set toUsers = commentList.stream().map(item -> item.getUserId()).collect(Collectors.toSet()); + toUsers.add(createdBy); + //不给发起操作的人推送 + toUsers.remove(tokenDto.getUserId()); + List msgList = new ArrayList<>(); + Date now = new Date(); + for (String toUser : toUsers) { + WxSubscribeUpdateFormDTO subscribeUpdateFormDTO = new WxSubscribeUpdateFormDTO(); + if (WxmpSubscribeConstant.TYPE_COMMENT.equals(type)){ + subscribeUpdateFormDTO.setSourceType(WxmpMessageConstant.SOURCE_TYPE_TOPIC); + subscribeUpdateFormDTO.setBehaviorType(WxmpMessageConstant.CONTENT_UPDATE_TEMPLATE_TYPE); + subscribeUpdateFormDTO.setMessageTitle(WxmpMessageConstant.CONTENT_UPDATE_TITLE_TEXT); + subscribeUpdateFormDTO.setMessageContent(WxmpMessageConstant.CONTENT_UPDATE_CONTENT_TEXT); + } + if (WxmpSubscribeConstant.TYPE_SHIFT_ISSUE.equals(type)){ + subscribeUpdateFormDTO.setSourceType(WxmpMessageConstant.SOURCE_TYPE_ISSUE); + subscribeUpdateFormDTO.setBehaviorType(WxmpMessageConstant.CONCERN_UPDATE_TEMPLATE_TYPE); + subscribeUpdateFormDTO.setMessageTitle(WxmpMessageConstant.CONCERN_UPDATE_TITLE_TEXT); + subscribeUpdateFormDTO.setMessageContent(WxmpMessageConstant.CONCERN_UPDATE_CONTENT_TEXT); + } + subscribeUpdateFormDTO.setGroupId(groupId); + subscribeUpdateFormDTO.setClientType(WxmpMessageConstant.RESI); + subscribeUpdateFormDTO.setCustomerId(customerId); + subscribeUpdateFormDTO.setGridId(gridId); + subscribeUpdateFormDTO.setSourceId(topicId); + subscribeUpdateFormDTO.setMessageTime(now); + subscribeUpdateFormDTO.setUserId(toUser); + msgList.add(subscribeUpdateFormDTO); + } + if(msgList.size()>0){ + epmetMessageOpenFeignClient.sendWxSubscribeUpdate(msgList); + } + }catch (Exception e){ + logger.warn("话题相关 发送微信订阅失败,"+e.getMessage()+",topicId="+topicId+" 类型="+type); + } + } } From 2a050b192e60e19e0edafd00ee5d785f061b815b Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Wed, 6 Jan 2021 10:30:51 +0800 Subject: [PATCH 16/18] revert third --- .../epmet-third/epmet-third-server/pom.xml | 6 ------ .../PersonalTemplateController.java | 8 -------- .../com/epmet/dao/PersonalTemplateDao.java | 10 +++++----- .../service/PersonalTemplateService.java | 6 +----- .../impl/PersonalTemplateServiceImpl.java | 11 ++--------- .../resources/mapper/PersonalTemplateDao.xml | 19 +------------------ 6 files changed, 9 insertions(+), 51 deletions(-) diff --git a/epmet-module/epmet-third/epmet-third-server/pom.xml b/epmet-module/epmet-third/epmet-third-server/pom.xml index add9a07f64..477d9fd22b 100644 --- a/epmet-module/epmet-third/epmet-third-server/pom.xml +++ b/epmet-module/epmet-third/epmet-third-server/pom.xml @@ -154,12 +154,6 @@ alibaba-dingtalk-service-sdk 1.0.1 - - com.epmet - epmet-message-client - 2.0.0 - compile - diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/PersonalTemplateController.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/PersonalTemplateController.java index f2e210dde2..dc6099d9fe 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/PersonalTemplateController.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/PersonalTemplateController.java @@ -4,10 +4,8 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.CustomerTemplateListFormDTO; import com.epmet.dto.form.GetTemplateListFormDTO; -import com.epmet.dto.form.TemplateListV2FormDTO; import com.epmet.dto.result.CustomerTemplateListResultDTO; import com.epmet.dto.result.GetTemplateListResultDTO; -import com.epmet.dto.result.TemplateListV2ResultDTO; import com.epmet.service.PersonalTemplateService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -39,12 +37,6 @@ public class PersonalTemplateController { return new Result>().ok(personalTemplateService.templateList(formDTO)); } - @PostMapping("templatelistv2") - public Result> templateList(@RequestBody TemplateListV2FormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO); - return new Result>().ok(personalTemplateService.templateListV2(formDTO)); - } - /** * @return * @Description 获取客户两个端站内信模板Id diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PersonalTemplateDao.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PersonalTemplateDao.java index 2946a60947..c89ed2aeba 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PersonalTemplateDao.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PersonalTemplateDao.java @@ -21,8 +21,10 @@ import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.PersonalTemplateDTO; import com.epmet.dto.form.CustomerTemplateListFormDTO; import com.epmet.dto.form.GetTemplateListFormDTO; -import com.epmet.dto.form.TemplateListV2FormDTO; -import com.epmet.dto.result.*; +import com.epmet.dto.result.CustomerTempResultDTO; +import com.epmet.dto.result.CustomerTemplateListResultDTO; +import com.epmet.dto.result.GetTemplateListResultDTO; +import com.epmet.dto.result.TemplateDTO; import com.epmet.entity.PersonalTemplateEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -103,6 +105,4 @@ public interface PersonalTemplateDao extends BaseDao { * @return java.util.List */ List selectListByKey(@Param("appId") String appId, @Param("tid") String tid, @Param("keyIds") String keyIds); - - List selectTemplateListV2(TemplateListV2FormDTO formDTO); -} +} \ No newline at end of file diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PersonalTemplateService.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PersonalTemplateService.java index b2ad60c0b0..1d69a7b16a 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PersonalTemplateService.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PersonalTemplateService.java @@ -22,11 +22,9 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.dto.PersonalTemplateDTO; import com.epmet.dto.form.CustomerTemplateListFormDTO; import com.epmet.dto.form.GetTemplateListFormDTO; -import com.epmet.dto.form.TemplateListV2FormDTO; import com.epmet.dto.result.CustomerTemplateListResultDTO; import com.epmet.dto.result.GetTemplateListResultDTO; import com.epmet.dto.result.TemplateDTO; -import com.epmet.dto.result.TemplateListV2ResultDTO; import com.epmet.entity.PersonalTemplateEntity; import java.util.List; @@ -154,6 +152,4 @@ public interface PersonalTemplateService extends BaseService */ List getListByKey(String appId, String tid, String keyIds); - - List templateListV2(TemplateListV2FormDTO formDTO); -} +} \ No newline at end of file diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PersonalTemplateServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PersonalTemplateServiceImpl.java index 27ef8e60c2..6aac8fdc8f 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PersonalTemplateServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PersonalTemplateServiceImpl.java @@ -27,11 +27,9 @@ import com.epmet.dao.PersonalTemplateDao; import com.epmet.dto.PersonalTemplateDTO; import com.epmet.dto.form.CustomerTemplateListFormDTO; import com.epmet.dto.form.GetTemplateListFormDTO; -import com.epmet.dto.form.TemplateListV2FormDTO; import com.epmet.dto.result.CustomerTemplateListResultDTO; import com.epmet.dto.result.GetTemplateListResultDTO; import com.epmet.dto.result.TemplateDTO; -import com.epmet.dto.result.TemplateListV2ResultDTO; import com.epmet.entity.PersonalTemplateEntity; import com.epmet.service.PersonalTemplateService; import org.apache.commons.lang3.StringUtils; @@ -44,7 +42,7 @@ import java.util.List; import java.util.Map; /** - * + * * * @author generator generator@elink-cn.com * @since v1.0.0 2020-09-09 @@ -134,11 +132,6 @@ public class PersonalTemplateServiceImpl extends BaseServiceImpl templateListV2(TemplateListV2FormDTO formDTO) { - return baseDao.selectTemplateListV2(formDTO); - } - /** * @return * @Description 获取客户两个端站内信模板Id @@ -165,4 +158,4 @@ public class PersonalTemplateServiceImpl extends BaseServiceImpl - - - + \ No newline at end of file From cdddc6b51f9bb5837e7788cfcce3b30ea51c398b Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 6 Jan 2021 10:43:37 +0800 Subject: [PATCH 17/18] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/SysSmsServiceImpl.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java index 185b9cbd7a..f5c741a212 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java @@ -228,9 +228,11 @@ public class SysSmsServiceImpl extends BaseServiceImpl groupByCustomer.forEach((customerId,v) -> { parameterResult.forEach(p -> { if (customerId.equals(p.getCustomerId())){ + // 判断参数开关是否打开,false:未打开 if (p.getSwitchStatus() == false){ logger.error(String.format(SysSmsConstant.NOT_ON_SWITCH,customerId,p.getParameterKey())); }else { + // 判断余额状态 false:余额不足 if (p.getBalanceStatus() == false){ logger.error(String.format(SysSmsConstant.NOT_ENOUGH_BALANCE,customerId,p.getParameterValue())); }else { @@ -249,17 +251,14 @@ public class SysSmsServiceImpl extends BaseServiceImpl }catch (RenException e){ logger.error(e.getInternalMsg()); } - Map> groupByStatus = parameterResult.stream().collect(Collectors.groupingBy(CrmParameterResultDTO::getBalanceStatus)); + Map> groupBySwitch = parameterResult.stream().collect(Collectors.groupingBy(CrmParameterResultDTO::getSwitchStatus)); + List crmParameterTrue = groupBySwitch.get(true); + Map> groupByStatus = crmParameterTrue.stream().collect(Collectors.groupingBy(CrmParameterResultDTO::getBalanceStatus)); List crmParameterResultDTOS = groupByStatus.get(true); - operCrmOpenFeignClient.updateParamInfo(crmParameterResultDTOS); - -// formDTOList.forEach(dto->{ -// SysSmsDTO sysSmsDTO = new SysSmsDTO(); -// sysSmsDTO.setMobile(dto.getMobile()); -// sysSmsDTO.setAliyunTemplateCode(dto.getAliyunTemplateCode()); -// //推送短信 -// this.sendMsg(sysSmsDTO); -// }); + // 把参数开关打开的,已发送短信的客户更新余额 + if (!CollectionUtils.isEmpty(crmParameterResultDTOS)){ + operCrmOpenFeignClient.updateParamInfo(crmParameterResultDTOS); + } } /** From 591a2979e6e75d2554a95a32ead13faf42401cdf Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Wed, 6 Jan 2021 10:50:55 +0800 Subject: [PATCH 18/18] =?UTF-8?q?=E8=AE=A2=E9=98=85=E6=B6=88=E6=81=AF=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/WxmpMessageServiceImpl.java | 4 ++-- .../main/java/com/epmet/dto/form/TemplateListV2FormDTO.java | 0 .../java/com/epmet/dto/result/TemplateListV2ResultDTO.java | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename epmet-module/{epmet-message/epmet-message-client => epmet-third/epmet-third-client}/src/main/java/com/epmet/dto/form/TemplateListV2FormDTO.java (100%) rename epmet-module/{epmet-message/epmet-message-client => epmet-third/epmet-third-client}/src/main/java/com/epmet/dto/result/TemplateListV2ResultDTO.java (100%) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java index 88601a8742..3a2b3f7a90 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java @@ -628,8 +628,8 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { */ @Override public List templateListV2(TemplateListV2FormDTO formDTO) { -// String url = "https://epmet-cloud.elinkservice.cn/api/third/personaltemplate/templatelistv2"; - String url = "http://localhost:8110/third/personaltemplate/templatelistv2"; + String url = "https://epmet-cloud.elinkservice.cn/api/third/personaltemplate/templatelistv2"; +// String url = "http://localhost:8110/third/personaltemplate/templatelistv2"; String data = HttpClientManager.getInstance().sendPostByJSON(url, JSON.toJSONString(formDTO)).getData(); logger.info("ThirdLoginServiceImpl.templatelistv2:httpclient->url:" + url + ",结果->" + data); JSONObject toResult = JSON.parseObject(data); diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/TemplateListV2FormDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/TemplateListV2FormDTO.java similarity index 100% rename from epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/TemplateListV2FormDTO.java rename to epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/TemplateListV2FormDTO.java diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/TemplateListV2ResultDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/TemplateListV2ResultDTO.java similarity index 100% rename from epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/TemplateListV2ResultDTO.java rename to epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/TemplateListV2ResultDTO.java