From 5995e079dcc0614402ee3493a04bf53d11719049 Mon Sep 17 00:00:00 2001 From: liuchuang Date: Tue, 7 Jan 2020 13:45:00 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=9F=AD=E4=BF=A1?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E7=B1=BB=E5=9E=8B=E5=B8=B8=E9=87=8F=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epdc/constant/SysSmsTemplateConstant.java | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/constant/SysSmsTemplateConstant.java diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/constant/SysSmsTemplateConstant.java b/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/constant/SysSmsTemplateConstant.java new file mode 100644 index 000000000..24feb91e7 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/constant/SysSmsTemplateConstant.java @@ -0,0 +1,64 @@ +package com.elink.esua.epdc.constant; + +/** + * + * 短信模板类型 + * + * @Author:liuchuang + * @Date:2020/1/7 11:27 + */ +public interface SysSmsTemplateConstant { + + /** + * 居民端-议题-审核通过 + */ + String SMS_TEMPLATE_RESIDENTS_ISSUE_PASSED = "RESIDENTS_ISSUE_PASSED"; + /** + * 居民端-议题-审核不通过 + */ + String SMS_TEMPLATE_RESIDENTS_ISSUE_NOT_PASS = "RESIDENTS_ISSUE_NOT_PASS"; + /** + * 居民端-议题-转成项目 + */ + String SMS_TEMPLATE_RESIDENTS_ISSUE_CHANGE_ITEM = "RESIDENTS_ISSUE_CHANGE_ITEM"; + /** + * 居民端-项目-结案 + */ + String SMS_TEMPLATE_RESIDENTS_ITEM_SETTLE = "RESIDENTS_ITEM_SETTLE"; + /** + * 居民端-项目-关闭 + */ + String SMS_TEMPLATE_RESIDENTS_ITEM_CLOSED = "RESIDENTS_ITEM_CLOSED"; + /** + * 居民端-邻里社群-社群审核通过 + */ + String SMS_TEMPLATE_RESIDENTS_GROUP_PASSED = "RESIDENTS_GROUP_PASSED"; + /** + * 居民端-邻里社群-社群审核不通过 + */ + String SMS_TEMPLATE_RESIDENTS_GROUP_NOT_PASS = "RESIDENTS_GROUP_NOT_PASS"; + /** + * 居民端-邻里社群-被邀请入群 + */ + String SMS_TEMPLATE_RESIDENTS_GROUP_INVITE_JOIN = "RESIDENTS_GROUP_INVITE_JOIN"; + /** + * 工作端-议题-待审核 + */ + String SMS_TEMPLATE_WORK_ISSUE_WAIT_REVIEW = "WORK_ISSUE_WAIT_REVIEW"; + /** + * 工作端-项目-被吹哨 + */ + String SMS_TEMPLATE_WORK_ITEM_WHISTLE = "WORK_ITEM_WHISTLE"; + /** + * 工作端-项目-吹哨反馈 + */ + String SMS_TEMPLATE_WORK_ITEM_WHISTLE_FEEDBACK = "WORK_ITEM_WHISTLE_FEEDBACK"; + /** + * 工作端-项目-关闭 + */ + String SMS_TEMPLATE_WORK_ITEM_SETTLE = "WORK_ITEM_SETTLE"; + /** + * 工作端-项目-结案 + */ + String SMS_TEMPLATE_WORK_ITEM_CLOSED = "WORK_ITEM_CLOSED"; +} From 99f92fbeb4112574315371f30d7e91df4602e2ba Mon Sep 17 00:00:00 2001 From: wanggongfeng <1305282856@qq.com> Date: Tue, 7 Jan 2020 14:50:53 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E7=AE=A1=E7=90=86?= =?UTF-8?q?=EF=BC=8C=E7=9F=AD=E4=BF=A1=E6=97=A5=E5=BF=97=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/elink/esua/epdc/dto/SmsLogDTO.java | 107 ++++++++++++++++++ .../elink/esua/epdc/dto/SmsTemplateDTO.java | 92 +++++++++++++++ .../epdc/controller/SmsLogController.java | 94 +++++++++++++++ .../controller/SmsTemplateController.java | 94 +++++++++++++++ .../com/elink/esua/epdc/dao/SmsLogDao.java | 33 ++++++ .../elink/esua/epdc/dao/SmsTemplateDao.java | 33 ++++++ .../elink/esua/epdc/entity/SmsLogEntity.java | 73 ++++++++++++ .../esua/epdc/entity/SmsTemplateEntity.java | 58 ++++++++++ .../elink/esua/epdc/excel/SmsLogExcel.java | 77 +++++++++++++ .../esua/epdc/excel/SmsTemplateExcel.java | 68 +++++++++++ .../elink/esua/epdc/redis/SmsLogRedis.java | 47 ++++++++ .../esua/epdc/redis/SmsTemplateRedis.java | 47 ++++++++ .../esua/epdc/service/SmsLogService.java | 95 ++++++++++++++++ .../esua/epdc/service/SmsTemplateService.java | 95 ++++++++++++++++ .../epdc/service/impl/SmsLogServiceImpl.java | 104 +++++++++++++++++ .../service/impl/SmsTemplateServiceImpl.java | 104 +++++++++++++++++ .../src/main/resources/mapper/SmsLogDao.xml | 24 ++++ .../main/resources/mapper/SmsTemplateDao.xml | 21 ++++ 18 files changed, 1266 insertions(+) create mode 100644 esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsLogDTO.java create mode 100644 esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsTemplateDTO.java create mode 100644 esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/SmsLogController.java create mode 100644 esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/SmsTemplateController.java create mode 100644 esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/dao/SmsLogDao.java create mode 100644 esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/dao/SmsTemplateDao.java create mode 100644 esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsLogEntity.java create mode 100644 esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsTemplateEntity.java create mode 100644 esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/excel/SmsLogExcel.java create mode 100644 esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/excel/SmsTemplateExcel.java create mode 100644 esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/redis/SmsLogRedis.java create mode 100644 esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/redis/SmsTemplateRedis.java create mode 100644 esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/SmsLogService.java create mode 100644 esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/SmsTemplateService.java create mode 100644 esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsLogServiceImpl.java create mode 100644 esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsTemplateServiceImpl.java create mode 100644 esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsLogDao.xml create mode 100644 esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsTemplateDao.xml diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsLogDTO.java b/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsLogDTO.java new file mode 100644 index 000000000..154d3e20c --- /dev/null +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsLogDTO.java @@ -0,0 +1,107 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2020-01-07 + */ +@Data +public class SmsLogDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 短信模板表ID + */ + private String smsTemplateId; + + /** + * 手机号 + */ + private String mobile; + + /** + * 参数1 + */ + private String params1; + + /** + * 参数2 + */ + private String params2; + + /** + * 参数3 + */ + private String params3; + + /** + * 参数4 + */ + private String params4; + + /** + * 发送状态 0:失败 1:成功 + */ + private String status; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + + /** + * 删除标记 + */ + private String delFlag; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsTemplateDTO.java b/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsTemplateDTO.java new file mode 100644 index 000000000..8803d63c5 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsTemplateDTO.java @@ -0,0 +1,92 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2020-01-07 + */ +@Data +public class SmsTemplateDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 参数编码 + */ + private String paramCode; + + /** + * 参数名称 + */ + private String paramName; + + /** + * 参数值 + */ + private String paramValue; + + /** + * 备注 + */ + private String remark; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + + /** + * 删除标记 + */ + private String delFlag; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/SmsLogController.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/SmsLogController.java new file mode 100644 index 000000000..e1dbc798c --- /dev/null +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/SmsLogController.java @@ -0,0 +1,94 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.controller; + +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.commons.tools.validator.AssertUtils; +import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; +import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; +import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; +import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; +import com.elink.esua.epdc.dto.SmsLogDTO; +import com.elink.esua.epdc.excel.SmsLogExcel; +import com.elink.esua.epdc.service.SmsLogService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2020-01-07 + */ +@RestController +@RequestMapping("smslog") +public class SmsLogController { + + @Autowired + private SmsLogService smsLogService; + + @GetMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = smsLogService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id){ + SmsLogDTO data = smsLogService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody SmsLogDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + smsLogService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody SmsLogDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + smsLogService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + smsLogService.delete(ids); + return new Result(); + } + + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = smsLogService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, SmsLogExcel.class); + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/SmsTemplateController.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/SmsTemplateController.java new file mode 100644 index 000000000..018a06e70 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/SmsTemplateController.java @@ -0,0 +1,94 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.controller; + +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.commons.tools.validator.AssertUtils; +import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; +import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; +import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; +import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; +import com.elink.esua.epdc.dto.SmsTemplateDTO; +import com.elink.esua.epdc.excel.SmsTemplateExcel; +import com.elink.esua.epdc.service.SmsTemplateService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2020-01-07 + */ +@RestController +@RequestMapping("smstemplate") +public class SmsTemplateController { + + @Autowired + private SmsTemplateService smsTemplateService; + + @GetMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = smsTemplateService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id){ + SmsTemplateDTO data = smsTemplateService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody SmsTemplateDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + smsTemplateService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody SmsTemplateDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + smsTemplateService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + smsTemplateService.delete(ids); + return new Result(); + } + + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = smsTemplateService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, SmsTemplateExcel.class); + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/dao/SmsLogDao.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/dao/SmsLogDao.java new file mode 100644 index 000000000..0d1f2db12 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/dao/SmsLogDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.dao; + +import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.entity.SmsLogEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2020-01-07 + */ +@Mapper +public interface SmsLogDao extends BaseDao { + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/dao/SmsTemplateDao.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/dao/SmsTemplateDao.java new file mode 100644 index 000000000..75dde9055 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/dao/SmsTemplateDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.dao; + +import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.entity.SmsTemplateEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2020-01-07 + */ +@Mapper +public interface SmsTemplateDao extends BaseDao { + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsLogEntity.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsLogEntity.java new file mode 100644 index 000000000..75eafd61f --- /dev/null +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsLogEntity.java @@ -0,0 +1,73 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2020-01-07 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("epdc_sms_log") +public class SmsLogEntity extends BaseEpdcEntity { + + private static final long serialVersionUID = 1L; + + /** + * 短信模板表ID + */ + private String smsTemplateId; + + /** + * 手机号 + */ + private String mobile; + + /** + * 参数1 + */ + private String params1; + + /** + * 参数2 + */ + private String params2; + + /** + * 参数3 + */ + private String params3; + + /** + * 参数4 + */ + private String params4; + + /** + * 发送状态 0:失败 1:成功 + */ + private String status; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsTemplateEntity.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsTemplateEntity.java new file mode 100644 index 000000000..6d85da8c2 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsTemplateEntity.java @@ -0,0 +1,58 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2020-01-07 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("epdc_sms_template") +public class SmsTemplateEntity extends BaseEpdcEntity { + + private static final long serialVersionUID = 1L; + + /** + * 参数编码 + */ + private String paramCode; + + /** + * 参数名称 + */ + private String paramName; + + /** + * 参数值 + */ + private String paramValue; + + /** + * 备注 + */ + private String remark; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/excel/SmsLogExcel.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/excel/SmsLogExcel.java new file mode 100644 index 000000000..42c065cd3 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/excel/SmsLogExcel.java @@ -0,0 +1,77 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2020-01-07 + */ +@Data +public class SmsLogExcel { + + @Excel(name = "主键") + private String id; + + @Excel(name = "短信模板表ID") + private String smsTemplateId; + + @Excel(name = "手机号") + private String mobile; + + @Excel(name = "参数1") + private String params1; + + @Excel(name = "参数2") + private String params2; + + @Excel(name = "参数3") + private String params3; + + @Excel(name = "参数4") + private String params4; + + @Excel(name = "发送状态 0:失败 1:成功") + private String status; + + @Excel(name = "乐观锁") + private Integer revision; + + @Excel(name = "创建人") + private String createdBy; + + @Excel(name = "创建时间") + private Date createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + + @Excel(name = "删除标记") + private String delFlag; + + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/excel/SmsTemplateExcel.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/excel/SmsTemplateExcel.java new file mode 100644 index 000000000..b5c9415e6 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/excel/SmsTemplateExcel.java @@ -0,0 +1,68 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2020-01-07 + */ +@Data +public class SmsTemplateExcel { + + @Excel(name = "主键") + private String id; + + @Excel(name = "参数编码") + private String paramCode; + + @Excel(name = "参数名称") + private String paramName; + + @Excel(name = "参数值") + private String paramValue; + + @Excel(name = "备注") + private String remark; + + @Excel(name = "乐观锁") + private Integer revision; + + @Excel(name = "创建人") + private String createdBy; + + @Excel(name = "创建时间") + private Date createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + + @Excel(name = "删除标记") + private String delFlag; + + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/redis/SmsLogRedis.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/redis/SmsLogRedis.java new file mode 100644 index 000000000..c68b5d000 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/redis/SmsLogRedis.java @@ -0,0 +1,47 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.redis; + +import com.elink.esua.epdc.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2020-01-07 + */ +@Component +public class SmsLogRedis { + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set(){ + + } + + public String get(String id){ + return null; + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/redis/SmsTemplateRedis.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/redis/SmsTemplateRedis.java new file mode 100644 index 000000000..b9963015e --- /dev/null +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/redis/SmsTemplateRedis.java @@ -0,0 +1,47 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.redis; + +import com.elink.esua.epdc.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2020-01-07 + */ +@Component +public class SmsTemplateRedis { + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set(){ + + } + + public String get(String id){ + return null; + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/SmsLogService.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/SmsLogService.java new file mode 100644 index 000000000..5ea8e6953 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/SmsLogService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.service; + +import com.elink.esua.epdc.commons.mybatis.service.BaseService; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.dto.SmsLogDTO; +import com.elink.esua.epdc.entity.SmsLogEntity; + +import java.util.List; +import java.util.Map; + +/** + * + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2020-01-07 + */ +public interface SmsLogService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-01-07 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-01-07 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return SmsLogDTO + * @author generator + * @date 2020-01-07 + */ + SmsLogDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-01-07 + */ + void save(SmsLogDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-01-07 + */ + void update(SmsLogDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-01-07 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/SmsTemplateService.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/SmsTemplateService.java new file mode 100644 index 000000000..02a17028b --- /dev/null +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/SmsTemplateService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.service; + +import com.elink.esua.epdc.commons.mybatis.service.BaseService; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.dto.SmsTemplateDTO; +import com.elink.esua.epdc.entity.SmsTemplateEntity; + +import java.util.List; +import java.util.Map; + +/** + * + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2020-01-07 + */ +public interface SmsTemplateService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-01-07 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-01-07 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return SmsTemplateDTO + * @author generator + * @date 2020-01-07 + */ + SmsTemplateDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-01-07 + */ + void save(SmsTemplateDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-01-07 + */ + void update(SmsTemplateDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-01-07 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsLogServiceImpl.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsLogServiceImpl.java new file mode 100644 index 000000000..461488167 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsLogServiceImpl.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; +import com.elink.esua.epdc.commons.tools.constant.FieldConstant; +import com.elink.esua.epdc.dao.SmsLogDao; +import com.elink.esua.epdc.dto.SmsLogDTO; +import com.elink.esua.epdc.entity.SmsLogEntity; +import com.elink.esua.epdc.redis.SmsLogRedis; +import com.elink.esua.epdc.service.SmsLogService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2020-01-07 + */ +@Service +public class SmsLogServiceImpl extends BaseServiceImpl implements SmsLogService { + + @Autowired + private SmsLogRedis smsLogRedis; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, SmsLogDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, SmsLogDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public SmsLogDTO get(String id) { + SmsLogEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, SmsLogDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(SmsLogDTO dto) { + SmsLogEntity entity = ConvertUtils.sourceToTarget(dto, SmsLogEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(SmsLogDTO dto) { + SmsLogEntity entity = ConvertUtils.sourceToTarget(dto, SmsLogEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsTemplateServiceImpl.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsTemplateServiceImpl.java new file mode 100644 index 000000000..3678947a7 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsTemplateServiceImpl.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; +import com.elink.esua.epdc.commons.tools.constant.FieldConstant; +import com.elink.esua.epdc.dao.SmsTemplateDao; +import com.elink.esua.epdc.dto.SmsTemplateDTO; +import com.elink.esua.epdc.entity.SmsTemplateEntity; +import com.elink.esua.epdc.redis.SmsTemplateRedis; +import com.elink.esua.epdc.service.SmsTemplateService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2020-01-07 + */ +@Service +public class SmsTemplateServiceImpl extends BaseServiceImpl implements SmsTemplateService { + + @Autowired + private SmsTemplateRedis smsTemplateRedis; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, SmsTemplateDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, SmsTemplateDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public SmsTemplateDTO get(String id) { + SmsTemplateEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, SmsTemplateDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(SmsTemplateDTO dto) { + SmsTemplateEntity entity = ConvertUtils.sourceToTarget(dto, SmsTemplateEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(SmsTemplateDTO dto) { + SmsTemplateEntity entity = ConvertUtils.sourceToTarget(dto, SmsTemplateEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsLogDao.xml b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsLogDao.xml new file mode 100644 index 000000000..e308cb23a --- /dev/null +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsLogDao.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsTemplateDao.xml b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsTemplateDao.xml new file mode 100644 index 000000000..72c1311af --- /dev/null +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsTemplateDao.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 1eb882abb3ffbc0e108cb70562daa53ad646bfa9 Mon Sep 17 00:00:00 2001 From: wanggongfeng <1305282856@qq.com> Date: Tue, 7 Jan 2020 15:48:49 +0800 Subject: [PATCH 03/13] =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../elink/esua/epdc/dto/SmsTemplateDTO.java | 17 ++++++---- .../esua/epdc/entity/SmsTemplateEntity.java | 33 +++++++++++-------- 2 files changed, 30 insertions(+), 20 deletions(-) diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsTemplateDTO.java b/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsTemplateDTO.java index 8803d63c5..934eb5e3c 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsTemplateDTO.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsTemplateDTO.java @@ -40,19 +40,24 @@ public class SmsTemplateDTO implements Serializable { private String id; /** - * 参数编码 + * 模板类型 */ - private String paramCode; + private String templateType; /** - * 参数名称 + * 模板类型名称 */ - private String paramName; + private String templateTypeName; /** - * 参数值 + * 短信签名 */ - private String paramValue; + private String signName; + + /** + * 短信模板 + */ + private String template; /** * 备注 diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsTemplateEntity.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsTemplateEntity.java index 6d85da8c2..cf819d8fd 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsTemplateEntity.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsTemplateEntity.java @@ -35,20 +35,25 @@ public class SmsTemplateEntity extends BaseEpdcEntity { private static final long serialVersionUID = 1L; - /** - * 参数编码 - */ - private String paramCode; - - /** - * 参数名称 - */ - private String paramName; - - /** - * 参数值 - */ - private String paramValue; + /** + * 模板类型 + */ + private String templateType; + + /** + * 模板类型名称 + */ + private String templateTypeName; + + /** + * 短信签名 + */ + private String signName; + + /** + * 短信模板 + */ + private String template; /** * 备注 From 800db1437b97a0685cc33b5ba713779f5d273bd7 Mon Sep 17 00:00:00 2001 From: wanggongfeng <1305282856@qq.com> Date: Tue, 7 Jan 2020 16:56:44 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E7=AE=A1=E7=90=86PC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/elink/esua/epdc/dto/SmsTemplateDTO.java | 5 +++++ .../java/com/elink/esua/epdc/entity/SmsTemplateEntity.java | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsTemplateDTO.java b/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsTemplateDTO.java index 934eb5e3c..d88aff1d6 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsTemplateDTO.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsTemplateDTO.java @@ -64,6 +64,11 @@ public class SmsTemplateDTO implements Serializable { */ private String remark; + /** + * 启用标识(0-否,1-是) + */ + private String enableFlag; + /** * 乐观锁 */ diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsTemplateEntity.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsTemplateEntity.java index cf819d8fd..c2b59b671 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsTemplateEntity.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsTemplateEntity.java @@ -60,4 +60,9 @@ public class SmsTemplateEntity extends BaseEpdcEntity { */ private String remark; + /** + * 启用标识(0-否,1-是) + */ + private String enableFlag; + } \ No newline at end of file From 245162244495f21f364b723242e14f05f0134851 Mon Sep 17 00:00:00 2001 From: wanggongfeng <1305282856@qq.com> Date: Tue, 7 Jan 2020 17:45:59 +0800 Subject: [PATCH 05/13] =?UTF-8?q?=E7=9F=AD=E6=81=AF=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/elink/esua/epdc/dto/SmsLogDTO.java | 7 ++++- .../elink/esua/epdc/entity/SmsLogEntity.java | 7 ++++- .../service/impl/SmsTemplateServiceImpl.java | 29 ++++++++++++++++++- 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsLogDTO.java b/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsLogDTO.java index 154d3e20c..30f619987 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsLogDTO.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsLogDTO.java @@ -72,7 +72,12 @@ public class SmsLogDTO implements Serializable { /** * 发送状态 0:失败 1:成功 */ - private String status; + private Integer status; + + /** + * 平台类型(1:阿里云,2:腾讯云) + */ + private Integer platform; /** * 乐观锁 diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsLogEntity.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsLogEntity.java index 75eafd61f..82a954d53 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsLogEntity.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsLogEntity.java @@ -68,6 +68,11 @@ public class SmsLogEntity extends BaseEpdcEntity { /** * 发送状态 0:失败 1:成功 */ - private String status; + private Integer status; + + /** + * 平台类型(1:阿里云,2:腾讯云) + */ + private Integer platform; } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsTemplateServiceImpl.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsTemplateServiceImpl.java index 3678947a7..022a7e073 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsTemplateServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsTemplateServiceImpl.java @@ -20,9 +20,10 @@ package com.elink.esua.epdc.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.commons.tools.constant.FieldConstant; +import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; -import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.dao.SmsTemplateDao; import com.elink.esua.epdc.dto.SmsTemplateDTO; import com.elink.esua.epdc.entity.SmsTemplateEntity; @@ -83,13 +84,39 @@ public class SmsTemplateServiceImpl extends BaseServiceImpl 0) { + throw new RenException("您输入的模板类型已存在"); + } + } SmsTemplateEntity entity = ConvertUtils.sourceToTarget(dto, SmsTemplateEntity.class); insert(entity); } + /** + * 统计模板类型数量 + * @param dto + * @return + */ + public Integer getTemplateType(SmsTemplateDTO dto) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("TEMPLATE_TYPE", dto.getTemplateType()); + String id = dto.getId(); + wrapper.ne(id != null, "id", dto.getId()); + wrapper.eq("del_flag", "0"); + return baseDao.selectCount(wrapper); + } + @Override @Transactional(rollbackFor = Exception.class) public void update(SmsTemplateDTO dto) { + String templateType = dto.getTemplateType(); + if (StringUtils.isNotBlank(templateType)) { + if (getTemplateType(dto) > 0) { + throw new RenException("您输入的模板类型已存在"); + } + } SmsTemplateEntity entity = ConvertUtils.sourceToTarget(dto, SmsTemplateEntity.class); updateById(entity); } From 24a6993d9083ff8fd82562167e42df57b87a4555 Mon Sep 17 00:00:00 2001 From: liuchuang Date: Tue, 7 Jan 2020 17:55:34 +0800 Subject: [PATCH 06/13] =?UTF-8?q?=E5=8F=91=E9=80=81=E7=9F=AD=E4=BF=A1?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=E6=8E=A5=E5=8F=A3=20init?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epdc/constant/SysSmsTemplateConstant.java | 4 +- .../esua/epdc/dto/form/SmsNoticeFormDTO.java | 30 +++++ .../controller/AppSmsTemplateController.java | 42 +++++++ .../elink/esua/epdc/dao/SmsTemplateDao.java | 12 ++ .../esua/epdc/service/SmsTemplateService.java | 24 ++++ .../service/impl/SmsTemplateServiceImpl.java | 105 +++++++++++++++++- .../esua/epdc/sms/AbstractSmsService.java | 12 ++ .../elink/esua/epdc/sms/AliyunSmsService.java | 42 ++++++- .../elink/esua/epdc/sms/QcloudSmsService.java | 32 +++++- .../main/resources/mapper/SmsTemplateDao.xml | 16 +-- 10 files changed, 297 insertions(+), 22 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/form/SmsNoticeFormDTO.java create mode 100644 esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/AppSmsTemplateController.java diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/constant/SysSmsTemplateConstant.java b/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/constant/SysSmsTemplateConstant.java index 24feb91e7..4af79e839 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/constant/SysSmsTemplateConstant.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/constant/SysSmsTemplateConstant.java @@ -56,9 +56,9 @@ public interface SysSmsTemplateConstant { /** * 工作端-项目-关闭 */ - String SMS_TEMPLATE_WORK_ITEM_SETTLE = "WORK_ITEM_SETTLE"; + String SMS_TEMPLATE_WORK_ITEM_CLOSED = "WORK_ITEM_CLOSED"; /** * 工作端-项目-结案 */ - String SMS_TEMPLATE_WORK_ITEM_CLOSED = "WORK_ITEM_CLOSED"; + String SMS_TEMPLATE_WORK_ITEM_SETTLE = "WORK_ITEM_SETTLE"; } diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/form/SmsNoticeFormDTO.java b/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/form/SmsNoticeFormDTO.java new file mode 100644 index 000000000..e66ffd2fd --- /dev/null +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/form/SmsNoticeFormDTO.java @@ -0,0 +1,30 @@ +package com.elink.esua.epdc.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + +/** + * + * 短信通知Form DTO + * + * @Author:liuchuang + * @Date:2020/1/7 15:00 + */ +@Data +public class SmsNoticeFormDTO implements Serializable { + private static final long serialVersionUID = 8320411108085513393L; + + /** + * 短信模板类型 + */ + @NotBlank(message = "短信模板类型不能为空") + private String smsTemplateType; + + /** + * 手机号 + */ + private List mobiles; +} diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/AppSmsTemplateController.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/AppSmsTemplateController.java new file mode 100644 index 000000000..54107cf27 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/AppSmsTemplateController.java @@ -0,0 +1,42 @@ +package com.elink.esua.epdc.controller; + +import com.elink.esua.epdc.commons.tools.constant.Constant; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; +import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO; +import com.elink.esua.epdc.service.SmsTemplateService; +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; + +/** + * + * 短信-消息通知服务 + * + * @Author:liuchuang + * @Date:2020/1/7 14:59 + */ +@RestController +@RequestMapping(Constant.EPDC_APP + "smstemplate") +public class AppSmsTemplateController { + + @Autowired + private SmsTemplateService smsTemplateService; + + /** + * + * 发送短信通知 + * + * @params [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2020/1/7 15:09 + */ + @PostMapping("sendSmsNotice") + public Result sendSmsNotice(@RequestBody SmsNoticeFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + return smsTemplateService.sendSmsNotice(formDto); + } +} diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/dao/SmsTemplateDao.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/dao/SmsTemplateDao.java index 75dde9055..a0efe0522 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/dao/SmsTemplateDao.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/dao/SmsTemplateDao.java @@ -18,6 +18,7 @@ package com.elink.esua.epdc.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.dto.SmsTemplateDTO; import com.elink.esua.epdc.entity.SmsTemplateEntity; import org.apache.ibatis.annotations.Mapper; @@ -29,5 +30,16 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface SmsTemplateDao extends BaseDao { + + /** + * + * 根据模板类型获取模板信息 + * + * @params [smsTemplateType] + * @return com.elink.esua.epdc.dto.SmsTemplateDTO + * @author liuchuang + * @since 2020/1/7 16:52 + */ + SmsTemplateDTO selectOneSmsTemplateInfoByType(String smsTemplateType); } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/SmsTemplateService.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/SmsTemplateService.java index 02a17028b..8f92366d8 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/SmsTemplateService.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/SmsTemplateService.java @@ -19,7 +19,9 @@ package com.elink.esua.epdc.service; import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.SmsTemplateDTO; +import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO; import com.elink.esua.epdc.entity.SmsTemplateEntity; import java.util.List; @@ -92,4 +94,26 @@ public interface SmsTemplateService extends BaseService { * @date 2020-01-07 */ void delete(String[] ids); + + /** + * + * 发送短信通知 + * + * @params [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2020/1/7 15:11 + */ + Result sendSmsNotice(SmsNoticeFormDTO formDto); + + /** + * + * 根据模板类型获取模板信息 + * + * @params [smsTemplateType] + * @return com.elink.esua.epdc.dto.SmsTemplateDTO + * @author liuchuang + * @since 2020/1/7 16:50 + */ + SmsTemplateDTO getSmsTemplateInfoByType(String smsTemplateType); } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsTemplateServiceImpl.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsTemplateServiceImpl.java index 022a7e073..0a8c94df2 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsTemplateServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsTemplateServiceImpl.java @@ -24,16 +24,25 @@ import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dao.SmsTemplateDao; import com.elink.esua.epdc.dto.SmsTemplateDTO; +import com.elink.esua.epdc.dto.SysSmsDTO; +import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO; +import com.elink.esua.epdc.entity.SmsLogEntity; import com.elink.esua.epdc.entity.SmsTemplateEntity; +import com.elink.esua.epdc.exception.ModuleErrorCode; import com.elink.esua.epdc.redis.SmsTemplateRedis; +import com.elink.esua.epdc.service.SmsLogService; import com.elink.esua.epdc.service.SmsTemplateService; +import com.elink.esua.epdc.sms.AbstractSmsService; +import com.elink.esua.epdc.sms.SmsFactory; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -48,7 +57,7 @@ import java.util.Map; public class SmsTemplateServiceImpl extends BaseServiceImpl implements SmsTemplateService { @Autowired - private SmsTemplateRedis smsTemplateRedis; + private SmsLogService smsLogService; @Override public PageData page(Map params) { @@ -128,4 +137,98 @@ public class SmsTemplateServiceImpl extends BaseServiceImpl mobiles = this.mobileHandle(formDto.getMobiles()); + + // 发送短信通知 + this.sendNotice(mobiles, templateDto); + + return new Result(); + } + + /** + * + * 手机号处理 + * + * @params [mobiles] + * @return java.util.List + * @author liuchuang + * @since 2020/1/7 15:44 + */ + private List mobileHandle(List mobiles) { + List returnList = new ArrayList<>(); + int mobilesSize = mobiles.size(); + if (mobilesSize > 1000) { + for (int i = 0; i < (mobilesSize / 1000 + 1); i++) { + List temp; + if (mobiles.size() > 1000) { + temp = mobiles.subList(0, 1000); + } else if (mobiles.size() > 0) { + temp = mobiles.subList(0, mobiles.size()); + } else { + break; + } + + String tempStr = StringUtils.join(temp, ","); + returnList.add(tempStr); + mobiles.removeAll(temp); + } + } else { + String mobileStr = StringUtils.join(mobiles, ","); + returnList.add(mobileStr); + } + return returnList; + } + + /** + * + * 发送短信通知 + * + * @params [mobile, signName, template] + * @return void + * @author liuchuang + * @since 2020/1/7 17:04 + */ + private void sendNotice(List mobiles, SmsTemplateDTO templateDto) { + //短信服务 + AbstractSmsService service = SmsFactory.build(); + if (service == null) { + throw new RenException(ModuleErrorCode.SMS_CONFIG); + } + + List smsLogEntities = new ArrayList<>(mobiles.size()); + for (String mobile: + mobiles) { + //发送短信 + SysSmsDTO sysSmsDto = service.sendSmsNotice(mobile, null, templateDto.getSignName(), templateDto.getTemplate()); + + SmsLogEntity entity = new SmsLogEntity(); + entity.setSmsTemplateId(templateDto.getId()); + entity.setMobile(mobile); + entity.setStatus(sysSmsDto.getStatus()); + entity.setPlatform(sysSmsDto.getPlatform()); + smsLogEntities.add(entity); + } + + // 保存短信记录 + smsLogService.insertBatch(smsLogEntities); + } + } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/sms/AbstractSmsService.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/sms/AbstractSmsService.java index 19513319c..5f02ae9eb 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/sms/AbstractSmsService.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/sms/AbstractSmsService.java @@ -8,6 +8,8 @@ package com.elink.esua.epdc.sms; +import com.elink.esua.epdc.dto.SysSmsDTO; + import java.util.LinkedHashMap; /** @@ -37,4 +39,14 @@ public abstract class AbstractSmsService { * @param template 短信模板 */ public abstract void sendSms(String mobile, LinkedHashMap params, String signName, String template); + + /** + * + * 发送短信通知 + * @param mobile 手机号 + * @param params 参数 + * @param signName 短信签名 + * @param template 短信模板 + */ + public abstract SysSmsDTO sendSmsNotice(String mobile, LinkedHashMap params, String signName, String template); } diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/sms/AliyunSmsService.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/sms/AliyunSmsService.java index 1c43dea24..847753411 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/sms/AliyunSmsService.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/sms/AliyunSmsService.java @@ -19,14 +19,12 @@ import com.aliyuncs.http.MethodType; import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.profile.IClientProfile; import com.elink.esua.epdc.commons.tools.exception.RenException; +import com.elink.esua.epdc.dto.SysSmsDTO; import com.elink.esua.epdc.exception.ModuleErrorCode; import com.elink.esua.epdc.service.SysSmsService; import com.elink.esua.epdc.commons.tools.constant.Constant; -import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.utils.SpringContextUtils; import com.elink.esua.epdc.enums.PlatformEnum; -import com.elink.esua.epdc.exception.ModuleErrorCode; -import com.elink.esua.epdc.service.SysSmsService; import java.util.LinkedHashMap; @@ -111,4 +109,42 @@ public class AliyunSmsService extends AbstractSmsService { throw new RenException(ModuleErrorCode.SEND_SMS_ERROR, response.getMessage()); } } + + @Override + public SysSmsDTO sendSmsNotice(String mobile, LinkedHashMap params, String signName, String template) { + System.setProperty("sun.net.client.defaultConnectTimeout", "30000"); + System.setProperty("sun.net.client.defaultReadTimeout", "30000"); + + //组装请求对象 + SendSmsRequest request = new SendSmsRequest(); + request.setMethod(MethodType.POST); + //待发送手机号,支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式 + //发送国际/港澳台消息时,接收号码格式为00+国际区号+号码,如"0085200000000" + request.setPhoneNumbers(mobile); + //短信签名-可在短信控制台中找到 + request.setSignName(signName); + //短信模板-可在短信控制台中找到 + request.setTemplateCode(template); + //参数 + if(MapUtil.isNotEmpty(params)){ + request.setTemplateParam(JSON.toJSONString(params)); + } + + SendSmsResponse response; + try { + IAcsClient acsClient = new DefaultAcsClient(profile); + response = acsClient.getAcsResponse(request); + } catch (ClientException e) { + throw new RenException(ModuleErrorCode.SEND_SMS_ERROR, e, ""); + } + + SysSmsDTO sysSmsDto = new SysSmsDTO(); + sysSmsDto.setPlatform(PlatformEnum.ALIYUN.value()); + sysSmsDto.setStatus(Constant.SUCCESS); + if(!Constant.OK.equalsIgnoreCase(response.getCode())){ + sysSmsDto.setStatus(Constant.FAIL); + } + + return sysSmsDto; + } } diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/sms/QcloudSmsService.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/sms/QcloudSmsService.java index 5ee163c4d..9d9f7724c 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/sms/QcloudSmsService.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/sms/QcloudSmsService.java @@ -10,16 +10,14 @@ package com.elink.esua.epdc.sms; import cn.hutool.core.map.MapUtil; import com.elink.esua.epdc.commons.tools.exception.RenException; +import com.elink.esua.epdc.dto.SysSmsDTO; import com.elink.esua.epdc.exception.ModuleErrorCode; import com.elink.esua.epdc.service.SysSmsService; import com.github.qcloudsms.SmsSingleSender; import com.github.qcloudsms.SmsSingleSenderResult; import com.elink.esua.epdc.commons.tools.constant.Constant; -import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.utils.SpringContextUtils; import com.elink.esua.epdc.enums.PlatformEnum; -import com.elink.esua.epdc.exception.ModuleErrorCode; -import com.elink.esua.epdc.service.SysSmsService; import java.util.ArrayList; import java.util.LinkedHashMap; @@ -70,4 +68,32 @@ public class QcloudSmsService extends AbstractSmsService { throw new RenException(ModuleErrorCode.SEND_SMS_ERROR, result.errMsg); } } + + @Override + public SysSmsDTO sendSmsNotice(String mobile, LinkedHashMap params, String signName, String template) { + SmsSingleSender sender = new SmsSingleSender(config.getQcloudAppId(), config.getQcloudAppKey()); + + //短信参数 + ArrayList paramsList = new ArrayList<>(); + if(MapUtil.isNotEmpty(params)){ + for(String value : params.values()){ + paramsList.add(value); + } + } + SmsSingleSenderResult result; + try { + result = sender.sendWithParam("86", mobile, Integer.parseInt(template), paramsList, signName, null, null); + } catch (Exception e) { + throw new RenException(ModuleErrorCode.SEND_SMS_ERROR, e, ""); + } + + SysSmsDTO sysSmsDto = new SysSmsDTO(); + sysSmsDto.setPlatform(PlatformEnum.QCLOUD.value()); + sysSmsDto.setStatus(Constant.SUCCESS); + if(result.result != 0){ + sysSmsDto.setStatus(Constant.FAIL); + } + + return sysSmsDto; + } } diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsTemplateDao.xml b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsTemplateDao.xml index 72c1311af..62ab1dbf4 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsTemplateDao.xml +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsTemplateDao.xml @@ -3,19 +3,9 @@ - - - - - - - - - - - - - + \ No newline at end of file From 40401513450556ad5bcfa3b1b9001d77bbafb975 Mon Sep 17 00:00:00 2001 From: wanggongfeng <1305282856@qq.com> Date: Tue, 7 Jan 2020 18:18:40 +0800 Subject: [PATCH 07/13] =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epdc/controller/SmsLogController.java | 3 +- .../com/elink/esua/epdc/dao/SmsLogDao.java | 11 +++++- .../esua/epdc/service/SmsLogService.java | 7 ++++ .../epdc/service/impl/SmsLogServiceImpl.java | 12 +++++++ .../src/main/resources/mapper/SmsLogDao.xml | 34 +++++++++++++++++++ 5 files changed, 65 insertions(+), 2 deletions(-) diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/SmsLogController.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/SmsLogController.java index e1dbc798c..8fb259de6 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/SmsLogController.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/SmsLogController.java @@ -51,7 +51,8 @@ public class SmsLogController { @GetMapping("page") public Result> page(@RequestParam Map params){ - PageData page = smsLogService.page(params); + //PageData page = smsLogService.page(params); + PageData page = smsLogService.getSmsLogPage(params); return new Result>().ok(page); } diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/dao/SmsLogDao.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/dao/SmsLogDao.java index 0d1f2db12..1ca03f829 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/dao/SmsLogDao.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/dao/SmsLogDao.java @@ -18,9 +18,13 @@ package com.elink.esua.epdc.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.dto.SmsLogDTO; import com.elink.esua.epdc.entity.SmsLogEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; +import java.util.Map; + /** * * @@ -29,5 +33,10 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface SmsLogDao extends BaseDao { - + /** + * 条件查询 + * @param params + * @return + */ + List getPage(Map params); } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/SmsLogService.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/SmsLogService.java index 5ea8e6953..ea6fd165b 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/SmsLogService.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/SmsLogService.java @@ -43,6 +43,13 @@ public interface SmsLogService extends BaseService { */ PageData page(Map params); + /** + * 分页条件查询 + * @param params + * @return + */ + PageData getSmsLogPage(Map params); + /** * 默认查询 * diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsLogServiceImpl.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsLogServiceImpl.java index 461488167..e20f7b90d 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsLogServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsLogServiceImpl.java @@ -58,6 +58,18 @@ public class SmsLogServiceImpl extends BaseServiceImpl return getPageData(page, SmsLogDTO.class); } + /** + * 条件查询 + * @param params + * @return + */ + @Override + public PageData getSmsLogPage(Map params) { + IPage page = getPage(params); + List list = baseDao.getPage(params); + return new PageData<>(list, page.getTotal()); + } + @Override public List list(Map params) { List entityList = baseDao.selectList(getWrapper(params)); diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsLogDao.xml b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsLogDao.xml index e308cb23a..7b9223e55 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsLogDao.xml +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsLogDao.xml @@ -20,5 +20,39 @@ + + \ No newline at end of file From 4590e734d42f6c293184e1801670cef7eae03c02 Mon Sep 17 00:00:00 2001 From: wanggongfeng <1305282856@qq.com> Date: Wed, 8 Jan 2020 09:59:58 +0800 Subject: [PATCH 08/13] =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/elink/esua/epdc/dto/SmsLogDTO.java | 5 ++ .../elink/esua/epdc/entity/SmsLogEntity.java | 7 +++ .../src/main/resources/mapper/SmsLogDao.xml | 49 ++++++++++--------- 3 files changed, 39 insertions(+), 22 deletions(-) diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsLogDTO.java b/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsLogDTO.java index 30f619987..c928c98a3 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsLogDTO.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/SmsLogDTO.java @@ -109,4 +109,9 @@ public class SmsLogDTO implements Serializable { */ private String delFlag; + /** + * 模板类型名称 + */ + private String templateTypeName; + } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsLogEntity.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsLogEntity.java index 82a954d53..5c3e133fe 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsLogEntity.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/entity/SmsLogEntity.java @@ -17,6 +17,7 @@ package com.elink.esua.epdc.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity; import lombok.Data; @@ -75,4 +76,10 @@ public class SmsLogEntity extends BaseEpdcEntity { */ private Integer platform; + /** + * 模板类型名称 + */ + @TableField(exist = false) + private String templateTypeName; + } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsLogDao.xml b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsLogDao.xml index 7b9223e55..2b1742fb5 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsLogDao.xml +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsLogDao.xml @@ -22,36 +22,41 @@ From 763bdc7ea44d6dc3dfc9c03592260ebc61c9cc89 Mon Sep 17 00:00:00 2001 From: zhangyongzhangyong <2012005003@qq.coom> Date: Wed, 8 Jan 2020 17:47:29 +0800 Subject: [PATCH 09/13] =?UTF-8?q?=E5=B1=85=E6=B0=91=E7=AB=AF=EF=BC=8C?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E9=80=9A=E7=9F=A5(1.=E8=AE=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=9A=E5=AE=A1=E6=A0=B8=E9=80=9A=E8=BF=87=E3=80=81=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8=E4=B8=8D=E9=80=9A=E8=BF=87=EF=BC=9B2.=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=EF=BC=9A=E8=BD=AC=E6=88=90=E9=A1=B9=E7=9B=AE=E3=80=81?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=BB=93=E6=A1=88=E3=80=81=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=85=B3=E9=97=AD=EF=BC=9B3.=E9=82=BB=E9=87=8C=E7=A4=BE?= =?UTF-8?q?=E7=BE=A4=EF=BC=9A=E5=BB=BA=E7=BE=A4=E9=80=9A=E8=BF=87=E3=80=81?= =?UTF-8?q?=E5=BB=BA=E7=BE=A4=E4=B8=8D=E9=80=9A=E8=BF=87=E3=80=81=E8=A2=AB?= =?UTF-8?q?=E9=82=80=E8=AF=B7=E5=85=A5=E7=BE=A4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epdc-events/epdc-events-client/pom.xml | 5 +++ .../async/IssueOverseeResultsTask.java | 33 +++++++++++++++++ .../service/impl/EpdcEventsServiceImpl.java | 30 +++++++++++++++ .../modules/feign/MessageFeignClient.java | 31 ++++++++++++++++ .../fallback/MessageFeignClientFallback.java | 21 +++++++++++ .../issue/service/impl/IssueServiceImpl.java | 24 ++++++++++++ .../item/service/impl/ItemServiceImpl.java | 35 ++++++++++++++++-- .../epdc-group/epdc-group-client/pom.xml | 5 +++ .../async/IssueOverseeResultsTask.java | 33 +++++++++++++++++ .../modules/feign/MessageFeignClient.java | 31 ++++++++++++++++ .../fallback/MessageFeignClientFallback.java | 21 +++++++++++ .../modules/group/dao/GroupDao.java | 9 +++++ .../group/service/impl/GroupServiceImpl.java | 37 +++++++++++++++++++ .../service/impl/UserGroupServiceImpl.java | 25 +++++++++++++ .../main/resources/mapper/group/GroupDao.xml | 9 +++++ 15 files changed, 345 insertions(+), 4 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/IssueOverseeResultsTask.java create mode 100644 esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/MessageFeignClient.java create mode 100644 esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/MessageFeignClientFallback.java create mode 100644 esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/async/IssueOverseeResultsTask.java create mode 100644 esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/MessageFeignClient.java create mode 100644 esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/fallback/MessageFeignClientFallback.java diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/pom.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-client/pom.xml index a34f68e2a..c6cb668e3 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/pom.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/pom.xml @@ -39,6 +39,11 @@ 1.4.11.1 compile + + com.esua.epdc + epdc-message-client + 1.0.0 + diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/IssueOverseeResultsTask.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/IssueOverseeResultsTask.java new file mode 100644 index 000000000..eaca70753 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/IssueOverseeResultsTask.java @@ -0,0 +1,33 @@ +package com.elink.esua.epdc.modules.async; + +import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO; +import com.elink.esua.epdc.modules.feign.MessageFeignClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Component; + +/** + * + * 议题审核结果 - 发送短信 + * + * @Author:zy + * @Date:2020/01/08 10:31 + */ +@Component +public class IssueOverseeResultsTask { + @Autowired + private MessageFeignClient messageFeignClient; + + /** + * 议题:待回应事件 审核结果短信通知 议题发起人 + * + * @param smsNoticeFormDTO + * @return void + * @author zy + * @Date:2020/01/08 10:31 + */ + @Async + public void sendSmsNotice(SmsNoticeFormDTO smsNoticeFormDTO) { + messageFeignClient.sendSmsNotice(smsNoticeFormDTO); + } +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java index 49636fc92..ec81bfad6 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java @@ -31,6 +31,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.constant.EventIssueItemState; import com.elink.esua.epdc.constant.EventsNoticeConstant; import com.elink.esua.epdc.constant.ImageConstant; +import com.elink.esua.epdc.constant.SysSmsTemplateConstant; import com.elink.esua.epdc.constants.MenuCodeConstant; import com.elink.esua.epdc.dto.MenuNoticeDTO; import com.elink.esua.epdc.dto.SysDeptDTO; @@ -40,10 +41,12 @@ import com.elink.esua.epdc.dto.events.*; import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO; import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO; import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO; +import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO; import com.elink.esua.epdc.dto.issue.IssueDTO; import com.elink.esua.epdc.dto.issue.form.IssuePendingResponseFormDTO; import com.elink.esua.epdc.dto.issue.result.IssuePendingResponseResultDTO; import com.elink.esua.epdc.dto.issue.result.IssueStateStatisticsResultDTO; +import com.elink.esua.epdc.modules.async.IssueOverseeResultsTask; import com.elink.esua.epdc.modules.async.NewsTask; import com.elink.esua.epdc.modules.category.entity.CategoryEntity; import com.elink.esua.epdc.modules.category.service.CategoryService; @@ -101,6 +104,9 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl listOfPendingReviewEvents(Map params) { IPage page = getPage(params); @@ -242,6 +248,9 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl list = new ArrayList<>(); + list.add(userMobiles); + // 审核操作发送短信 + SmsNoticeFormDTO sms = new SmsNoticeFormDTO(); + sms.setMobiles(list); + if (EventIssueItemState.EVENT_REVIEW_PASS == dto.getEventState()) { // 审核通过 + sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_RESIDENTS_ISSUE_PASSED); + }else { + sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_RESIDENTS_ISSUE_NOT_PASS); + } + issueOverseeResultsTask.sendSmsNotice(sms); + } } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/MessageFeignClient.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/MessageFeignClient.java new file mode 100644 index 000000000..37360bf9b --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/MessageFeignClient.java @@ -0,0 +1,31 @@ +package com.elink.esua.epdc.modules.feign; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO; +import com.elink.esua.epdc.modules.feign.fallback.MessageFeignClientFallback; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * 消息通知模块 + * + * @author zy + * @Date:2020/01/08 10:31 + */ +@FeignClient(name = ServiceConstant.EPDC_MESSAGE_SERVER, fallback = MessageFeignClientFallback.class) +public interface MessageFeignClient { + + /** + * 议题:待回应事件 审核结果短信通知 议题发起人 + * + * @param smsNoticeFormDTO + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author zy + * @Date:2020/01/08 10:31 + */ + @PostMapping(value = "message/epdc-app/smstemplate/sendSmsNotice", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) + Result sendSmsNotice(@RequestBody SmsNoticeFormDTO smsNoticeFormDTO); +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/MessageFeignClientFallback.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/MessageFeignClientFallback.java new file mode 100644 index 000000000..7ed51b84b --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/MessageFeignClientFallback.java @@ -0,0 +1,21 @@ +package com.elink.esua.epdc.modules.feign.fallback; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO; +import com.elink.esua.epdc.modules.feign.MessageFeignClient; +import org.springframework.stereotype.Component; + +/** + * @author zy + * @Date:2020/01/08 10:31 + */ +@Component +public class MessageFeignClientFallback implements MessageFeignClient { + + @Override + public Result sendSmsNotice(SmsNoticeFormDTO smsNoticeFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_MESSAGE_SERVER, "sendSmsNotice", smsNoticeFormDTO); + } +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java index 515a67903..95f91ffdf 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java @@ -32,15 +32,18 @@ import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.constant.EventIssueItemState; import com.elink.esua.epdc.constant.EventsNoticeConstant; import com.elink.esua.epdc.constant.ImageConstant; +import com.elink.esua.epdc.constant.SysSmsTemplateConstant; import com.elink.esua.epdc.constants.MenuCodeConstant; import com.elink.esua.epdc.dto.MenuNoticeDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO; import com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO; import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO; +import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO; import com.elink.esua.epdc.dto.issue.*; import com.elink.esua.epdc.dto.issue.form.*; import com.elink.esua.epdc.dto.issue.result.*; import com.elink.esua.epdc.dto.item.result.ItemHandleProgressResultDTO; +import com.elink.esua.epdc.modules.async.IssueOverseeResultsTask; import com.elink.esua.epdc.modules.async.NewsTask; import com.elink.esua.epdc.modules.comment.service.EventCommentService; import com.elink.esua.epdc.modules.events.service.EpdcEventsService; @@ -100,6 +103,8 @@ public class IssueServiceImpl extends BaseServiceImpl imp @Autowired private ImgService imgService; + @Autowired + private IssueOverseeResultsTask issueOverseeResultsTask; @Override public PageData listOfIssues(Map params) { @@ -250,6 +255,8 @@ public class IssueServiceImpl extends BaseServiceImpl imp } // 发送菜单消息-待处理项目 itemService.sendItemHandleMenuNotice(itemEntity.getGridId(), null); + //议题转项目-短信通知 + this.issueSmsNotification(entity.getMobile()); } } // 发送消息 @@ -471,4 +478,21 @@ public class IssueServiceImpl extends BaseServiceImpl imp public List listIssueProgress(String issueId) { return baseDao.selectListIssueProgress(issueId); } + + /** + * @Description: 议题:待处理事件 议题转项目结果短信通知 议题发起人 + * @Param: [userId] + * @return: void + * @Author: zy + * @Date: 2020-01-08 + */ + private void issueSmsNotification(String userMobiles){ + List list = new ArrayList<>(); + list.add(userMobiles); + // 议题转项目 操作发送短信 + SmsNoticeFormDTO sms = new SmsNoticeFormDTO(); + sms.setMobiles(list); + sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_RESIDENTS_ISSUE_CHANGE_ITEM); + issueOverseeResultsTask.sendSmsNotice(sms); + } } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java index ce41affcf..c3212bba0 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java @@ -33,10 +33,7 @@ import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.DateUtils; import com.elink.esua.epdc.commons.tools.utils.GPSUtils; import com.elink.esua.epdc.commons.tools.utils.Result; -import com.elink.esua.epdc.constant.EventIssueItemState; -import com.elink.esua.epdc.constant.EventsNoticeConstant; -import com.elink.esua.epdc.constant.ImageConstant; -import com.elink.esua.epdc.constant.ItemInformationConstant; +import com.elink.esua.epdc.constant.*; import com.elink.esua.epdc.constants.MenuCodeConstant; import com.elink.esua.epdc.dto.CompleteDeptDTO; import com.elink.esua.epdc.dto.DeptGridPlatformDTO; @@ -44,6 +41,7 @@ import com.elink.esua.epdc.dto.MenuNoticeDTO; import com.elink.esua.epdc.dto.SysDeptDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO; import com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO; +import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO; import com.elink.esua.epdc.dto.issue.result.IssueProgressResultDTO; import com.elink.esua.epdc.dto.item.*; import com.elink.esua.epdc.dto.item.form.*; @@ -60,6 +58,7 @@ import com.elink.esua.epdc.gird.shibei.dto.form.ImageFile; import com.elink.esua.epdc.gird.shibei.dto.form.ReportFile; import com.elink.esua.epdc.gird.shibei.dto.form.SendInputInfoFormDto; import com.elink.esua.epdc.gird.shibei.util.XstreamUtil; +import com.elink.esua.epdc.modules.async.IssueOverseeResultsTask; import com.elink.esua.epdc.modules.async.NewsTask; import com.elink.esua.epdc.modules.events.dao.ImgDao; import com.elink.esua.epdc.modules.events.entity.ImgEntity; @@ -147,6 +146,9 @@ public class ItemServiceImpl extends BaseServiceImpl implem @Autowired private GridPlatformHandleLogDao gridPlatformHandleLogDao; + @Autowired + private IssueOverseeResultsTask issueOverseeResultsTask; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -750,6 +752,11 @@ public class ItemServiceImpl extends BaseServiceImpl implem if(dto.getHandleImages()!= null && dto.getHandleImages().size()>0){ imgService.saveImages(dto.getHandleImages(),handleProcessEntity.getId(), ImageConstant.TYPE_IMAGE_ITEM_HANDLE); } + //项目关闭、结案-短信通知 + if (ItemHandleCategoryEnum.HANDLE_CLOSE.getValue() == dto.getHandleCategory() || + ItemHandleCategoryEnum.HANDLE_CLOSING_CASE.getValue() == dto.getHandleCategory()){ + this.projectSmsNotification(dto,entity.getMobile()); + } } catch (Exception e) { e.printStackTrace(); } @@ -1171,4 +1178,24 @@ public class ItemServiceImpl extends BaseServiceImpl implem return new Result(); } + /** + * @Description: 待处理项目 关闭、结案 短信通知 项目发起人 + * @Param: [dto, userId] + * @return: void + * @Author: zy + * @Date: 2020-01-08 + */ + private void projectSmsNotification(ItemHandleSubmitFormDTO dto, String userMobiles){ + List list = new ArrayList<>(); + list.add(userMobiles); + // 审核操作发送短信 + SmsNoticeFormDTO sms = new SmsNoticeFormDTO(); + sms.setMobiles(list); + if (ItemHandleCategoryEnum.HANDLE_CLOSE.getValue() == dto.getHandleCategory()) { // 关闭 + sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_RESIDENTS_ITEM_CLOSED); + }else { + sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_RESIDENTS_ITEM_SETTLE); + } + issueOverseeResultsTask.sendSmsNotice(sms); + } } diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-client/pom.xml b/esua-epdc/epdc-module/epdc-group/epdc-group-client/pom.xml index 0a7cc8b07..5c8976eec 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-client/pom.xml +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-client/pom.xml @@ -37,6 +37,11 @@ epdc-events-client 1.0.0 + + com.esua.epdc + epdc-message-client + 1.0.0 + \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/async/IssueOverseeResultsTask.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/async/IssueOverseeResultsTask.java new file mode 100644 index 000000000..d18579474 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/async/IssueOverseeResultsTask.java @@ -0,0 +1,33 @@ +package com.elink.esua.epdc.modules.async; + +import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO; +import com.elink.esua.epdc.modules.feign.MessageFeignClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Component; + +/** + * + * 议题审核结果 - 发送短信 + * + * @Author:zy + * @Date:2020/01/08 10:31 + */ +@Component +public class IssueOverseeResultsTask { + @Autowired + private MessageFeignClient messageFeignClient; + + /** + * 社群管理 建群通过、不通过、被邀请入群 短信通知 + * + * @param smsNoticeFormDTO + * @return void + * @author zy + * @Date:2020/01/08 10:31 + */ + @Async + public void sendSmsNotice(SmsNoticeFormDTO smsNoticeFormDTO) { + messageFeignClient.sendSmsNotice(smsNoticeFormDTO); + } +} diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/MessageFeignClient.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/MessageFeignClient.java new file mode 100644 index 000000000..48be22018 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/MessageFeignClient.java @@ -0,0 +1,31 @@ +package com.elink.esua.epdc.modules.feign; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO; +import com.elink.esua.epdc.modules.feign.fallback.MessageFeignClientFallback; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * 消息通知模块 + * + * @author zy + * @Date:2020/01/08 10:31 + */ +@FeignClient(name = ServiceConstant.EPDC_MESSAGE_SERVER, fallback = MessageFeignClientFallback.class) +public interface MessageFeignClient { + + /** + * 社群管理 建群通过、不通过、被邀请入群 短信通知 + * + * @param smsNoticeFormDTO + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author zy + * @Date:2020/01/08 10:31 + */ + @PostMapping(value = "message/epdc-app/smstemplate/sendSmsNotice", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) + Result sendSmsNotice(@RequestBody SmsNoticeFormDTO smsNoticeFormDTO); +} diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/fallback/MessageFeignClientFallback.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/fallback/MessageFeignClientFallback.java new file mode 100644 index 000000000..7ed51b84b --- /dev/null +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/fallback/MessageFeignClientFallback.java @@ -0,0 +1,21 @@ +package com.elink.esua.epdc.modules.feign.fallback; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO; +import com.elink.esua.epdc.modules.feign.MessageFeignClient; +import org.springframework.stereotype.Component; + +/** + * @author zy + * @Date:2020/01/08 10:31 + */ +@Component +public class MessageFeignClientFallback implements MessageFeignClient { + + @Override + public Result sendSmsNotice(SmsNoticeFormDTO smsNoticeFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_MESSAGE_SERVER, "sendSmsNotice", smsNoticeFormDTO); + } +} diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/GroupDao.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/GroupDao.java index 853306ecb..d4956c299 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/GroupDao.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/GroupDao.java @@ -157,4 +157,13 @@ public interface GroupDao extends BaseDao { * @Date 2019/12/19 13:08 **/ List listPartyMemberGridId(); + + /** + * @Description: 根据社群id,查询群主手机号 + * @Param: [groupId] + * @return: java.lang.String + * @Author: zy + * @Date: 2020-01-08 + */ + String queryGroupUserMOBILE(String groupId); } diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java index d2bde32ab..f600801ca 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java @@ -26,16 +26,21 @@ import com.elink.esua.epdc.commons.tools.constant.NumConstant; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.constant.SysSmsTemplateConstant; import com.elink.esua.epdc.dto.CompleteDeptDTO; +import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.constant.GroupConstant; import com.elink.esua.epdc.dto.constant.GroupNoticeConstant; import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcGridUserResultDTO; +import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO; import com.elink.esua.epdc.dto.group.*; import com.elink.esua.epdc.dto.enums.GroupStateEnum; import com.elink.esua.epdc.dto.enums.GroupUserStateEnum; import com.elink.esua.epdc.dto.group.form.*; import com.elink.esua.epdc.dto.group.result.*; +import com.elink.esua.epdc.enums.ItemHandleCategoryEnum; +import com.elink.esua.epdc.modules.async.IssueOverseeResultsTask; import com.elink.esua.epdc.modules.async.NewsTask; import com.elink.esua.epdc.modules.feign.UserFeignClient; import com.elink.esua.epdc.modules.group.dao.GroupDao; @@ -76,6 +81,9 @@ public class GroupServiceImpl extends BaseServiceImpl imp @Autowired private UserFeignClient userFeignClient; + @Autowired + private IssueOverseeResultsTask issueOverseeResultsTask; + @Override public PageData page(Map params) { IPage page = getPage(params); @@ -183,6 +191,9 @@ public class GroupServiceImpl extends BaseServiceImpl imp if (GroupStateEnum.GROUP_STATE_AUDIT_NOT_PASSED.getValue().equals(dto.getState())) { sendNotice = true; informationFormDTO.setTitle(GroupNoticeConstant.NOTICE_GROUP_NOT_PASSED); + + // 社群审批不通过发送短信 + this.groupManagementSmsNotification(dto,dto.getUserId()); } // 社群审核通过 if (GroupStateEnum.GROUP_STATE_EXAMINATION_PASSED.getValue().equals(dto.getState()) @@ -191,6 +202,9 @@ public class GroupServiceImpl extends BaseServiceImpl imp informationFormDTO.setTitle(GroupNoticeConstant.NOTICE_GROUP_PASSED); informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_PASSED); informationFormDTO.setRelBusinessContent("快去加好友吧"); + + // 社群审批通过发送短信 + this.groupManagementSmsNotification(dto,dto.getId()); } // 解散 if (GroupStateEnum.GROUP_STATE_DISBANDED.getValue().equals(dto.getState())) { @@ -504,4 +518,27 @@ public class GroupServiceImpl extends BaseServiceImpl imp } return !StringUtils.isEmpty(formDto.getMobile()); } + + /** + * @Description: 社群管理 建群通过、不通过 短信通知 + * @Param: [dto, userId] + * @return: void + * @Author: zy + * @Date: 2020-01-08 + */ + private void groupManagementSmsNotification(GroupSettingStateDTO dto, String groupId){ + //根据社区id,获取用户手机号 + String mobile = baseDao.queryGroupUserMOBILE(groupId); + List list = new ArrayList<>(); + list.add(mobile); + // 审核操作发送短信 + SmsNoticeFormDTO sms = new SmsNoticeFormDTO(); + sms.setMobiles(list); + if (GroupStateEnum.GROUP_STATE_EXAMINATION_PASSED.getValue().equals(dto.getState())) { // 社群审核通过 + sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_RESIDENTS_GROUP_PASSED); + }else if (GroupStateEnum.GROUP_STATE_AUDIT_NOT_PASSED.getValue().equals(dto.getState())){ // 社群审核不通过 + sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_RESIDENTS_GROUP_NOT_PASS); + } + issueOverseeResultsTask.sendSmsNotice(sms); + } } diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/UserGroupServiceImpl.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/UserGroupServiceImpl.java index 90eefd7f0..dbd28d5fc 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/UserGroupServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/UserGroupServiceImpl.java @@ -25,17 +25,21 @@ import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.constant.SysSmsTemplateConstant; import com.elink.esua.epdc.dto.UserGridRelationDTO; import com.elink.esua.epdc.dto.constant.GroupNoticeConstant; +import com.elink.esua.epdc.dto.enums.GroupStateEnum; import com.elink.esua.epdc.dto.enums.GroupUserStateEnum; import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO; +import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO; import com.elink.esua.epdc.dto.group.GroupDTO; import com.elink.esua.epdc.dto.group.UserGroupDTO; import com.elink.esua.epdc.dto.group.UserReviewDto; import com.elink.esua.epdc.dto.group.form.*; import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO; +import com.elink.esua.epdc.modules.async.IssueOverseeResultsTask; import com.elink.esua.epdc.modules.async.NewsTask; import com.elink.esua.epdc.modules.feign.UserFeignClient; import com.elink.esua.epdc.modules.group.dao.UserGroupDao; @@ -70,6 +74,9 @@ public class UserGroupServiceImpl extends BaseServiceImpl page(Map params) { IPage page = getPage(params); @@ -156,6 +163,7 @@ public class UserGroupServiceImpl extends BaseServiceImpl userGroupEntities = new ArrayList<>(formDto.getMembers().size()); + List userMobiles = new ArrayList<>(); UserGroupEntity entity = null; for (GroupUserFormDTO userDto: formDto.getMembers()) { @@ -170,6 +178,7 @@ public class UserGroupServiceImpl extends BaseServiceImpl userMobiles){ + // 审核操作发送短信 + SmsNoticeFormDTO sms = new SmsNoticeFormDTO(); + sms.setMobiles(userMobiles); + sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_RESIDENTS_GROUP_INVITE_JOIN); + issueOverseeResultsTask.sendSmsNotice(sms); + } } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/GroupDao.xml b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/GroupDao.xml index 450dd47d9..ec303b91d 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/GroupDao.xml +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/GroupDao.xml @@ -275,4 +275,13 @@ where eg.DEL_FLAG='0' and eg.GROUP_CATEGORY='0' + + + From daa4ee7351e58bcf0cfccb715c6d849b36a2ac74 Mon Sep 17 00:00:00 2001 From: zhangyongzhangyong <2012005003@qq.coom> Date: Fri, 10 Jan 2020 18:30:12 +0800 Subject: [PATCH 10/13] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=AB=AF=20-=20?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epdc/controller/SysUserController.java | 24 +++++ .../com/elink/esua/epdc/dao/SysUserDao.java | 18 ++++ .../esua/epdc/service/SysUserService.java | 18 ++++ .../epdc/service/impl/SysUserServiceImpl.java | 14 +++ .../src/main/resources/mapper/SysUserDao.xml | 35 ++++++++ .../async/IssueOverseeResultsTask.java | 89 ++++++++++++++++++- .../service/impl/EpdcEventsServiceImpl.java | 19 ++-- .../epdc/modules/feign/AdminFeignClient.java | 20 +++++ .../fallback/AdminFeignClientFallback.java | 10 +++ .../esua/epdc/modules/item/dao/ItemDao.java | 9 ++ .../item/service/impl/ItemServiceImpl.java | 54 +++++++++-- .../main/resources/mapper/item/ItemDao.xml | 16 ++++ 12 files changed, 308 insertions(+), 18 deletions(-) diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysUserController.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysUserController.java index 4b7659e23..ca5a5be2e 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysUserController.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysUserController.java @@ -322,4 +322,28 @@ public class SysUserController { return new Result(); } + /** + * @Description: 根据部门id,查询部门下的所有用户手机号 + * @Param: [deptId] + * @return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: zy + * @Date: 2020-01-09 + */ + @GetMapping("getUserPhoneByListDeptId") + public Result> getUserPhoneByListDeptId(@RequestBody List deptId){ + return sysUserService.getUserPhoneByListDeptId(deptId); + } + + /** + * @Description: 根据议题网格ID查询拥有这个网格数据权限且是网格长的角色,再根据角色查出所有用户手机号 + * @Param: [deptId] + * @return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: zy + * @Date: 2020-01-09 + */ + @GetMapping("getSysGridLeaderPhone/{deptId}") + public Result> getSysGridLeaderPhone(@PathVariable("deptId") Long deptId){ + return sysUserService.getSysGridLeaderPhone(deptId); + } + } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysUserDao.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysUserDao.java index 193360ec2..d7902e7d9 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysUserDao.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysUserDao.java @@ -87,4 +87,22 @@ public interface SysUserDao extends BaseDao { * 退出登录 */ void updateUserOpenId(@Param("userId") Long userId); + + /** + * @Description: 根据部门id,查询部门下的所有用户手机号 + * @Param: [map] + * @return: java.util.List + * @Author: zy + * @Date: 2020-01-09 + */ + List getUserPhoneByListDeptId(Map deptId); + + /** + * @Description: 根据议题网格ID查询拥有这个网格数据权限且是网格长的角色,再根据角色查出所有用户手机号 + * @Param: [deptId] + * @return: java.util.List + * @Author: zy + * @Date: 2020-01-09 + */ + List getSysGridLeaderPhone(Long deptId); } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysUserService.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysUserService.java index ee21a30dc..1a3635e2f 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysUserService.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysUserService.java @@ -100,4 +100,22 @@ public interface SysUserService extends BaseService { * @return */ void updateUserOpenId(Long userId); + + /** + * @Description: 根据部门id,查询部门下的所有用户手机号 + * @Param: [deptId] + * @return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: zy + * @Date: 2020-01-09 + */ + Result> getUserPhoneByListDeptId(List deptId); + + /** + * @Description: 根据议题网格ID查询拥有这个网格数据权限且是网格长的角色,再根据角色查出所有用户手机号 + * @Param: [deptId] + * @return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: zy + * @Date: 2020-01-09 + */ + Result> getSysGridLeaderPhone(Long deptId); } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java index a0920b77b..6ed383e10 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java @@ -38,6 +38,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -246,5 +247,18 @@ public class SysUserServiceImpl extends BaseServiceImpl> getUserPhoneByListDeptId(List deptId) { + Map map = new HashMap<>(); + map.put("deptId",deptId); + List list = baseDao.getUserPhoneByListDeptId(map); + return new Result>().ok(list); + } + + @Override + public Result> getSysGridLeaderPhone(Long deptId) { + return new Result>().ok(baseDao.getSysGridLeaderPhone(deptId)); + } + } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysUserDao.xml b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysUserDao.xml index 8aaa0643e..7397a93fb 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysUserDao.xml +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysUserDao.xml @@ -107,4 +107,39 @@ UPDATE sys_user SET open_id = '' WHERE id = #{userId} AND del_flag = 0 + + + + + diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/IssueOverseeResultsTask.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/IssueOverseeResultsTask.java index eaca70753..28ac2f56e 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/IssueOverseeResultsTask.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/IssueOverseeResultsTask.java @@ -1,11 +1,23 @@ package com.elink.esua.epdc.modules.async; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.constant.EventIssueItemState; +import com.elink.esua.epdc.constant.SysSmsTemplateConstant; +import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO; +import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO; import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO; +import com.elink.esua.epdc.dto.item.form.ItemHandleSubmitFormDTO; +import com.elink.esua.epdc.enums.ItemHandleCategoryEnum; +import com.elink.esua.epdc.modules.feign.AdminFeignClient; import com.elink.esua.epdc.modules.feign.MessageFeignClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; +import org.springframework.scheduling.annotation.AsyncResult; import org.springframework.stereotype.Component; +import java.util.List; +import java.util.concurrent.Future; + /** * * 议题审核结果 - 发送短信 @@ -18,8 +30,11 @@ public class IssueOverseeResultsTask { @Autowired private MessageFeignClient messageFeignClient; + @Autowired + private AdminFeignClient adminFeignClient; + /** - * 议题:待回应事件 审核结果短信通知 议题发起人 + * 短信通知 关联人 * * @param smsNoticeFormDTO * @return void @@ -30,4 +45,76 @@ public class IssueOverseeResultsTask { public void sendSmsNotice(SmsNoticeFormDTO smsNoticeFormDTO) { messageFeignClient.sendSmsNotice(smsNoticeFormDTO); } + + /** + * @Description: 根据部门id,异步查询部门下的所有用户手机号 + * @Description: 根据手机号进行短信推送 + * @Param: [dto, deptId] + * @return: void + * @Author: zy + * @Date: 2020-01-09 + */ + @Async + public void getUserPhoneByListDeptId(ItemHandleSubmitFormDTO dto, List deptId){ + Result> data = adminFeignClient.getUserPhoneByListDeptId(deptId); + if (data.success() && data.getData() != null && data.getData().size() > 0) { + this.projectSmsNotification(dto, data.getData());//向部门下的,所有人员发送短信 + } + } + + /** + * @Description: 根据议题网格ID 异步查询拥有这个网格数据权限且是网格长的角色,再根据角色查出所有用户手机号 + * @Description: 根据手机号进行短信推送 + * @Param: [deptId] + * @return: void + * @Author: zy + * @Date: 2020-01-09 + */ + @Async + public void getSysGridLeaderPhone(Long deptId){ + Result> data = adminFeignClient.getSysGridLeaderPhone(deptId); + if (data.success() && data.getData() != null && data.getData().size() > 0) { + this.issueSmsNotification(data.getData());//短信通知 所有有菜单权限的议题审核员 + } + } + + /** + * @Description: 工作端:项目处理,发送短信 + * @Param: [dto] + * @Param: userId 用户手机号 + * @return: void + * @Author: zy + * @Date: 2020-01-08 + */ + public void projectSmsNotification(ItemHandleSubmitFormDTO dto, List userMobiles){ + // 审核操作发送短信 + SmsNoticeFormDTO sms = new SmsNoticeFormDTO(); + sms.setMobiles(userMobiles); + + if (ItemHandleCategoryEnum.HANDLE_CLOSE.getValue() == dto.getHandleCategory()){ + sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_WORK_ITEM_CLOSED);// 关闭 + }else if(ItemHandleCategoryEnum.HANDLE_CLOSING_CASE.getValue() == dto.getHandleCategory()){ + sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_WORK_ITEM_SETTLE);// 结案 + }else if(ItemHandleCategoryEnum.HANDLE_CIRCULATION_ASSISTANCE.getValue() == dto.getHandleCategory()){ + sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_WORK_ITEM_WHISTLE);// 被吹哨 + }else if(ItemHandleCategoryEnum.HANDLE_I_HANDLE.getValue() == dto.getHandleCategory()){ + sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_WORK_ITEM_WHISTLE_FEEDBACK);// 回应:吹哨反馈 + } + this.sendSmsNotice(sms); + } + + /** + * @Description: 工作端:议题:议题发布短信通知 当前网格下的网格长 + * @Param: [userMobiles] 手机号列表 + * @return: void + * @Author: zy + * @Date: 2020-01-08 + */ + private void issueSmsNotification(List userMobiles){ + // 审核操作发送短信 + SmsNoticeFormDTO sms = new SmsNoticeFormDTO(); + sms.setMobiles(userMobiles); + sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_WORK_ISSUE_WAIT_REVIEW);//议题发布,状态为待审核 + this.sendSmsNotice(sms); + } } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java index ec81bfad6..b955a02ce 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java @@ -106,7 +106,7 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl listOfPendingReviewEvents(Map params) { IPage page = getPage(params); @@ -156,6 +156,8 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl list = new ArrayList<>(); + list.add(eventsEntity.getMobile()); + this.issueSmsNotification(dto, list); return new Result(); } @@ -520,18 +524,17 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl list = new ArrayList<>(); - list.add(userMobiles); + private void issueSmsNotification(EpdcEventsReviewFormDTO dto, List userMobiles){ // 审核操作发送短信 SmsNoticeFormDTO sms = new SmsNoticeFormDTO(); - sms.setMobiles(list); + sms.setMobiles(userMobiles); if (EventIssueItemState.EVENT_REVIEW_PASS == dto.getEventState()) { // 审核通过 sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_RESIDENTS_ISSUE_PASSED); }else { diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/AdminFeignClient.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/AdminFeignClient.java index ab8c2d2c4..7ca4195e9 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/AdminFeignClient.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/AdminFeignClient.java @@ -7,6 +7,7 @@ import com.elink.esua.epdc.dto.DeptGridPlatformDTO; import com.elink.esua.epdc.dto.SysDeptDTO; import com.elink.esua.epdc.modules.feign.fallback.AdminFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -70,4 +71,23 @@ public interface AdminFeignClient { @GetMapping("sys/deptgridplatform/selectByDeptId/{deptId}") Result getDeptGridPlatformDTO(@PathVariable("deptId") String deptId); + /** + * @Description: 根据部门id,查询部门下的所有用户手机号 + * @Param: [deptId] + * @return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: zy + * @Date: 2020-01-09 + */ + @GetMapping(value ="sys/user/getUserPhoneByListDeptId", consumes = MediaType.APPLICATION_JSON_VALUE) + Result> getUserPhoneByListDeptId(List deptId); + + /** + * @Description: 根据议题网格ID查询拥有这个网格数据权限且是网格长的角色,再根据角色查出所有用户手机号 + * @Param: [deptId] + * @return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: zy + * @Date: 2020-01-09 + */ + @GetMapping("sys/user/getSysGridLeaderPhone/{deptId}") + Result> getSysGridLeaderPhone(@PathVariable("deptId") Long deptId); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/AdminFeignClientFallback.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/AdminFeignClientFallback.java index f6d9a06ef..3d260100f 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/AdminFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/AdminFeignClientFallback.java @@ -44,4 +44,14 @@ public class AdminFeignClientFallback implements AdminFeignClient { public Result getDeptGridPlatformDTO(String deptId) { return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "selectByDeptId", deptId); } + + @Override + public Result> getUserPhoneByListDeptId(List deptId) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getUserPhoneByListDeptId", deptId); + } + + @Override + public Result> getSysGridLeaderPhone(@PathVariable("deptId") Long deptId) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getSysGridLeaderPhone", deptId); + } } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java index 6c09497b7..7c773061b 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java @@ -206,4 +206,13 @@ public interface ItemDao extends BaseDao { */ void deleteBatchItemHandleIds(List ids); + /** + * @Description: 根据项目id,查询当前登录人所在部门,以外的该项目关联的所有部门id + * @Param: [itemId] 项目id + * @Param: [deptId] 部门id + * @return: java.util.List + * @Author: zy + * @Date: 2020-01-09 + */ + List queryDeptIdList(String itemId, Long deptId); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java index c3212bba0..4931deb04 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java @@ -85,6 +85,9 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; /** * 项目表 项目表 @@ -752,11 +755,15 @@ public class ItemServiceImpl extends BaseServiceImpl implem if(dto.getHandleImages()!= null && dto.getHandleImages().size()>0){ imgService.saveImages(dto.getHandleImages(),handleProcessEntity.getId(), ImageConstant.TYPE_IMAGE_ITEM_HANDLE); } - //项目关闭、结案-短信通知 + //居民端项目关闭、结案-短信通知 if (ItemHandleCategoryEnum.HANDLE_CLOSE.getValue() == dto.getHandleCategory() || ItemHandleCategoryEnum.HANDLE_CLOSING_CASE.getValue() == dto.getHandleCategory()){ - this.projectSmsNotification(dto,entity.getMobile()); + List list = new ArrayList<>(); + list.add(entity.getMobile()); + this.projectSmsNotification(dto,list); } + //工作端 根据不同的处理方式,进行短信通知 + this.workProjectHandle(dto); } catch (Exception e) { e.printStackTrace(); } @@ -1179,21 +1186,50 @@ public class ItemServiceImpl extends BaseServiceImpl implem } /** - * @Description: 待处理项目 关闭、结案 短信通知 项目发起人 - * @Param: [dto, userId] + * @Description: 工作端 根据项目的不同处理方式进行短信发放 + * @Param: [dto] + * @return: void + * @Author: zy + * @Date: 2020-01-09 + */ + private void workProjectHandle(ItemHandleSubmitFormDTO dto){ + UserDetail user = SecurityUser.getUser(); //获取当前登录人信息 + List deptId = new ArrayList<>(); + if(ItemHandleCategoryEnum.HANDLE_CIRCULATION_ASSISTANCE.getValue() == dto.getHandleCategory()){ + List deptList = dto.getDeptResultDTOS(); + for (int i =0; i < deptList.size(); i++) { + ItemCirculationDeptResultDTO indexDto = (ItemCirculationDeptResultDTO)deptList.get(i); + deptId.add(indexDto.getDeptId()); + } + issueOverseeResultsTask.getUserPhoneByListDeptId(dto, deptId);//吹哨处理 向部门下的,所有人员发送短信 + } else if(ItemHandleCategoryEnum.HANDLE_CLOSE.getValue() == dto.getHandleCategory() || + ItemHandleCategoryEnum.HANDLE_CLOSING_CASE.getValue() == dto.getHandleCategory()){ + deptId = baseDao.queryDeptIdList(dto.getId(),user.getDeptId()); + issueOverseeResultsTask.getUserPhoneByListDeptId(dto, deptId);//关闭/结案 当前项目的所有部门ID,下的人员发送短信,且不等于当前部门ID + } else if(ItemHandleCategoryEnum.HANDLE_I_HANDLE.getValue() == dto.getHandleCategory()){ + if (user.getTypeKey() != OrganizationTypeConstant.ORG_TYPE_GRID_PARTY){//回应 + deptId = baseDao.queryDeptIdList(dto.getId(),0L); + issueOverseeResultsTask.getUserPhoneByListDeptId(dto, deptId);//当前登录人不是网格, 做回应处理,查询当前项目下的所有部门id,做去重处理,向部门下的所有人员发送短信 + } + } + + } + + /** + * @Description: 居民端:项目处理,发送短信 + * @Param: [dto] + * @Param: userId 用户手机号 * @return: void * @Author: zy * @Date: 2020-01-08 */ - private void projectSmsNotification(ItemHandleSubmitFormDTO dto, String userMobiles){ - List list = new ArrayList<>(); - list.add(userMobiles); + public void projectSmsNotification(ItemHandleSubmitFormDTO dto, List userMobiles){ // 审核操作发送短信 SmsNoticeFormDTO sms = new SmsNoticeFormDTO(); - sms.setMobiles(list); + sms.setMobiles(userMobiles); if (ItemHandleCategoryEnum.HANDLE_CLOSE.getValue() == dto.getHandleCategory()) { // 关闭 sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_RESIDENTS_ITEM_CLOSED); - }else { + }else if (ItemHandleCategoryEnum.HANDLE_CLOSING_CASE.getValue() == dto.getHandleCategory()){ //结案 sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_RESIDENTS_ITEM_SETTLE); } issueOverseeResultsTask.sendSmsNotice(sms); diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml index 85c9ce825..4a390104d 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml @@ -857,4 +857,20 @@ #{id} + + From 4abd58ff547d0f1e853be36845b90a11345b2565 Mon Sep 17 00:00:00 2001 From: zhangyongzhangyong <2012005003@qq.coom> Date: Fri, 10 Jan 2020 18:34:58 +0800 Subject: [PATCH 11/13] =?UTF-8?q?=E6=B8=85=E9=99=A4=E6=97=A0=E7=94=A8?= =?UTF-8?q?=E7=9A=84=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../esua/epdc/modules/async/IssueOverseeResultsTask.java | 5 ----- .../esua/epdc/modules/item/service/impl/ItemServiceImpl.java | 3 --- 2 files changed, 8 deletions(-) diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/IssueOverseeResultsTask.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/IssueOverseeResultsTask.java index 28ac2f56e..948681377 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/IssueOverseeResultsTask.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/IssueOverseeResultsTask.java @@ -1,10 +1,7 @@ package com.elink.esua.epdc.modules.async; import com.elink.esua.epdc.commons.tools.utils.Result; -import com.elink.esua.epdc.constant.EventIssueItemState; import com.elink.esua.epdc.constant.SysSmsTemplateConstant; -import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO; -import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO; import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO; import com.elink.esua.epdc.dto.item.form.ItemHandleSubmitFormDTO; import com.elink.esua.epdc.enums.ItemHandleCategoryEnum; @@ -12,11 +9,9 @@ import com.elink.esua.epdc.modules.feign.AdminFeignClient; import com.elink.esua.epdc.modules.feign.MessageFeignClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; -import org.springframework.scheduling.annotation.AsyncResult; import org.springframework.stereotype.Component; import java.util.List; -import java.util.concurrent.Future; /** * diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java index 4931deb04..1559cc685 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java @@ -85,9 +85,6 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; /** * 项目表 项目表 From 4b4d06232b7e82d1f1f906a004ea5ff0b8dd8976 Mon Sep 17 00:00:00 2001 From: wanggongfeng <1305282856@qq.com> Date: Mon, 13 Jan 2020 13:56:19 +0800 Subject: [PATCH 12/13] =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6-=E6=A8=A1=E7=B3=8A?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SmsTemplateController.java | 5 ++-- .../elink/esua/epdc/dao/SmsTemplateDao.java | 10 +++++++ .../esua/epdc/service/SmsTemplateService.java | 7 +++++ .../service/impl/SmsTemplateServiceImpl.java | 13 +++++++++- .../main/resources/mapper/SmsTemplateDao.xml | 26 +++++++++++++++++++ 5 files changed, 58 insertions(+), 3 deletions(-) diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/SmsTemplateController.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/SmsTemplateController.java index 018a06e70..8a8653496 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/SmsTemplateController.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/controller/SmsTemplateController.java @@ -23,8 +23,8 @@ import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.validator.AssertUtils; import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; -import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; +import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; import com.elink.esua.epdc.dto.SmsTemplateDTO; import com.elink.esua.epdc.excel.SmsTemplateExcel; import com.elink.esua.epdc.service.SmsTemplateService; @@ -51,7 +51,8 @@ public class SmsTemplateController { @GetMapping("page") public Result> page(@RequestParam Map params){ - PageData page = smsTemplateService.page(params); + //PageData page = smsTemplateService.page(params); + PageData page = smsTemplateService.getSmsTemplatePage(params); return new Result>().ok(page); } diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/dao/SmsTemplateDao.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/dao/SmsTemplateDao.java index a0efe0522..febe5d37a 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/dao/SmsTemplateDao.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/dao/SmsTemplateDao.java @@ -22,6 +22,9 @@ import com.elink.esua.epdc.dto.SmsTemplateDTO; import com.elink.esua.epdc.entity.SmsTemplateEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; +import java.util.Map; + /** * * @@ -41,5 +44,12 @@ public interface SmsTemplateDao extends BaseDao { * @since 2020/1/7 16:52 */ SmsTemplateDTO selectOneSmsTemplateInfoByType(String smsTemplateType); + + /** + * 条件查询 + * @param params + * @return + */ + List getPage(Map params); } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/SmsTemplateService.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/SmsTemplateService.java index 8f92366d8..969140985 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/SmsTemplateService.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/SmsTemplateService.java @@ -45,6 +45,13 @@ public interface SmsTemplateService extends BaseService { */ PageData page(Map params); + /** + * 分页条件查询 + * @param params + * @return + */ + PageData getSmsTemplatePage(Map params); + /** * 默认查询 * diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsTemplateServiceImpl.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsTemplateServiceImpl.java index 0a8c94df2..29c2fca2f 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsTemplateServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsTemplateServiceImpl.java @@ -32,7 +32,6 @@ import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO; import com.elink.esua.epdc.entity.SmsLogEntity; import com.elink.esua.epdc.entity.SmsTemplateEntity; import com.elink.esua.epdc.exception.ModuleErrorCode; -import com.elink.esua.epdc.redis.SmsTemplateRedis; import com.elink.esua.epdc.service.SmsLogService; import com.elink.esua.epdc.service.SmsTemplateService; import com.elink.esua.epdc.sms.AbstractSmsService; @@ -68,6 +67,18 @@ public class SmsTemplateServiceImpl extends BaseServiceImpl getSmsTemplatePage(Map params) { + IPage page = getPage(params); + List list = baseDao.getPage(params); + return new PageData<>(list, page.getTotal()); + } + @Override public List list(Map params) { List entityList = baseDao.selectList(getWrapper(params)); diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsTemplateDao.xml b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsTemplateDao.xml index 62ab1dbf4..e385d436e 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsTemplateDao.xml +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsTemplateDao.xml @@ -7,5 +7,31 @@ SELECT * FROM epdc_sms_template WHERE DEL_FLAG = '0' AND ENABLE_FLAG = '1' AND TEMPLATE_TYPE = #{smsTemplateType} + + \ No newline at end of file From 6fd8c7ef731b49beabcf8c0bad1091462c152ffc Mon Sep 17 00:00:00 2001 From: zhangyongzhangyong <2012005003@qq.coom> Date: Mon, 13 Jan 2020 15:55:00 +0800 Subject: [PATCH 13/13] =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E9=80=9A=E7=9F=A5=20-?= =?UTF-8?q?=20bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epdc/modules/item/service/impl/ItemServiceImpl.java | 6 ++++-- .../src/main/resources/mapper/SmsTemplateDao.xml | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java index 1559cc685..5a98d51a2 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java @@ -1202,9 +1202,11 @@ public class ItemServiceImpl extends BaseServiceImpl implem } else if(ItemHandleCategoryEnum.HANDLE_CLOSE.getValue() == dto.getHandleCategory() || ItemHandleCategoryEnum.HANDLE_CLOSING_CASE.getValue() == dto.getHandleCategory()){ deptId = baseDao.queryDeptIdList(dto.getId(),user.getDeptId()); - issueOverseeResultsTask.getUserPhoneByListDeptId(dto, deptId);//关闭/结案 当前项目的所有部门ID,下的人员发送短信,且不等于当前部门ID + if (deptId != null && deptId.size() > 0){ + issueOverseeResultsTask.getUserPhoneByListDeptId(dto, deptId);//关闭/结案 当前项目的所有部门ID,下的人员发送短信,且不等于当前部门ID + } } else if(ItemHandleCategoryEnum.HANDLE_I_HANDLE.getValue() == dto.getHandleCategory()){ - if (user.getTypeKey() != OrganizationTypeConstant.ORG_TYPE_GRID_PARTY){//回应 + if (!user.getTypeKey().equals(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY)){//回应 deptId = baseDao.queryDeptIdList(dto.getId(),0L); issueOverseeResultsTask.getUserPhoneByListDeptId(dto, deptId);//当前登录人不是网格, 做回应处理,查询当前项目下的所有部门id,做去重处理,向部门下的所有人员发送短信 } diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsTemplateDao.xml b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsTemplateDao.xml index e385d436e..0f309ee29 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsTemplateDao.xml +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/resources/mapper/SmsTemplateDao.xml @@ -3,7 +3,7 @@ - SELECT * FROM epdc_sms_template WHERE DEL_FLAG = '0' AND ENABLE_FLAG = '1' AND TEMPLATE_TYPE = #{smsTemplateType}