From 16b9c26d874a72dfcbcb2b01236d37cc8bf67553 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 16 Oct 2020 14:22:17 +0800 Subject: [PATCH 001/130] =?UTF-8?q?=E9=83=A8=E7=BD=B2statis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data-statistical-server/deploy/docker-compose-prod.yml | 2 +- epmet-module/data-statistical/data-statistical-server/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml index cdcb4fd74b..3b47de30a1 100644 --- a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml +++ b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: data-statistical-server: container_name: data-statistical-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-statistical-server:0.3.62 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-statistical-server:0.3.63 ports: - "8108:8108" network_mode: host # 使用现有网络 diff --git a/epmet-module/data-statistical/data-statistical-server/pom.xml b/epmet-module/data-statistical/data-statistical-server/pom.xml index 17cc6098a9..120681516d 100644 --- a/epmet-module/data-statistical/data-statistical-server/pom.xml +++ b/epmet-module/data-statistical/data-statistical-server/pom.xml @@ -2,7 +2,7 @@ - 0.3.62 + 0.3.63 data-statistical com.epmet From 1f9ec53c6bc4e192c426678579a9217e59b7b3bd Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 16 Oct 2020 18:14:13 +0800 Subject: [PATCH 002/130] =?UTF-8?q?=E9=83=A8=E7=BD=B2statis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data-statistical-server/deploy/docker-compose-prod.yml | 2 +- epmet-module/data-statistical/data-statistical-server/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml index 3b47de30a1..69c34b5983 100644 --- a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml +++ b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: data-statistical-server: container_name: data-statistical-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-statistical-server:0.3.63 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-statistical-server:0.3.64 ports: - "8108:8108" network_mode: host # 使用现有网络 diff --git a/epmet-module/data-statistical/data-statistical-server/pom.xml b/epmet-module/data-statistical/data-statistical-server/pom.xml index 120681516d..0d3ea6b4f3 100644 --- a/epmet-module/data-statistical/data-statistical-server/pom.xml +++ b/epmet-module/data-statistical/data-statistical-server/pom.xml @@ -2,7 +2,7 @@ - 0.3.63 + 0.3.64 data-statistical com.epmet From bd5f9cc3c9c23e70c31f1808eb144cbca713bf33 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 19 Oct 2020 19:42:40 +0800 Subject: [PATCH 003/130] =?UTF-8?q?=E9=83=A8=E7=BD=B2statis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data-statistical-server/deploy/docker-compose-prod.yml | 2 +- epmet-module/data-statistical/data-statistical-server/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml index 69c34b5983..cc1b8520aa 100644 --- a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml +++ b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: data-statistical-server: container_name: data-statistical-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-statistical-server:0.3.64 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-statistical-server:0.3.65 ports: - "8108:8108" network_mode: host # 使用现有网络 diff --git a/epmet-module/data-statistical/data-statistical-server/pom.xml b/epmet-module/data-statistical/data-statistical-server/pom.xml index 0d3ea6b4f3..b1cb3bd62f 100644 --- a/epmet-module/data-statistical/data-statistical-server/pom.xml +++ b/epmet-module/data-statistical/data-statistical-server/pom.xml @@ -2,7 +2,7 @@ - 0.3.64 + 0.3.65 data-statistical com.epmet From 1b68fc21059d613b29380b619313313e9d6f3baa Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 20 Oct 2020 18:05:46 +0800 Subject: [PATCH 004/130] =?UTF-8?q?=E9=83=A8=E7=BD=B2statis=2066?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data-statistical-server/deploy/docker-compose-prod.yml | 2 +- epmet-module/data-statistical/data-statistical-server/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml index cc1b8520aa..cb52b349b1 100644 --- a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml +++ b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: data-statistical-server: container_name: data-statistical-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-statistical-server:0.3.65 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-statistical-server:0.3.66 ports: - "8108:8108" network_mode: host # 使用现有网络 diff --git a/epmet-module/data-statistical/data-statistical-server/pom.xml b/epmet-module/data-statistical/data-statistical-server/pom.xml index b1cb3bd62f..79783ab28d 100644 --- a/epmet-module/data-statistical/data-statistical-server/pom.xml +++ b/epmet-module/data-statistical/data-statistical-server/pom.xml @@ -2,7 +2,7 @@ - 0.3.65 + 0.3.66 data-statistical com.epmet From 1f727dc0d6e5559e28864522ff51ec4703425165 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 21 Oct 2020 09:59:13 +0800 Subject: [PATCH 005/130] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E9=99=84=E8=BF=91=E7=BD=91=E6=A0=BC=E6=95=B0?= =?UTF-8?q?=E4=B8=BA200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resi-guide/resi-guide-server/deploy/docker-compose-prod.yml | 2 +- epmet-module/resi-guide/resi-guide-server/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/resi-guide/resi-guide-server/deploy/docker-compose-prod.yml b/epmet-module/resi-guide/resi-guide-server/deploy/docker-compose-prod.yml index 9cadb53ff2..aa0679b83f 100644 --- a/epmet-module/resi-guide/resi-guide-server/deploy/docker-compose-prod.yml +++ b/epmet-module/resi-guide/resi-guide-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-guide-server: container_name: resi-guide-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/resi-guide-server:0.3.20 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/resi-guide-server:0.3.21 ports: - "8091:8091" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-guide/resi-guide-server/pom.xml b/epmet-module/resi-guide/resi-guide-server/pom.xml index 04ba4c1d3e..098b7a0ba5 100644 --- a/epmet-module/resi-guide/resi-guide-server/pom.xml +++ b/epmet-module/resi-guide/resi-guide-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.20 + 0.3.21 com.epmet resi-guide From d6b18348d6d471be020a0f52e942ef6f9c2aae61 Mon Sep 17 00:00:00 2001 From: jiangyy Date: Wed, 21 Oct 2020 11:12:52 +0800 Subject: [PATCH 006/130] =?UTF-8?q?=E9=9A=BE=E7=82=B9=E5=A0=B5=E7=82=B9?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data-report/data-report-server/pom.xml | 5 + .../controller/project/ProjectController.java | 36 +++++- .../datareport/dao/project/ProjectDao.java | 19 +++ .../service/project/ProjectService.java | 22 +++- .../project/impl/ProjectServiceImpl.java | 109 +++++++++++++++++- .../resources/mapper/project/ProjectDao.xml | 35 ++++++ .../com/epmet/dto/form/SubAgencyFormDTO.java | 5 + .../epmet/dto/result/SubListResultDTO.java | 4 + .../epmet/feign/GovOrgOpenFeignClient.java | 9 ++ .../GovOrgOpenFeignClientFallback.java | 5 + .../epmet/controller/AgencyController.java | 1 - .../java/com/epmet/dao/CustomerAgencyDao.java | 2 +- .../epmet/service/impl/AgencyServiceImpl.java | 6 +- .../resources/mapper/CustomerAgencyDao.xml | 5 +- 14 files changed, 250 insertions(+), 13 deletions(-) diff --git a/epmet-module/data-report/data-report-server/pom.xml b/epmet-module/data-report/data-report-server/pom.xml index 3f0c56a777..5cc1d89587 100644 --- a/epmet-module/data-report/data-report-server/pom.xml +++ b/epmet-module/data-report/data-report-server/pom.xml @@ -14,6 +14,11 @@ 4.0.0 + + com.epmet + gov-org-client + 2.0.0 + com.epmet data-report-client diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java index 47a4765288..cd6648151c 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java @@ -1,12 +1,13 @@ -package com.epmet.module.project.controller; +package com.epmet.datareport.controller.project; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.module.project.service.ProjectService; +import com.epmet.datareport.service.project.ProjectService; import com.epmet.project.constant.ProjectConstant; +import com.epmet.project.dto.form.DifficultyRankFormDTO; import com.epmet.project.dto.form.ProjectIncrTrendFormDTO; import com.epmet.project.dto.result.*; import org.springframework.beans.factory.annotation.Autowired; @@ -40,7 +41,7 @@ public class ProjectController { /** * @Author sun - * @Description 数据-项目-获取组织下饼图数据 + * @Description t **/ @PostMapping("summaryinfo") public Result> summaryInfo(@LoginUser TokenDto tokenDto) { @@ -78,4 +79,33 @@ public class ProjectController { return new Result>().ok(projectService.getProjectIncrTrend(tokenDto, formDTO)); } + /** + * @Description 难点赌点-耗时最长|涉及部门最多|处理次数 + * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321614 + * @param param + * @return + * @author jiangyy + * @date 2020.10.19 16:38 + **/ + @PostMapping("difficultyrank") + public Result> difficultyRank(@RequestBody DifficultyRankFormDTO param){ + ValidatorUtils.validateEntity(param, DifficultyRankFormDTO.DifficultyRankInternalGroup.class); + return new Result>().ok(projectService.getDifficultyRank(param)); + } + + /** + * @Description 难点赌点-耗时最长|涉及部门最多|处理次数 + * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321614 + * @param tokenDto + * @return + * @author jiangyy + * @date 2020.10.19 16:38 + **/ + @PostMapping("mynextagency") + public Result> myNextAgency(@LoginUser TokenDto tokenDto){ + return new Result>().ok(projectService.getMyNextAgency(tokenDto)); + } + + + } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/project/ProjectDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/project/ProjectDao.java index b8920580bf..870c25a6d2 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/project/ProjectDao.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/project/ProjectDao.java @@ -1,6 +1,7 @@ package com.epmet.datareport.dao.project; import com.epmet.project.dto.FactAgencyProjectDailyDTO; +import com.epmet.project.dto.form.DifficultyRankFormDTO; import com.epmet.project.dto.result.*; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -55,4 +56,22 @@ public interface ProjectDao { * @Description 查询机关月统计近十二个月数据 **/ List selectIncrTrendMonthly(@Param("agencyId") String agencyId); + + /** + * @Description 查询难点赌点-耗时最长|涉及部门最多|处理次数 + * @param + * @return + * @author jiangyy + * @date 2020.10.19 16:38 + **/ + List difficultyRank(DifficultyRankFormDTO difficultyRankFormDTO); + + /** + * @Description 查询难点堵点的图片list + * @param + * @return + * @author jiangyy + * @date 2020.10.20 10:13 + **/ + List getDifficultyImgList(String eventId); } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/ProjectService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/ProjectService.java index baa6e664e0..a51d157689 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/ProjectService.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/ProjectService.java @@ -1,6 +1,7 @@ -package com.epmet.module.project.service; +package com.epmet.datareport.service.project; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.project.dto.form.DifficultyRankFormDTO; import com.epmet.project.dto.form.ProjectIncrTrendFormDTO; import com.epmet.project.dto.result.*; @@ -41,4 +42,23 @@ public interface ProjectService { * @Description 数据-项目-日/月数据查询 **/ List getProjectIncrTrend(TokenDto tokenDto, ProjectIncrTrendFormDTO formDTO); + + /** + * @Description 难点赌点-耗时最长|涉及部门最多|处理次数 + * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321614 + * @param param + * @return + * @author jiangyy + * @date 2020.10.19 16:38 + **/ + List getDifficultyRank(DifficultyRankFormDTO param); + + /** + * @Description 难点赌点-获取组织下拉框 + * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321614 + * @return + * @author jiangyy + * @date 2020.10.19 16:38 + **/ + List getMyNextAgency(TokenDto tokenDto); } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java index 41af9351ac..376ac9ffad 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java @@ -1,16 +1,26 @@ package com.epmet.datareport.service.project.impl; +import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.DateUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.DataSourceConstant; import com.epmet.datareport.dao.project.ProjectDao; +import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.form.LoginUserDetailsFormDTO; +import com.epmet.dto.form.SubAgencyFormDTO; +import com.epmet.dto.result.GridByStaffResultDTO; import com.epmet.dto.result.LoginUserDetailsResultDTO; +import com.epmet.dto.result.SubAgencyResultDTO; +import com.epmet.dto.result.SubListResultDTO; import com.epmet.feign.EpmetUserOpenFeignClient; -import com.epmet.module.project.service.ProjectService; +import com.epmet.feign.GovOrgOpenFeignClient; +import com.epmet.datareport.service.project.ProjectService; import com.epmet.project.constant.ProjectConstant; import com.epmet.project.dto.FactAgencyProjectDailyDTO; +import com.epmet.project.dto.form.DifficultyRankFormDTO; import com.epmet.project.dto.form.ProjectIncrTrendFormDTO; import com.epmet.project.dto.result.*; import org.springframework.beans.BeanUtils; @@ -36,6 +46,9 @@ public class ProjectServiceImpl implements ProjectService { @Autowired private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + @Autowired + private GovOrgOpenFeignClient govOrgOpenFeignClient; + /** * @Author sun * @Description 数据-项目-获取汇总数据 @@ -183,4 +196,98 @@ public class ProjectServiceImpl implements ProjectService { return agencyId; } + /** + * @author jiangyy + * @Description 获取userId + */ + private String getLoginUserUserId(TokenDto tokenDto) { + LoginUserDetailsFormDTO dto = new LoginUserDetailsFormDTO(); + BeanUtils.copyProperties(tokenDto, dto); + LoginUserDetailsResultDTO data = epmetUserOpenFeignClient.getLoginUserDetails(dto).getData(); + String userId = data.getUserId(); + if (null == userId || "".equals(userId)) { + throw new RenException(ProjectConstant.GET_AGENCYID); + } + return userId; + } + + /** + * @Description 难点赌点-获取组织下拉框 + * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321614 + * @return + * @author jiangyy + * @date 2020.10.19 16:38 + **/ + @Override + public List getMyNextAgency(TokenDto tokenDto) { + List resultList = new ArrayList<>(); + + //1、根据token获取本级agencyId、获取userId + String agencyId = getLoginUserDetails(tokenDto); + String userId=getLoginUserUserId(tokenDto); + + //2、获取本级组织机构 + Result customerAgencyDTO = govOrgOpenFeignClient.getAgencyById(agencyId); + ProjectNextAgencyResultDTO angencyDto = new ProjectNextAgencyResultDTO(); + angencyDto.setOrgId(agencyId); + angencyDto.setOrgName(customerAgencyDTO.getData().getOrganizationName()); + angencyDto.setOrgType(customerAgencyDTO.getData().getLevel()); + resultList.add(angencyDto); + + + //3、获取下一级组织机构\网格 + if( customerAgencyDTO.getData().getLevel() == "community" ){ + //取下级网格 + Result> gridListResult = govOrgOpenFeignClient.listGridsbystaffid(userId); + List gridList = gridListResult.getData(); + for(int i=0;i SubAgencyResultDTO = govOrgOpenFeignClient.subAgencyList(form); + + List subAgencyList = SubAgencyResultDTO.getData().getAgencyList(); + for(int i=0;i(); + return resultList; + } + + /** + * @Description 难点赌点-耗时最长|涉及部门最多|处理次数 + * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321614 + * @param param + * @return + * @author jiangyy + * @date 2020.10.19 16:38 + **/ + @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true) + @Override + public List getDifficultyRank(DifficultyRankFormDTO param) { + List result = projectDao.difficultyRank(param); + for (int i = 0; i < result.size (); i ++){ + List imgUrlList ; + imgUrlList = projectDao.getDifficultyImgList(result.get(i).getProjectId()) ; + + result.get(i).setImgUrlList(imgUrlList); + } + if(null == result) return new ArrayList<>(); + return result; + } + } diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml index 21b472e4de..04fa7f0d4f 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml @@ -234,4 +234,39 @@ )a ORDER BY a.month_id DESC,a.type ASC + + + + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/SubAgencyFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/SubAgencyFormDTO.java index 6cdf21a193..ce80929e97 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/SubAgencyFormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/SubAgencyFormDTO.java @@ -39,5 +39,10 @@ public class SubAgencyFormDTO implements Serializable { @NotBlank(message = "机关组织ID不能为空") private String agencyId; + /** + * 机关组织数量 + */ + private Integer agencyNum = 10; + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubListResultDTO.java index 17dc985695..b6bf347332 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubListResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubListResultDTO.java @@ -41,5 +41,9 @@ public class SubListResultDTO implements Serializable { */ private String agencyName = ""; + /** + * 机关组织级别 + */ + private String agencyLevel = ""; } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java index 2ebce80475..2856183dd3 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java @@ -250,4 +250,13 @@ public interface GovOrgOpenFeignClient { **/ @PostMapping("/gov/org/customeragency/userinfoext") Result userInfoExt(@RequestBody ExtUserInfoResultDTO result); + + /** + * @param formDTO + * @return + * @Author sun + * @Description 组织首页-下级机关列表 + */ + @PostMapping("/gov/org/agency/subagencylist") + Result subAgencyList(@RequestBody SubAgencyFormDTO formDTO); } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java index 8f70da4530..b132ebec6a 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java @@ -146,4 +146,9 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient { public Result userInfoExt(ExtUserInfoResultDTO result) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "userInfoExt", result); } + + @Override + public Result subAgencyList(SubAgencyFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "subAgencyList", formDTO); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java index cb1865ba35..08154a921d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java @@ -38,7 +38,6 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import javax.xml.validation.Validator; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index eeeecf60db..8c404a53c2 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -57,7 +57,7 @@ public interface CustomerAgencyDao extends BaseDao { * @Author sun * @Description 组织首页-下级机关列表 **/ - List selectSubAgencyById(@Param("pId") String pId); + List selectSubAgencyById(@Param("pId") String pId, @Param("agencyNum") Integer agencyNum); /** * @param pId diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 826e186d7f..9171f61c9d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -25,14 +25,12 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.CustomerAgencyConstant; import com.epmet.constant.RoleKeyConstants; -import com.epmet.constant.UserWorkType; import com.epmet.dao.CustomerAgencyDao; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.GovStaffRoleDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.CustomerAgencyEntity; -import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.redis.CustomerAgencyRedis; import com.epmet.service.AgencyService; @@ -177,7 +175,7 @@ public class AgencyServiceImpl implements AgencyService { public Result removeAgency(RemoveAgencyFormDTO formDTO) { Result result = new Result(); //1:查询当前机关是否存在所属下级机关,存在下级的不能删除 - List agencyList = customerAgencyDao.selectSubAgencyById(formDTO.getAgencyId()); + List agencyList = customerAgencyDao.selectSubAgencyById(formDTO.getAgencyId(), 10); if (null != agencyList && agencyList.size() > NumConstant.ZERO) { result.setCode(EpmetErrorCode.NOT_DEL_AGENCY.getCode()); result.setMsg(EpmetErrorCode.NOT_DEL_AGENCY.getMsg()); @@ -238,7 +236,7 @@ public class AgencyServiceImpl implements AgencyService { public Result subAgencyList(SubAgencyFormDTO formDTO) { SubAgencyResultDTO subAgencyResultDTO = new SubAgencyResultDTO(); //1:根据当前机关Id查询直属下一级机关列表 - List agencyList = customerAgencyDao.selectSubAgencyById(formDTO.getAgencyId()); + List agencyList = customerAgencyDao.selectSubAgencyById(formDTO.getAgencyId(),formDTO.getAgencyNum()); subAgencyResultDTO.setAgencyList(null == agencyList ? new ArrayList() : agencyList); //2:统计下一级机关数 subAgencyResultDTO.setSubAgencyCount(agencyList.size()); diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 0721780e09..43ed9bb5e3 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -62,12 +62,13 @@ + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml index b2fc15543a..163ad63238 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml @@ -65,5 +65,48 @@ AND ps.STAFF_ID = #{staffId} AND IS_HANDLE = 'unhandled' + \ No newline at end of file From c2a3f3cb8cb3d9ce6099eac4ce7cf5b3096b9544 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 22 Oct 2020 14:28:39 +0800 Subject: [PATCH 010/130] =?UTF-8?q?=E9=83=A8=E7=BD=B2statis=2067=20?= =?UTF-8?q?=E7=BB=93=E6=A1=88=E7=8E=87=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data-statistical-server/deploy/docker-compose-prod.yml | 2 +- epmet-module/data-statistical/data-statistical-server/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml index cb52b349b1..f3577369a1 100644 --- a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml +++ b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: data-statistical-server: container_name: data-statistical-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-statistical-server:0.3.66 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-statistical-server:0.3.67 ports: - "8108:8108" network_mode: host # 使用现有网络 diff --git a/epmet-module/data-statistical/data-statistical-server/pom.xml b/epmet-module/data-statistical/data-statistical-server/pom.xml index 79783ab28d..6f0d458d93 100644 --- a/epmet-module/data-statistical/data-statistical-server/pom.xml +++ b/epmet-module/data-statistical/data-statistical-server/pom.xml @@ -2,7 +2,7 @@ - 0.3.66 + 0.3.67 data-statistical com.epmet From 1e4cc7102efc0bd5a914dfbf812d2c9917889539 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 22 Oct 2020 15:54:33 +0800 Subject: [PATCH 011/130] =?UTF-8?q?=E8=AE=A1=E7=AE=97=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../batch/BatchScoreCalculator.java | 36 ++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/batch/BatchScoreCalculator.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/batch/BatchScoreCalculator.java index 900b15aaf5..f39d1ed956 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/batch/BatchScoreCalculator.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/batch/BatchScoreCalculator.java @@ -66,26 +66,30 @@ public class BatchScoreCalculator { BigDecimal minScoreValue = idx.getScoreCalculator().getMinScore(); BigDecimal maxScoreValue = idx.getScoreCalculator().getMaxScore(); - if (idx.getScoreCalculator().getMaxValue().compareTo(idx.getScoreCalculator().getMinValue()) == 0) { - //*((max-min)/ (Math.PI/2))+min - //Math.atan(new Double(vo.getSampleValue().toString()))* - normalizeValue = new BigDecimal(Math.atan(new Double(getFinalSampleValue(vo.getSampleValue(), threshold).toString()))) - .multiply( - (maxScoreValue.subtract(minScoreValue).divide(new BigDecimal(Math.PI / 2), 10, RoundingMode.HALF_UP))) - .add(minScoreValue).setScale(6, RoundingMode.HALF_UP); - // - if (scoreCalculator.getCorrelation().getCode().equals(Correlation.NEGATIVE)) { - normalizeValue = maxScoreValue.subtract(normalizeValue); - } - }else { - //如果不需要归一 则 直接value*权重 - if (idx.isScore()) { - vo.setSampleValue(new BigDecimal(vo.getSampleValue().toString()).compareTo(NumConstant.ZERO_DECIMAL) == NumConstant.ZERO ? ScoreConstants.MIN_SCORE : new BigDecimal(vo.getSampleValue().toString())); - normalizeValue = getFinalSampleValue(vo.getSampleValue(), threshold); + + + //1.如果是分数值(平均值)不需要归一 则 直接value*权重 + //2.否则 先判断 样本值是否相等 是:反正切函数 否:归一算法 + if (idx.isScore()) { + vo.setSampleValue(new BigDecimal(vo.getSampleValue().toString()).compareTo(NumConstant.ZERO_DECIMAL) == NumConstant.ZERO ? ScoreConstants.MIN_SCORE : new BigDecimal(vo.getSampleValue().toString())); + normalizeValue = getFinalSampleValue(vo.getSampleValue(), threshold); + } else { + if (idx.getScoreCalculator().getMaxValue().compareTo(idx.getScoreCalculator().getMinValue()) == 0) { + //*((max-min)/ (Math.PI/2))+min + //Math.atan(new Double(vo.getSampleValue().toString()))* + normalizeValue = new BigDecimal(Math.atan(new Double(getFinalSampleValue(vo.getSampleValue(), threshold).toString()))) + .multiply( + (maxScoreValue.subtract(minScoreValue).divide(new BigDecimal(Math.PI / 2), 10, RoundingMode.HALF_UP))) + .add(minScoreValue).setScale(6, RoundingMode.HALF_UP); + // + if (scoreCalculator.getCorrelation().getCode().equals(Correlation.NEGATIVE)) { + normalizeValue = maxScoreValue.subtract(normalizeValue); + } } else { normalizeValue = scoreCalculator.normalize(getFinalSampleValue(vo.getSampleValue(), threshold)); } } + BigDecimal score = normalizeValue.multiply(weight).setScale(6, RoundingMode.HALF_UP); CalculateResult result = scoreCountOfSamples.get(sampleId); From 5fa4a6778651d5a799cc2c2391638db44634ad27 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 22 Oct 2020 15:55:07 +0800 Subject: [PATCH 012/130] =?UTF-8?q?Revert=20"=E8=AE=A1=E7=AE=97=E5=99=A8"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 1e4cc710 --- .../batch/BatchScoreCalculator.java | 34 ++++++++----------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/batch/BatchScoreCalculator.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/batch/BatchScoreCalculator.java index f39d1ed956..4988ef684e 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/batch/BatchScoreCalculator.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/batch/BatchScoreCalculator.java @@ -66,30 +66,26 @@ public class BatchScoreCalculator { BigDecimal minScoreValue = idx.getScoreCalculator().getMinScore(); BigDecimal maxScoreValue = idx.getScoreCalculator().getMaxScore(); - - - //1.如果是分数值(平均值)不需要归一 则 直接value*权重 - //2.否则 先判断 样本值是否相等 是:反正切函数 否:归一算法 - if (idx.isScore()) { - vo.setSampleValue(new BigDecimal(vo.getSampleValue().toString()).compareTo(NumConstant.ZERO_DECIMAL) == NumConstant.ZERO ? ScoreConstants.MIN_SCORE : new BigDecimal(vo.getSampleValue().toString())); - normalizeValue = getFinalSampleValue(vo.getSampleValue(), threshold); + if (idx.getScoreCalculator().getMaxValue().compareTo(idx.getScoreCalculator().getMinValue()) == 0) { + //*((max-min)/ (Math.PI/2))+min + //Math.atan(new Double(vo.getSampleValue().toString()))* + normalizeValue = new BigDecimal(Math.atan(new Double(getFinalSampleValue(vo.getSampleValue(), threshold).toString()))) + .multiply( + (maxScoreValue.subtract(minScoreValue).divide(new BigDecimal(Math.PI / 2), 10, RoundingMode.HALF_UP))) + .add(minScoreValue).setScale(6, RoundingMode.HALF_UP); + // + if (scoreCalculator.getCorrelation().getCode().equals(Correlation.NEGATIVE)) { + normalizeValue = maxScoreValue.subtract(normalizeValue); + } } else { - if (idx.getScoreCalculator().getMaxValue().compareTo(idx.getScoreCalculator().getMinValue()) == 0) { - //*((max-min)/ (Math.PI/2))+min - //Math.atan(new Double(vo.getSampleValue().toString()))* - normalizeValue = new BigDecimal(Math.atan(new Double(getFinalSampleValue(vo.getSampleValue(), threshold).toString()))) - .multiply( - (maxScoreValue.subtract(minScoreValue).divide(new BigDecimal(Math.PI / 2), 10, RoundingMode.HALF_UP))) - .add(minScoreValue).setScale(6, RoundingMode.HALF_UP); - // - if (scoreCalculator.getCorrelation().getCode().equals(Correlation.NEGATIVE)) { - normalizeValue = maxScoreValue.subtract(normalizeValue); - } + //如果不需要归一 则 直接value*权重 + if (idx.isScore()) { + vo.setSampleValue(new BigDecimal(vo.getSampleValue().toString()).compareTo(NumConstant.ZERO_DECIMAL) == NumConstant.ZERO ? ScoreConstants.MIN_SCORE : new BigDecimal(vo.getSampleValue().toString())); + normalizeValue = getFinalSampleValue(vo.getSampleValue(), threshold); } else { normalizeValue = scoreCalculator.normalize(getFinalSampleValue(vo.getSampleValue(), threshold)); } } - BigDecimal score = normalizeValue.multiply(weight).setScale(6, RoundingMode.HALF_UP); CalculateResult result = scoreCountOfSamples.get(sampleId); From 70b7fd665b0a13da997bb7335c546bb5e2e5dacd Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 23 Oct 2020 13:56:59 +0800 Subject: [PATCH 013/130] =?UTF-8?q?third=E6=9C=8D=E5=8A=A1=E5=8D=87?= =?UTF-8?q?=E7=BA=A7=20=20=E6=9F=A5=E8=AF=A2=E5=B0=8F=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet-third-server/deploy/docker-compose-prod.yml | 2 +- epmet-module/epmet-third/epmet-third-server/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-prod.yml b/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-prod.yml index f01831dba3..11d47645f6 100644 --- a/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-prod.yml +++ b/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-third-server: container_name: epmet-third-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-third-server:0.0.147 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-third-server:0.0.148 ports: - "8110:8110" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-third/epmet-third-server/pom.xml b/epmet-module/epmet-third/epmet-third-server/pom.xml index 050301d9f6..96b78ffe32 100644 --- a/epmet-module/epmet-third/epmet-third-server/pom.xml +++ b/epmet-module/epmet-third/epmet-third-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.0.147 + 0.0.148 com.epmet From dfc095ba02ffc6ad1fb10d69d06ac6c15a333262 Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Fri, 23 Oct 2020 14:22:49 +0800 Subject: [PATCH 014/130] =?UTF-8?q?=E5=8F=91=E9=80=81=E8=AE=A2=E9=98=85?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=B7=BB=E5=8A=A0messageTime=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/form/WxSubscribeMessageFormDTO.java | 6 ++++++ .../java/com/epmet/service/impl/WxmpMessageServiceImpl.java | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxSubscribeMessageFormDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxSubscribeMessageFormDTO.java index 1dc30e2f8c..84ec028cc5 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxSubscribeMessageFormDTO.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxSubscribeMessageFormDTO.java @@ -48,4 +48,10 @@ public class WxSubscribeMessageFormDTO implements Serializable { @NotBlank(message = "消息内容不能为空") private String messageContent; + /** + * 消息时间 + */ + @NotNull(message = "消息时间不能为空") + private Date messageTime; + } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java index bf9d8ed39c..b83429496b 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java @@ -196,7 +196,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { jsonObject.put(WxmpMessageConstant.TEMPLATE_ID, templateId); data.put(WxmpMessageConstant.TITLE, new JSONObject().put("value", ("您有一条" + msg.getBehaviorType()).substring(0, WxmpMessageConstant.TITLE_LIMIT))); data.put(WxmpMessageConstant.MESSAGE_CONTENT, new JSONObject().put("value", msg.getMessageContent().substring(0, WxmpMessageConstant.MESSAGE_CONTENT_LIMIT))); - data.put(WxmpMessageConstant.MESSAGE_TIME, new JSONObject().put("value", new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()))); + data.put(WxmpMessageConstant.MESSAGE_TIME, new JSONObject().put("value", new SimpleDateFormat("yyyy-MM-dd HH:mm").format(msg.getMessageTime()))); jsonObject.put(WxmpMessageConstant.DATA, data); EnvEnum envEnum = EnvEnum.getCurrentEnv(); //选填项 @@ -289,7 +289,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { wxmpMsgSendRecordEntity.setBehaviorType(msg.getBehaviorType()); wxmpMsgSendRecordEntity.setTitle("您有一条" + msg.getBehaviorType()); wxmpMsgSendRecordEntity.setMessageContent(msg.getMessageContent()); - wxmpMsgSendRecordEntity.setMessageTime(new Date()); + wxmpMsgSendRecordEntity.setMessageTime(msg.getMessageTime()); wxmpMsgSendRecordEntity.setResult(status); return wxmpMsgSendRecordEntity; } From 338c631a8f2b1676cc5a88e8544dab48ba38084a Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Fri, 23 Oct 2020 14:30:28 +0800 Subject: [PATCH 015/130] =?UTF-8?q?=E8=B0=83=E7=94=A8=E5=8F=91=E9=80=81?= =?UTF-8?q?=E8=AE=A2=E9=98=85=20=20=E6=B7=BB=E5=8A=A0messageTime=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../member/service/impl/ResiGroupMemberServiceImpl.java | 1 + .../service/impl/PartyMemberConfirmServiceImpl.java | 1 + .../service/impl/ResiWarmheartedApplyServiceImpl.java | 6 ++---- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java index db6422eee4..bd92d6b14a 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java @@ -460,6 +460,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); msgList.add(wxSubscribeMessageFormDTO); epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java index 72dd1e18ed..ea761610fc 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java @@ -653,6 +653,7 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService wxSubscribeMessageFormDTO.setClientType(AppClientConstant.APP_RESI); wxSubscribeMessageFormDTO.setBehaviorType(ResiWarmUserMessageConstant.WX_WARMHEARTED_BEHAVIOR); wxSubscribeMessageFormDTO.setMessageContent(messageContent); + wxSubscribeMessageFormDTO.setMessageTime(new Date()); List msgList = new ArrayList<>(); msgList.add(wxSubscribeMessageFormDTO); epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java index 26beee052c..901bf4e1cc 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java @@ -66,10 +66,7 @@ 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; +import java.util.*; import java.util.stream.Collectors; /** @@ -449,6 +446,7 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); msgList.add(wxSubscribeMessageFormDTO); epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); From a9ca56ff54880a5310b94f5b37c031ecd08f95e1 Mon Sep 17 00:00:00 2001 From: wxz Date: Fri, 23 Oct 2020 14:30:43 +0800 Subject: [PATCH 016/130] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E8=AE=A2=E9=98=85=E6=B6=88=E6=81=AF-=E6=8E=88?= =?UTF-8?q?=E6=9D=83=E9=85=8D=E7=BD=AE=E4=BF=9D=E5=AD=98=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WxMsgTemplateSubscribeStatus.java | 7 + .../WxmpTemplateMsgSubscribeStatusDTO.java | 2 + .../epmet/dto/form/WxMsgAuthInfoFormDTO.java | 24 +- .../epmet-message-server/pom.xml | 5 + .../controller/WxmpMessageController.java | 47 +- .../epmet/dao/WxmpResiUserSubscribeDao.java | 11 + .../WxmpTemplateMsgSubscribeStatusDao.java | 10 +- .../epmet/dao/WxmpWorkUserSubscribeDao.java | 14 +- .../WxmpTemplateMsgSubscribeStatusEntity.java | 3 + .../com/epmet/service/WxmpMessageService.java | 8 +- .../service/impl/WxmpMessageServiceImpl.java | 621 +++++++++++------- .../mapper/WxmpResiUserSubscribeDao.xml | 42 ++ .../WxmpTemplateMsgSubscribeStatusDao.xml | 2 + .../mapper/WxmpWorkUserSubscribeDao.xml | 39 ++ 14 files changed, 589 insertions(+), 246 deletions(-) create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/WxMsgTemplateSubscribeStatus.java diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/WxMsgTemplateSubscribeStatus.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/WxMsgTemplateSubscribeStatus.java new file mode 100644 index 0000000000..9ea7e585ae --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/WxMsgTemplateSubscribeStatus.java @@ -0,0 +1,7 @@ +package com.epmet.constant; + +public interface WxMsgTemplateSubscribeStatus { + //wx订阅状态 订阅状态(订阅:subscribe 取消订阅:unsubscribe) + String SUBSCRIBE = "subscribe"; + String UNSUBSCRIBE = "unsubscribe"; +} diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/WxmpTemplateMsgSubscribeStatusDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/WxmpTemplateMsgSubscribeStatusDTO.java index 00dc07a199..59ad254400 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/WxmpTemplateMsgSubscribeStatusDTO.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/WxmpTemplateMsgSubscribeStatusDTO.java @@ -103,4 +103,6 @@ public class WxmpTemplateMsgSubscribeStatusDTO implements Serializable { */ private Date updatedTime; + private Date templateId; + } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxMsgAuthInfoFormDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxMsgAuthInfoFormDTO.java index 11d70e506d..c8dde831d2 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxMsgAuthInfoFormDTO.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxMsgAuthInfoFormDTO.java @@ -8,17 +8,35 @@ import javax.validation.constraints.NotBlank; public class WxMsgAuthInfoFormDTO { public interface SaveSysAuthInfoGroup {} + public interface GetAuthInfoGroup {} + public interface SaveWxSubscribeInfoGroup {} - @NotBlank(message = "客户id不能为空", groups = { SaveSysAuthInfoGroup.class }) + @NotBlank(message = "客户id不能为空", groups = { SaveSysAuthInfoGroup.class, GetAuthInfoGroup.class, SaveWxSubscribeInfoGroup.class }) private String customerId; - @NotBlank(message = "客户端类型不能为空", groups = { SaveSysAuthInfoGroup.class }) + @NotBlank(message = "客户端类型不能为空", groups = { SaveSysAuthInfoGroup.class, GetAuthInfoGroup.class, SaveWxSubscribeInfoGroup.class }) private String clientType; - @NotBlank(message = "是否总是字段不能为空", groups = { SaveSysAuthInfoGroup.class }) + @NotBlank(message = "'是否总是允许'选项不能为空", groups = { SaveSysAuthInfoGroup.class }) private String alwaysVisit; @NotBlank(message = "是否去订阅字段不能为空", groups = { SaveSysAuthInfoGroup.class }) private String subscribeStatus; + @NotBlank(message = "模板ID不能为空", groups = { SaveWxSubscribeInfoGroup.class, GetAuthInfoGroup.class, SaveSysAuthInfoGroup.class }) + private String templateId; + + @NotBlank(message = "微信'是否总是允许'选项不能为空", groups = { SaveWxSubscribeInfoGroup.class }) + private String wxAlwaysVisit; + + @NotBlank(message = "微信'是否订阅字段不能为空'", groups = { SaveWxSubscribeInfoGroup.class }) + private String wxSubscribeStatus; + + @NotBlank(message = "动作类型不能为空", groups = { SaveWxSubscribeInfoGroup.class }) + private String behaviorType; + + + + + } diff --git a/epmet-module/epmet-message/epmet-message-server/pom.xml b/epmet-module/epmet-message/epmet-message-server/pom.xml index 28f44f4962..6a8d05d9de 100644 --- a/epmet-module/epmet-message/epmet-message-server/pom.xml +++ b/epmet-module/epmet-message/epmet-message-server/pom.xml @@ -25,6 +25,11 @@ epmet-message-client 2.0.0 + + com.epmet + epmet-user-client + 2.0.0 + com.epmet epmet-admin-client diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java index 7e06c80b0a..15e8e81d0e 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java @@ -24,12 +24,10 @@ import com.epmet.dto.form.GetTemplateListFormDTO; import com.epmet.dto.form.WxMsgAuthInfoFormDTO; import com.epmet.dto.form.WxSubscribeMessageFormDTO; import com.epmet.dto.result.GetTemplateListResultDTO; +import com.epmet.dto.result.WxMsgAuthInfoResultDTO; import com.epmet.service.WxmpMessageService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -64,11 +62,13 @@ public class WxmpMessageController { String clientType = form.getClientType(); String customerId = form.getCustomerId(); String subscribeStatus = form.getSubscribeStatus(); + String templateId = form.getTemplateId(); - wxmpMessageService.saveSysAuthorizeInfo(customerId, clientType, alwaysVisit, subscribeStatus, loginUserUtil.getLoginUserId()); + wxmpMessageService.saveSysAuthorizeInfo(customerId, clientType, alwaysVisit, subscribeStatus, loginUserUtil.getLoginUserId(), templateId); return new Result(); } + @PostMapping("sendwxsubscribemessage") public Result sendWxSubscribeMessage(@RequestBody List msgList){ for (WxSubscribeMessageFormDTO wxSubscribeMessageFormDTO : msgList) { @@ -89,4 +89,39 @@ public class WxmpMessageController { return new Result>().ok(wxmpMessageService.templateList(formDTO)); } -} + /** + * @Description 查询用户授权信息 + * @return + * @author wxz + * @date 2020.10.21 18:15 + */ + @PostMapping("get-authorizeinfo") + public Result getAuthorizationInfo(@RequestBody WxMsgAuthInfoFormDTO form) { + ValidatorUtils.validateEntity(form, WxMsgAuthInfoFormDTO.GetAuthInfoGroup.class); + WxMsgAuthInfoResultDTO authorizationInfo = wxmpMessageService.getAuthorizationInfo( + form.getCustomerId(), form.getClientType(), + loginUserUtil.getLoginUserId(), form.getTemplateId()); + return new Result().ok(authorizationInfo); + } + + /** + * 保存微信订阅的授权信息 + * @param form + * @return + */ + @PostMapping("save-wxsubscribe") + public Result saveWxSubscribe(@RequestBody WxMsgAuthInfoFormDTO form) { + ValidatorUtils.validateEntity(form, WxMsgAuthInfoFormDTO.SaveWxSubscribeInfoGroup.class); + String customerId = form.getCustomerId(); + String clientType = form.getClientType(); + String templateId = form.getTemplateId(); + String wxAlwaysVisit = form.getWxAlwaysVisit(); + String wxSubscribeStatus = form.getWxSubscribeStatus(); + String behaviorType = form.getBehaviorType(); + + wxmpMessageService.saveWxSubscribe(customerId, clientType, templateId, wxAlwaysVisit, wxSubscribeStatus, behaviorType, loginUserUtil.getLoginUserId()); + + return new Result(); + } + +} \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java index c1a6e83d2f..28080d66e7 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java @@ -74,4 +74,15 @@ public interface WxmpResiUserSubscribeDao extends BaseDao { WxMsgAuthInfoResultDTO getUserSubscribeStatusDTO(@Param("userId") String userId, - @Param("customerId") String customerId, - @Param("clientType") String clientType); + @Param("customerId") String customerId, + @Param("clientType") String clientType, + @Param("templateId") String templateId); WxmpTemplateMsgSubscribeStatusEntity getUserSubscribeStatusEntity(@Param("userId") String userId, - @Param("customerId") String customerId, - @Param("clientType") String clientType); + @Param("customerId") String customerId, + @Param("clientType") String clientType, + @Param("templateId") String templateId); } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpWorkUserSubscribeDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpWorkUserSubscribeDao.java index 0638e2bfc4..eb33773c8f 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpWorkUserSubscribeDao.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpWorkUserSubscribeDao.java @@ -23,7 +23,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; /** - * 工作端用户订阅模板消息有效次数记录表 + * 工作端用户订阅模板消息有效次数记录表 * * @author generator generator@elink-cn.com * @since v1.0.0 2020-10-21 @@ -75,4 +75,16 @@ public interface WxmpWorkUserSubscribeDao extends BaseDao msgList) { - logger.info("待发送订阅消息数量:{}", msgList.size()); - int succecssCount = 0; - for (WxSubscribeMessageFormDTO msg : msgList) { - try { - String userId = msg.getUserId(); - String clientType = msg.getClientType(); - String customerId = msg.getCustomerId(); - String templateId = null; - String openId = null; - //通过userId获取openId - try { - if (WxmpMessageConstant.RESI.equals(clientType)) { - UserBasicInfoFormDTO userBasicInfoFormDTO = new UserBasicInfoFormDTO(); - userBasicInfoFormDTO.setUserId(userId); - openId = epmetUserOpenFeignClient.getUserBasicInfo(userBasicInfoFormDTO).getData().getOpenId(); - } else if (WxmpMessageConstant.WORK.equals(clientType)) { - StaffBasicInfoFormDTO staffBasicInfoFormDTO = new StaffBasicInfoFormDTO(); - staffBasicInfoFormDTO.setStaffId(userId); - openId = epmetUserOpenFeignClient.getStaffBasicInfo(staffBasicInfoFormDTO).getData().getOpenId(); - } else { - throw new WxSubscribeException("clientType有误", "", openId); - } - } catch (Exception e) { - throw new WxSubscribeException("连接User服务失败", "", ""); - } - - if (StringUtils.isBlank(openId)) { - throw new WxSubscribeException("openId获取失败", "", ""); - } - - //获取accessToken - StringBuilder key = new StringBuilder(msg.getCustomerId()).append(":").append(msg.getClientType()); - Map authorizerRefreshToken = new HashMap<>(); - try { - authorizerRefreshToken = wxmpMessageRedis.getAuthorizerRefreshToken(key.toString()); - } catch (Exception e) { - throw new WxSubscribeException("连接缓存服务器失败", "", openId); - } - String accessToken = (String) authorizerRefreshToken.get(WxmpMessageConstant.AUTHORIZER_ACCESS_TOKEN); - if (StringUtils.isBlank(accessToken)) { - throw new WxSubscribeException("accessToken获取失败", "", openId); - } - - //获取模板id - if (WxmpMessageConstant.RESI.equals(clientType)) { - templateId = wxmpResiUserSubscribeDao.getResiSubscribeTemplateId(openId, templateId, customerId); - } else if (WxmpMessageConstant.WORK.equals(clientType)) { - templateId = wxmpWorkUserSubscribeDao.getWorkSubscribeTemplateId(openId, templateId, customerId); - } - if (StringUtils.isBlank(templateId)) { - throw new WxSubscribeException("获取模板id失败", "", openId); - } - - //判断用户是否有次数 - Integer count = null; - if (WxmpMessageConstant.RESI.equals(clientType)) { - count = wxmpResiUserSubscribeDao.getResiSubscribeInfo(openId, templateId, customerId); - } else if (WxmpMessageConstant.WORK.equals(clientType)) { - count = wxmpWorkUserSubscribeDao.getWorkSubscribeInfo(openId, templateId, customerId); - } - if (count == null) { - //用户未订阅 - throw new WxSubscribeException("用户未订阅", templateId, openId); - } - if (count == 0) { - throw new WxSubscribeException("用户可用额度不足", templateId, openId); - } - - //发送消息 - JSONObject jsonObject = new JSONObject(); - JSONObject data = new JSONObject(); - //必填项 - jsonObject.put(WxmpMessageConstant.ACCESS_TOKEN, accessToken); - jsonObject.put(WxmpMessageConstant.TOUSER, openId); - jsonObject.put(WxmpMessageConstant.TEMPLATE_ID, templateId); - data.put(WxmpMessageConstant.TITLE, new JSONObject().put("value", ("您有一条" + msg.getBehaviorType()).substring(0, WxmpMessageConstant.TITLE_LIMIT))); - data.put(WxmpMessageConstant.MESSAGE_CONTENT, new JSONObject().put("value", msg.getMessageContent().substring(0, WxmpMessageConstant.MESSAGE_CONTENT_LIMIT))); - data.put(WxmpMessageConstant.MESSAGE_TIME, new JSONObject().put("value", new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()))); - jsonObject.put(WxmpMessageConstant.DATA, data); - EnvEnum envEnum = EnvEnum.getCurrentEnv(); - //选填项 - if (WxmpMessageConstant.RESI.equals(clientType)) { - jsonObject.put(WxmpMessageConstant.PAGE, WxmpMessageConstant.PAGE_RESI); - } else if (WxmpMessageConstant.WORK.equals(clientType)) { - jsonObject.put(WxmpMessageConstant.PAGE, WxmpMessageConstant.PAGE_WORK); - } - //开发环境 - if ("dev".equals(envEnum.getCode())) { - jsonObject.put(WxmpMessageConstant.MINIPROGRAM_STATE, WxmpMessageConstant.STATE_DEV); - } - //测试环境 - if ("test".equals(envEnum.getCode())) { - jsonObject.put(WxmpMessageConstant.MINIPROGRAM_STATE, WxmpMessageConstant.STATE_TEST); - } - - String resultStr = HttpClientManager.getInstance().sendPostByJSON(WxmpMessageConstant.SEND_MESSAGE + accessToken, JSON.toJSONString(jsonObject)).getData(); - Map resultMap = JSON.parseObject(resultStr, Map.class); - Object errcode = resultMap.get(WxmpMessageConstant.ERR_CODE); - if (errcode.equals(NumConstant.ZERO)) { - //发送成功 - - //订阅条数-1 - int decrease = 0; - if (WxmpMessageConstant.RESI.equals(clientType)) { - decrease = wxmpResiUserSubscribeDao.decreaseResiSubscribeCount(openId, templateId, customerId, 1); - } else if (WxmpMessageConstant.WORK.equals(clientType)) { - decrease = wxmpWorkUserSubscribeDao.decreaseWorkSubscribeCount(openId, templateId, customerId, 1); - } - if (decrease == 0) { - logger.error("消息{}发送成功但订阅条数-1失败", JSON.toJSONString(msg)); - } - //存表 - int saveRes = wxmpMsgSendRecordService.saveRecord(initRecord(msg, templateId, openId, WxmpMessageConstant.SUCCESS)); - if (saveRes == 0) { - logger.error("消息{}发送成功但存入记录表失败", JSON.toJSONString(msg)); - } - } else { - //发送失败 - //用户拒绝,需清空订阅表条数,修改订阅状态 - if (errcode.equals(WxmpMessageConstant.USER_REFUSED)) { - int clear = 0; - if (WxmpMessageConstant.RESI.equals(clientType)) { - clear = wxmpResiUserSubscribeDao.clearResiSubscribeCount(openId, templateId, customerId); - } else if (WxmpMessageConstant.WORK.equals(clientType)) { - clear = wxmpWorkUserSubscribeDao.clearWorkSubscribeCount(openId, templateId, customerId); - } - if (clear == 0) { - logger.error("消息{}发送失败且清空订阅条数失败", JSON.toJSONString(msg)); - } - } - - //抛出错误 - throw new WxSubscribeException(String.valueOf(resultMap.get(WxmpMessageConstant.ERR_MSG)),templateId, openId); - } - - succecssCount++; - } catch (Exception e) { - String errMsg = e.getMessage(); - //ValidateException错误信息为getMsg + private Logger logger = LoggerFactory.getLogger(getClass()); + + @Autowired + private WxmpTemplateMsgSubscribeStatusDao msgSubscribeStatusDao; + + @Autowired + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + + @Autowired + private WxmpMessageRedis wxmpMessageRedis; + + @Resource + private WxmpResiUserSubscribeDao wxmpResiUserSubscribeDao; + + @Resource + private WxmpWorkUserSubscribeDao wxmpWorkUserSubscribeDao; + + @Autowired + private WxmpMsgSendRecordService wxmpMsgSendRecordService; + + @Autowired + private WxmpUserSubscribeRecordDao subscribeRecordDao; + + @Autowired + private WxmpResiUserSubscribeDao resiUserSubscribeDao; + + @Autowired + private EpmetUserOpenFeignClient userOpenFeignClient; + + /** + * @Description 保存系统授权信息 + * @return void + * @author wxz + * @date 2020.10.21 17:29 + */ + @Override + public void saveSysAuthorizeInfo(String customerId, String clientType, String alwaysVisit, String subscribeStatus, String userId, String templateId) { + WxmpTemplateMsgSubscribeStatusEntity userSubscribeStatusEntity = msgSubscribeStatusDao.getUserSubscribeStatusEntity(userId, customerId, clientType, templateId); + if (userSubscribeStatusEntity != null) { + userSubscribeStatusEntity.setAlwaysVisit(alwaysVisit); + userSubscribeStatusEntity.setSubscribeStatus(subscribeStatus); + msgSubscribeStatusDao.updateById(userSubscribeStatusEntity); + return; + } + + userSubscribeStatusEntity = new WxmpTemplateMsgSubscribeStatusEntity(); + userSubscribeStatusEntity.setCustomerId(customerId); + userSubscribeStatusEntity.setClientType(clientType); + userSubscribeStatusEntity.setTemplateId(templateId); + userSubscribeStatusEntity.setAlwaysVisit(alwaysVisit); + userSubscribeStatusEntity.setSubscribeStatus(subscribeStatus); + userSubscribeStatusEntity.setUserId(userId); + msgSubscribeStatusDao.insert(userSubscribeStatusEntity); + } + + /** + * @param msgList + * @return void + * @Description 发送订阅消息 + * @Author liushaowen + * @Date 2020/10/21 15:34 + */ + @Override + public void sendWxSubscribeMessage(List msgList) { + logger.info("待发送订阅消息数量:{}", msgList.size()); + int succecssCount = 0; + for (WxSubscribeMessageFormDTO msg : msgList) { + try { + String userId = msg.getUserId(); + String clientType = msg.getClientType(); + String customerId = msg.getCustomerId(); + String templateId = null; + String openId = null; + //通过userId获取openId + try { + if (WxmpMessageConstant.RESI.equals(clientType)) { + UserBasicInfoFormDTO userBasicInfoFormDTO = new UserBasicInfoFormDTO(); + userBasicInfoFormDTO.setUserId(userId); + openId = epmetUserOpenFeignClient.getUserBasicInfo(userBasicInfoFormDTO).getData().getOpenId(); + } else if (WxmpMessageConstant.WORK.equals(clientType)) { + StaffBasicInfoFormDTO staffBasicInfoFormDTO = new StaffBasicInfoFormDTO(); + staffBasicInfoFormDTO.setStaffId(userId); + openId = epmetUserOpenFeignClient.getStaffBasicInfo(staffBasicInfoFormDTO).getData().getOpenId(); + } else { + throw new WxSubscribeException("clientType有误", "", openId); + } + } catch (Exception e) { + throw new WxSubscribeException("连接User服务失败", "", ""); + } + + if (StringUtils.isBlank(openId)) { + throw new WxSubscribeException("openId获取失败", "", ""); + } + + //获取accessToken + StringBuilder key = new StringBuilder(msg.getCustomerId()).append(":").append(msg.getClientType()); + Map authorizerRefreshToken = new HashMap<>(); + try { + authorizerRefreshToken = wxmpMessageRedis.getAuthorizerRefreshToken(key.toString()); + } catch (Exception e) { + throw new WxSubscribeException("连接缓存服务器失败", "", openId); + } + String accessToken = (String) authorizerRefreshToken.get(WxmpMessageConstant.AUTHORIZER_ACCESS_TOKEN); + if (StringUtils.isBlank(accessToken)) { + throw new WxSubscribeException("accessToken获取失败", "", openId); + } + + //获取模板id + if (WxmpMessageConstant.RESI.equals(clientType)) { + templateId = wxmpResiUserSubscribeDao.getResiSubscribeTemplateId(openId, templateId, customerId); + } else if (WxmpMessageConstant.WORK.equals(clientType)) { + templateId = wxmpWorkUserSubscribeDao.getWorkSubscribeTemplateId(openId, templateId, customerId); + } + if (StringUtils.isBlank(templateId)) { + throw new WxSubscribeException("获取模板id失败", "", openId); + } + + //判断用户是否有次数 + Integer count = null; + if (WxmpMessageConstant.RESI.equals(clientType)) { + count = wxmpResiUserSubscribeDao.getResiSubscribeInfo(openId, templateId, customerId); + } else if (WxmpMessageConstant.WORK.equals(clientType)) { + count = wxmpWorkUserSubscribeDao.getWorkSubscribeInfo(openId, templateId, customerId); + } + if (count == null) { + //用户未订阅 + throw new WxSubscribeException("用户未订阅", templateId, openId); + } + if (count == 0) { + throw new WxSubscribeException("用户可用额度不足", templateId, openId); + } + + //发送消息 + JSONObject jsonObject = new JSONObject(); + JSONObject data = new JSONObject(); + //必填项 + jsonObject.put(WxmpMessageConstant.ACCESS_TOKEN, accessToken); + jsonObject.put(WxmpMessageConstant.TOUSER, openId); + jsonObject.put(WxmpMessageConstant.TEMPLATE_ID, templateId); + data.put(WxmpMessageConstant.TITLE, new JSONObject().put("value", ("您有一条" + msg.getBehaviorType()).substring(0, WxmpMessageConstant.TITLE_LIMIT))); + data.put(WxmpMessageConstant.MESSAGE_CONTENT, new JSONObject().put("value", msg.getMessageContent().substring(0, WxmpMessageConstant.MESSAGE_CONTENT_LIMIT))); + data.put(WxmpMessageConstant.MESSAGE_TIME, new JSONObject().put("value", new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()))); + jsonObject.put(WxmpMessageConstant.DATA, data); + EnvEnum envEnum = EnvEnum.getCurrentEnv(); + //选填项 + if (WxmpMessageConstant.RESI.equals(clientType)) { + jsonObject.put(WxmpMessageConstant.PAGE, WxmpMessageConstant.PAGE_RESI); + } else if (WxmpMessageConstant.WORK.equals(clientType)) { + jsonObject.put(WxmpMessageConstant.PAGE, WxmpMessageConstant.PAGE_WORK); + } + //开发环境 + if ("dev".equals(envEnum.getCode())) { + jsonObject.put(WxmpMessageConstant.MINIPROGRAM_STATE, WxmpMessageConstant.STATE_DEV); + } + //测试环境 + if ("test".equals(envEnum.getCode())) { + jsonObject.put(WxmpMessageConstant.MINIPROGRAM_STATE, WxmpMessageConstant.STATE_TEST); + } + + String resultStr = HttpClientManager.getInstance().sendPostByJSON(WxmpMessageConstant.SEND_MESSAGE + accessToken, JSON.toJSONString(jsonObject)).getData(); + Map resultMap = JSON.parseObject(resultStr, Map.class); + Object errcode = resultMap.get(WxmpMessageConstant.ERR_CODE); + if (errcode.equals(NumConstant.ZERO)) { + //发送成功 + + //订阅条数-1 + int decrease = 0; + if (WxmpMessageConstant.RESI.equals(clientType)) { + decrease = wxmpResiUserSubscribeDao.decreaseResiSubscribeCount(openId, templateId, customerId, 1); + } else if (WxmpMessageConstant.WORK.equals(clientType)) { + decrease = wxmpWorkUserSubscribeDao.decreaseWorkSubscribeCount(openId, templateId, customerId, 1); + } + if (decrease == 0) { + logger.error("消息{}发送成功但订阅条数-1失败", JSON.toJSONString(msg)); + } + //存表 + int saveRes = wxmpMsgSendRecordService.saveRecord(initRecord(msg, templateId, openId, WxmpMessageConstant.SUCCESS)); + if (saveRes == 0) { + logger.error("消息{}发送成功但存入记录表失败", JSON.toJSONString(msg)); + } + } else { + //发送失败 + //用户拒绝,需清空订阅表条数,修改订阅状态 + if (errcode.equals(WxmpMessageConstant.USER_REFUSED)) { + int clear = 0; + if (WxmpMessageConstant.RESI.equals(clientType)) { + clear = wxmpResiUserSubscribeDao.clearResiSubscribeCount(openId, templateId, customerId); + } else if (WxmpMessageConstant.WORK.equals(clientType)) { + clear = wxmpWorkUserSubscribeDao.clearWorkSubscribeCount(openId, templateId, customerId); + } + if (clear == 0) { + logger.error("消息{}发送失败且清空订阅条数失败", JSON.toJSONString(msg)); + } + } + + //抛出错误 + throw new WxSubscribeException(String.valueOf(resultMap.get(WxmpMessageConstant.ERR_MSG)),templateId, openId); + } + + succecssCount++; + } catch (Exception e) { + String errMsg = e.getMessage(); + //ValidateException错误信息为getMsg // if (StringUtils.isBlank(errMsg) && e instanceof ValidateException) { // errMsg = ((ValidateException) e).getMsg(); // } - if (e instanceof WxSubscribeException) { - //存表 - WxmpMsgSendRecordEntity wxmpMsgSendRecordEntity = initRecord(msg, ((WxSubscribeException) e).getTemplateId(), ((WxSubscribeException) e).getOpenId(), WxmpMessageConstant.ERROR); - wxmpMsgSendRecordEntity.setReason(errMsg); - int saveRes = wxmpMsgSendRecordService.saveRecord(wxmpMsgSendRecordEntity); - if (saveRes == 0) { - logger.error("消息{}发送失败且存入记录表失败", JSON.toJSONString(msg)); - } - } - - logger.error("消息:{}发送失败,原因是:{}", JSON.toJSONString(msg), errMsg); - continue; - } - } - logger.info("{}条消息中的{}条发送成功", msgList.size(), succecssCount); - } - - //初始化记录对象 - private WxmpMsgSendRecordEntity initRecord(WxSubscribeMessageFormDTO msg, String templateId, String openId, String status) { - WxmpMsgSendRecordEntity wxmpMsgSendRecordEntity = new WxmpMsgSendRecordEntity(); - wxmpMsgSendRecordEntity.setCustomerId(msg.getCustomerId()); - wxmpMsgSendRecordEntity.setClientType(msg.getClientType()); - wxmpMsgSendRecordEntity.setTemplateId(templateId); - wxmpMsgSendRecordEntity.setUserId(msg.getUserId()); - wxmpMsgSendRecordEntity.setWxOpenId(openId); - wxmpMsgSendRecordEntity.setBehaviorType(msg.getBehaviorType()); - wxmpMsgSendRecordEntity.setTitle("您有一条" + msg.getBehaviorType()); - wxmpMsgSendRecordEntity.setMessageContent(msg.getMessageContent()); - wxmpMsgSendRecordEntity.setMessageTime(new Date()); - wxmpMsgSendRecordEntity.setResult(status); - return wxmpMsgSendRecordEntity; - } + if (e instanceof WxSubscribeException) { + //存表 + WxmpMsgSendRecordEntity wxmpMsgSendRecordEntity = initRecord(msg, ((WxSubscribeException) e).getTemplateId(), ((WxSubscribeException) e).getOpenId(), WxmpMessageConstant.ERROR); + wxmpMsgSendRecordEntity.setReason(errMsg); + int saveRes = wxmpMsgSendRecordService.saveRecord(wxmpMsgSendRecordEntity); + if (saveRes == 0) { + logger.error("消息{}发送失败且存入记录表失败", JSON.toJSONString(msg)); + } + } + + logger.error("消息:{}发送失败,原因是:{}", JSON.toJSONString(msg), errMsg); + continue; + } + } + logger.info("{}条消息中的{}条发送成功", msgList.size(), succecssCount); + } + + //初始化记录对象 + private WxmpMsgSendRecordEntity initRecord(WxSubscribeMessageFormDTO msg, String templateId, String openId, String status) { + WxmpMsgSendRecordEntity wxmpMsgSendRecordEntity = new WxmpMsgSendRecordEntity(); + wxmpMsgSendRecordEntity.setCustomerId(msg.getCustomerId()); + wxmpMsgSendRecordEntity.setClientType(msg.getClientType()); + wxmpMsgSendRecordEntity.setTemplateId(templateId); + wxmpMsgSendRecordEntity.setUserId(msg.getUserId()); + wxmpMsgSendRecordEntity.setWxOpenId(openId); + wxmpMsgSendRecordEntity.setBehaviorType(msg.getBehaviorType()); + wxmpMsgSendRecordEntity.setTitle("您有一条" + msg.getBehaviorType()); + wxmpMsgSendRecordEntity.setMessageContent(msg.getMessageContent()); + wxmpMsgSendRecordEntity.setMessageTime(new Date()); + wxmpMsgSendRecordEntity.setResult(status); + return wxmpMsgSendRecordEntity; + } /** * @return @@ -319,4 +332,150 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { return resultList; } -} + @Override + public WxMsgAuthInfoResultDTO getAuthorizationInfo(String customerId, String clientType, String loginUserId, String templateId) { + return msgSubscribeStatusDao.getUserSubscribeStatusDTO(loginUserId, customerId, clientType, templateId); + } + + @Override + public void saveWxSubscribe(String customerId, String clientType, String templateId, String wxAlwaysVisit, + String wxSubscribeStatus, String behaviorType, String userId) { + + String openId; + // 1. 用户订阅信息表新增或者更新 + if (AppClientConstant.APP_GOV.equals(clientType)) { + // 工作端 + openId = getWorkOpenId(userId); + saveWxWorkSubscribe(customerId, templateId, wxSubscribeStatus, userId, openId); + } else { + //居民端 + openId = getResiOpenId(userId); + saveWxResiSubscribe(customerId, templateId, wxSubscribeStatus, userId, openId); + } + + // 2.保存行为记录 + WxmpUserSubscribeRecordEntity record = new WxmpUserSubscribeRecordEntity(); + record.setBehaviorType(behaviorType); + record.setCustomerId(customerId); + record.setTemplateId(templateId); + record.setUserId(userId); + record.setWxAlwaysVisit(wxAlwaysVisit); + record.setWxOpenId(openId); + record.setWxSubscribeStatus(wxSubscribeStatus); + subscribeRecordDao.insert(record); + + // 3.更新用户模板订阅状态 + WxmpTemplateMsgSubscribeStatusEntity subscribeStatusEntity = msgSubscribeStatusDao.getUserSubscribeStatusEntity(userId, customerId, clientType, templateId); + if (subscribeStatusEntity == null) { + subscribeStatusEntity = new WxmpTemplateMsgSubscribeStatusEntity(); + subscribeStatusEntity.setUserId(userId); + subscribeStatusEntity.setWxSubscribeStatus(wxSubscribeStatus); + subscribeStatusEntity.setTemplateId(templateId); + subscribeStatusEntity.setWxAlwaysVisit(wxAlwaysVisit); + subscribeStatusEntity.setCustomerId(customerId); + subscribeStatusEntity.setClientType(clientType); + msgSubscribeStatusDao.insert(subscribeStatusEntity); + return; + } + + subscribeStatusEntity.setWxAlwaysVisit(wxAlwaysVisit); + subscribeStatusEntity.setWxSubscribeStatus(wxSubscribeStatus); + + msgSubscribeStatusDao.updateById(subscribeStatusEntity); + } + + /** + * @Description 保存居民端微信订阅信息 + * @return void + * @author wxz + * @date 2020.10.22 09:56 + */ + private void saveWxResiSubscribe(String customerId, String templateId, String wxSubscribeStatus, String userId, String openId) { + + WxmpResiUserSubscribeEntity wxResiSubscribe = resiUserSubscribeDao.getWxResiSubscribe(userId, customerId, templateId); + if (wxResiSubscribe == null) { + WxmpResiUserSubscribeEntity insert = new WxmpResiUserSubscribeEntity(); + insert.setCount(WxMsgTemplateSubscribeStatus.SUBSCRIBE.equals(wxSubscribeStatus) ? 1 : 0); + insert.setCustomerId(customerId); + insert.setTemplateId(templateId); + insert.setUserId(userId); + insert.setWxOpenId(openId); + insert.setWxSubscribeStatus(wxSubscribeStatus); + return; + } + + if (WxMsgTemplateSubscribeStatus.SUBSCRIBE.equals(wxSubscribeStatus)) { + resiUserSubscribeDao.incrSubscribeCount(1, userId, customerId, templateId, openId); + } else { + resiUserSubscribeDao.unSubscribe(userId, customerId, templateId, openId); + } + } + + /** + * @Description 保存工作端订阅信息 + * @return void + * @author wxz + * @date 2020.10.22 14:21 + */ + private void saveWxWorkSubscribe(String customerId, String templateId, String wxSubscribeStatus, String userId, String openId) { + WxmpWorkUserSubscribeEntity wxWorkSubscribe = wxmpWorkUserSubscribeDao.getWxWorkSubscribe(userId, customerId, templateId); + if (wxWorkSubscribe == null) { + WxmpWorkUserSubscribeEntity insert = new WxmpWorkUserSubscribeEntity(); + insert.setCount(WxMsgTemplateSubscribeStatus.SUBSCRIBE.equals(wxSubscribeStatus) ? 1 : 0); + insert.setCustomerId(customerId); + insert.setTemplateId(templateId); + insert.setUserId(userId); + insert.setWxOpenId(openId); + insert.setWxSubscribeStatus(wxSubscribeStatus); + wxmpWorkUserSubscribeDao.insert(insert); + return ; + } + + if (WxMsgTemplateSubscribeStatus.SUBSCRIBE.equals(wxSubscribeStatus)) { + wxmpWorkUserSubscribeDao.incrSubscribeCount(1, userId, customerId, templateId, openId); + } else { + wxmpWorkUserSubscribeDao.unSubscribe(userId, customerId, templateId, openId); + } + + } + + /** + * @Description 根据UserId查询居民OpenId + * @return string + * @author wxz + * @date 2020.10.22 13:35 + */ + public String getResiOpenId(String userId) { + UserBasicInfoFormDTO bif = new UserBasicInfoFormDTO(); + bif.setUserId(userId); + Result result = userOpenFeignClient.getUserBasicInfo(bif); + if (!result.success()) { + throw new RenException(String.format("查询居民OpenId失败,userId:%s,错误信息:%s",userId , result.getInternalMsg())); + } + UserBasicInfo userBasicInfo = result.getData(); + if (userBasicInfo == null) { + throw new RenException(String.format("根据userId:%s,没有查询到居民OpenId",userId)); + } + return userBasicInfo.getOpenId(); + } + + /** + * @Description 查询工作人员openId + * @return java.lang.String + * @author wxz + * @date 2020.10.22 14:46 + */ + public String getWorkOpenId(String userId) { + StaffBasicInfoFormDTO form = new StaffBasicInfoFormDTO(); + form.setStaffId(userId); + Result result = userOpenFeignClient.getStaffBasicInfo(form); + if (!result.success()) { + throw new RenException(String.format("查询工作人员OpenId失败,userId:%s,错误信息:%s",userId , result.getInternalMsg())); + } + StaffBasicInfo staffBasicInfo = result.getData(); + if (staffBasicInfo == null) { + throw new RenException(String.format("根据userId:%s,没有查询到工作人员OpenId",userId)); + } + return staffBasicInfo.getOpenId(); + } +} \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml index 2a1df8a057..099108d016 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml @@ -50,4 +50,46 @@ limit 1 + + + update wxmp_resi_user_subscribe + set COUNT=COUNT + #{incr}, + WX_SUBSCRIBE_STATUS = 'subscribe' + where USER_ID = #{userId} + and CUSTOMER_ID = #{customerId} + and TEMPLATE_ID = #{templateId} + and WX_OPEN_ID = #{resiOpenId} + + + + + update wxmp_resi_user_subscribe + set WX_SUBSCRIBE_STATUS = 'unsubscribe', + COUNT = 0 + where USER_ID = #{userId} + and CUSTOMER_ID = #{customerId} + and TEMPLATE_ID = #{templateId} + and WX_OPEN_ID = #{resiOpenId} + + + + diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpTemplateMsgSubscribeStatusDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpTemplateMsgSubscribeStatusDao.xml index d1fde2360a..fd51895084 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpTemplateMsgSubscribeStatusDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpTemplateMsgSubscribeStatusDao.xml @@ -22,6 +22,7 @@ where USER_ID = #{userId} and CUSTOMER_ID = #{customerId} and CLIENT_TYPE = #{clientType} + and TEMPLATE_ID = #{templateId} \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml index efa31174f9..7c9e547118 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml @@ -2,6 +2,15 @@ + + update wxmp_work_user_subscribe + set COUNT=COUNT + #{incr}, + WX_SUBSCRIBE_STATUS = 'subscribe' + where USER_ID = #{userId} + and CUSTOMER_ID = #{customerId} + and TEMPLATE_ID = #{templateId} + and WX_OPEN_ID = #{openId} + + + + update wxmp_work_user_subscribe + set WX_SUBSCRIBE_STATUS = 'unsubscribe', + COUNT = 0 + where USER_ID = #{userId} + and CUSTOMER_ID = #{customerId} + and TEMPLATE_ID = #{templateId} + and WX_OPEN_ID = #{resiOpenId} + + + From 51a15a882223cf002efc7ef9b201988563174ebd Mon Sep 17 00:00:00 2001 From: wxz Date: Fri, 23 Oct 2020 14:37:34 +0800 Subject: [PATCH 017/130] =?UTF-8?q?=E5=86=B2=E7=AA=81=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WxmpMessageServiceImpl.java | 29 ++++++++----------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java index be44604e64..90e455ce8a 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java @@ -19,25 +19,28 @@ package com.epmet.service.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.enums.EnvEnum; import com.epmet.commons.tools.exception.RenException; -import com.epmet.commons.tools.exception.ValidateException; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.HttpClientManager; import com.epmet.commons.tools.utils.Result; -import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.constant.WxMsgTemplateSubscribeStatus; import com.epmet.constant.WxmpMessageConstant; import com.epmet.dao.WxmpResiUserSubscribeDao; import com.epmet.dao.WxmpTemplateMsgSubscribeStatusDao; +import com.epmet.dao.WxmpUserSubscribeRecordDao; import com.epmet.dao.WxmpWorkUserSubscribeDao; import com.epmet.dto.form.GetTemplateListFormDTO; import com.epmet.dto.form.StaffBasicInfoFormDTO; import com.epmet.dto.form.UserBasicInfoFormDTO; import com.epmet.dto.form.WxSubscribeMessageFormDTO; import com.epmet.dto.result.GetTemplateListResultDTO; -import com.epmet.entity.WxmpMsgSendRecordEntity; -import com.epmet.entity.WxmpTemplateMsgSubscribeStatusEntity; +import com.epmet.dto.result.StaffBasicInfo; +import com.epmet.dto.result.UserBasicInfo; +import com.epmet.dto.result.WxMsgAuthInfoResultDTO; +import com.epmet.entity.*; import com.epmet.exception.WxSubscribeException; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.redis.WxmpMessageRedis; @@ -50,9 +53,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -88,12 +89,6 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { @Autowired private WxmpUserSubscribeRecordDao subscribeRecordDao; - @Autowired - private WxmpResiUserSubscribeDao resiUserSubscribeDao; - - @Autowired - private EpmetUserOpenFeignClient userOpenFeignClient; - /** * @Description 保存系统授权信息 * @return void @@ -389,7 +384,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { */ private void saveWxResiSubscribe(String customerId, String templateId, String wxSubscribeStatus, String userId, String openId) { - WxmpResiUserSubscribeEntity wxResiSubscribe = resiUserSubscribeDao.getWxResiSubscribe(userId, customerId, templateId); + WxmpResiUserSubscribeEntity wxResiSubscribe = wxmpResiUserSubscribeDao.getWxResiSubscribe(userId, customerId, templateId); if (wxResiSubscribe == null) { WxmpResiUserSubscribeEntity insert = new WxmpResiUserSubscribeEntity(); insert.setCount(WxMsgTemplateSubscribeStatus.SUBSCRIBE.equals(wxSubscribeStatus) ? 1 : 0); @@ -402,9 +397,9 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { } if (WxMsgTemplateSubscribeStatus.SUBSCRIBE.equals(wxSubscribeStatus)) { - resiUserSubscribeDao.incrSubscribeCount(1, userId, customerId, templateId, openId); + wxmpResiUserSubscribeDao.incrSubscribeCount(1, userId, customerId, templateId, openId); } else { - resiUserSubscribeDao.unSubscribe(userId, customerId, templateId, openId); + wxmpResiUserSubscribeDao.unSubscribe(userId, customerId, templateId, openId); } } @@ -445,7 +440,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { public String getResiOpenId(String userId) { UserBasicInfoFormDTO bif = new UserBasicInfoFormDTO(); bif.setUserId(userId); - Result result = userOpenFeignClient.getUserBasicInfo(bif); + Result result = epmetUserOpenFeignClient.getUserBasicInfo(bif); if (!result.success()) { throw new RenException(String.format("查询居民OpenId失败,userId:%s,错误信息:%s",userId , result.getInternalMsg())); } @@ -465,7 +460,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { public String getWorkOpenId(String userId) { StaffBasicInfoFormDTO form = new StaffBasicInfoFormDTO(); form.setStaffId(userId); - Result result = userOpenFeignClient.getStaffBasicInfo(form); + Result result = epmetUserOpenFeignClient.getStaffBasicInfo(form); if (!result.success()) { throw new RenException(String.format("查询工作人员OpenId失败,userId:%s,错误信息:%s",userId , result.getInternalMsg())); } From 46b71fac7a15039961f324603ffe8e6039b0579a Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Fri, 23 Oct 2020 14:52:14 +0800 Subject: [PATCH 018/130] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=AB=AF=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8=E5=BB=BA=E7=BB=84=E7=94=B3=E8=AF=B7=E6=97=B6=E5=B0=86?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E7=BB=93=E6=9E=9C=E5=8F=91=E8=B5=B7=E6=8E=A8?= =?UTF-8?q?=E9=80=81=EF=BC=8C=E7=BB=99=E7=94=B3=E8=AF=B7=E5=BB=BA=E5=B0=8F?= =?UTF-8?q?=E7=BB=84=E7=9A=84=E7=94=A8=E6=88=B7=E6=8E=A8=E9=80=81=E4=B8=80?= =?UTF-8?q?=E6=9D=A1=E8=AE=A2=E9=98=85=E6=B6=88=E6=81=AF=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/constant/UserMessageConstant.java | 7 ++++- .../service/impl/ResiGroupServiceImpl.java | 29 +++++++++++++++++++ .../impl/ResiGroupMemberServiceImpl.java | 4 +-- 3 files changed, 37 insertions(+), 3 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java index f9b97bfb9f..c55698acc0 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java @@ -62,6 +62,11 @@ public interface UserMessageConstant { /** * 组长审核入组申请时的微信订阅behavior */ - String WX_APPLY_GROUP_BEHAVIOR = "小组消息"; + String WX_APPLY_JOIN_GROUP_BEHAVIOR = "小组消息"; + + /** + * 建组审核的微信订阅behavior + */ + String WX_APPLY_CREATE_GROUP_BEHAVIOR = "建组审核消息"; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index dacfd6dbb8..107d96d642 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -21,6 +21,7 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.EpmetRoleKeyConstant; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; @@ -34,6 +35,7 @@ import com.epmet.constant.ReadFlagConstant; import com.epmet.dto.form.*; import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.dto.result.UserRoleResultDTO; +import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.modules.constant.UserMessageConstant; import com.epmet.modules.feign.EpmetMessageFeignClient; import com.epmet.modules.feign.EpmetUserFeignClient; @@ -122,6 +124,9 @@ public class ResiGroupServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -569,6 +574,17 @@ public class ResiGroupServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); + msgList.add(wxSubscribeMessageFormDTO); + epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); //更新政府端:工作-基层治理-党员认证reddot resiGroupRedis.subtractWorkGrassrootsPartyAuthRedDotValue(resiGroupDTO.getGridId()); return new Result(); @@ -615,6 +631,19 @@ public class ResiGroupServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); + msgList.add(wxSubscribeMessageFormDTO); + epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); + //更新政府端:工作-基层治理-党员认证reddot resiGroupRedis.subtractWorkGrassrootsPartyAuthRedDotValue(resiGroupDTO.getGridId()); return new Result(); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java index bd92d6b14a..7bbec871b4 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java @@ -458,7 +458,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); @@ -534,7 +534,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); msgList.add(wxSubscribeMessageFormDTO); From 5a8237f0074e479937a4ec267bc03baa2cf9cbfe Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 23 Oct 2020 15:22:47 +0800 Subject: [PATCH 019/130] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=B6=85=E6=9C=9F?= =?UTF-8?q?=E6=BB=9E=E7=95=99=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-gateway/pom.xml | 7 +- .../com/epmet/dto/form/CostDayFormDTO.java | 5 +- .../epmet/dto/result/CostDayResultDTO.java | 6 + .../EpmetCommonServiceOpenFeignClient.java | 4 +- .../service/impl/WorkDayServiceImpl.java | 11 +- .../epmet/dto/result/OverdueAndDelayDTO.java | 28 ++++ .../epmet/dto/result/StaffUnHandledDTO.java | 6 +- .../gov-project/gov-project-server/pom.xml | 6 + .../epmet/constant/UserMessageConstant.java | 31 +++++ .../epmet/controller/ProjectController.java | 5 + .../service/impl/ProjectServiceImpl.java | 120 ++++++++++++++++-- .../service/impl/ProjectStaffServiceImpl.java | 2 +- .../main/resources/mapper/ProjectStaffDao.xml | 3 +- 13 files changed, 210 insertions(+), 24 deletions(-) create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/OverdueAndDelayDTO.java diff --git a/epmet-gateway/pom.xml b/epmet-gateway/pom.xml index b8157a9836..8b46ae7845 100644 --- a/epmet-gateway/pom.xml +++ b/epmet-gateway/pom.xml @@ -288,10 +288,11 @@ lb://gov-issue-server - - lb://gov-project-server + http://localhost:8102 + - lb://common-service-server + + http://localhost:8103 lb://resi-home-server diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/CostDayFormDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/CostDayFormDTO.java index 5c1c27395a..487a596d09 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/CostDayFormDTO.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/CostDayFormDTO.java @@ -3,6 +3,7 @@ package com.epmet.dto.form; import lombok.Data; import java.io.Serializable; +import java.util.Date; /** * @author zhaoqifeng @@ -25,10 +26,10 @@ public class CostDayFormDTO implements Serializable { /** * 起始日期 */ - private String startDate; + private Date startDate; /** * 终止日期 */ - private String endDate; + private Date endDate; } diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/CostDayResultDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/CostDayResultDTO.java index 27074d8c8f..7087768d4b 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/CostDayResultDTO.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/CostDayResultDTO.java @@ -3,6 +3,7 @@ package com.epmet.dto.result; import lombok.Data; import java.io.Serializable; +import java.util.Date; /** * @author zhaoqifeng @@ -27,5 +28,10 @@ public class CostDayResultDTO implements Serializable { */ private Integer detentionDays; + /** + * 起始日期 + */ + private Date startDate; + } diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java index 7b718fb2e3..eac60c806a 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java @@ -21,8 +21,8 @@ import java.util.List; * @author yinzuomei@elink-cn.com * @date 2020/6/4 10:28 */ -@FeignClient(name = ServiceConstant.EPMET_COMMON_SERVICE, fallback = EpmetCommonServiceOpenFeignClientFallback.class) -//@FeignClient(name = ServiceConstant.EPMET_COMMON_SERVICE, fallback = EpmetCommonServiceOpenFeignClientFallback.class, url = "http://localhost:8103") +//@FeignClient(name = ServiceConstant.EPMET_COMMON_SERVICE, fallback = EpmetCommonServiceOpenFeignClientFallback.class) +@FeignClient(name = ServiceConstant.EPMET_COMMON_SERVICE, fallback = EpmetCommonServiceOpenFeignClientFallback.class, url = "http://localhost:8103") public interface EpmetCommonServiceOpenFeignClient { /** * @param formDTO diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/WorkDayServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/WorkDayServiceImpl.java index 8a15b3b0f3..9830aeee1a 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/WorkDayServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/WorkDayServiceImpl.java @@ -1,6 +1,7 @@ package com.epmet.service.impl; import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.utils.DateUtils; import com.epmet.dao.CalenderDao; import com.epmet.dto.form.CostDayFormDTO; import com.epmet.dto.form.WorkDayFormDTO; @@ -65,6 +66,7 @@ public class WorkDayServiceImpl implements WorkDayService { result.setId(form.getId()); result.setStaffId(form.getStaffId()); result.setDetentionDays(this.getWorkDays(form.getStartDate(), form.getEndDate())); + result.setStartDate(form.getStartDate()); list.add(result); } return list; @@ -89,6 +91,7 @@ public class WorkDayServiceImpl implements WorkDayService { result.setId(form.getId()); result.setStaffId(form.getStaffId()); result.setDetentionDays(this.getCalendarDays(form.getStartDate(), form.getEndDate())); + result.setStartDate(form.getStartDate()); list.add(result); } return list; @@ -128,7 +131,9 @@ public class WorkDayServiceImpl implements WorkDayService { } - private Integer getWorkDays(String startDateStr, String endDateStr) { + private Integer getWorkDays(Date start, Date end) { + String startDateStr = DateUtils.format(start, DateUtils.DATE_PATTERN_YYYYMMDD); + String endDateStr = DateUtils.format(end, DateUtils.DATE_PATTERN_YYYYMMDD); if (startDateStr.equals(endDateStr)) { logger.info(String.format("%s-%s起止时间一致,返回<1,",startDateStr,endDateStr)); return 0; @@ -158,7 +163,9 @@ public class WorkDayServiceImpl implements WorkDayService { } - private Integer getCalendarDays(String startDateStr, String endDateStr) { + private Integer getCalendarDays(Date start, Date end) { + String startDateStr = DateUtils.format(start, DateUtils.DATE_PATTERN_YYYYMMDD); + String endDateStr = DateUtils.format(end, DateUtils.DATE_PATTERN_YYYYMMDD); if (startDateStr.equals(endDateStr)) { logger.info(String.format("%s-%s起止时间一致,返回<1,",startDateStr,endDateStr)); return 0; diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/OverdueAndDelayDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/OverdueAndDelayDTO.java new file mode 100644 index 0000000000..93434edacc --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/OverdueAndDelayDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/10/22 15:45 + */ +@Data +public class OverdueAndDelayDTO implements Serializable { + private static final long serialVersionUID = -3632539647818460833L; + /** + * 工作人员ID + */ + private String staffId; + /** + * 即将超期 + */ + private List overdueList; + /** + * 滞留 + */ + private List delayList; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/StaffUnHandledDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/StaffUnHandledDTO.java index 1a2c4e0971..7f19ab6754 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/StaffUnHandledDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/StaffUnHandledDTO.java @@ -14,9 +14,13 @@ import java.util.Date; public class StaffUnHandledDTO implements Serializable { private static final long serialVersionUID = 5257146338113364709L; /** - * 项目ID + * project_staff ID */ private String id; + /** + * 项目ID + */ + private String projectId; /** * 项目标题 */ diff --git a/epmet-module/gov-project/gov-project-server/pom.xml b/epmet-module/gov-project/gov-project-server/pom.xml index 1d80b96d6b..25c9ca4e29 100644 --- a/epmet-module/gov-project/gov-project-server/pom.xml +++ b/epmet-module/gov-project/gov-project-server/pom.xml @@ -54,6 +54,12 @@ com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config + + org.apache.commons + commons-collections4 + 4.3 + compile + io.github.openfeign diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/UserMessageConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/UserMessageConstant.java index 756a599ac3..9b0882e2cf 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/UserMessageConstant.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/UserMessageConstant.java @@ -21,4 +21,35 @@ public interface UserMessageConstant { */ String PROJECT_CLOSED_MSG = "您好,您参与的【%s】项目已结案,原因:%s"; + + /** + * 滞留超期消息标题 + */ + String STAY_REMINDER_TITLE_1 = "您有%d个项目即将超期,%d个项目已经滞留"; + + /** + * 滞留超期消息模板 + */ + String STAY_REMINDER_MSG_1 = "即将超期项目:%n%s 滞留项目:%n%s"; + + /** + * 滞留超期消息标题 + */ + String STAY_REMINDER_TITLE_2 = "您有%d个项目即将超期"; + + /** + * 滞留超期消息模板 + */ + String STAY_REMINDER_MSG_2 = "即将超期项目:%n%s"; + + /** + * 滞留超期消息标题 + */ + String STAY_REMINDER_TITLE_3 = "您有%d个项目已经滞留"; + + /** + * 滞留超期消息模板 + */ + String STAY_REMINDER_MSG_3 = "滞留项目:%n%s"; + } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java index 5ccc25b279..0d500784db 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java @@ -151,5 +151,10 @@ public class ProjectController { List result = projectService.getPendProjectList(fromDTO); return new Result>().ok(result); } + @PostMapping("message") + public Result sendMessage(@RequestBody ProjectDTO formDTO) { + projectService.sendMessage(formDTO.getCustomerId()); + return new Result(); + } } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index f6eeccd013..ed8bff2d21 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -20,10 +20,7 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; -import com.epmet.commons.tools.constant.AppClientConstant; -import com.epmet.commons.tools.constant.Constant; -import com.epmet.commons.tools.constant.FieldConstant; -import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.*; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; @@ -48,6 +45,7 @@ import com.epmet.entity.ProjectStaffEntity; import com.epmet.feign.*; import com.epmet.redis.ProjectRedis; import com.epmet.service.*; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -732,7 +730,7 @@ public class ProjectServiceImpl extends BaseServiceImpl NumConstant.ZERO) { + if (CollectionUtils.isNotEmpty(paramList)) { for (CustomerProjectParameterDTO dto : paramList) { if (ParameterKeyConstant.DETENTION_DAYS.equals(dto.getParameterKey())) { detentionDays = Integer.parseInt(dto.getParameterValue()); @@ -748,35 +746,133 @@ public class ProjectServiceImpl extends BaseServiceImpl unHandledList = projectStaffService.getStaffUnHandledList(customerId); - List formDTOS = unHandledList.stream().map(item -> { + List form = unHandledList.stream().map(item -> { CostDayFormDTO dto = new CostDayFormDTO(); dto.setId(item.getId()); dto.setStaffId(item.getStaffId()); if (null != item.getUpdatedTime()) { - dto.setStartDate(DateUtils.format(item.getUpdatedTime(), DateUtils.DATE_PATTERN_YYYYMMDD)); + dto.setStartDate(item.getUpdatedTime()); } else { - dto.setStartDate(DateUtils.format(item.getCreatedTime(), DateUtils.DATE_PATTERN_YYYYMMDD)); + dto.setStartDate(item.getCreatedTime()); } - dto.setEndDate(DateUtils.format(new Date(), DateUtils.DATE_PATTERN_YYYYMMDD)); + dto.setEndDate(new Date()); return dto; }).collect(Collectors.toList()); - List costDayList = new ArrayList<>(); + List costDayList; if (ParameterKeyConstant.WORK.equals(calculation)) { //工作日计算 - Result> result = epmetCommonServiceOpenFeignClient.costWorkDays(formDTOS); + Result> result = epmetCommonServiceOpenFeignClient.costWorkDays(form); if (!result.success()) { throw new RenException(result.getCode(), result.getMsg()); } costDayList = result.getData(); } else { //日历日计算 - Result> result = epmetCommonServiceOpenFeignClient.costCalendarDays(formDTOS); + Result> result = epmetCommonServiceOpenFeignClient.costCalendarDays(form); if (!result.success()) { throw new RenException(result.getCode(), result.getMsg()); } costDayList = result.getData(); } + //即将超期项目 + List overdueList = new ArrayList<>(); + //滞留项目 + List delayList = new ArrayList<>(); + List finalCostDayList = costDayList; + List list = new ArrayList<>(); + int finalDetentionDays = detentionDays; + int finalRemindTime = remindTime; + unHandledList.forEach(unHandle -> finalCostDayList.stream().filter(cost -> + unHandle.getId().equals(cost.getId())).forEach(item -> { + int diff = finalDetentionDays - item.getDetentionDays(); + OverdueAndDelayDTO dto = new OverdueAndDelayDTO(); + if (diff < 0) { + dto.setStaffId(unHandle.getStaffId()); + list.add(dto); + delayList.add(unHandle); + } else if (diff <= finalRemindTime) { + dto.setStaffId(unHandle.getStaffId()); + overdueList.add(unHandle); + list.add(dto); + } + })); + if (CollectionUtils.isNotEmpty(list)) { + setMessage(customerId, overdueList, delayList, list); + } + } + private void setMessage(String customerId, List overdueList, List delayList, List list) { + list = list.stream().distinct().collect(Collectors.toList()); + Map> overdueMap = overdueList.stream().collect(Collectors.groupingBy(StaffUnHandledDTO::getStaffId)); + Map> delayMap = delayList.stream().collect(Collectors.groupingBy(StaffUnHandledDTO::getStaffId)); + + List overdue = overdueMap.entrySet().stream().map(item -> { + OverdueAndDelayDTO dto = new OverdueAndDelayDTO(); + dto.setStaffId(item.getKey()); + dto.setOverdueList(item.getValue()); + return dto; + }).collect(Collectors.toList()); + List delay = delayMap.entrySet().stream().map(item -> { + OverdueAndDelayDTO dto = new OverdueAndDelayDTO(); + dto.setStaffId(item.getKey()); + dto.setDelayList(item.getValue()); + return dto; + }).collect(Collectors.toList()); + + list.forEach(dto -> overdue.forEach(item -> { + if (dto.getStaffId().equals(item.getStaffId())) { + dto.setOverdueList(item.getOverdueList()); + } + })); + + list.forEach(dto -> delay.forEach(item -> { + if (dto.getStaffId().equals(item.getStaffId())) { + dto.setDelayList(item.getDelayList()); + } + })); + //通知 + List msgList = new ArrayList<>(); + list.forEach(dto -> { + String title; + String msg; + if (CollectionUtils.isNotEmpty(dto.getOverdueList()) && CollectionUtils.isNotEmpty(dto.getDelayList())) { + title = String.format(UserMessageConstant.STAY_REMINDER_TITLE_1, dto.getOverdueList().size(), dto.getDelayList().size()); + StringBuilder overdueMsg = new StringBuilder(); + StringBuilder delayMsg = new StringBuilder(); + for (int i = 0; i < dto.getOverdueList().size(); i++) { + overdueMsg.append(i + 1).append(StrConstant.COMMA_ZH).append(dto.getOverdueList().get(i).getTitle()).append("\n"); + } + for (int i = 0; i < dto.getDelayList().size(); i++) { + delayMsg.append(i + 1).append(StrConstant.COMMA_ZH).append(dto.getDelayList().get(i).getTitle()).append("\n"); + } + msg = String.format(UserMessageConstant.STAY_REMINDER_MSG_1, overdueMsg.toString(), delayMsg.toString()); + } else if (CollectionUtils.isNotEmpty(dto.getOverdueList()) && CollectionUtils.isEmpty(dto.getDelayList())) { + title = String.format(UserMessageConstant.STAY_REMINDER_TITLE_2, dto.getOverdueList().size()); + StringBuilder overdueMsg = new StringBuilder(); + for (int i = 0; i < dto.getOverdueList().size(); i++) { + overdueMsg.append(i + 1).append(StrConstant.COMMA_ZH).append(dto.getOverdueList().get(i).getTitle()).append("\n"); + } + msg = String.format(UserMessageConstant.STAY_REMINDER_MSG_2, overdueMsg.toString()); + } else { + title = String.format(UserMessageConstant.STAY_REMINDER_TITLE_3, dto.getDelayList().size()); + StringBuilder delayMsg = new StringBuilder(); + for (int i = 0; i < dto.getDelayList().size(); i++) { + delayMsg.append(i + 1).append(StrConstant.COMMA_ZH).append(dto.getDelayList().get(i).getTitle()).append("\n"); + } + msg = String.format(UserMessageConstant.STAY_REMINDER_MSG_3, delayMsg.toString()); + } + UserMessageFormDTO messageFormDTO = new UserMessageFormDTO(); + messageFormDTO.setCustomerId(customerId); + messageFormDTO.setApp(ProjectConstant.GOV); + messageFormDTO.setGridId(StrConstant.STAR); + messageFormDTO.setUserId(dto.getStaffId()); + messageFormDTO.setTitle(title); + messageFormDTO.setMessageContent(msg); + messageFormDTO.setReadFlag(Constant.UNREAD); + msgList.add(messageFormDTO); + }); + System.out.println(msgList); + messageFeignClient.saveUserMessageList(msgList); } } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java index 7285388e35..4411a870fa 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java @@ -166,7 +166,7 @@ public class ProjectStaffServiceImpl extends BaseServiceImpl getStaffUnHandledList(String customerId) { - return null; + return baseDao.getStaffUnHandledList(customerId); } } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml index 163ad63238..6435a5df80 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml @@ -67,7 +67,8 @@ SELECT + staff.ID AS projectStaffId, project.CUSTOMER_ID, process.ID AS processId, process.PROJECT_ID, @@ -107,7 +108,7 @@ staff.ORG_ID, staff.DEPARTMENT_ID, staff.GRID_ID, - staff.CREATED_BY AS staffId, + staff.STAFF_ID AS staffId, staff.ORG_ID_PATH, IF(staff.IS_HANDLE='handle',timestampdiff(MINUTE , staff.CREATED_TIME , staff.UPDATED_TIME),0) AS TOTAL_PERIOD, @@ -119,7 +120,9 @@ FROM PROJECT_STAFF staff LEFT JOIN PROJECT project ON staff.PROJECT_ID = project.ID AND project.DEL_FLAG = '0' LEFT JOIN PROJECT_PROCESS process ON staff.PROCESS_ID = process.ID AND process.DEL_FLAG = '0' - LEFT JOIN PROJECT_PROCESS selfAction ON staff.PROJECT_ID = selfAction.PROJECT_ID AND selfAction.DEL_FLAG = '0' AND staff.UPDATED_TIME = selfAction.CREATED_TIME AND staff.STAFF_ID = selfAction.STAFF_ID + LEFT JOIN PROJECT_PROCESS selfAction ON staff.PROJECT_ID = selfAction.PROJECT_ID AND selfAction.DEL_FLAG = '0' + AND ABS(TIMESTAMPDIFF(SECOND,staff.UPDATED_TIME,selfAction.CREATED_TIME)) 30 + AND staff.STAFF_ID = selfAction.STAFF_ID WHERE staff.DEL_FLAG = '0' AND project.CUSTOMER_ID = #{customerId} @@ -137,6 +140,45 @@ ORDER BY process.PROJECT_ID,staff.CREATED_TIME ASC + + + + + + + + + + + + INSERT INTO project_org_relation( + ID, + PROJECT_STAFF_ID, + INFORMED_DATE, + CREATED_TIME, + UPDATED_TIME, + SOURCE_OPERATION, + OPERATION, + TOTAL_PERIOD, + FIRST_DEALT_DATE, + FIRST_REPLY_PERIOD, + CREATED_BY, + UPDATED_BY + ) values + + ( + (SELECT REPLACE(UUID(),'-','') as id), + #{item.projectStaffId}, + #{item.informedDate}, + NOW(), + NOW(), + #{item.sourceOperation}, + #{item.OPERATION}, + #{item.totalPeriod}, + #{item.firstDealtDate}, + #{item.firstReplyPeriod}, + 'COMPENSATION_ROBOT', + 'COMPENSATION_ROBOT' + ) + + + \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/TimestampIntervalFormDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/TimestampIntervalFormDTO.java new file mode 100644 index 0000000000..0a30dd2378 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/TimestampIntervalFormDTO.java @@ -0,0 +1,41 @@ +package com.epmet.dto.form; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + +/** + * @Description 时间区间 + * @ClassName TimestampIntervalFormDTO + * @Auth wangc + * @Date 2020-10-21 15:55 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class TimestampIntervalFormDTO implements Serializable { + + private static final long serialVersionUID = 8404199047657424778L; + + /*** + * 可以是任意的标志Id,用来区分多组传参的返回值 + */ + @NotNull(message = "时间区间标识Id不能为空",groups = WorkMinuteFormDTO.WorkTimeGroup.class) + private String id; + + /** + * 区间左段点 + */ + @NotNull(message = "开始时间不能为空",groups = WorkMinuteFormDTO.WorkTimeGroup.class) + private Date left; + + /*** + * 去边右段点 + */ + private Date right; + +} diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/WorkMinuteFormDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/WorkMinuteFormDTO.java new file mode 100644 index 0000000000..fe4ecd5868 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/WorkMinuteFormDTO.java @@ -0,0 +1,47 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.Valid; +import java.io.Serializable; +import java.util.List; + +/** + * @Description 计算经历的多少分钟(只计算工作日) + * @ClassName WorkMinuteFromDTO + * @Auth wangc + * @Date 2020-10-21 15:48 + */ +@Data +public class WorkMinuteFormDTO implements Serializable { + + private static final long serialVersionUID = -7777345488803895645L; + + public interface WorkTimeGroup extends CustomerClientShowGroup{} + + /** + * 是否使用自定义起止时间 default - 24小时制计 custom - 使用自定义、但是一定要传递起止时间(目前只支持在同一天) + */ + private String ifCustom; + + /** + * 是否精准计算 默认不精准计算 Imprecise - 不精准 precise - 精准 + */ + private String ifPrecise; + + /*** + * 每天的计算起始时间 + * HH:mm:ss + */ + private String startTemplate; + + /*** + * 每天的计算截止时间 + * HH:mm:ss + */ + private String endTemplate; + + @Valid + private List timeList; +} diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java index 7b718fb2e3..23a5e04e56 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java @@ -6,6 +6,7 @@ import com.epmet.dto.form.CostDayFormDTO; import com.epmet.dto.form.ExternalAppAuthFormDTO; import com.epmet.dto.form.WorkDayFormDTO; import com.epmet.dto.result.CostDayResultDTO; +import com.epmet.dto.form.WorkMinuteFormDTO; import com.epmet.dto.result.ExternalAppAuthResultDTO; import com.epmet.dto.result.WorkDayResultDTO; import com.epmet.feign.fallback.EpmetCommonServiceOpenFeignClientFallback; @@ -14,6 +15,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import java.util.List; +import java.util.Map; /** * 本服务对外开放的API,其他服务通过引用此client调用该服务 @@ -21,8 +23,8 @@ import java.util.List; * @author yinzuomei@elink-cn.com * @date 2020/6/4 10:28 */ -@FeignClient(name = ServiceConstant.EPMET_COMMON_SERVICE, fallback = EpmetCommonServiceOpenFeignClientFallback.class) -//@FeignClient(name = ServiceConstant.EPMET_COMMON_SERVICE, fallback = EpmetCommonServiceOpenFeignClientFallback.class, url = "http://localhost:8103") +//@FeignClient(name = ServiceConstant.EPMET_COMMON_SERVICE, fallback = EpmetCommonServiceOpenFeignClientFallback.class) +@FeignClient(name = ServiceConstant.EPMET_COMMON_SERVICE, fallback = EpmetCommonServiceOpenFeignClientFallback.class, url = "http://localhost:8103") public interface EpmetCommonServiceOpenFeignClient { /** * @param formDTO @@ -75,4 +77,14 @@ public interface EpmetCommonServiceOpenFeignClient { */ @PostMapping("commonservice/workday/calendardays") Result> costCalendarDays(@RequestBody List formDTO); + + /** + * @Description 计算经历的多少分钟(只计算工作日) + * @param param + * @return com.epmet.commons.tools.utils.Result> + * @author wangc + * @date 2020.10.21 16:34 + */ + @PostMapping("commonservice/workday/workminutes") + Result> workMinutes(@RequestBody WorkMinuteFormDTO param); } diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java index 8fb21a626d..1da180368d 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java @@ -6,6 +6,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.CostDayFormDTO; import com.epmet.dto.form.ExternalAppAuthFormDTO; import com.epmet.dto.form.WorkDayFormDTO; +import com.epmet.dto.form.WorkMinuteFormDTO; import com.epmet.dto.result.CostDayResultDTO; import com.epmet.dto.result.ExternalAppAuthResultDTO; import com.epmet.dto.result.WorkDayResultDTO; @@ -13,6 +14,7 @@ import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import org.springframework.stereotype.Component; import java.util.List; +import java.util.Map; /** * 本服务对外开放的API,其他服务通过引用此client调用该服务 @@ -67,4 +69,9 @@ public class EpmetCommonServiceOpenFeignClientFallback implements EpmetCommonSer public Result> costCalendarDays(List formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "costCalendarDays", formDTO); } + + @Override + public Result> workMinutes(WorkMinuteFormDTO param) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "workMinutes", param); + } } diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/constant/ProjectConstant.java index 8aa3dc2fc1..bf40e30351 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/constant/ProjectConstant.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -8,4 +8,33 @@ public interface ProjectConstant { * 时间已存在 */ + /** + * 日期类型 工作日 + */ + String DAY_TYPE_WORK = "1"; + + /** + * 日期类型 周末 + */ + String DAY_TYPE_WEEKEND = "2"; + + /** + * 日期类型 假日 + */ + String DAY_TYPE_HOLIDAY = "3"; + + /*** + * 计算方式 使用自定应 + */ + String CALCULATION_TYPE_CUSTOM = "custom"; + + /** + * 计算方式 使用默认24小时制 + */ + String CALCULATION_TYPE_DEFAULT = "default"; + + /** + * 精准计算 + */ + String PRECISE_CALCULATION = "precise"; } diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/WorkDayController.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/WorkDayController.java index 06c41ca828..abfd449ef3 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/WorkDayController.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/WorkDayController.java @@ -4,6 +4,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.CostDayFormDTO; import com.epmet.dto.form.WorkDayFormDTO; import com.epmet.dto.result.CostDayResultDTO; +import com.epmet.dto.form.WorkMinuteFormDTO; import com.epmet.dto.result.WorkDayResultDTO; import com.epmet.service.WorkDayService; import org.springframework.beans.factory.annotation.Autowired; @@ -13,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; +import java.util.Map; /** * @Description 工作日计算 @@ -66,5 +68,17 @@ public class WorkDayController { return new Result>().ok(list); } + + /** + * @Description 计算经历的多少分钟(只计算工作日) + * @param param + * @return com.epmet.commons.tools.utils.Result> + * @author wangc + * @date 2020.10.21 16:34 + */ + @PostMapping("workminutes") + public Result> workMinutes(@RequestBody WorkMinuteFormDTO param){ + return new Result>().ok(workDayService.workMinutes(param)); + } } diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/WorkDayService.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/WorkDayService.java index 8dfdb24c4f..8d4e4673cc 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/WorkDayService.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/WorkDayService.java @@ -3,9 +3,12 @@ package com.epmet.service; import com.epmet.dto.form.CostDayFormDTO; import com.epmet.dto.form.WorkDayFormDTO; import com.epmet.dto.result.CostDayResultDTO; +import com.epmet.dto.form.WorkMinuteFormDTO; import com.epmet.dto.result.WorkDayResultDTO; + import java.util.List; +import java.util.Map; import java.util.Set; /** @@ -33,4 +36,13 @@ public interface WorkDayService { * @return java.util.List */ List costCalendarDays(List formDTO); + + /** + * @Description 计算经历的多少分钟(只计算工作日) + * @param param + * @return java.util.Map + * @author wangc + * @date 2020.10.21 16:14 + */ + Map workMinutes(WorkMinuteFormDTO param); } diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/WorkDayServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/WorkDayServiceImpl.java index 9830aeee1a..80241a5a2e 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/WorkDayServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/WorkDayServiceImpl.java @@ -1,20 +1,30 @@ package com.epmet.service.impl; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.DateUtils; +import com.epmet.commons.tools.utils.DateUtils; +import com.epmet.constant.ProjectConstant; import com.epmet.dao.CalenderDao; import com.epmet.dto.form.CostDayFormDTO; +import com.epmet.dto.form.TimestampIntervalFormDTO; import com.epmet.dto.form.WorkDayFormDTO; import com.epmet.dto.result.CostDayResultDTO; +import com.epmet.dto.form.WorkMinuteFormDTO; import com.epmet.dto.result.WorkDayResultDTO; import com.epmet.entity.CalenderEntity; import com.epmet.service.WorkDayService; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.temporal.ChronoUnit; import java.util.*; /** @@ -28,6 +38,8 @@ public class WorkDayServiceImpl implements WorkDayService { @Autowired private CalenderDao calenderDao; + private static SimpleDateFormat format = new SimpleDateFormat(DateUtils.DATE_PATTERN); + private static SimpleDateFormat formatMinute = new SimpleDateFormat(DateUtils.DATE_TIME_PATTERN); @Override public List detentionDays(List workDayFormDTO) { List list = new ArrayList<>(); @@ -97,6 +109,45 @@ public class WorkDayServiceImpl implements WorkDayService { return list; } + /** + * @Description 计算经历的多少分钟(只计算工作日) + * @param param + * @return java.util.Map + * @author wangc + * @date 2020.10.21 16:14 + */ + @Override + public Map workMinutes(WorkMinuteFormDTO param) { + List params = param.getTimeList(); + if(CollectionUtils.isEmpty(params)) return null; + Map result = new LinkedHashMap<>(); + //默认非精准计算 + if(StringUtils.isBlank(param.getIfPrecise()) || !StringUtils.equals(ProjectConstant.PRECISE_CALCULATION,param.getIfPrecise())){ + params.forEach(local -> { + result.put(local.getId(),calculateImpreciseDetentionMinutes(local.getLeft(),local.getRight())); + }); + return result; + } + //精准计算 + if(StringUtils.isBlank(param.getIfCustom()) || !StringUtils.equals(ProjectConstant.CALCULATION_TYPE_CUSTOM,param.getIfCustom())){ + //默认 + params.forEach(local -> { + result.put(local.getId(),calculateDetentionMinutes(local.getLeft(),local.getRight())); + }); + + }else{ + //自定义 + params.forEach(local -> { + try { + result.put(local.getId(), calculateDetentionMinutesWithStartEnd(local.getLeft(), local.getRight(), param.getStartTemplate(), param.getEndTemplate())); + }catch (Exception e){ + throw new RenException(e.getMessage()); + } + }); + } + return result; + } + //公式: 当前日期 - 被吹日期 - 期间的节假日 private String caculateDetentionDays(String startDateStr, String endDateStr) { if (startDateStr.equals(endDateStr)) { @@ -130,6 +181,197 @@ public class WorkDayServiceImpl implements WorkDayService { return "-1"; } + /*** + * @Description 计算两个日期之间的非准确时间差(只包括工作日),单位:分钟 不足一天按照一天计算 + * @param left + * @param right + * @return java.lang.Integer + * @author wangc + * @date 2020.10.21 17:09 + */ + private Integer calculateImpreciseDetentionMinutes(Date left, Date right){ + if(null == left){ logger.error("计算工作日,传入的开始日期为空!");return null;} + //给右区间赋值,默认当前时间 + if(null == right || right.compareTo(left) < NumConstant.ZERO) right = new Date(); + + List list = calenderDao.selectByStartAndEnd(format.format(left),format.format(right)); + if(!CollectionUtils.isEmpty(list)){ + //集合中只有一个元素,说明两个时间在同一天 + if(list.size() == NumConstant.ONE){ + return NumConstant.EIGHT * NumConstant.SIXTY; + } + //集合中有两个元素,说明两个时间是相连的 + //集合中有两个元素以上,说明两个时间存在跨度 + else{ + int costMin = NumConstant.ZERO; + if(NumConstant.TWO == list.size()) return costMin; + for(int index = NumConstant.ZERO ; index < list.size() ; index++) + if(StringUtils.equals(ProjectConstant.DAY_TYPE_WORK,list.get(index).getType())) + costMin += NumConstant.TWENTY_FOUR * NumConstant.SIXTY; + + return costMin; + } + + } + logger.warn("计算工作日,没有找到开始日期和结束日期,可能数据库中没有存储对应时段的数据,开始时间:{},结束时间:{}",left,right); + return null; + } + + /** + * @Description 计算两个日期之间的时间差(只包括工作日),单位:分钟 + * @param left + * @param right + * @return java.lang.Integer + * @author wangc + * @date 2020.10.21 14:00 + */ + private Integer calculateDetentionMinutes(Date left ,Date right){ + if(null == left){ logger.error("计算工作日,传入的开始日期为空!");return null;} + //给右区间赋值,默认当前时间 + if(null == right || right.compareTo(left) < NumConstant.ZERO) right = new Date(); + + List list = calenderDao.selectByStartAndEnd(format.format(left),format.format(right)); + if(!CollectionUtils.isEmpty(list)){ + //集合中只有一个元素,说明两个时间在同一天 + if(list.size() == NumConstant.ONE){ + if(ProjectConstant.DAY_TYPE_WORK.equals(list.get(NumConstant.ZERO).getType())) + return (int)((right.getTime() - left.getTime())/NumConstant.ONE_THOUSAND/NumConstant.SIXTY); + else { + logger.warn("计算工作日,传入的起始时间都在同一天且是在节假日,开始时间:{},结束时间:{},节日类型:{}(1工作日、2周末、3、节假日)",left,right); + return NumConstant.ZERO; + } + } + //集合中有两个元素,说明两个时间是相连的 + //集合中有两个元素以上,说明两个时间存在跨度 + else{ + String leftType = list.get(NumConstant.ZERO).getType(); + String rightType = list.get(list.size() - NumConstant.ONE).getType(); + int costMin = NumConstant.ZERO; + if(ProjectConstant.DAY_TYPE_WORK.equals(leftType)){ + LocalDateTime localDateTime = LocalDateTime.ofInstant(left.toInstant(), ZoneId.systemDefault()); + //获取第第二天零点时刻的实例 + LocalDateTime tomorrowTime = LocalDateTime.ofInstant(left.toInstant(), ZoneId.systemDefault()) + .plusDays(NumConstant.ONE).withHour(NumConstant.ZERO).withMinute(NumConstant.ZERO).withSecond(NumConstant.ZERO).withNano(NumConstant.ZERO); + //ChronoUnit日期枚举类,between方法计算两个时间对象之间的时间量 + costMin += ChronoUnit.SECONDS.between(localDateTime, tomorrowTime)/NumConstant.SIXTY; + } + if(ProjectConstant.DAY_TYPE_WORK.equals(rightType)){ + LocalDateTime localDateTime = LocalDateTime.ofInstant(right.toInstant(), ZoneId.systemDefault()); + //获取第第二天零点时刻的实例 + LocalDateTime initialTime = LocalDateTime.ofInstant(right.toInstant(), ZoneId.systemDefault()) + .withHour(NumConstant.ZERO).withMinute(NumConstant.ZERO).withSecond(NumConstant.ZERO).withNano(NumConstant.ZERO); + //ChronoUnit日期枚举类,between方法计算两个时间对象之间的时间量 + costMin += ChronoUnit.SECONDS.between(localDateTime, initialTime)/NumConstant.SIXTY; + } + if(NumConstant.TWO == list.size()) return costMin; + for(int index = NumConstant.ONE ; index < list.size() - NumConstant.ONE ; index++) + if(StringUtils.equals(ProjectConstant.DAY_TYPE_WORK,list.get(index).getType())) + costMin += NumConstant.TWENTY_FOUR * NumConstant.SIXTY; + + return costMin; + } + + } + logger.warn("计算工作日,没有找到开始日期和结束日期,可能数据库中没有存储对应时段的数据,开始时间:{},结束时间:{}",left,right); + return null; + } + + /*** + * @Description 根据可配置的工作起始时间计算两个日期之间的差 + * @param left + * @param right + * @param start 格式为 HH:mm:ss + * @param end 格式为 HH:mm:ss + * @return java.lang.Integer + * @author wangc + * @date 2020.10.20 18:05 + */ + private Integer calculateDetentionMinutesWithStartEnd(Date left ,Date right, String start, String end)throws Exception{ + if(null == left){ logger.error("计算工作日,传入的开始日期为空!");return null;} + if(null == start || null == end){start = "9:00:00"; end = "17:00:00";} + //给右区间赋值,默认当前时间 + if(null == right || right.compareTo(left) < NumConstant.ZERO) right = new Date(); + //自定义起始时间 + String standardStartDateStr = format.format(left).concat(" ").concat(start); + //自定义截至时间 + String standardEndDateStr = format.format(right).concat(" ").concat(end); + Date standardStartDate = formatMinute.parse(standardStartDateStr); + Date standardEndDate = formatMinute.parse(standardEndDateStr); + if(standardEndDate.compareTo(standardStartDate) < NumConstant.ZERO){ logger.error("计算工作日,自定义截止日期小于自定义起始日期!");return null;} + //单位时间内规定起止时间的时间差 + Integer delta_T = (int)(standardEndDate.getTime() - formatMinute.parse(format.format(right).concat(" ").concat(start)).getTime())/NumConstant.ONE_THOUSAND/NumConstant.SIXTY; + List list = calenderDao.selectByStartAndEnd(format.format(left),format.format(right)); + if(!CollectionUtils.isEmpty(list)){ + //集合中只有一个元素,说明两个时间在同一天 + if(list.size() == NumConstant.ONE){ + if(ProjectConstant.DAY_TYPE_WORK.equals(list.get(NumConstant.ZERO).getType())){ + //开始时间早于当天规定开始时间 + if(left.before(standardStartDate)){ + if(right.before(standardStartDate)){ + //结束时间早于当天规定开始时间 + logger.warn("计算工作日,开始时间与结数时间均早于当天规定的起止计算时间,开始时间:{},结束时间:{},当天开始时间:{}",left,right,standardStartDate); + return NumConstant.ZERO; + }else if(right.before(standardEndDate)){ + return (int)(right.getTime() - standardStartDate.getTime())/NumConstant.ONE_THOUSAND/NumConstant.SIXTY; + }else{ + //结束时间晚于当天规定截止时间 + return delta_T; + } + }else if(left.before(standardEndDate)){ + //开始时间在当天规定起止时间之间 + if(right.before(standardEndDate)){ + return (int)(right.getTime() - left.getTime())/NumConstant.ONE_THOUSAND/NumConstant.SIXTY; + }else{ + return (int)(standardEndDate.getTime() - left.getTime())/NumConstant.ONE_THOUSAND/NumConstant.SIXTY; + } + }else{ + logger.warn("计算工作日,开始时间与结数时间晚于当天规定的截止计算时间,开始时间:{},结束时间:{},当天截止时间:{}",left,right,standardEndDate); + return NumConstant.ZERO; + } + + }else { + logger.warn("计算工作日,传入的起始时间都在同一天且是在节假日,开始时间:{},结束时间:{},节日类型:{}(1工作日、2周末、3、节假日)",left,right); + return NumConstant.ZERO; + } + } + //集合中有两个元素,说明两个时间是相连的 + //集合中有两个元素以上,说明两个时间存在跨度 + else{ + String leftType = list.get(NumConstant.ZERO).getType(); + String rightType = list.get(list.size() - NumConstant.ONE).getType(); + int costMin = NumConstant.ZERO; + if(ProjectConstant.DAY_TYPE_WORK.equals(leftType)){ + if(left.before(standardStartDate)){ + costMin += delta_T; + }else if(left.before(standardEndDate)){ + costMin += (formatMinute.parse(format.format(left).concat(" ").concat(end)).getTime() - left.getTime())/NumConstant.ONE_THOUSAND/NumConstant.SIXTY; + }else{ + + } + } + if(ProjectConstant.DAY_TYPE_WORK.equals(rightType)){ + Date leftStandardStartDate = formatMinute.parse(format.format(right).concat(" ").concat(end)); + if(right.before(leftStandardStartDate)){ + + }else if(right.before(standardEndDate)){ + costMin += (left.getTime() - leftStandardStartDate.getTime())/NumConstant.ONE_THOUSAND/NumConstant.SIXTY; + }else{ + costMin += delta_T; + } + } + if(NumConstant.TWO == list.size()) return costMin; + for(int index = NumConstant.ONE ; index < list.size() - NumConstant.ONE ; index++) + if(StringUtils.equals(ProjectConstant.DAY_TYPE_WORK,list.get(index).getType())) + costMin += delta_T * NumConstant.SIXTY; + + return costMin; + } + + } + logger.warn("计算工作日,没有找到开始日期和结束日期,可能数据库中没有存储对应时段的数据,开始时间:{},结束时间:{}",left,right); + return null; + } + private Integer getWorkDays(Date start, Date end) { String startDateStr = DateUtils.format(start, DateUtils.DATE_PATTERN_YYYYMMDD); diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/CalenderDao.xml b/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/CalenderDao.xml index b1a3ab8e8d..13a7758445 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/CalenderDao.xml +++ b/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/CalenderDao.xml @@ -61,4 +61,5 @@ AND QUERY_DATE BETWEEN #{begin} AND #{end} + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectOrgRelationDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectOrgRelationDTO.java new file mode 100644 index 0000000000..a092793cf2 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectOrgRelationDTO.java @@ -0,0 +1,113 @@ +/** + * 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.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 项目机关历时关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-10-19 + */ +@Data +public class ProjectOrgRelationDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 关联PROJECT_STAFF,由此ID可以关联出PROJECT_ID、CUSTOMER_ID、PROCESS_ID + */ + private String projectStaffId; + + /** + * 流转到的日期 同CREATED_TIME + */ + private Date informedDate; + + /** + * 流转走或结案的日期 + */ + private Date handledDate; + + /** + * 节点耗时,从流转到自己到流转走共耗时,单位:分钟,如果项目还没有结案且该项目在这个组织下一直滞留,这一项为空 + * 8*60的倍数 + */ + private Integer totalPeriod; + + /** + * 第一次响应时间 + */ + private Date firstDealtDate; + + /** + * 首次响应时长,单位:分钟 + * 8*60的倍数 + */ + private Integer firstReplyPeriod; + + /** + * 来源动作,return(回退)、transfer(流转)、closed(结案)、response(响应)、created(立项时第一个流转到的) + */ + private String sourceOperation; + + /** + * 处理动作,return(回退)、transfer(流转)、closed(结案)、response(响应) + */ + private String operation; + + /** + * 删除标识 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * + */ + private Date createdTime; + + /** + * + */ + private String createdBy; + + /** + * + */ + private Date updatedTime; + + /** + * + */ + private String updatedBy; + +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectProcessDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectProcessDTO.java index 4a0e30f907..689b3317d1 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectProcessDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectProcessDTO.java @@ -114,4 +114,24 @@ public class ProjectProcessDTO implements Serializable { */ private Date updatedTime; + /** + * 节点发起人所属机关Id + */ + private String agencyId; + + /** + * 节点发起人所属部门Id 可空 + */ + private String departmentId; + + /** + * 节点发起人所属网格Id 可空 + */ + private String gridId; + + /** + * 节点发起人所属机关全路径 + */ + private String orgIdPath; + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java index dd0f37c086..fb70cb2906 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -128,4 +128,24 @@ public interface ProjectConstant { String SAVE_PROJECT_EXCEPTION = "已存在项目数据,不能重复转项目"; String REVIEW_PROJECT = "项目评论失败,评论内容为:%s"; + + /*** + * 计算方式 使用自定应 + */ + String CALCULATION_TYPE_CUSTOM = "custom"; + + /** + * 计算方式 使用默认24小时制 + */ + String CALCULATION_TYPE_DEFAULT = "default"; + + /** + * 精准计算 + */ + String PRECISE_CALCULATION = "precise"; + + /** + * 非精准计算 + */ + String IMPRECISE_CALCULATION = "imprecise"; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectOrgRelationDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectOrgRelationDao.java new file mode 100644 index 0000000000..146d58cc04 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectOrgRelationDao.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.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.ProjectOrgRelationEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 项目机关历时关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-10-19 + */ +@Mapper +public interface ProjectOrgRelationDao extends BaseDao { + + /*** + * @Description + * @param entity + * @return int + * @author wangc + * @date 2020.10.20 14:18 + */ + int maintainTimePropertyConsistency(ProjectOrgRelationEntity entity); + + + /*** + * @Description 批量插入 + * @param list + * @return void + * @author wangc + * @date 2020.10.20 09:57 + */ + void insertBatch(@Param("list") List list); + + /*** + * @Description 根据projectStaffId查找项目机关关联的数据 + * @param projectStaffId + * @return com.epmet.entity.ProjectOrgRelationEntity + * @author wangc + * @date 2020.10.21 15:37 + */ + ProjectOrgRelationEntity selectByProjectStaffId(@Param("projectStaffId") String projectStaffId); + + /*** + * @Description 查询出所有未处理的节点耗时记录 - 结案时使用 + * @param projectId + * @return java.util.List + * @author wangc + * @date 2020.10.22 13:37 + */ + List selectAllUnhandledProcess(@Param("projectId")String projectId); + +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java index 37613ce615..244ae3e56d 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java @@ -89,4 +89,23 @@ public interface ProjectStaffDao extends BaseDao { * @return java.util.List */ List getStaffUnHandledList(@Param("customerId") String customerId); + + /*** + * @Description 根据项目ID查询项目-人员表的ID + * @param projectId + * @return java.util.List + * @author wangc + * @date 2020.10.19 18:00 + */ + List selectIdByProjectId(@Param("projectId") String projectId); + + /** + * @Description 根据项目Id和工作人员Id查找最新的project_staff表的ID + * @param projectId + * @param staffId + * @return com.epmet.dto.ProjectStaffDTO + * @author wangc + * @date 2020.10.21 15:07 + */ + ProjectStaffDTO selectLatestByProjectIdAndStaffId(@Param("projectId") String projectId,@Param("staffId") String staffId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectOrgRelationEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectOrgRelationEntity.java new file mode 100644 index 0000000000..23e190ab90 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectOrgRelationEntity.java @@ -0,0 +1,83 @@ +/** + * 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.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 项目机关历时关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-10-19 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("project_org_relation") +public class ProjectOrgRelationEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 关联PROJECT_STAFF,由此ID可以关联出PROJECT_ID、CUSTOMER_ID、PROCESS_ID + */ + private String projectStaffId; + + /** + * 流转到的日期 同CREATED_TIME + */ + private Date informedDate; + + /** + * 流转走或结案的日期 + */ + private Date handledDate; + + /** + * 节点耗时,从流转到自己到流转走共耗时,单位:分钟,如果项目还没有结案且该项目在这个组织下一直滞留,这一项为空 + * 8*60的倍数 + */ + private Integer totalPeriod; + + /** + * 第一次响应时间 + */ + private Date firstDealtDate; + + /** + * 首次响应时长,单位:分钟 + * 8*60的倍数 + */ + private Integer firstReplyPeriod; + + /** + * 来源动作,return(回退)、transfer(流转)、closed(结案)、response(响应)、created(立项时第一个流转到的) + */ + private String sourceOperation; + + /** + * 处理动作,return(回退)、transfer(流转)、closed(结案)、response(响应) + */ + private String operation; + +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessEntity.java index e9ae924698..a862140529 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessEntity.java @@ -43,6 +43,11 @@ public class ProjectProcessEntity extends BaseEpmetEntity { */ private String projectId; + /** + * 项目改造新增字段:客户Id + */ + private String customerId; + /** * 部门名 */ @@ -83,4 +88,24 @@ public class ProjectProcessEntity extends BaseEpmetEntity { */ private String costWorkdays; + /** + * 节点发起人所属机关Id + */ + private String agencyId; + + /** + * 节点发起人所属部门Id 可空 + */ + private String departmentId; + + /** + * 节点发起人所属网格Id 可空 + */ + private String gridId; + + /** + * 节点发起人所属机关全路径 + */ + private String orgIdPath; + } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java index c15d36304a..386a92e61f 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java @@ -150,4 +150,23 @@ public interface ProjectStaffService extends BaseService { * @return java.util.List */ List getStaffUnHandledList(String customerId); + + /*** + * @Description 根据项目ID查询项目-人员表的ID + * @param projectId + * @return java.util.List + * @author wangc + * @date 2020.10.19 18:00 + */ + List getIdByProjectId(String projectId); + + /** + * @Description 根据项目Id和工作人员Id查找最新的project_staff表的ID + * @param projectId + * @param staffId + * @return com.epmet.dto.ProjectStaffDTO + * @author wangc + * @date 2020.10.21 15:07 + */ + ProjectStaffDTO getLatestIdByProjectIdAndStaffId(String projectId,String staffId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java index 8c8a2dc776..4b965badfa 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java @@ -17,6 +17,7 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; @@ -35,25 +36,30 @@ import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.constant.ProjectConstant; import com.epmet.constant.ReadFlagConstant; import com.epmet.constant.UserMessageConstant; +import com.epmet.dao.ProjectOrgRelationDao; import com.epmet.dao.ProjectProcessDao; import com.epmet.dao.ProjectStaffDao; import com.epmet.dto.ProjectProcessDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.ProjectEntity; +import com.epmet.entity.ProjectOrgRelationEntity; import com.epmet.entity.ProjectProcessEntity; import com.epmet.entity.ProjectStaffEntity; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.GovOrgFeignClient; import com.epmet.redis.ProjectProcessRedis; import com.epmet.service.ProjectProcessService; import com.epmet.service.ProjectService; import com.epmet.service.ProjectStaffService; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import java.util.*; import java.util.stream.Collectors; @@ -65,6 +71,7 @@ import java.util.stream.Collectors; * @since v1.0.0 2020-05-11 */ @Service +@Slf4j public class ProjectProcessServiceImpl extends BaseServiceImpl implements ProjectProcessService { @Autowired @@ -83,6 +90,10 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl staffList = formDTO.getStaffList(); @@ -276,6 +293,48 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl intervalList = new LinkedList<>();intervalList.add(interval); + timeParam.setTimeList(intervalList); + Result> timeResult = epmetCommonServiceOpenFeignClient.workMinutes(timeParam); + + if(timeResult.success() && !CollectionUtils.isEmpty(timeResult.getData()) && null != timeResult.getData().get(staffEntity.getId())){ + + ProjectOrgRelationEntity relationDto = new ProjectOrgRelationEntity(); + relationDto.setProjectStaffId(orientRelation.getProjectStaffId()); + relationDto.setHandledDate(current); + relationDto.setTotalPeriod(timeResult.getData().get(staffEntity.getId())); + relationDto.setOperation(ProjectConstant.OPERATION_TRANSFER); + if(null == orientRelation.getFirstDealtDate()){ + relationDto.setFirstDealtDate(current); + relationDto.setFirstReplyPeriod(relationDto.getTotalPeriod()); + } + relationDao.maintainTimePropertyConsistency(relationDto); + }else{ + log.error("com.epmet.service.impl.ProjectProcessServiceImpl.transfer,计算节点耗时失败,参数:{}", JSON.toJSONString(timeParam)); + throw new RenException("计算节点耗时失败"); + } + + //3.4 项目机关历时关系 project_org_relation 插入新增的 + List relationList = new LinkedList<>(); + entityList.forEach(staff -> { + ProjectOrgRelationEntity relation = new ProjectOrgRelationEntity(); + relation.setProjectStaffId(staff.getId()); + relation.setInformedDate(current); + relation.setSourceOperation(ProjectConstant.OPERATION_TRANSFER); + relationList.add(relation); + }); + relationDao.insertBatch(relationList); + //4:调用epmet-message服务,给项目流转过程中的工作人员发送消息 if (!transferMessage(formDTO).success()) { throw new RenException(ProjectConstant.SAVE_MSG_EXCEPTION); diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index ed8bff2d21..5ae016bb5e 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -17,6 +17,7 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; @@ -28,30 +29,29 @@ import com.epmet.commons.tools.scan.param.TextScanParamDTO; import com.epmet.commons.tools.scan.param.TextTaskDTO; import com.epmet.commons.tools.scan.result.SyncScanResult; import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.constant.ParameterKeyConstant; import com.epmet.constant.ProjectConstant; import com.epmet.constant.UserMessageConstant; import com.epmet.dao.ProjectDao; +import com.epmet.dao.ProjectOrgRelationDao; import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; -import com.epmet.entity.ProjectEntity; -import com.epmet.entity.ProjectProcessEntity; -import com.epmet.entity.ProjectRelatedPersonnelEntity; -import com.epmet.entity.ProjectStaffEntity; +import com.epmet.entity.*; import com.epmet.feign.*; import com.epmet.redis.ProjectRedis; import com.epmet.service.*; import org.apache.commons.collections4.CollectionUtils; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -63,6 +63,7 @@ import java.util.stream.Collectors; * @since v1.0.0 2020-05-11 */ @Service +@Slf4j public class ProjectServiceImpl extends BaseServiceImpl implements ProjectService { @Autowired @@ -89,6 +90,8 @@ public class ProjectServiceImpl extends BaseServiceImpl periodsToUpdate = relationDao.selectAllUnhandledProcess(fromDTO.getProjectId()); + //if(CollectionUtils.isEmpty(periodsToUpdate)){ + // log.error("com.epmet.service.impl.ProjectServiceImpl.closed,至少存在一条处理时间为空的项目节点耗时记录,但是没有找到,参数:{}",JSON.toJSONString(fromDTO)); + // throw new RenException("至少存在一条处理时间为空的项目节点耗时记录,但是没有找到"); + //} + + + //List intervalList = new LinkedList<>(); + //periodsToUpdate.forEach(local -> { + // TimestampIntervalFormDTO obj = new TimestampIntervalFormDTO(); + // obj.setId(local.getProjectStaffId()); + // obj.setLeft(local.getInformedDate()); + // obj.setRight(current); + // intervalList.add(obj); + //}); + + ProjectOrgRelationEntity orientRelation = relationDao.selectByProjectStaffId(operatorProjectReference.getId()); + if(null == orientRelation){ + log.error("com.epmet.service.impl.ProjectServiceImpl.closed,找不到结案工作人员的节点耗时相关记录,参数:{}",JSON.toJSONString(fromDTO)); + throw new RenException("找不到结案工作人员的节点耗时相关记录"); + } + + Integer delta_t = calculateDelta_T(ProjectConstant.IMPRECISE_CALCULATION, + ProjectConstant.CALCULATION_TYPE_DEFAULT, operatorProjectReference.getId(),orientRelation.getInformedDate(),current); + + ProjectOrgRelationEntity carrier = new ProjectOrgRelationEntity(); + carrier.setProjectStaffId(operatorProjectReference.getId()); + carrier.setOperation(ProjectConstant.OPERATION_CLOSE); + carrier.setHandledDate(current); + carrier.setFirstReplyPeriod(delta_t); + relationDao.maintainTimePropertyConsistency(carrier); + //通知 List msgList = new ArrayList<>(); //通知项目相关人员 @@ -436,16 +488,30 @@ public class ProjectServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); UserMessageFormDTO messageFormDTO = new UserMessageFormDTO(); @@ -592,6 +687,7 @@ public class ProjectServiceImpl extends BaseServiceImpl { if (issueDTO.getOrgId().equals(agency.getId())) { processEntity.setDepartmentName(agency.getOrganizationName()); + processEntity.setAgencyId(agency.getId()); + if(StringUtils.isBlank(agency.getPids()) || StringUtils.equals(NumConstant.ZERO_STR,agency.getPids().trim()) || "".equals(agency.getPids().trim())){ + processEntity.setOrgIdPath(agency.getId()); + }else{ + processEntity.setOrgIdPath(agency.getPids().concat(":").concat(agency.getId())); + } } }); agencyDeptGrid.getGridList().forEach(grid -> { if (issueDTO.getGridId().equals(grid.getId())) { processEntity.setDepartmentName(processEntity.getDepartmentName() + "-" + grid.getGridName()); + processEntity.setGridId(grid.getId()); } }); projectProcessService.insert(processEntity); @@ -642,6 +745,24 @@ public class ProjectServiceImpl extends BaseServiceImpl projectStaffIds = entityList.stream().map(ProjectStaffEntity::getId).distinct().collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(projectStaffIds)){ + List container = new LinkedList<>(); + projectStaffIds.forEach(o -> { + ProjectOrgRelationEntity period = new ProjectOrgRelationEntity(); + period.setProjectStaffId(o); + period.setInformedDate(current); + //created + period.setSourceOperation(ProjectConstant.OPERATION_CREATED); + period.setCreatedBy(formDTO.getStaffId()); + container.add(period); + }); + relationDao.insertBatch(container); + } + //5:项目相关人员表初始数据 List list = new ArrayList<>(); ProjectRelatedPersonnelEntity entity1 = new ProjectRelatedPersonnelEntity(); @@ -659,6 +780,8 @@ public class ProjectServiceImpl extends BaseServiceImpl getClosedProjectList(LatestListFormDTO formDTO) { - return baseDao.selectClosedProjectList(formDTO); } @@ -698,17 +820,81 @@ public class ProjectServiceImpl extends BaseServiceImpl intervalList = new LinkedList<>();intervalList.add(interval); + timeParam.setTimeList(intervalList); + Result> timeResult = epmetCommonServiceOpenFeignClient.workMinutes(timeParam); + + if(timeResult.success() && !org.springframework.util.CollectionUtils.isEmpty(timeResult.getData()) && null != timeResult.getData().get(identity)){ + return timeResult.getData().get(identity); + }else{ + log.error("com.epmet.service.impl.ProjectServiceImpl.response,计算首次响应时间失败"); + throw new RenException("计算首次响应时间失败"); + } + } + + private Map batchCalculateDelta_T(String ifPrecise,String ifCustom,List intervalList){ + WorkMinuteFormDTO timeParam = new WorkMinuteFormDTO(); + timeParam.setIfPrecise(ifPrecise); + timeParam.setIfCustom(ifCustom); + timeParam.setTimeList(intervalList); + Result> timeResult = epmetCommonServiceOpenFeignClient.workMinutes(timeParam); + if(timeResult.success() && !org.springframework.util.CollectionUtils.isEmpty(timeResult.getData())){ + return timeResult.getData(); + }else{ + log.error("com.epmet.service.impl.ProjectServiceImpl.response,计算首次响应时间失败"); + throw new RenException("计算首次响应时间失败"); + } } /** diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java index 4411a870fa..7250b38f63 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java @@ -169,4 +169,29 @@ public class ProjectStaffServiceImpl extends BaseServiceImpl + * @author wangc + * @date 2020.10.19 18:00 + */ + @Override + public List getIdByProjectId(String projectId) { + return baseDao.selectIdByProjectId(projectId); + } + + /** + * @Description 根据项目Id和工作人员Id查找最新的project_staff表的ID + * @param projectId + * @param staffId + * @return com.epmet.dto.ProjectStaffDTO + * @author wangc + * @date 2020.10.21 15:07 + */ + @Override + public ProjectStaffDTO getLatestIdByProjectIdAndStaffId(String projectId, String staffId) { + return baseDao.selectLatestByProjectIdAndStaffId(projectId,staffId); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectOrgRelationDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectOrgRelationDao.xml new file mode 100644 index 0000000000..c033280163 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectOrgRelationDao.xml @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + UPDATE + project_org_relation + + + FIRST_DEALT_DATE = #{firstDealtDate}, + UPDATED_TIME = #{firstDealtDate}, + FIRST_REPLY_PERIOD = #{firstReplyPeriod}, + + + HANDLED_DATE = #{handledDate}, + UPDATED_TIME = #{handledDate}, + TOTAL_PERIOD = #{totalPeriod}, + + OPERATION = #{operation} + + + DEL_FLAG = '0' + AND PROJECT_STAFF_ID = #{projectStaffId} + + AND FIRST_DEALT_DATE IS NULL + + + + + + + INSERT INTO project_org_relation( + ID, + PROJECT_STAFF_ID, + INFORMED_DATE, + CREATED_TIME, + UPDATED_TIME, + SOURCE_OPERATION, + CREATED_BY, + UPDATED_BY + ) values + + ( + (SELECT REPLACE(UUID(),'-','') as id), + #{item.projectStaffId}, + + + NOW(), + NOW(), + NOW(), + + + #{item.informedDate}, + #{item.informedDate}, + #{item.informedDate}, + + + + #{item.sourceOperation}, + #{item.createdBy}, + #{item.createdBy} + ) + + + + + + + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml index 6435a5df80..126315eb4b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml @@ -110,4 +110,34 @@ AND ps.CUSTOMER_ID = #{customerId} + + + + + + \ No newline at end of file From 7a0b6ba3cb8ccfc0f08976abfb2c8b3d31bb59fb Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 26 Oct 2020 11:19:17 +0800 Subject: [PATCH 027/130] =?UTF-8?q?=E5=8F=91=E5=B8=83=E6=96=87=E7=AB=A0?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E3=80=81=E5=8F=96=E6=B6=88=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8F=91=E9=80=81=E5=BE=AE=E4=BF=A1=E8=AE=A2?= =?UTF-8?q?=E9=98=85=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WorkActServiceImpl.java | 16 ++++++++++++++ .../service/impl/WorkActUserServiceImpl.java | 4 ++-- .../service/impl/ArticleServiceImpl.java | 22 +++++++++++++++++++ .../java/com/epmet/utils/ModuleConstant.java | 4 ++++ 4 files changed, 44 insertions(+), 2 deletions(-) diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActServiceImpl.java index f8cd7eb1d2..28b0ecd054 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActServiceImpl.java @@ -24,6 +24,7 @@ import com.epmet.constant.ReadFlagConstant; import com.epmet.dao.*; import com.epmet.dto.*; import com.epmet.dto.form.UserMessageFormDTO; +import com.epmet.dto.form.WxSubscribeMessageFormDTO; import com.epmet.dto.form.work.*; import com.epmet.dto.result.ActSponsorResultDTO; import com.epmet.dto.result.work.*; @@ -31,6 +32,7 @@ import com.epmet.entity.*; import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.service.*; +import com.epmet.utils.ModuleConstant; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -680,6 +682,7 @@ public class WorkActServiceImpl implements WorkActService { List userIdList=actUserRelationDao.selectUserIdList(formDTO.getActId(),ActConstant.ACT_USER_STATUS_PASSED); if(null!=userIdList&&userIdList.size()>0){ List userMessageFormDTOS=new ArrayList<>(); + List msgList = new ArrayList<>(); for(String userId:userIdList){ UserMessageFormDTO userMessageFormDTO = new UserMessageFormDTO(); userMessageFormDTO.setCustomerId(actInfoDTO.getCustomerId()); @@ -692,11 +695,24 @@ public class WorkActServiceImpl implements WorkActService { actInfoDTO.getTitle(), formDTO.getCancelReason())); userMessageFormDTOS.add(userMessageFormDTO); + //2020.10.26 添加发送微信订阅消息功能 sun + WxSubscribeMessageFormDTO dto = new WxSubscribeMessageFormDTO(); + dto.setCustomerId(actInfoDTO.getCustomerId()); + dto.setClientType(AppClientConstant.APP_RESI); + dto.setUserId(userId); + dto.setBehaviorType(ActMessageConstant.WXMP_TITLE); + dto.setMessageContent(String.format(ActMessageConstant.ACT_CANCELED, actInfoDTO.getTitle(), formDTO.getCancelReason())); + dto.setMessageTime(new Date()); + msgList.add(dto); } Result sendMessageRes= epmetMessageOpenFeignClient.saveUserMessageList(userMessageFormDTOS); if(sendMessageRes.success()){ logger.info("给审核通过的用户发送消息成功"); } + Result wxmpMsg = epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); + if (wxmpMsg.success()) { + logger.info("给审核通过的用户推送微信订阅消息成功"); + } } } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java index a594e0134a..4fd7a650d6 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java @@ -465,7 +465,7 @@ public class WorkActUserServiceImpl implements WorkActUserService { actUserLogDao.insert(actUserLogEntity); //给居民发消息 this.saveUserMessage(actUserRelationEntity,ActConstant.ACT_USER_STATUS_PASSED,actInfo); - //给居民发送微信订阅消息 + //给居民发送微信订阅消息 sun this.saveWxmpMessage(actUserRelationEntity,ActConstant.ACT_USER_STATUS_PASSED,actInfo); } @@ -514,7 +514,7 @@ public class WorkActUserServiceImpl implements WorkActUserService { actUserLogDao.insert(actUserLogEntity); //给居民发消息 this.saveUserMessage(actUserRelationEntity,ActConstant.ACT_USER_STATUS_REFUSED,actInfo); - //给居民发送微信订阅消息 + //给居民发送微信订阅消息 sun this.saveWxmpMessage(actUserRelationEntity,ActConstant.ACT_USER_STATUS_REFUSED,actInfo); } diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java index 435f35c656..8044266aed 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java @@ -970,6 +970,7 @@ public class ArticleServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); + WxSubscribeMessageFormDTO formDTO = new WxSubscribeMessageFormDTO(); + formDTO.setCustomerId(customerId); + formDTO.setClientType(AppClientConstant.APP_RESI); + formDTO.setUserId(loginUserUtil.getLoginUserId()); + formDTO.setBehaviorType(String.format(ModuleConstant.WXMP_MSG_TITLE, title)); + formDTO.setMessageContent(content); + formDTO.setMessageTime(new Date()); + msgList.add(formDTO); + return epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); + } @Override public void updateDraftPublishStatus(String draftId, String statusFlag, String titleAuditStatus) { diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/utils/ModuleConstant.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/utils/ModuleConstant.java index 6b3fddb443..8a729acf58 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/utils/ModuleConstant.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/utils/ModuleConstant.java @@ -83,6 +83,10 @@ public interface ModuleConstant { * 文章站内消息标题 */ String MSG_TITLE = "您有一条文章【%s】的消息"; + /** + * 文章微信订阅消息 + */ + String WXMP_MSG_TITLE = "文章【%s】的消息"; /** * 文章未审核通过 消息内容模版 From 0aef57ccab927ea5dfc6c88e52ddd6de5efb23eb Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Mon, 26 Oct 2020 13:32:16 +0800 Subject: [PATCH 028/130] =?UTF-8?q?=E5=8F=91=E9=80=81=E8=AE=A2=E9=98=85?= =?UTF-8?q?=EF=BC=9A1.=E7=83=AD=E5=BF=83=E5=B1=85=E6=B0=91=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=203.=E5=BB=BA=E7=BB=84=E7=94=B3=E8=AF=B7=205.?= =?UTF-8?q?=E5=85=A5=E7=BB=84=E7=94=B3=E8=AF=B7=207.=E9=82=80=E8=AF=B7?= =?UTF-8?q?=E8=BF=9B=E7=BB=84=E5=AE=A1=E6=A0=B8=208.=E7=BB=84=E5=91=98?= =?UTF-8?q?=E7=A6=81=E8=A8=80=209.=E5=85=9A=E5=91=98=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E7=94=B3=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/constant/UserMessageConstant.java | 5 ++++ .../service/impl/ResiGroupServiceImpl.java | 14 +++++++++++ .../impl/ResiGroupMemberServiceImpl.java | 23 +++++++++++++++++++ .../constant/PartyMemberMessageConstant.java | 5 ++++ .../impl/PartyMemberConfirmServiceImpl.java | 15 ++++++++++++ .../impl/ResiWarmheartedApplyServiceImpl.java | 14 +++++++++++ .../epmet/feign/EpmetUserOpenFeignClient.java | 6 ++--- 7 files changed, 79 insertions(+), 3 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java index c55698acc0..880efbac70 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java @@ -69,4 +69,9 @@ public interface UserMessageConstant { */ String WX_APPLY_CREATE_GROUP_BEHAVIOR = "建组审核消息"; + /** + * 申请建组的微信订阅behavior + */ + String WX_CREATE_GROUP_BEHAVIOR = "建组申请消息"; + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 107d96d642..b968d9c9be 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -979,7 +979,9 @@ public class ResiGroupServiceImpl extends BaseServiceImpl 0){ List msgList = new ArrayList<>(); + List subscribeList = new ArrayList<>(); for(String to : staffRoles.getData()){ + //站内信 UserMessageFormDTO msgObj = new UserMessageFormDTO(); msgObj.setApp(ModuleConstant.APP_GOV); msgObj.setCustomerId(customerId); @@ -989,6 +991,18 @@ public class ResiGroupServiceImpl extends BaseServiceImpl NumConstant.ZERO){ + epmetMessageOpenFeignClient.sendWxSubscribeMessage(subscribeList); } Result result = epmetMessageFeignClient.saveUserMessageList(msgList); if(result.success()){ diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java index 7bbec871b4..96a13e6aad 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java @@ -271,6 +271,18 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); + msgList.add(subscribeDTO); + epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); } catch (Exception e) { logger.error("居民申请入群,给组长发送消息通知异常"); e.printStackTrace(); @@ -626,6 +638,17 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); + msgList.add(subscribeMessageFormDTO); + epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); result.setMsg(GroupMemberConstant.SLIENT_SUCCESS); return result; } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/PartyMemberMessageConstant.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/PartyMemberMessageConstant.java index 1971a1ac13..7e22178bec 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/PartyMemberMessageConstant.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/PartyMemberMessageConstant.java @@ -25,4 +25,9 @@ public interface PartyMemberMessageConstant { * 党员申请审核驳回给申请人发送消息:您好,您申请的党员,由于不符合条件的原因,已被驳回。 */ String AUDIT_REJECT_MSG = "您好,您申请的%s党员,由于不符合条件的原因,已被驳回。"; + + /** + * 党员申请behavior + */ + String WX_PARTY_AUTH_BEHAVIOR = "党员申请消息"; } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java index ea761610fc..d4b9f32914 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java @@ -697,9 +697,11 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService //4:遍历找出当前网格的所有网格长并给网格长发消息 List msgList = new ArrayList<>(); + List subscribeList = new ArrayList<>(); staffList.forEach(staff->{ roleList.forEach(role->{ if(staff.getUserId().equals(role.getStaffId())){ + //站内信 UserMessageFormDTO msgDTO = new UserMessageFormDTO(); msgDTO.setCustomerId(formDTO.getCustomerId()); msgDTO.setGridId(formDTO.getGridId()); @@ -709,9 +711,22 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService msgDTO.setMessageContent(message); msgDTO.setReadFlag(ReadFlagConstant.UN_READ); msgList.add(msgDTO); + //微信订阅 + //微信订阅 + WxSubscribeMessageFormDTO subscribeDTO = new WxSubscribeMessageFormDTO(); + subscribeDTO.setClientType(AppClientConstant.APP_GOV); + subscribeDTO.setUserId(staff.getUserId()); + subscribeDTO.setCustomerId(formDTO.getCustomerId()); + subscribeDTO.setBehaviorType(PartyMemberMessageConstant.WX_PARTY_AUTH_BEHAVIOR); + subscribeDTO.setMessageContent(message); + subscribeDTO.setMessageTime(new Date()); + subscribeList.add(subscribeDTO); } }); }); + if (subscribeList.size() > NumConstant.ZERO){ + epmetMessageOpenFeignClient.sendWxSubscribeMessage(subscribeList); + } if (msgList.size() > NumConstant.ZERO) { result = epmetMessageOpenFeignClient.saveUserMessageList(msgList); } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java index 901bf4e1cc..35c1b19d26 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java @@ -265,9 +265,11 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl roleList = resultList.getData(); //3:遍历找出当前网格的所有网格长并给网格长发消息 List msgList = new ArrayList<>(); + List subscribeList = new ArrayList<>(); staffList.forEach(staff->{ roleList.forEach(role->{ if(staff.getUserId().equals(role.getStaffId())){ + //站内信 UserMessageFormDTO msgDTO = new UserMessageFormDTO(); msgDTO.setCustomerId(formDTO.getCustomerId()); msgDTO.setGridId(formDTO.getGridId()); @@ -277,9 +279,21 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl NumConstant.ZERO){ + epmetMessageOpenFeignClient.sendWxSubscribeMessage(subscribeList); + } if (msgList.size() > NumConstant.ZERO) { result = epmetMessageFeignClient.saveUserMessageList(msgList); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index 5f7c301ad0..7f751a8632 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -20,8 +20,8 @@ import java.util.List; * @author yinzuomei@elink-cn.com * @date 2020/6/4 13:09 */ -//@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserOpenFeignClientFallback.class, url = "localhost:8087") -@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserOpenFeignClientFallback.class) +@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserOpenFeignClientFallback.class, url = "localhost:8087") +//@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserOpenFeignClientFallback.class) public interface EpmetUserOpenFeignClient { /** @@ -50,7 +50,7 @@ public interface EpmetUserOpenFeignClient { * @date 2020/6/2 16:11 */ @PostMapping("/epmetuser/staffrole/staffroles/{staffId}") - Result> getStaffRoles(@PathVariable String staffId); + Result> getStaffRoles(@PathVariable("staffId") String staffId); /** * @param staffId From 921c52a10b96f4634aebc52057f2f1cf37d3a175 Mon Sep 17 00:00:00 2001 From: wangchao Date: Mon, 26 Oct 2020 14:39:23 +0800 Subject: [PATCH 029/130] =?UTF-8?q?=E5=9B=A0=E4=B8=BA=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E6=94=B9=E9=80=A0=E8=80=8C=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E5=B0=86=E5=8E=86=E5=8F=B2=E6=95=B0=E6=8D=AE=E8=A1=A5=E5=85=85?= =?UTF-8?q?=E5=88=B0=E6=96=B0=E8=A1=A8=E7=9A=84=E9=80=BB=E8=BE=91=EF=BC=8C?= =?UTF-8?q?=E4=BB=8Edata-stats=E7=A7=BB=E5=8A=A8=E5=88=B0gov-project?= =?UTF-8?q?=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../result/ProjectOrgPeriodResultDTO.java | 1 - .../com/epmet/controller/DemoController.java | 9 -- .../epmet/dao/project/ProjectProcessDao.java | 9 +- .../screen/ScreenDifficultyDataEntity.java | 5 + .../extract/todata/ProjectExtractService.java | 9 +- .../impl/ProjectExtractServiceImpl.java | 28 +++- .../project/ProjectProcessService.java | 11 +- .../impl/ProjectProcessServiceImpl.java | 110 +------------ .../extract/FactOriginProjectMainDailyDao.xml | 1 + .../screen/ScreenDifficultyDataDao.xml | 2 + .../mapper/project/ProjectProcessDao.xml | 36 ----- .../dto/result/ProjectOrgPeriodResultDTO.java | 96 ++++++++++++ ...ojectOrgRelationWhenResponseResultDTO.java | 49 ++++++ .../epmet/controller/ProjectController.java | 5 + .../main/java/com/epmet/dao/ProjectDao.java | 9 ++ .../com/epmet/dao/ProjectOrgRelationDao.java | 18 +++ .../java/com/epmet/dao/ProjectProcessDao.java | 10 ++ .../java/com/epmet/dao/ProjectStaffDao.java | 12 ++ .../epmet/service/ProjectProcessService.java | 11 +- .../com/epmet/service/ProjectService.java | 10 ++ .../epmet/service/ProjectStaffService.java | 11 ++ .../impl/ProjectProcessServiceImpl.java | 12 ++ .../service/impl/ProjectServiceImpl.java | 147 ++++++++++++++++++ .../service/impl/ProjectStaffServiceImpl.java | 7 + .../resources/db/migration/V0.0.2__period.sql | 100 ++++++++++++ .../mapper/ProjectOrgRelationDao.xml | 45 ++++++ .../resources/mapper/ProjectProcessDao.xml | 24 +++ .../main/resources/mapper/ProjectStaffDao.xml | 35 +++++ 28 files changed, 639 insertions(+), 183 deletions(-) create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectOrgPeriodResultDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectOrgRelationWhenResponseResultDTO.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.2__period.sql diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ProjectOrgPeriodResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ProjectOrgPeriodResultDTO.java index b166748d3e..9bbd942efe 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ProjectOrgPeriodResultDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ProjectOrgPeriodResultDTO.java @@ -7,7 +7,6 @@ import java.util.Date; /** * @Description 从数据库中查询出的 项目 - 机关(网格、部门、机关)的响应时长 - * FIXME 注:查询的全都是已经结案的项目!!!!!!!!!!!!如果查询流转中的项目,需要修改逻辑(较为复杂) * @ClassName ProjectOrgPeriodResultDTO * @Auth wangc * @Date 2020-09-16 15:28 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java index 5fe3229667..13a418a773 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java @@ -744,13 +744,4 @@ public class DemoController { return new Result(); } - - @Autowired - ProjectExtractService projectExtractService; - - @PostMapping("projectremould") - public Result> projectRemould(@RequestBody ExtractOriginFormDTO param){ - return new Result>().ok(projectExtractService.test(param)); - } - } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java index b86c551b80..e923a26c70 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java @@ -154,12 +154,5 @@ public interface ProjectProcessDao extends BaseDao { */ List selectLatestOperation(@Param("list") List list); - /** - * @Description 批量插入节点耗时数据(数据补齐) - * @param list - * @return int - * @author wangc - * @date 2020.10.26 09:59 - */ - int batchInsertProjectOrgRelation(@Param("list") List list); + } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenDifficultyDataEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenDifficultyDataEntity.java index 35f4ca3ee4..f8f7595adf 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenDifficultyDataEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenDifficultyDataEntity.java @@ -80,6 +80,11 @@ public class ScreenDifficultyDataEntity extends BaseEpmetEntity { */ private String eventContent; + /** + * 事件标题 + */ + private String eventTitle; + /** * 事件耗时 单位:分钟 */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/ProjectExtractService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/ProjectExtractService.java index 9d2a27effb..9b7b5e35fe 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/ProjectExtractService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/ProjectExtractService.java @@ -33,5 +33,12 @@ public interface ProjectExtractService { **/ void extractProjectPeriodData(ExtractOriginFormDTO param); - List test(ExtractOriginFormDTO param); + /** + * @Description 项目节点耗时数据补齐 + * @param + * @return java.util.List + * @author wangc + * @date 2020.10.26 10:18 + */ + void projectProcessCostTimeDataCompensation(); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java index 228f9b8fb5..5f4220162b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java @@ -14,6 +14,7 @@ import com.epmet.dto.issue.IssueDTO; import com.epmet.dto.party.PartyMemberDTO; import com.epmet.dto.project.FinishOrgDTO; import com.epmet.dto.project.ProcessInfoDTO; +import com.epmet.dto.project.ProjectOrgRelationDTO; import com.epmet.dto.project.result.ProjectOrgPeriodResultDTO; import com.epmet.dto.result.WorkDayResultDTO; import com.epmet.dto.topic.ResiTopicDTO; @@ -29,6 +30,7 @@ import com.epmet.service.evaluationindex.extract.todata.ProjectExtractService; import com.epmet.service.partymember.PartyMemberService; import com.epmet.service.project.ProjectProcessService; import com.epmet.service.project.ProjectService; +import com.epmet.service.stats.DimCustomerService; import com.epmet.service.topic.TopicService; import com.epmet.util.DimIdGenerator; import lombok.extern.slf4j.Slf4j; @@ -38,10 +40,8 @@ import org.springframework.stereotype.Service; import org.apache.commons.collections4.CollectionUtils; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.LinkedList; -import java.util.List; +import java.util.*; +import java.util.stream.Collector; import java.util.stream.Collectors; /** @@ -71,6 +71,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { private EpmetCommonServiceOpenFeignClient epmetCommonServiceOpenFeignClient; @Autowired private FactOriginProjectOrgPeriodDailyDao factOriginProjectOrgPeriodDailyDao; + @Autowired + private DimCustomerService dimCustomerService; private final static String ONE_DAY = "<1"; @@ -444,15 +446,25 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { } } + /** + * @Description 项目节点耗时数据补齐 + * @param + * @return java.util.List + * @author wangc + * @date 2020.10.26 10:18 + */ @Override - public List test(ExtractOriginFormDTO param) { + public void projectProcessCostTimeDataCompensation() { + + List customers = dimCustomerService.getAllCustomerId(); + if(CollectionUtils.isEmpty(customers)) return ; + customers.forEach(local -> { + // projectProcessService.getProjectPeriod(true, local,null); + }); - List extractData = - projectProcessService.getProjectPeriod(true, param.getCustomerId(), param.getDateId()); System.out.println("-------------EndPointHere----------------"); - return extractData; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java index 6b80b31bd3..48bd2488ee 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java @@ -93,16 +93,7 @@ public interface ProjectProcessService extends BaseService */ List getClosedProjectList(String customerId, String date); - /** - * @Description 查询各机关项目节点历时 - * @param isFirst 是否首次 - * @param customerId - * @param date - * @return - * @author wangc - * @date 2020.09.18 13:38 - **/ - List getProjectPeriod(Boolean isFirst,String customerId,String date); + /** * @Description 直接从项目业务改造获取项目节点耗时信息 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java index b3d053c158..23dc8128ba 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java @@ -20,11 +20,13 @@ package com.epmet.service.project.impl; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.constant.DataSourceConstant; import com.epmet.dao.project.ProjectProcessDao; import com.epmet.dto.form.CommonStaffIdFormDTO; import com.epmet.dto.project.FinishOrgDTO; import com.epmet.dto.project.ProcessInfoDTO; +import com.epmet.dto.project.ProjectOrgRelationDTO; import com.epmet.dto.project.result.ProjectLatestOperationResultDTO; import com.epmet.dto.project.result.ProjectOrgPeriodResultDTO; import com.epmet.dto.project.result.ProjectOrgRelationWhenResponseResultDTO; @@ -86,45 +88,6 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl getProjectPeriod(Boolean isFirst,String customerId, String date) { - List projectNodePeriodPerOrgList; - if(isFirst){ - projectNodePeriodPerOrgList = baseDao.selectProjectOrgPeriod(customerId,null,null); - }else{ - projectNodePeriodPerOrgList = baseDao.selectProjectOrgPeriod(customerId,null,date); - } - - if(!CollectionUtils.isEmpty(projectNodePeriodPerOrgList)){ - - Map> projectMap - = projectNodePeriodPerOrgList.stream().collect(Collectors.groupingBy(ProjectOrgPeriodResultDTO :: getProjectId)); - - List projects = - projectNodePeriodPerOrgList.stream().map(ProjectOrgPeriodResultDTO::getProjectId).distinct().collect(Collectors.toList()); - - if(!projects.isEmpty()){ - List responseList = baseDao.selectResponseTrace(projects); - Map> sorted = - responseList.stream().collect(Collectors.groupingBy(ProjectOrgRelationWhenResponseResultDTO::getProjectId)); - skipLevelGrouping(projectMap,sorted); - List result = new LinkedList<>(); - projectMap.values().forEach(list -> {list.forEach(obj -> {result.add(obj);});}); - return result; - } - } - - return new ArrayList<>(); - } /** * @Description 直接从项目业务改造获取项目节点耗时信息 @@ -166,75 +129,6 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl transfer ; response response transfer ; return ; response close. - * @param dest - Map> 需要填充的数据 projectMap - * @param fillFactor - Map> 填充因子 - * @return - * @author wangc - * @date 2020.09.18 15:27 - **/ - private void skipLevelGrouping(Map> dest,Map> fillFactor){ - for(String projectId : fillFactor.keySet()){ - //拿到同一个项目下的的节点记录(只有存在响应节点的项目) - List projectTraceUnit = fillFactor.get(projectId); - if(!projectTraceUnit.isEmpty()){ - // K : staffId - // V : 项目下对于某个员工(可能是在不同部门、网格、机关下)的所有节点顺时针操作,因为对于但项目单人来说,只能串行不能并行 - Map> staffResponseTrace = - projectTraceUnit.stream().collect(Collectors.groupingBy(ProjectOrgRelationWhenResponseResultDTO::getStaffId)); - if(!CollectionUtils.isEmpty(staffResponseTrace)){ - List incompleteBody = dest.get(projectId); - if(!CollectionUtils.isEmpty(incompleteBody)) { - Map> incompleteBodyGroupByStaffMap = - incompleteBody.stream().collect(Collectors.groupingBy(ProjectOrgPeriodResultDTO::getStaffId)); - if(!CollectionUtils.isEmpty(incompleteBodyGroupByStaffMap)) { - staffResponseTrace.keySet().forEach(staffId -> { - List staffResponseTraceUnit - = staffResponseTrace.get(staffId); - List incompleteBodyUnit = incompleteBodyGroupByStaffMap.get(staffId); - if (!CollectionUtils.isEmpty(incompleteBodyUnit) && !CollectionUtils.isEmpty(staffResponseTraceUnit)) { - - //int lastEndCount = NumConstant.ONE_NEG; - a: - for (int index = NumConstant.ZERO; index < staffResponseTraceUnit.size(); index++) { - - if (StringUtils.equals("response", staffResponseTraceUnit.get(index).getOperation())) { - replaceFirstResponseDate(incompleteBodyUnit,staffResponseTraceUnit.get(index)); - int cursor = index; - if (cursor == staffResponseTraceUnit.size() - NumConstant.ZERO) break; - while (StringUtils.equals("response", staffResponseTraceUnit.get(cursor++).getOperation())) { - if (cursor == staffResponseTraceUnit.size() - NumConstant.ZERO) break a; - } - if (cursor == staffResponseTraceUnit.size() - NumConstant.ZERO) break; - index = cursor; - } else { - replaceFirstResponseDate(incompleteBodyUnit,staffResponseTraceUnit.get(index)); - } - } - } - }); - } - } - } - - } - } - } - - private void replaceFirstResponseDate(List dest, - ProjectOrgRelationWhenResponseResultDTO staffResponseTraceUnit){ - // 传递过来的dest是已经按照projectId分好组之后再按照staff分组的集合 - // dest key->staff - for(int cursor = 0; cursor < dest.size(); cursor++){ - if(dest.get(cursor).getPeriodTillReplyFirstly() == null) continue; - dest.get(cursor).setPeriodTillReplyFirstly(staffResponseTraceUnit.getCreatedTime()); - } - - } - - } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml index ec08e185d4..4e70db274a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml @@ -324,6 +324,7 @@ project.GRID_ID AS orgId, project.AGENCY_ID AS parentId, project.TOPIC_ID AS eventImgUrl, + project.TITLE AS eventTitle, gridInfo.allPathName AS eventSource, gridInfo.gridName AS orgName, project.PROJECT_STATUS AS eventStatusCode, diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenDifficultyDataDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenDifficultyDataDao.xml index e27bfde00f..ed0681e753 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenDifficultyDataDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenDifficultyDataDao.xml @@ -135,6 +135,7 @@ EVENT_IMG_URL, EVENT_SOURCE, EVENT_CONTENT, + EVENT_TITLE, EVENT_COST_TIME, EVENT_RE_ORG, EVENT_HANDLED_COUNT, @@ -164,6 +165,7 @@ #{item.eventImgUrl}, #{item.eventSource}, #{item.eventContent}, + #{item.eventTitle}, #{item.eventCostTime}, #{item.eventReOrg}, #{item.eventHandledCount}, diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml index 52e37bca95..7960594364 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml @@ -306,40 +306,4 @@ - - - - - INSERT INTO project_org_relation( - ID, - PROJECT_STAFF_ID, - INFORMED_DATE, - CREATED_TIME, - UPDATED_TIME, - SOURCE_OPERATION, - OPERATION, - TOTAL_PERIOD, - FIRST_DEALT_DATE, - FIRST_REPLY_PERIOD, - CREATED_BY, - UPDATED_BY - ) values - - ( - (SELECT REPLACE(UUID(),'-','') as id), - #{item.projectStaffId}, - #{item.informedDate}, - NOW(), - NOW(), - #{item.sourceOperation}, - #{item.OPERATION}, - #{item.totalPeriod}, - #{item.firstDealtDate}, - #{item.firstReplyPeriod}, - 'COMPENSATION_ROBOT', - 'COMPENSATION_ROBOT' - ) - - - \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectOrgPeriodResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectOrgPeriodResultDTO.java new file mode 100644 index 0000000000..1548cdd9ef --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectOrgPeriodResultDTO.java @@ -0,0 +1,96 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description 从数据库中查询出的 项目 - 机关(网格、部门、机关)的响应时长 + * @ClassName ProjectOrgPeriodResultDTO + * @Auth wangc + * @Date 2020-09-16 15:28 + */ +@Data +public class ProjectOrgPeriodResultDTO implements Serializable { + private static final long serialVersionUID = 6216112710806237600L; + + /** + * 节点Id + * */ + private String processId; + + /** + * 项目Id + * */ + private String projectId; + + + /** + * 对这个节点的处理,如果未处理则为null + * created transfer close return response(查不出response,因为response类型的节点不会与process_staff产生关联,需要另取) + * */ + private String operation; + + /** + * 是这个节点的操作,相当于上一个人的操作,而不是对于这个节点的处理 + * created transfer close return response + * */ + private String lastAction; + + /** + * 节点所属的机关,即上个节点推到这个节点的负责部门 + * */ + private String departmentName; + + /** + * 当前节点所属的Agency,如果负责的是部门或者网格则是其所属的机关 + * */ + private String orgId; + + /** + * 如果是部门处理,则有值,否则null + * */ + private String departmentId; + + /** + * 如果是网格处理,则有值,否则null + * */ + private String gridId; + + /** + * 当前所属的机关的所有Pid集合以及当前的机关Id,所以此项不会未null,至少也是它的所属Agency + * */ + private String orgIdPath; + + /** + * 从节点流入到节点流出,且当前负责单位确实解决(包括退回)了的情况下,所耗费的时间(以分钟为单位) + * 如果未当前负责单位一直停留在unresolved状态,即使做出response、或者项目被其他单位结案,该项依旧是0,不参与办结的计时 + * 如果负责单位只是做出回应,但未处理(即没有让节点流走),需要查出其相应的第一次响应时间,另取 + * */ + private Integer totalPeriod; + + /** + * 节点流入时间 + * */ + private Date informedDate; + + /** + * 节点流出时间,如果未解决则未null + * */ + private Date handledDate; + + /** + * 第一次响应时间 + * */ + private Date periodTillReplyFirstly; + + private String customerId; + + private String staffId; + + private String isResolved; + + private String projectStaffId; + +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectOrgRelationWhenResponseResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectOrgRelationWhenResponseResultDTO.java new file mode 100644 index 0000000000..e29f37dde9 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectOrgRelationWhenResponseResultDTO.java @@ -0,0 +1,49 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description 查询机关在项目节点上响应的结果 + * 查询的是存在“响应”的所有相关工作人员节点,如果同一个人对同一个项目已经做过一次处理(并未做出响应)而在第二次流转到自己时 + * 做出了响应,也会连带查询出其第一次未响应过的数据 + * @ClassName ProjectOrgRelationWhenResponseResultDTO + * @Auth wangc + * @Date 2020-09-16 17:27 + */ +@Data +public class ProjectOrgRelationWhenResponseResultDTO implements Serializable { + private static final long serialVersionUID = 1962332392048752037L; + + /** + * 项目Id + * */ + private String projectId; + + /** + * 节点Id + * */ + private String processId; + + /** + * 节点动作的发起人 + * */ + private String staffId; + + /** + * 负责人所属的单位名称:xx机关-xx部门 、 xx机关-xx网格 、 xx机关 + * */ + private String departmentName; + + /** + * 动作分类 + * */ + private String operation; + + /** + * 节点创建时间,动作发起时间 + * */ + private Date createdTime; +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java index 0d500784db..184a51f644 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java @@ -157,4 +157,9 @@ public class ProjectController { return new Result(); } + @PostMapping("compensation") + public Result compensation(){ + projectService.projectProcessCostTimeDataCompensation(); + return new Result(); + } } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java index 4d20d6327c..0584789909 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java @@ -121,4 +121,13 @@ public interface ProjectDao extends BaseDao { * @Description 根据客户Id、机关Id、议题Id查询项目数据是否存在 **/ List selectProjectList(ProjectDTO projectDTO); + + /** + * @Description 得到所有的customerId + * @param + * @return java.util.List + * @author wangc + * @date 2020.10.26 11:20 + */ + List selectAllCustomerIds(); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectOrgRelationDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectOrgRelationDao.java index 146d58cc04..b628f0cbbe 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectOrgRelationDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectOrgRelationDao.java @@ -18,6 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.ProjectOrgRelationDTO; import com.epmet.entity.ProjectOrgRelationEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -69,5 +70,22 @@ public interface ProjectOrgRelationDao extends BaseDao * @date 2020.10.22 13:37 */ List selectAllUnhandledProcess(@Param("projectId")String projectId); + + /** + * @Description 批量新增(数据补偿) + * @param list + * @return int + * @author wangc + * @date 2020.10.26 13:55 + */ + int batchInsertProjectOrgRelation(@Param("list") List list); + /** + * @Description 批量删除 + * @param list + * @return int + * @author wangc + * @date 2020.10.26 14:07 + */ + int deleteBatch(@Param("list") List list); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java index 333d1aefeb..dc3260b2c8 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java @@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.form.ProcessProjectIdFormDTO; import com.epmet.dto.form.ProjectIdFormDTO; import com.epmet.dto.result.ProcesslistResultDTO; +import com.epmet.dto.result.ProjectOrgRelationWhenResponseResultDTO; import com.epmet.dto.result.ProjectProcessListResultDTO; import com.epmet.entity.ProjectProcessEntity; import org.apache.ibatis.annotations.Mapper; @@ -67,4 +68,13 @@ public interface ProjectProcessDao extends BaseDao { * @author zxc */ Integer checkProjectClose(ProjectIdFormDTO projectIdFormDTO); + + /** + * @Description 查询项目-机关各个节点的响应列表 + * @param projects + * @return + * @author wangc + * @date 2020.09.17 17:56 + **/ + List selectResponseTrace(@Param("projects") List projects); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java index 244ae3e56d..b3728bf23a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java @@ -108,4 +108,16 @@ public interface ProjectStaffDao extends BaseDao { * @date 2020.10.21 15:07 */ ProjectStaffDTO selectLatestByProjectIdAndStaffId(@Param("projectId") String projectId,@Param("staffId") String staffId); + + /** + * @Description 查询项目-机关各个节点历时详情 + * @param customerId + * @return + * @author wangc + * @date 2020.09.17 09:43 + **/ + List selectProjectOrgPeriod(@Param("customerId") String customerId); + + + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java index 98bb36ec5d..794960ea13 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java @@ -19,12 +19,10 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; -import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.ProjectProcessDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.ProjectProcessEntity; -import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; @@ -136,4 +134,13 @@ public interface ProjectProcessService extends BaseService */ ProjectDetailCheckResultDTO checkProjectClose(ProjectIdFormDTO projectIdFormDTO); + /** + * @Description 查询项目-机关各个节点的响应列表 + * @param projects + * @return + * @author wangc + * @date 2020.09.17 17:56 + **/ + List selectResponseTrace(List projects); + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java index ab6e688a1a..6e361c77b3 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java @@ -197,4 +197,14 @@ public interface ProjectService extends BaseService { * @return void */ void sendMessage(String customerId); + + + /** + * @Description 项目节点耗时数据补齐 + * @param + * @return void + * @author wangc + * @date 2020.10.26 10:54 + */ + void projectProcessCostTimeDataCompensation(); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java index 386a92e61f..fa4f17266d 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java @@ -26,6 +26,7 @@ import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.dto.result.StaffUnHandledDTO; import com.epmet.entity.ProjectStaffEntity; + import java.util.List; import java.util.Map; @@ -169,4 +170,14 @@ public interface ProjectStaffService extends BaseService { * @date 2020.10.21 15:07 */ ProjectStaffDTO getLatestIdByProjectIdAndStaffId(String projectId,String staffId); + + /** + * @Description 查询项目-机关各个节点历时详情 + * @param customerId + * @return + * @author wangc + * @date 2020.09.17 09:43 + **/ + List selectProjectOrgPeriod(String customerId); + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java index 4b965badfa..92f5992a48 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java @@ -399,4 +399,16 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl selectResponseTrace(List projects) { + return baseDao.selectResponseTrace(projects); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index 5ae016bb5e..569502ff7d 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -45,6 +45,7 @@ import com.epmet.redis.ProjectRedis; import com.epmet.service.*; import org.apache.commons.collections4.CollectionUtils; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -54,6 +55,7 @@ import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; import java.util.*; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -987,6 +989,84 @@ public class ProjectServiceImpl extends BaseServiceImpl customers = baseDao.selectAllCustomerIds(); + if(CollectionUtils.isEmpty(customers))return; + List totalContainer = new LinkedList<>(); + customers.forEach(customerId -> { + List projectNodePeriodPerOrgList = projectStaffService.selectProjectOrgPeriod(customerId); + if(!org.springframework.util.CollectionUtils.isEmpty(projectNodePeriodPerOrgList)){ + + Map> projectMap + = projectNodePeriodPerOrgList.stream().collect(Collectors.groupingBy(ProjectOrgPeriodResultDTO :: getProjectId)); + + List projects = + projectNodePeriodPerOrgList.stream().map(ProjectOrgPeriodResultDTO::getProjectId).distinct().collect(Collectors.toList()); + + if(!projects.isEmpty()){ + List responseList = projectProcessService.selectResponseTrace(projects); + Map> sorted = + responseList.stream().collect(Collectors.groupingBy(ProjectOrgRelationWhenResponseResultDTO::getProjectId)); + skipLevelGrouping(projectMap,sorted); + List calculatedData = new LinkedList<>(); + projectMap.values().forEach(list -> {list.forEach(obj -> {calculatedData.add(obj);});}); + + + if(!org.apache.commons.collections4.CollectionUtils.isEmpty(calculatedData)){ + List formatted = calculatedData.stream().map(period -> { + ProjectOrgRelationDTO relation = ConvertUtils.sourceToTarget(period,ProjectOrgRelationDTO.class); + relation.setFirstDealtDate(period.getPeriodTillReplyFirstly()); + relation.setSourceOperation(period.getLastAction()); + return relation; + }).collect(Collectors.toList()); + totalContainer.addAll(formatted); + } + + + } + + } + }); + if(!CollectionUtils.isEmpty(totalContainer)){ + List identities = totalContainer.stream().map(ProjectOrgRelationDTO::getProjectStaffId).distinct().collect(Collectors.toList()); + ListUtils.partition(identities,NumConstant.ONE_THOUSAND).forEach(partition -> {relationDao.deleteBatch(partition);}); + + List timeInterval = totalContainer.stream().map(relation -> { + TimestampIntervalFormDTO interval = new TimestampIntervalFormDTO(); + interval.setId(relation.getProjectStaffId()); + interval.setLeft(relation.getInformedDate()); + interval.setRight(relation.getHandledDate()); + return interval; + }).collect(Collectors.toList()); + + Map batchDelta_T = batchCalculateDelta_T(ProjectConstant.IMPRECISE_CALCULATION, + ProjectConstant.CALCULATION_TYPE_DEFAULT,timeInterval); + + Map dataMap = + totalContainer.stream().collect(Collectors.toMap(ProjectOrgRelationDTO::getProjectStaffId, Function.identity(), (key1, key2) -> key2)); + + if(!org.springframework.util.CollectionUtils.isEmpty(batchDelta_T) && + !org.springframework.util.CollectionUtils.isEmpty(dataMap)){ + dataMap.forEach((k,v) -> { + if(null != v){ + v.setTotalPeriod(batchDelta_T.get(k)); + } + }); + List> partition = ListUtils.partition(totalContainer, NumConstant.ONE_HUNDRED); + partition.forEach(subList -> {relationDao.batchInsertProjectOrgRelation(subList);}); + } + } + } + private void setMessage(String customerId, List overdueList, List delayList, List list) { list = list.stream().distinct().collect(Collectors.toList()); Map> overdueMap = overdueList.stream().collect(Collectors.groupingBy(StaffUnHandledDTO::getStaffId)); @@ -1061,4 +1141,71 @@ public class ProjectServiceImpl extends BaseServiceImpl transfer ; response response transfer ; return ; response close. + * @param dest - Map> 需要填充的数据 projectMap + * @param fillFactor - Map> 填充因子 + * @return + * @author wangc + * @date 2020.09.18 15:27 + **/ + private void skipLevelGrouping(Map> dest, Map> fillFactor){ + for(String projectId : fillFactor.keySet()){ + //拿到同一个项目下的的节点记录(只有存在响应节点的项目) + List projectTraceUnit = fillFactor.get(projectId); + if(!projectTraceUnit.isEmpty()){ + // K : staffId + // V : 项目下对于某个员工(可能是在不同部门、网格、机关下)的所有节点顺时针操作,因为对于但项目单人来说,只能串行不能并行 + Map> staffResponseTrace = + projectTraceUnit.stream().collect(Collectors.groupingBy(ProjectOrgRelationWhenResponseResultDTO::getStaffId)); + if(!org.springframework.util.CollectionUtils.isEmpty(staffResponseTrace)){ + List incompleteBody = dest.get(projectId); + if(!org.springframework.util.CollectionUtils.isEmpty(incompleteBody)) { + Map> incompleteBodyGroupByStaffMap = + incompleteBody.stream().collect(Collectors.groupingBy(ProjectOrgPeriodResultDTO::getStaffId)); + if(!org.springframework.util.CollectionUtils.isEmpty(incompleteBodyGroupByStaffMap)) { + staffResponseTrace.keySet().forEach(staffId -> { + List staffResponseTraceUnit + = staffResponseTrace.get(staffId); + List incompleteBodyUnit = incompleteBodyGroupByStaffMap.get(staffId); + if (!org.springframework.util.CollectionUtils.isEmpty(incompleteBodyUnit) && !org.springframework.util.CollectionUtils.isEmpty(staffResponseTraceUnit)) { + + //int lastEndCount = NumConstant.ONE_NEG; + a: + for (int index = NumConstant.ZERO; index < staffResponseTraceUnit.size(); index++) { + + if (StringUtils.equals("response", staffResponseTraceUnit.get(index).getOperation())) { + replaceFirstResponseDate(incompleteBodyUnit,staffResponseTraceUnit.get(index)); + int cursor = index; + if (cursor == staffResponseTraceUnit.size() - NumConstant.ZERO) break; + while (StringUtils.equals("response", staffResponseTraceUnit.get(cursor++).getOperation())) { + if (cursor == staffResponseTraceUnit.size() - NumConstant.ZERO) break a; + } + if (cursor == staffResponseTraceUnit.size() - NumConstant.ZERO) break; + index = cursor; + } else { + replaceFirstResponseDate(incompleteBodyUnit,staffResponseTraceUnit.get(index)); + } + } + } + }); + } + } + } + + } + } + } + + private void replaceFirstResponseDate(List dest, + ProjectOrgRelationWhenResponseResultDTO staffResponseTraceUnit){ + // 传递过来的dest是已经按照projectId分好组之后再按照staff分组的集合 + // dest key->staff + for(int cursor = 0; cursor < dest.size(); cursor++){ + if(dest.get(cursor).getPeriodTillReplyFirstly() == null) continue; + dest.get(cursor).setPeriodTillReplyFirstly(staffResponseTraceUnit.getCreatedTime()); + } + + } } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java index 7250b38f63..9ef8a2dc14 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java @@ -30,6 +30,7 @@ import com.epmet.dao.ProjectStaffDao; import com.epmet.dto.ProjectStaffDTO; import com.epmet.dto.form.DepartmentStaffListFormDTO; import com.epmet.dto.form.TransferOptionalStaffListFormDTO; + import com.epmet.dto.result.DepartmentResultDTO; import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.dto.result.StaffUnHandledDTO; @@ -194,4 +195,10 @@ public class ProjectStaffServiceImpl extends BaseServiceImpl selectProjectOrgPeriod(String customerId) { + + return baseDao.selectProjectOrgPeriod(customerId); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.2__period.sql b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.2__period.sql new file mode 100644 index 0000000000..f992e621dd --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.2__period.sql @@ -0,0 +1,100 @@ +CREATE TABLE `project_org_relation` ( + `ID` varchar(64) COLLATE utf8_unicode_ci NOT NULL, + `PROJECT_STAFF_ID` varchar(64) COLLATE utf8_unicode_ci NOT NULL COMMENT '关联PROJECT_STAFF,由此ID可以关联出PROJECT_ID、CUSTOMER_ID、PROCESS_ID', + `INFORMED_DATE` datetime DEFAULT NULL COMMENT '流转到的日期 同CREATED_TIME', + `HANDLED_DATE` datetime DEFAULT NULL COMMENT '流转走或结案的日期', + `TOTAL_PERIOD` int(12) DEFAULT NULL COMMENT '节点耗时,从流转到自己到流转走共耗时,单位:分钟,如果项目还没有结案且该项目在这个组织下一直滞留,这一项为空\r\n8*60的倍数', + `FIRST_DEALT_DATE` datetime DEFAULT NULL COMMENT '第一次响应时间', + `FIRST_REPLY_PERIOD` int(12) DEFAULT NULL COMMENT '首次响应时长,单位:分钟\r\n8*60的倍数', + `SOURCE_OPERATION` varchar(32) COLLATE utf8_unicode_ci NOT NULL COMMENT '来源动作,return(回退)、transfer(流转)、closed(结案)、response(响应)、created(立项时第一个流转到的)', + `OPERATION` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '处理动作,return(回退)、transfer(流转)、closed(结案)、response(响应)', + `DEL_FLAG` char(1) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0' COMMENT '删除标识', + `REVISION` int(4) NOT NULL DEFAULT '0' COMMENT '乐观锁', + `CREATED_TIME` datetime NOT NULL, + `CREATED_BY` varchar(64) COLLATE utf8_unicode_ci NOT NULL, + `UPDATED_TIME` datetime NOT NULL, + `UPDATED_BY` varchar(64) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='项目机关历时关系表'; + +ALTER TABLE `epmet_gov_project`.`project_process` +ADD COLUMN `AGENCY_ID` varchar(64) NULL COMMENT '组织ID' AFTER 'DEPARTMENT_NAME', +ADD COLUMN `DEPARTMENT_ID` varchar(64) NULL COMMENT '部门ID' AFTER 'AGENCY_ID', +ADD COLUMN `GRID_ID` varchar(64) NULL COMMENT '网格ID' AFTER 'DEPARTMENT_ID', +ADD COLUMN `ORG_ID_PATH` varchar(500) NULL COMMENT '所属机关(11:22:33)' AFTER 'GRID_ID'; +ADD COLUMN `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id'; + + +UPDATE project_process a +INNER JOIN ( + SELECT DISTINCT + pp.ID, + p.AGENCY_ID, + p.ORG_ID_PATH, + prp.GRID_ID + FROM + project_process pp + INNER JOIN project p ON pp.PROJECT_ID = p.ID + LEFT JOIN project_related_personnel prp ON pp.PROJECT_ID = prp.PROJECT_ID + WHERE + pp.OPERATION = 'created' + ) b ON a.ID = b.ID + SET a.AGENCY_ID = b.AGENCY_ID, + a.GRID_ID = b.GRID_ID, + a.ORG_ID_PATH = b.ORG_ID_PATH; + + + +UPDATE project_process a +INNER JOIN ( + SELECT DISTINCT + pp.ID, + ps.ORG_ID, + ps.GRID_ID, + ps.DEPARTMENT_ID, + ps.ORG_ID_PATH + FROM + project_process pp + INNER JOIN project_staff ps ON pp.PROJECT_ID = ps.PROJECT_ID + AND pp.DEPARTMENT_NAME = ps.DEPARTMENT_NAME + AND ps.IS_HANDLE = 'handle' + AND pp.STAFF_ID = ps.STAFF_ID + AND ps.DEL_FLAG = '0' + WHERE + pp.OPERATION != 'created' + AND pp.OPERATION != 'response' + ) b ON a.ID = b.ID + SET a.AGENCY_ID = b.ORG_ID, + a.GRID_ID = b.GRID_ID, + a.DEPARTMENT_ID = b.DEPARTMENT_ID, + a.ORG_ID_PATH = b.ORG_ID_PATH; + + +UPDATE project_process a +INNER JOIN ( + SELECT DISTINCT + pp.ID, + ps.ORG_ID, + ps.GRID_ID, + ps.DEPARTMENT_ID, + ps.ORG_ID_PATH + FROM + project_process pp + LEFT JOIN project_staff ps ON pp.PROJECT_ID = ps.PROJECT_ID + AND pp.STAFF_ID = ps.STAFF_ID + AND pp.DEPARTMENT_NAME = ps.DEPARTMENT_NAME + WHERE + pp.OPERATION = 'response' + ) b ON a.ID = b.ID + SET a.AGENCY_ID = b.ORG_ID, + a.GRID_ID = b.GRID_ID, + a.DEPARTMENT_ID = b.DEPARTMENT_ID, + a.ORG_ID_PATH = b.ORG_ID_PATH; + + UPDATE PROJECT_PROCESS process +INNER JOIN PROJECT project ON process.PROJECT_ID = project.ID +AND project.DEL_FLAG = '0' +AND process.DEL_FLAG = '0' +SET process.CUSTOMER_ID = project.CUSTOMER_ID; + + diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectOrgRelationDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectOrgRelationDao.xml index c033280163..6cbb71d1ae 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectOrgRelationDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectOrgRelationDao.xml @@ -103,4 +103,49 @@ HANDLED_DATE IS NULL + + + + INSERT INTO project_org_relation( + ID, + PROJECT_STAFF_ID, + INFORMED_DATE, + CREATED_TIME, + UPDATED_TIME, + SOURCE_OPERATION, + OPERATION, + TOTAL_PERIOD, + FIRST_DEALT_DATE, + FIRST_REPLY_PERIOD, + CREATED_BY, + UPDATED_BY + ) values + + ( + (SELECT REPLACE(UUID(),'-','') as id), + #{item.projectStaffId}, + #{item.informedDate}, + NOW(), + NOW(), + #{item.sourceOperation}, + #{item.OPERATION}, + #{item.totalPeriod}, + #{item.firstDealtDate}, + #{item.firstReplyPeriod}, + 'COMPENSATION_ROBOT', + 'COMPENSATION_ROBOT' + ) + + + + + + DELETE + project_org_relation + WHERE + + PROJECT_STAFF_ID = #{projectStaffId} + + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml index 788b589863..ceb579138d 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml @@ -60,4 +60,28 @@ AND project_id = #{projectId} + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml index 126315eb4b..ae9ebb16bb 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml @@ -140,4 +140,39 @@ LIMIT 1 + + + + \ No newline at end of file From f4684a499fc93a336418d93625320e6894f5d2b8 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 26 Oct 2020 14:40:12 +0800 Subject: [PATCH 030/130] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E3=80=81=E8=AE=AE=E9=A2=98=E8=BD=AC=E9=A1=B9=E7=9B=AE=E3=80=81?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E9=80=80=E5=9B=9E=E3=80=81=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E7=BB=93=E6=A1=88=E6=B7=BB=E5=8A=A0=E5=8F=91=E9=80=81=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E8=AE=A2=E9=98=85=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/constant/UserMessageConstant.java | 1 + .../epmet/service/impl/IssueServiceImpl.java | 70 +++++++++++++++++++ .../service/impl/ProjectServiceImpl.java | 45 +++++++++++- 3 files changed, 115 insertions(+), 1 deletion(-) diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/UserMessageConstant.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/UserMessageConstant.java index 5bea3d3a3a..89f709e5a5 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/UserMessageConstant.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/UserMessageConstant.java @@ -10,6 +10,7 @@ public interface UserMessageConstant { * 消息标题 */ String ISSUE_TITLE = "您有一条议题消息"; + String WXMP_ISSUE_TITLE = "议题消息"; /** * 项目跟踪-消息标题 */ diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index f5c690be74..2135341700 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -92,6 +92,8 @@ public class IssueServiceImpl extends BaseServiceImpl imp private IssueVoteStatisticalDao issueVoteStatisticalDao; @Autowired private EpmetUserFeignClient epmetUserFeignClient; + @Autowired + private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; @Value("${openapi.scan.server.url}") private String scanApiUrl; @Value("${openapi.scan.method.textSyncScan}") @@ -434,6 +436,10 @@ public class IssueServiceImpl extends BaseServiceImpl imp if (!saveUserMessageList(topicDTO, messageContent, entity).success()) { throw new RenException(IssueConstant.SAVE_MSG_EXCEPTION); } + //4.4:2020.10.26 添加推送微信订阅消息功能 sun + if (!saveWxmpMessageList(topicDTO, messageContent, entity).success()) { + logger.error("议题关闭,推送微信订阅消息失败!"); + } //5:缓存中网格下表决中的议题总数减1 govIssueRedis.subtractWorkGrassrootsIssueRedDotValue(entity.getGridId()); @@ -468,6 +474,29 @@ public class IssueServiceImpl extends BaseServiceImpl imp } return messageFeignClient.saveUserMessageList(msgList); } + /** + * @Description 关闭议题时给话题创建人和议题发起人推送微信订阅消息 + * @author sun + */ + private Result saveWxmpMessageList(ResiTopicDTO topicDTO, String messageContent, IssueEntity entity) { + List msgList = new ArrayList<>(); + //2:分别给话题创建人、议题发起人发送消息 + WxSubscribeMessageFormDTO msgDTO = new WxSubscribeMessageFormDTO(); + msgDTO.setCustomerId(entity.getCustomerId()); + msgDTO.setClientType(AppClientConstant.APP_RESI); + msgDTO.setUserId(topicDTO.getCreatedBy()); + msgDTO.setBehaviorType(UserMessageConstant.WXMP_ISSUE_TITLE); + msgDTO.setMessageContent(messageContent); + msgDTO.setMessageTime(new Date()); + msgList.add(msgDTO); + //话题人和议题人是同一个人时则只发送一条居民消息 + if (!topicDTO.getCreatedBy().equals(entity.getCreatedBy())) { + WxSubscribeMessageFormDTO msgIssue = ConvertUtils.sourceToTarget(msgDTO,WxSubscribeMessageFormDTO.class); + msgIssue.setUserId(entity.getCreatedBy()); + msgList.add(msgIssue); + } + return epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); + } /** * @param formDTO @@ -637,6 +666,47 @@ public class IssueServiceImpl extends BaseServiceImpl imp }); return messageFeignClient.saveUserMessageList(msgList); } + /** + * @Description 议题转项目时给话题创建人、议题发起人、勾选的工作人员分别推送微信订阅消息 + * @author sun + */ + private Result WxmpShiftProjectMessage(IssueProjectResultDTO issueProjectResultDTO, ShiftProjectFormDTO formDTO, IssueEntity entity) { + List msgList = new ArrayList<>(); + //1:创建话题发起人、议题发表人消息对象 + WxSubscribeMessageFormDTO msgDTO = new WxSubscribeMessageFormDTO(); + msgDTO.setCustomerId(entity.getCustomerId()); + msgDTO.setClientType(AppClientConstant.APP_RESI); + msgDTO.setUserId(formDTO.getTopicDTO().getCreatedBy()); + msgDTO.setBehaviorType(UserMessageConstant.WXMP_ISSUE_TITLE); + String topicIssueMessage = String.format(UserMessageConstant.ISSUE_SHIFT_PROJECT_MSG, formDTO.getTopicDTO().getTopicContent(), issueProjectResultDTO.getOrgName()); + msgDTO.setMessageContent(topicIssueMessage); + msgDTO.setMessageTime(new Date()); + msgList.add(msgDTO); + //话题人和议题人是同一个人时则只发送一条居民消息 + if (!formDTO.getTopicDTO().getCreatedBy().equals(entity.getCreatedBy())) { + WxSubscribeMessageFormDTO msgIssue = ConvertUtils.sourceToTarget(msgDTO, WxSubscribeMessageFormDTO.class); + msgIssue.setUserId(entity.getCreatedBy()); + msgList.add(msgIssue); + } + //2:创建项目工作人员消息对象 + String projectStaffMessage = String.format(UserMessageConstant.PROJECT_RESOLVED_MSG, entity.getIssueTitle()); + //所选人员如果即在部门下又在网格下则只发一条消息 + Map map = new HashMap<>(); + formDTO.getStaffList().forEach(staff->{ + if(!map.containsKey(staff.getStaffId())){ + WxSubscribeMessageFormDTO msg = new WxSubscribeMessageFormDTO(); + msg.setCustomerId(entity.getCustomerId()); + msg.setClientType(AppClientConstant.APP_GOV); + msg.setUserId(staff.getStaffId()); + msg.setBehaviorType(UserMessageConstant.WXMP_ISSUE_TITLE); + msg.setMessageContent(projectStaffMessage); + msg.setMessageTime(new Date()); + msgList.add(msg); + map.put(staff.getStaffId(),staff.getStaffId()); + } + }); + return epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); + } /** * @Description diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index 38f5ac64a7..07c346b1c8 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -17,6 +17,7 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; @@ -48,6 +49,8 @@ import com.epmet.feign.*; import com.epmet.redis.ProjectRedis; import com.epmet.service.*; import org.apache.commons.lang3.StringUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -65,7 +68,7 @@ import java.util.stream.Collectors; */ @Service public class ProjectServiceImpl extends BaseServiceImpl implements ProjectService { - + private Logger logger = LogManager.getLogger(ProjectServiceImpl.class); @Autowired private ProjectRedis projectRedis; @Autowired @@ -86,6 +89,8 @@ public class ProjectServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); + //2020.10.26 添加项目结案发送微信订阅消息操作 sun + List wxmpMsgList = new ArrayList<>(); //通知项目相关人员 List personnelList = projectRelatedPersonnelService.getPersonnelListByProjectId(fromDTO.getProjectId()); personnelList.forEach(p -> { @@ -394,6 +401,14 @@ public class ProjectServiceImpl extends BaseServiceImpl staffList = projectStaffService.getStaffsByProjectId(fromDTO.getProjectId()); @@ -408,8 +423,21 @@ public class ProjectServiceImpl extends BaseServiceImpl wxmpMsgList = new ArrayList<>(); + WxSubscribeMessageFormDTO msg = new WxSubscribeMessageFormDTO(); + msg.setCustomerId(projectEntity.getCustomerId()); + msg.setClientType(AppClientConstant.APP_GOV); + msg.setUserId(projectStaffDTO.getStaffId()); + msg.setBehaviorType("项目消息"); + msg.setMessageContent(String.format(UserMessageConstant.PROJECT_RESOLVED_MSG, projectEntity.getTitle())); + msg.setMessageTime(new Date()); + wxmpMsgList.add(msg); + //发送微信订阅消息 sun + Result result = epmetMessageOpenFeignClient.sendWxSubscribeMessage(wxmpMsgList); + if (!result.success()) { + logger.error("项目退回成功,发送微信订阅消息失败" + JSON.toJSONString(result)); + } } @Override From 07d737d1541692c839665fa9aea154fc64a07528 Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Mon, 26 Oct 2020 14:54:45 +0800 Subject: [PATCH 031/130] revert --- .../main/java/com/epmet/feign/EpmetUserOpenFeignClient.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index 7f751a8632..5f7c301ad0 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -20,8 +20,8 @@ import java.util.List; * @author yinzuomei@elink-cn.com * @date 2020/6/4 13:09 */ -@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserOpenFeignClientFallback.class, url = "localhost:8087") -//@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserOpenFeignClientFallback.class) +//@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserOpenFeignClientFallback.class, url = "localhost:8087") +@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserOpenFeignClientFallback.class) public interface EpmetUserOpenFeignClient { /** @@ -50,7 +50,7 @@ public interface EpmetUserOpenFeignClient { * @date 2020/6/2 16:11 */ @PostMapping("/epmetuser/staffrole/staffroles/{staffId}") - Result> getStaffRoles(@PathVariable("staffId") String staffId); + Result> getStaffRoles(@PathVariable String staffId); /** * @param staffId From 40ef8fd6b41527698b78dbd1900239c3aac7641b Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 26 Oct 2020 15:07:16 +0800 Subject: [PATCH 032/130] =?UTF-8?q?=E6=BC=8F=E6=8F=90=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/IssueServiceImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index 2135341700..14f5a85331 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -612,6 +612,10 @@ public class IssueServiceImpl extends BaseServiceImpl imp if (!shiftProjectMessage(issueProjectResultDTO, formDTO, entity).success()) { throw new RenException(IssueConstant.SAVE_MSG_EXCEPTION); } + //5-1:2020.10.26 添加推送微信订阅消息功能 sun + if (!wxmpShiftProjectMessage(issueProjectResultDTO, formDTO, entity).success()) { + logger.error("议题转项目,推送微信订阅消息失败!"); + } //6:缓存中网格下表决中的议题总数减1 govIssueRedis.subtractWorkGrassrootsIssueRedDotValue(entity.getGridId()); @@ -670,7 +674,7 @@ public class IssueServiceImpl extends BaseServiceImpl imp * @Description 议题转项目时给话题创建人、议题发起人、勾选的工作人员分别推送微信订阅消息 * @author sun */ - private Result WxmpShiftProjectMessage(IssueProjectResultDTO issueProjectResultDTO, ShiftProjectFormDTO formDTO, IssueEntity entity) { + private Result wxmpShiftProjectMessage(IssueProjectResultDTO issueProjectResultDTO, ShiftProjectFormDTO formDTO, IssueEntity entity) { List msgList = new ArrayList<>(); //1:创建话题发起人、议题发表人消息对象 WxSubscribeMessageFormDTO msgDTO = new WxSubscribeMessageFormDTO(); From a2680974d8db78fdc2f297aa2e85252ac17468e2 Mon Sep 17 00:00:00 2001 From: wxz Date: Mon, 26 Oct 2020 15:07:53 +0800 Subject: [PATCH 033/130] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=E6=B1=A0=E9=85=8D=E7=BD=AE=20=E5=B0=86=E5=8F=91=E9=80=81?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E9=80=BB=E8=BE=91=E6=94=B9=E9=80=A0=E6=88=90?= =?UTF-8?q?=E5=BC=82=E6=AD=A5=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet-message-server/pom.xml | 24 +++++++++ .../java/com/epmet/config/AsyncConfig.java | 49 +++++++++++++++++++ .../controller/WxmpMessageController.java | 8 ++- .../epmet/properties/ThreadProperties.java | 25 ++++++++++ .../src/main/resources/bootstrap.yml | 10 +++- 5 files changed, 114 insertions(+), 2 deletions(-) create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/config/AsyncConfig.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/properties/ThreadProperties.java diff --git a/epmet-module/epmet-message/epmet-message-server/pom.xml b/epmet-module/epmet-message/epmet-message-server/pom.xml index 6a8d05d9de..a83a612911 100644 --- a/epmet-module/epmet-message/epmet-message-server/pom.xml +++ b/epmet-module/epmet-message/epmet-message-server/pom.xml @@ -165,6 +165,12 @@ false + + + 5 + 8 + 10 + 30 @@ -197,6 +203,12 @@ false + + + 5 + 8 + 10 + 30 @@ -229,6 +241,12 @@ true + + + 5 + 8 + 10 + 30 @@ -258,6 +276,12 @@ true + + + 5 + 8 + 10 + 30 diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/config/AsyncConfig.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/config/AsyncConfig.java new file mode 100644 index 0000000000..95c0b0c55a --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/config/AsyncConfig.java @@ -0,0 +1,49 @@ +package com.epmet.config; + +import com.epmet.properties.ThreadProperties; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +import java.util.concurrent.Executor; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.ThreadPoolExecutor; + +/** + * 线程池配置类 + */ +@Configuration +@EnableConfigurationProperties(ThreadProperties.class) +@EnableAsync +public class AsyncConfig { + + @Autowired + private ThreadProperties threadProperties; + + @Bean + public Executor executor() { + ThreadProperties.ThreadPoolProperties threadPoolProps = threadProperties.getThreadPool(); + + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + executor.setCorePoolSize(threadPoolProps.getCorePoolSize()); + executor.setMaxPoolSize(threadPoolProps.getMaxPoolSize()); + executor.setQueueCapacity(threadPoolProps.getQueueCapacity()); + executor.setThreadNamePrefix("epmet-message-"); + // rejection-policy:当pool已经达到max size的时候,如何处理新任务 + // CALLER_RUNS:不在新线程中执行任务,而是由调用者所在的线程来执行 + executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); //对拒绝task的处理策略 + executor.setKeepAliveSeconds(threadPoolProps.getKeepAlive()); + executor.initialize(); + return executor; + } + + @Bean + public ExecutorService executorService() { + ThreadPoolTaskExecutor executor = (ThreadPoolTaskExecutor) executor(); + return executor.getThreadPoolExecutor(); + } + +} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java index 15e8e81d0e..b4c6791ef7 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java @@ -30,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.concurrent.ExecutorService; /** @@ -48,6 +49,9 @@ public class WxmpMessageController { @Autowired private LoginUserUtil loginUserUtil; + @Autowired + private ExecutorService executorService; + /** * @Description 保存系统自身的弹框授权信息 * @return com.epmet.commons.tools.utils.Result @@ -74,7 +78,9 @@ public class WxmpMessageController { for (WxSubscribeMessageFormDTO wxSubscribeMessageFormDTO : msgList) { ValidatorUtils.validateEntity(wxSubscribeMessageFormDTO); } - wxmpMessageService.sendWxSubscribeMessage(msgList); + executorService.execute(() -> { + wxmpMessageService.sendWxSubscribeMessage(msgList); + }); return new Result(); } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/properties/ThreadProperties.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/properties/ThreadProperties.java new file mode 100644 index 0000000000..aaec7cb719 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/properties/ThreadProperties.java @@ -0,0 +1,25 @@ +package com.epmet.properties; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; + +/** + * 线程池属性类 + */ +@ConfigurationProperties(prefix = "thread") +@Data +public class ThreadProperties { + + private ThreadPoolProperties threadPool; + + @Data + public static class ThreadPoolProperties { + private int corePoolSize; + private int maxPoolSize; + private int queueCapacity; + private int keepAlive; + + public ThreadPoolProperties() { + } + } +} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml index 0f9afbef03..0ccb3c1213 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml @@ -118,4 +118,12 @@ ribbon: #pageHelper分页插件 pagehelper: helper-dialect: mysql - reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 \ No newline at end of file + reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 + +thread: + # 线程池配置 + threadPool: + corePoolSize: @thread.pool.core-pool-size@ + maxPoolSize: @thread.pool.max-pool-size@ + queueCapacity: @thread.pool.queue-capacity@ + keepAlive: @thread.pool.keep-alive@ \ No newline at end of file From f060b2656a7b83b669836171df81044e544da69e Mon Sep 17 00:00:00 2001 From: wxz Date: Mon, 26 Oct 2020 15:18:45 +0800 Subject: [PATCH 034/130] =?UTF-8?q?=E5=8F=91=E9=80=81=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E8=AE=A2=E9=98=85=E6=B6=88=E6=81=AF=E6=8E=A5=E5=8F=A3=EF=BC=8C?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0try-catch=E5=92=8C=E8=AE=A1=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/WxmpMessageController.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java index b4c6791ef7..030d2a634d 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java @@ -17,6 +17,7 @@ package com.epmet.controller; +import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -26,6 +27,8 @@ import com.epmet.dto.form.WxSubscribeMessageFormDTO; import com.epmet.dto.result.GetTemplateListResultDTO; import com.epmet.dto.result.WxMsgAuthInfoResultDTO; import com.epmet.service.WxmpMessageService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -43,6 +46,8 @@ import java.util.concurrent.ExecutorService; @RequestMapping("wxmpmessage") public class WxmpMessageController { + private Logger logger = LoggerFactory.getLogger(getClass()); + @Autowired private WxmpMessageService wxmpMessageService; @@ -79,7 +84,14 @@ public class WxmpMessageController { ValidatorUtils.validateEntity(wxSubscribeMessageFormDTO); } executorService.execute(() -> { - wxmpMessageService.sendWxSubscribeMessage(msgList); + try { + long startTs = System.currentTimeMillis(); + wxmpMessageService.sendWxSubscribeMessage(msgList); + long endTs = System.currentTimeMillis(); + logger.info("异步发送消息成功,执行时长:{}", endTs - startTs); + } catch (Exception e) { + logger.error("异步发送消息失败,错误信息:{}", ExceptionUtils.getErrorStackTrace(e)); + } }); return new Result(); } From 62093f1bc7d8c2120a97fd6e26db666c06867106 Mon Sep 17 00:00:00 2001 From: wangchao Date: Mon, 26 Oct 2020 15:32:27 +0800 Subject: [PATCH 035/130] =?UTF-8?q?feign=E6=B3=A8=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/feign/EpmetCommonServiceOpenFeignClient.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java index 23a5e04e56..2d28aebd54 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java @@ -23,8 +23,8 @@ import java.util.Map; * @author yinzuomei@elink-cn.com * @date 2020/6/4 10:28 */ -//@FeignClient(name = ServiceConstant.EPMET_COMMON_SERVICE, fallback = EpmetCommonServiceOpenFeignClientFallback.class) -@FeignClient(name = ServiceConstant.EPMET_COMMON_SERVICE, fallback = EpmetCommonServiceOpenFeignClientFallback.class, url = "http://localhost:8103") +@FeignClient(name = ServiceConstant.EPMET_COMMON_SERVICE, fallback = EpmetCommonServiceOpenFeignClientFallback.class) +//@FeignClient(name = ServiceConstant.EPMET_COMMON_SERVICE, fallback = EpmetCommonServiceOpenFeignClientFallback.class, url = "http://localhost:8103") public interface EpmetCommonServiceOpenFeignClient { /** * @param formDTO From f4e429952030f5f6067430d50aca55089f376ecc Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 26 Oct 2020 15:40:54 +0800 Subject: [PATCH 036/130] =?UTF-8?q?=E5=88=A0=E9=99=A4=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/project/impl/ProjectServiceImpl.java | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java index 3610436962..222eee6bb8 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java @@ -8,28 +8,22 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.DataSourceConstant; -import com.epmet.commons.tools.utils.Result; import com.epmet.datareport.dao.project.ProjectDao; -import com.epmet.dto.CustomerAgencyDTO; import com.epmet.datareport.service.evaluationindex.screen.ScreenDifficultyDataService; +import com.epmet.datareport.service.project.ProjectService; +import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.form.LoginUserDetailsFormDTO; -import com.epmet.dto.form.SubAgencyFormDTO; -import com.epmet.dto.result.GridByStaffResultDTO; import com.epmet.dto.form.ProcessListFormDTO; -import com.epmet.dto.result.LoginUserDetailsResultDTO; -import com.epmet.dto.result.SubAgencyResultDTO; -import com.epmet.dto.result.SubListResultDTO; -import com.epmet.dto.result.ProcessAndCurrentDeptResultDTO; -import com.epmet.dto.result.ProcesslistResultDTO; +import com.epmet.dto.form.SubAgencyFormDTO; +import com.epmet.dto.result.*; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; -import com.epmet.datareport.service.project.ProjectService; import com.epmet.feign.GovProjectOpenFeignClient; -import com.epmet.module.project.service.ProjectService; import com.epmet.project.constant.ProjectConstant; import com.epmet.project.dto.FactAgencyProjectDailyDTO; import com.epmet.project.dto.form.DifficultyRankFormDTO; import com.epmet.project.dto.form.ProjectIncrTrendFormDTO; +import com.epmet.project.dto.result.ProjectDetailResultDTO; import com.epmet.project.dto.result.*; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; From 40bc5d0320af0241dce7125b06fbb42e7bd4d26b Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 26 Oct 2020 15:47:27 +0800 Subject: [PATCH 037/130] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=B6=85=E6=9C=9F?= =?UTF-8?q?=E6=BB=9E=E7=95=99=E6=8F=90=E9=86=92=E5=AE=9A=E6=97=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/ProjectSendMessageService.java | 21 +++++++++ .../impl/ProjectSendMessageServiceImpl.java | 35 +++++++++++++++ .../epmet/task/ProjectSendMessageTask.java | 43 +++++++++++++++++++ .../feign/GovProjectOpenFeignClient.java | 11 +++++ .../GovProjectOpenFeignClientFallback.java | 14 ++++++ .../gov-project/gov-project-server/pom.xml | 6 +++ .../epmet/controller/ProjectController.java | 21 +++++++++ .../dao/CustomerProjectParameterDao.java | 20 ++++++++- .../CustomerProjectParameterService.java | 27 ++++++++++++ .../com/epmet/service/ProjectService.java | 9 ++++ .../CustomerProjectParameterServiceImpl.java | 37 ++++++++++++++++ .../service/impl/ProjectServiceImpl.java | 42 +++++++++++++++++- .../mapper/CustomerProjectParameterDao.xml | 34 +++++++++++++++ 13 files changed, 318 insertions(+), 2 deletions(-) create mode 100644 epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/ProjectSendMessageService.java create mode 100644 epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/ProjectSendMessageServiceImpl.java create mode 100644 epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/ProjectSendMessageTask.java diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/ProjectSendMessageService.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/ProjectSendMessageService.java new file mode 100644 index 0000000000..e005ed2543 --- /dev/null +++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/ProjectSendMessageService.java @@ -0,0 +1,21 @@ +package com.epmet.service; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.ProjectDTO; +import com.epmet.dto.extract.form.ExtractOriginFormDTO; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/10/26 15:19 + */ +public interface ProjectSendMessageService { + /** + * 滞留提醒 + * @author zhaoqifeng + * @date 2020/10/26 15:21 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + Result projectSendMessage(ExtractOriginFormDTO formDTO); +} diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/ProjectSendMessageServiceImpl.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/ProjectSendMessageServiceImpl.java new file mode 100644 index 0000000000..78418a8173 --- /dev/null +++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/ProjectSendMessageServiceImpl.java @@ -0,0 +1,35 @@ +package com.epmet.service.impl; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.ProjectDTO; +import com.epmet.dto.extract.form.ExtractOriginFormDTO; +import com.epmet.feign.GovProjectOpenFeignClient; +import com.epmet.service.ProjectSendMessageService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/10/26 15:22 + */ +@Service +public class ProjectSendMessageServiceImpl implements ProjectSendMessageService { + @Autowired + private GovProjectOpenFeignClient govProjectOpenFeignClient; + + /** + * 滞留提醒 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2020/10/26 15:21 + */ + @Override + public Result projectSendMessage(ExtractOriginFormDTO formDTO) { + ProjectDTO projectDTO = new ProjectDTO(); + projectDTO.setCustomerId(formDTO.getCustomerId()); + return govProjectOpenFeignClient.sendMessageJob(projectDTO); + } +} diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/ProjectSendMessageTask.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/ProjectSendMessageTask.java new file mode 100644 index 0000000000..cc886fb908 --- /dev/null +++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/ProjectSendMessageTask.java @@ -0,0 +1,43 @@ +package com.epmet.task; + +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.extract.form.ExtractOriginFormDTO; +import com.epmet.service.ProjectSendMessageService; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/10/26 15:26 + */ +@Component("projectSendMessageTask") +public class ProjectSendMessageTask implements ITask { + private Logger logger = LoggerFactory.getLogger(getClass()); + + @Autowired + private ProjectSendMessageService projectSendMessageService; + /** + * 执行定时任务接口 + * + * @param params 参数,多参数使用JSON数据 + */ + @Override + public void run(String params) { + logger.info("FactOriginExtractTask定时任务正在执行,参数为:{}", params); + ExtractOriginFormDTO formDTO = new ExtractOriginFormDTO(); + if (StringUtils.isNotBlank(params)) { + formDTO = JSON.parseObject(params, ExtractOriginFormDTO.class); + } + Result result = projectSendMessageService.projectSendMessage(formDTO); + if (result.success()) { + logger.info("FactOriginExtractTask定时任务执行成功"); + } else { + logger.error("FactOriginExtractTask定时任务执行失败:" + result.getMsg()); + } + } +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java index 0f89d630d4..17bd06d5df 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java @@ -2,6 +2,7 @@ package com.epmet.feign; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.ProcessListFormDTO; +import com.epmet.dto.ProjectDTO; import com.epmet.dto.form.ProjectListFromDTO; import com.epmet.dto.result.PendProjectListResultDTO; import com.epmet.dto.result.ProcessAndCurrentDeptResultDTO; @@ -33,6 +34,16 @@ public interface GovProjectOpenFeignClient { @PostMapping("gov/project/project/pendprojectlist") Result> getPendProjectList(@RequestBody ProjectListFromDTO fromDTO); + /** + * 滞留消息提醒定时任务 + * @author zhaoqifeng + * @date 2020/10/26 14:05 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("gov/project/project/sendmessagejob") + Result sendMessageJob(@RequestBody ProjectDTO formDTO); + @PostMapping("gov/project/trace/processlistnotrule") Result getProcessList(@RequestBody ProcessListFormDTO fromDTO); } diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java index a3eb7d7e01..b0bb14a9eb 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java @@ -3,6 +3,7 @@ package com.epmet.feign.fallback; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.ProjectDTO; import com.epmet.dto.form.ProcessListFormDTO; import com.epmet.dto.form.ProjectListFromDTO; import com.epmet.dto.result.PendProjectListResultDTO; @@ -26,6 +27,19 @@ public class GovProjectOpenFeignClientFallback implements GovProjectOpenFeignCli return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "getPendProjectList", fromDTO); } + /** + * 滞留消息提醒定时任务 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2020/10/26 14:05 + */ + @Override + public Result sendMessageJob(ProjectDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "sendMessageJob", formDTO); + } + @Override public Result getProcessList(ProcessListFormDTO fromDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "getProcessList", fromDTO); diff --git a/epmet-module/gov-project/gov-project-server/pom.xml b/epmet-module/gov-project/gov-project-server/pom.xml index 25c9ca4e29..7ebe4ad908 100644 --- a/epmet-module/gov-project/gov-project-server/pom.xml +++ b/epmet-module/gov-project/gov-project-server/pom.xml @@ -96,6 +96,12 @@ 2.0.0 compile + + com.epmet + oper-crm-client + 2.0.0 + compile + diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java index 184a51f644..345fb495a3 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java @@ -151,12 +151,33 @@ public class ProjectController { List result = projectService.getPendProjectList(fromDTO); return new Result>().ok(result); } + + /** + * 滞留消息提醒 + * @author zhaoqifeng + * @date 2020/10/26 14:02 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ @PostMapping("message") public Result sendMessage(@RequestBody ProjectDTO formDTO) { projectService.sendMessage(formDTO.getCustomerId()); return new Result(); } + /** + * 滞留消息提醒定时任务 + * @author zhaoqifeng + * @date 2020/10/26 14:03 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("sendmessagejob") + public Result sendMessageJob(@RequestBody ProjectDTO formDTO) { + projectService.sendMessageJob(formDTO); + return new Result(); + } + @PostMapping("compensation") public Result compensation(){ projectService.projectProcessCostTimeDataCompensation(); diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java index e71bfac726..349b07308b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java @@ -51,5 +51,23 @@ public interface CustomerProjectParameterDao extends BaseDao */ List getParameterByCustomer(@Param("customerId") String customerId); - + + /** + * 获取推送时间范围内的客户ID + * @author zhaoqifeng + * @date 2020/10/26 13:44 + * @param + * @return java.util.List + */ + CustomerProjectParameterDTO getPushTime(@Param("customerId") String customerId); + /** + * 获取默认配置 + * @author zhaoqifeng + * @date 2020/10/26 14:59 + * @param + * @return com.epmet.dto.CustomerProjectParameterDTO + */ + CustomerProjectParameterDTO getDefaultPushTime(); + + CustomerProjectParameterDTO getPushTimeConfig(@Param("customerId") String customerId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/CustomerProjectParameterService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/CustomerProjectParameterService.java index 532b982df6..c9b487e7d0 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/CustomerProjectParameterService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/CustomerProjectParameterService.java @@ -110,4 +110,31 @@ public interface CustomerProjectParameterService extends BaseService */ List getParameterByCustomer(String customerId); + + /** + * 获取推送时间范围内的客户ID + * @author zhaoqifeng + * @date 2020/10/26 13:43 + * @param customerId + * @return com.epmet.dto.CustomerProjectParameterDTO + */ + CustomerProjectParameterDTO getPushTime(String customerId); + + /** + * 获取默认配置 + * @author zhaoqifeng + * @date 2020/10/26 14:58 + * @param + * @return com.epmet.dto.CustomerProjectParameterDTO + */ + CustomerProjectParameterDTO getDefaultPushTime(); + + /** + * 获取推送时间范围内的客户ID + * @author zhaoqifeng + * @date 2020/10/26 13:43 + * @param customerId + * @return com.epmet.dto.CustomerProjectParameterDTO + */ + CustomerProjectParameterDTO getPushTimeConfig(String customerId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java index 6e361c77b3..2050b5921e 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java @@ -198,6 +198,15 @@ public interface ProjectService extends BaseService { */ void sendMessage(String customerId); + /** + * 项目滞留超期提醒定时任务 + * @author zhaoqifeng + * @date 2020/10/26 10:53 + * @param dto + * @return void + */ + void sendMessageJob(ProjectDTO dto); + /** * @Description 项目节点耗时数据补齐 diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/CustomerProjectParameterServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/CustomerProjectParameterServiceImpl.java index 42afef6c1f..a3b249ab4b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/CustomerProjectParameterServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/CustomerProjectParameterServiceImpl.java @@ -120,4 +120,41 @@ public class CustomerProjectParameterServiceImpl extends BaseServiceImpl + * @author zhaoqifeng + * @date 2020/10/26 13:43 + */ + @Override + public CustomerProjectParameterDTO getPushTime(String customerId) { + return baseDao.getPushTime(customerId); + } + + /** + * 获取默认配置 + * + * @return com.epmet.dto.CustomerProjectParameterDTO + * @author zhaoqifeng + * @date 2020/10/26 14:58 + */ + @Override + public CustomerProjectParameterDTO getDefaultPushTime() { + return baseDao.getDefaultPushTime(); + } + + /** + * 获取推送时间范围内的客户ID + * + * @param customerId + * @return com.epmet.dto.CustomerProjectParameterDTO + * @author zhaoqifeng + * @date 2020/10/26 13:43 + */ + @Override + public CustomerProjectParameterDTO getPushTimeConfig(String customerId) { + return baseDao.getPushTimeConfig(customerId); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index 569502ff7d..20977fc543 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -88,6 +88,8 @@ public class ProjectServiceImpl extends BaseServiceImpl> result = operCrmOpenFeignClient.getAllCustomerList(); + if (!result.success()) { + throw new RenException(result.getCode(), result.getMsg()); + } + if (CollectionUtils.isNotEmpty(result.getData())) { + if(null != dto && StringUtils.isNotBlank(dto.getCustomerId())) { + sendMessage(dto.getCustomerId()); + } else { + for (CustomerDTO customerDTO : result.getData()) { + //获取客户配置,如果存在,则判断客户配置是否在该时间段内,如果不存在,则使用默认配置 + CustomerProjectParameterDTO config = parameterService.getPushTimeConfig(customerDTO.getId()); + if (null != config) { + //客户配置是否在该时间段内 + CustomerProjectParameterDTO pushTime = parameterService.getPushTime(customerDTO.getId()); + if(null != pushTime) { + sendMessage(customerDTO.getId()); + } + } else { + //获取默认配置 + CustomerProjectParameterDTO defaultPushTime = parameterService.getDefaultPushTime(); + if(null != defaultPushTime) { + sendMessage(customerDTO.getId()); + } + } + } + } + } + } + private void setMessage(String customerId, List overdueList, List delayList, List list) { list = list.stream().distinct().collect(Collectors.toList()); Map> overdueMap = overdueList.stream().collect(Collectors.groupingBy(StaffUnHandledDTO::getStaffId)); @@ -1137,7 +1178,6 @@ public class ProjectServiceImpl extends BaseServiceImpl + + + \ No newline at end of file From 64463005c0cc965d6fe85235934993f5da0d12b5 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 26 Oct 2020 16:39:51 +0800 Subject: [PATCH 038/130] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=BB=93=E6=A1=88?= =?UTF-8?q?=E4=B9=9F=E8=A6=81=E7=BB=99=E8=BD=AC=E9=A1=B9=E7=9B=AE=E4=BA=BA?= =?UTF-8?q?=E5=8F=91=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/ProjectServiceImpl.java | 4 ++-- .../src/main/resources/mapper/ProjectStaffDao.xml | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index 07c346b1c8..e2d8270046 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -403,7 +403,7 @@ public class ProjectServiceImpl extends BaseServiceImpl + + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectOrgRelationDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectOrgRelationDao.xml index 6cbb71d1ae..e07b0e9f54 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectOrgRelationDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectOrgRelationDao.xml @@ -110,6 +110,7 @@ ID, PROJECT_STAFF_ID, INFORMED_DATE, + HANDLED_DATE, CREATED_TIME, UPDATED_TIME, SOURCE_OPERATION, @@ -125,10 +126,11 @@ (SELECT REPLACE(UUID(),'-','') as id), #{item.projectStaffId}, #{item.informedDate}, + #{item.handledDate}, NOW(), NOW(), #{item.sourceOperation}, - #{item.OPERATION}, + #{item.operation}, #{item.totalPeriod}, #{item.firstDealtDate}, #{item.firstReplyPeriod}, @@ -140,7 +142,7 @@ - DELETE + DELETE FROM project_org_relation WHERE diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml index ae9ebb16bb..18df0a762a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml @@ -156,7 +156,6 @@ staff.GRID_ID, staff.STAFF_ID AS staffId, staff.ORG_ID_PATH, - IF(staff.IS_HANDLE='handle',timestampdiff(MINUTE , staff.CREATED_TIME , staff.UPDATED_TIME),0) AS TOTAL_PERIOD, staff.CREATED_TIME AS informedDate, IF(staff.IS_HANDLE='handle','resolved','unresolved') AS isResolved, From 76c8e5bb8202bf1d62f3b4590d11394c0fb7072b Mon Sep 17 00:00:00 2001 From: wangchao Date: Tue, 27 Oct 2020 10:01:37 +0800 Subject: [PATCH 042/130] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E8=80=97=E6=97=B6=E6=95=B0=E6=8D=AE=E8=A1=A5=E5=85=85=20?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=AC=AC=E4=B8=80=E6=AC=A1=E5=93=8D=E5=BA=94?= =?UTF-8?q?=E6=97=B6=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/ProjectServiceImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index c07b789b8e..2c62bff5b9 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -1079,7 +1079,8 @@ public class ProjectServiceImpl extends BaseServiceImpl batchDelta_T = batchCalculateDelta_T(ProjectConstant.IMPRECISE_CALCULATION, ProjectConstant.CALCULATION_TYPE_DEFAULT,handleTimeInterval); - + Map batchDelta_TResponse = batchCalculateDelta_T(ProjectConstant.IMPRECISE_CALCULATION, + ProjectConstant.CALCULATION_TYPE_DEFAULT,responseTimeInterval); Map dataMap = @@ -1091,6 +1092,7 @@ public class ProjectServiceImpl extends BaseServiceImpl> partition = ListUtils.partition(totalContainer, NumConstant.ONE_HUNDRED); From 6972e725b4be64b8a9da1429fa65605b6ba1d10f Mon Sep 17 00:00:00 2001 From: wangchao Date: Tue, 27 Oct 2020 10:49:52 +0800 Subject: [PATCH 043/130] =?UTF-8?q?project=20=20=20=20flyway=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/db/migration/V0.0.2__period.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.2__period.sql b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.2__period.sql index f992e621dd..349e0dc8ff 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.2__period.sql +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.2__period.sql @@ -21,7 +21,7 @@ ALTER TABLE `epmet_gov_project`.`project_process` ADD COLUMN `AGENCY_ID` varchar(64) NULL COMMENT '组织ID' AFTER 'DEPARTMENT_NAME', ADD COLUMN `DEPARTMENT_ID` varchar(64) NULL COMMENT '部门ID' AFTER 'AGENCY_ID', ADD COLUMN `GRID_ID` varchar(64) NULL COMMENT '网格ID' AFTER 'DEPARTMENT_ID', -ADD COLUMN `ORG_ID_PATH` varchar(500) NULL COMMENT '所属机关(11:22:33)' AFTER 'GRID_ID'; +ADD COLUMN `ORG_ID_PATH` varchar(500) NULL COMMENT '所属机关(11:22:33)' AFTER 'GRID_ID', ADD COLUMN `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id'; From c2cec55b80ff10955800a97ce638b367b137c48b Mon Sep 17 00:00:00 2001 From: wangchao Date: Tue, 27 Oct 2020 10:51:50 +0800 Subject: [PATCH 044/130] =?UTF-8?q?project=20=20=20=20flyway=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/db/migration/V0.0.2__period.sql | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.2__period.sql b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.2__period.sql index 349e0dc8ff..739433fb77 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.2__period.sql +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.2__period.sql @@ -18,10 +18,10 @@ CREATE TABLE `project_org_relation` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='项目机关历时关系表'; ALTER TABLE `epmet_gov_project`.`project_process` -ADD COLUMN `AGENCY_ID` varchar(64) NULL COMMENT '组织ID' AFTER 'DEPARTMENT_NAME', -ADD COLUMN `DEPARTMENT_ID` varchar(64) NULL COMMENT '部门ID' AFTER 'AGENCY_ID', -ADD COLUMN `GRID_ID` varchar(64) NULL COMMENT '网格ID' AFTER 'DEPARTMENT_ID', -ADD COLUMN `ORG_ID_PATH` varchar(500) NULL COMMENT '所属机关(11:22:33)' AFTER 'GRID_ID', +ADD COLUMN `AGENCY_ID` varchar(64) NULL COMMENT '组织ID' , +ADD COLUMN `DEPARTMENT_ID` varchar(64) NULL COMMENT '部门ID' , +ADD COLUMN `GRID_ID` varchar(64) NULL COMMENT '网格ID' , +ADD COLUMN `ORG_ID_PATH` varchar(500) NULL COMMENT '所属机关(11:22:33)', ADD COLUMN `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id'; From 54f4529c2419957e31b1082517ea2e2e5927fcca Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 27 Oct 2020 10:57:02 +0800 Subject: [PATCH 045/130] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet-third-server/deploy/docker-compose-prod.yml | 2 +- epmet-module/epmet-third/epmet-third-server/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-prod.yml b/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-prod.yml index 11d47645f6..f66482c564 100644 --- a/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-prod.yml +++ b/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-third-server: container_name: epmet-third-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-third-server:0.0.148 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-third-server:0.0.149 ports: - "8110:8110" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-third/epmet-third-server/pom.xml b/epmet-module/epmet-third/epmet-third-server/pom.xml index 96b78ffe32..c6918855a7 100644 --- a/epmet-module/epmet-third/epmet-third-server/pom.xml +++ b/epmet-module/epmet-third/epmet-third-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.0.148 + 0.0.149 com.epmet From b887184649c74b5a3e70f7ec34767d73aca161c4 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 27 Oct 2020 11:14:36 +0800 Subject: [PATCH 046/130] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E6=A8=A1=E6=9D=BF=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WxmpMessageServiceImpl.java | 31 ++++++++++++++----- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java index c7b938a6ff..279c392d83 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java @@ -32,14 +32,8 @@ import com.epmet.dao.WxmpResiUserSubscribeDao; import com.epmet.dao.WxmpTemplateMsgSubscribeStatusDao; import com.epmet.dao.WxmpUserSubscribeRecordDao; import com.epmet.dao.WxmpWorkUserSubscribeDao; -import com.epmet.dto.form.GetTemplateListFormDTO; -import com.epmet.dto.form.StaffBasicInfoFormDTO; -import com.epmet.dto.form.UserBasicInfoFormDTO; -import com.epmet.dto.form.WxSubscribeMessageFormDTO; -import com.epmet.dto.result.GetTemplateListResultDTO; -import com.epmet.dto.result.StaffBasicInfo; -import com.epmet.dto.result.UserBasicInfo; -import com.epmet.dto.result.WxMsgAuthInfoResultDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import com.epmet.entity.*; import com.epmet.exception.WxSubscribeException; import com.epmet.feign.EpmetUserOpenFeignClient; @@ -337,6 +331,27 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { List resultList = (List) mapToResult.getData(); return resultList; } + /** + * @return + * @Description 查询客户两个端小程序对应的站内信模板Id + * @author sun + */ + private List customerTemplateList(CustomerTemplateListFormDTO formDTO) { + String url = "https://epmet-cloud.elinkservice.cn/api/third/personaltemplate/templatelist"; + String data = HttpClientManager.getInstance().sendPostByJSON(url, JSON.toJSONString(formDTO)).getData(); + logger.info("ThirdLoginServiceImpl.customerTemplateList:httpclient->url:" + url + ",结果->" + data); + JSONObject toResult = JSON.parseObject(data); + Result mapToResult = ConvertUtils.mapToEntity(toResult, Result.class); + if (null != toResult.get("code")) { + mapToResult.setCode(((Integer) toResult.get("code")).intValue()); + } + if (!mapToResult.success()) { + logger.error("调用epmet_third服务获取客户小程序消息订阅模板数据失败"); + throw new RenException(mapToResult.getCode()); + } + List resultList = (List) mapToResult.getData(); + return resultList; + } @Override public WxMsgAuthInfoResultDTO getAuthorizationInfo(String customerId, String clientType, String loginUserId, String templateId) { From 3291170ed64151f97fe2944ac45e8481cb942f1b Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 27 Oct 2020 13:26:30 +0800 Subject: [PATCH 047/130] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datareport/service/project/impl/ProjectServiceImpl.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java index d4338367aa..5eb5a77341 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java @@ -16,8 +16,6 @@ import com.epmet.dto.form.LoginUserDetailsFormDTO; import com.epmet.dto.form.ProcessListFormDTO; import com.epmet.dto.form.SubAgencyFormDTO; import com.epmet.dto.result.*; -import com.epmet.dto.result.LoginUserDetailsResultDTO; -import com.epmet.dto.result.ProcessAndCurrentDeptResultDTO; import com.epmet.evaluationindex.screen.dto.result.DepartmentNameListResultDTO; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; @@ -270,11 +268,11 @@ public class ProjectServiceImpl implements ProjectService { //3、获取下一级组织机构\网格 - if( customerAgencyDTO.getData().getLevel() == "community" ){ + if ("community".equals(customerAgencyDTO.getData().getLevel())) { //取下级网格 Result> gridListResult = govOrgOpenFeignClient.listGridsbystaffid(userId); List gridList = gridListResult.getData(); - for(int i=0;i Date: Tue, 27 Oct 2020 13:29:11 +0800 Subject: [PATCH 048/130] =?UTF-8?q?=E6=B7=BB=E5=8A=A0gridId=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/form/WxSubscribeMessageFormDTO.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxSubscribeMessageFormDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxSubscribeMessageFormDTO.java index 84ec028cc5..c9f8b1e4a6 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxSubscribeMessageFormDTO.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxSubscribeMessageFormDTO.java @@ -54,4 +54,9 @@ public class WxSubscribeMessageFormDTO implements Serializable { @NotNull(message = "消息时间不能为空") private Date messageTime; + /** + * 网格id-居民端用 + */ + private String gridId; + } From f7085b3e6743cd87092536804097d75b0600d4ff Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 27 Oct 2020 14:00:44 +0800 Subject: [PATCH 049/130] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E4=B8=8B=E6=89=80=E6=9C=89=E7=9A=84=E9=9A=BE=E7=82=B9=E5=A0=B5?= =?UTF-8?q?=E7=82=B9=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/project/ProjectDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml index 04fa7f0d4f..0a95c63b0a 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml @@ -249,7 +249,7 @@ screen_difficulty_data diff WHERE diff.DEL_FLAG = '0' - AND diff.ORG_ID = #{agencyId} + AND diff.ALL_PARENT_IDS LIKE CONCAT('%',#{agencyId},'%') AND diff.EVENT_STATUS_CODE = #{status} From 765f1c704621bf7a11902a10c1a0a8cac87aa40f Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 27 Oct 2020 14:10:18 +0800 Subject: [PATCH 050/130] =?UTF-8?q?=E6=B6=88=E6=81=AF=E5=8F=91=E9=80=81?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E8=A1=A8=E6=B7=BB=E5=8A=A0=E7=BD=91=E6=A0=BC?= =?UTF-8?q?ID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/WxmpMsgSendRecordDTO.java | 4 ++++ .../main/java/com/epmet/entity/WxmpMsgSendRecordEntity.java | 5 +++++ .../main/java/com/epmet/excel/WxmpMsgSendRecordExcel.java | 3 +++ 3 files changed, 12 insertions(+) diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/WxmpMsgSendRecordDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/WxmpMsgSendRecordDTO.java index 99149fde28..745708b221 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/WxmpMsgSendRecordDTO.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/WxmpMsgSendRecordDTO.java @@ -42,6 +42,10 @@ public class WxmpMsgSendRecordDTO implements Serializable { * 客户Id 客户Id */ private String customerId; + /** + * 网格Id(居民端跟网格有关的则有值,工作端以及一些居民端和网格没关的存*) + */ + private String gridId; /** * 所属端类型 居民端:resi 工作端:work diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/WxmpMsgSendRecordEntity.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/WxmpMsgSendRecordEntity.java index 89e1837475..cd303c4e6f 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/WxmpMsgSendRecordEntity.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/WxmpMsgSendRecordEntity.java @@ -43,6 +43,11 @@ public class WxmpMsgSendRecordEntity extends BaseEpmetEntity { */ private String customerId; + /** + * 网格Id(居民端跟网格有关的则有值,工作端以及一些居民端和网格没关的存*) + */ + private String gridId; + /** * 所属端类型 居民端:resi 工作端:work */ diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/excel/WxmpMsgSendRecordExcel.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/excel/WxmpMsgSendRecordExcel.java index a0d474ba82..d458acb436 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/excel/WxmpMsgSendRecordExcel.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/excel/WxmpMsgSendRecordExcel.java @@ -37,6 +37,9 @@ public class WxmpMsgSendRecordExcel { @Excel(name = "客户Id 客户Id") private String customerId; + @Excel(name = "网格Id") + private String gridId; + @Excel(name = "所属端类型 居民端:resi 工作端:work") private String clientType; From 53dcbc1aa9fc1d344c8fffc9e2d28743520bbdf4 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 27 Oct 2020 14:11:31 +0800 Subject: [PATCH 051/130] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E4=B8=8B=E6=89=80=E6=9C=89=E7=9A=84=E9=9A=BE=E7=82=B9=E5=A0=B5?= =?UTF-8?q?=E7=82=B9=E6=95=B0=E6=8D=AE=EF=BC=8C=E4=B8=8D=E9=9C=80=E8=A6=81?= =?UTF-8?q?orgType?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/project/dto/form/DifficultyRankFormDTO.java | 9 +-------- .../datareport/controller/project/ProjectController.java | 4 ++-- .../src/main/resources/mapper/project/ProjectDao.xml | 1 - 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/DifficultyRankFormDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/DifficultyRankFormDTO.java index 782e9a1828..b59289fdf3 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/DifficultyRankFormDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/DifficultyRankFormDTO.java @@ -3,7 +3,6 @@ package com.epmet.project.dto.form; import lombok.Data; import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; import java.io.Serializable; /** @@ -32,10 +31,4 @@ public class DifficultyRankFormDTO implements Serializable { * 获取数据个数 默认前10 */ private Integer topNum = 10; - /** - * 查询的组织类型 网格:grid ; 组织:agency - */ - @NotBlank(message = "查询的组织类型不能为空",groups = {DifficultyRankInternalGroup.class}) - private String orgType; - -} +} \ No newline at end of file diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java index 1fb8ccab27..94186e7336 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java @@ -93,10 +93,10 @@ public class ProjectController { } /** - * @Description 难点赌点-耗时最长|涉及部门最多|处理次数 - * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321614 * @param param * @return + * @Description 难点赌点-耗时最长|涉及部门最多|处理次数 返回该组织下所有的难点堵点的 数据 + * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321614 * @author jiangyy * @date 2020.10.19 16:38 **/ diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml index 0a95c63b0a..8a494eda0f 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml @@ -253,7 +253,6 @@ AND diff.EVENT_STATUS_CODE = #{status} - AND diff.ORG_TYPE = #{orgType} ORDER BY CASE #{type} WHEN 'timelongest' THEN diff.EVENT_COST_TIME WHEN 'mosthandled' THEN diff.EVENT_HANDLED_COUNT From a58441c787ca188fd465e7cf4145313cef72c379 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 27 Oct 2020 14:18:05 +0800 Subject: [PATCH 052/130] =?UTF-8?q?=E8=B0=83=E6=95=B4=20sql=20=E5=88=A4?= =?UTF-8?q?=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/project/ProjectDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml index 8a494eda0f..663c893a98 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml @@ -250,7 +250,7 @@ WHERE diff.DEL_FLAG = '0' AND diff.ALL_PARENT_IDS LIKE CONCAT('%',#{agencyId},'%') - + AND diff.EVENT_STATUS_CODE = #{status} ORDER BY From 7eed6939730a2f44e46329d01fc2ab7c8a4cba2c Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 27 Oct 2020 14:23:14 +0800 Subject: [PATCH 053/130] =?UTF-8?q?=E8=AE=A2=E9=98=85=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E5=8F=91=E9=80=81=E6=B7=BB=E5=8A=A0gridId=E5=85=A5=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/constant/ActMessageConstant.java | 2 +- .../java/com/epmet/service/impl/WorkActServiceImpl.java | 1 + .../com/epmet/service/impl/WorkActUserServiceImpl.java | 1 + .../main/java/com/epmet/constant/UserMessageConstant.java | 8 ++++---- .../java/com/epmet/service/impl/IssueServiceImpl.java | 5 ++++- .../main/java/com/epmet/constant/UserMessageConstant.java | 4 ++-- .../com/epmet/service/impl/ProjectProcessServiceImpl.java | 1 + .../java/com/epmet/service/impl/ProjectServiceImpl.java | 3 +++ .../java/com/epmet/service/impl/ArticleServiceImpl.java | 1 + .../src/main/java/com/epmet/utils/ModuleConstant.java | 4 ++-- 10 files changed, 20 insertions(+), 10 deletions(-) diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/constant/ActMessageConstant.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/constant/ActMessageConstant.java index 0b76c9d508..3d7a57cce9 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/constant/ActMessageConstant.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/constant/ActMessageConstant.java @@ -30,5 +30,5 @@ public interface ActMessageConstant { /** * 工作端-重新发布活动,通知待审核+已经审核通过的用户 */ - String RE_PUBLISH_ACT="您好,您参与的%s活动,%s,请注意查看"; + String RE_PUBLISH_ACT="您参与的%s活动,%s,请注意查看"; } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActServiceImpl.java index 28b0ecd054..68915220c9 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActServiceImpl.java @@ -703,6 +703,7 @@ public class WorkActServiceImpl implements WorkActService { dto.setBehaviorType(ActMessageConstant.WXMP_TITLE); dto.setMessageContent(String.format(ActMessageConstant.ACT_CANCELED, actInfoDTO.getTitle(), formDTO.getCancelReason())); dto.setMessageTime(new Date()); + dto.setGridId("*"); msgList.add(dto); } Result sendMessageRes= epmetMessageOpenFeignClient.saveUserMessageList(userMessageFormDTOS); diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java index 4fd7a650d6..9e58336c61 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java @@ -664,6 +664,7 @@ public class WorkActUserServiceImpl implements WorkActUserService { msg.setUserId(actUserRelationEntity.getUserId()); msg.setBehaviorType(ActMessageConstant.WXMP_TITLE); msg.setMessageTime(new Date()); + msg.setGridId("*"); if (ActConstant.ACT_USER_STATUS_PASSED.equals(type)) { msg.setMessageContent(String.format(ActMessageConstant.AUDIT_PASSED, actInfo.getTitle())); } else if (ActConstant.ACT_USER_STATUS_REFUSED.equals(type)) { diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/UserMessageConstant.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/UserMessageConstant.java index 89f709e5a5..2a0cf7b35f 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/UserMessageConstant.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/UserMessageConstant.java @@ -19,21 +19,21 @@ public interface UserMessageConstant { /** * 议题关闭时,选择已解决 */ - String ISSUE_RESOLVED_MSG = "您好,您发表的话题\"%s\"问题已解决,解决方案是:%s"; + String ISSUE_RESOLVED_MSG = "您发表的话题\"%s\"问题已解决,解决方案是:%s"; /** * 议题关闭时,选择无需解决 */ - String ISSUE_UNRESOLVED_MSG = "您好,您发表的话题\"%s\"问题无需解决,原因:%s"; + String ISSUE_UNRESOLVED_MSG = "您发表的话题\"%s\"问题无需解决,原因:%s"; /** * 议题转项目消息模板 */ - String ISSUE_SHIFT_PROJECT_MSG = "您好,您发表的话题\"%s\"的问题,已由%s部门处理,请查看。"; + String ISSUE_SHIFT_PROJECT_MSG = "您发表的话题\"%s\"的问题,已由%s部门处理,请查看。"; /** * 议题转项目消息模板 */ - String PROJECT_RESOLVED_MSG = "您好。您收到一条【%s】的新信息,请您尽快处理。"; + String PROJECT_RESOLVED_MSG = "您收到一条【%s】的新信息,请您尽快处理。"; } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index 14f5a85331..ba08dc7952 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -488,6 +488,7 @@ public class IssueServiceImpl extends BaseServiceImpl imp msgDTO.setBehaviorType(UserMessageConstant.WXMP_ISSUE_TITLE); msgDTO.setMessageContent(messageContent); msgDTO.setMessageTime(new Date()); + msgDTO.setGridId(entity.getGridId()); msgList.add(msgDTO); //话题人和议题人是同一个人时则只发送一条居民消息 if (!topicDTO.getCreatedBy().equals(entity.getCreatedBy())) { @@ -612,7 +613,7 @@ public class IssueServiceImpl extends BaseServiceImpl imp if (!shiftProjectMessage(issueProjectResultDTO, formDTO, entity).success()) { throw new RenException(IssueConstant.SAVE_MSG_EXCEPTION); } - //5-1:2020.10.26 添加推送微信订阅消息功能 sun + //5-1:2020.10.26 添加给居民端话题创建人、议题发起人以及政府端工作人员推送微信订阅消息功能 sun if (!wxmpShiftProjectMessage(issueProjectResultDTO, formDTO, entity).success()) { logger.error("议题转项目,推送微信订阅消息失败!"); } @@ -685,6 +686,7 @@ public class IssueServiceImpl extends BaseServiceImpl imp String topicIssueMessage = String.format(UserMessageConstant.ISSUE_SHIFT_PROJECT_MSG, formDTO.getTopicDTO().getTopicContent(), issueProjectResultDTO.getOrgName()); msgDTO.setMessageContent(topicIssueMessage); msgDTO.setMessageTime(new Date()); + msgDTO.setGridId(entity.getGridId()); msgList.add(msgDTO); //话题人和议题人是同一个人时则只发送一条居民消息 if (!formDTO.getTopicDTO().getCreatedBy().equals(entity.getCreatedBy())) { @@ -705,6 +707,7 @@ public class IssueServiceImpl extends BaseServiceImpl imp msg.setBehaviorType(UserMessageConstant.WXMP_ISSUE_TITLE); msg.setMessageContent(projectStaffMessage); msg.setMessageTime(new Date()); + msg.setGridId("*"); msgList.add(msg); map.put(staff.getStaffId(),staff.getStaffId()); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/UserMessageConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/UserMessageConstant.java index e7d23feb76..0d712e4daa 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/UserMessageConstant.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/UserMessageConstant.java @@ -19,11 +19,11 @@ public interface UserMessageConstant { /** * 议题转项目、项目流转、项目退回消息模板 */ - String PROJECT_RESOLVED_MSG = "您好。您收到一条【%s】的新信息,请您尽快处理。"; + String PROJECT_RESOLVED_MSG = "您收到一条【%s】的新信息,请您尽快处理。"; /** * 项目结案消息模板 */ - String PROJECT_CLOSED_MSG = "您好,您参与的【%s】项目已结案,原因:%s"; + String PROJECT_CLOSED_MSG = "您参与的【%s】项目已结案,原因:%s"; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java index ad819bbe65..5d73eb379a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java @@ -351,6 +351,7 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl Date: Tue, 27 Oct 2020 14:38:35 +0800 Subject: [PATCH 054/130] =?UTF-8?q?=E6=B6=88=E6=81=AF=E8=AE=A2=E9=98=85?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0gridId=EF=BC=8C=E6=B7=BB=E5=8A=A0=E8=B7=B3?= =?UTF-8?q?=E8=BD=ACpage=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/constant/WxmpMessageConstant.java | 8 ++-- .../service/impl/WxmpMessageServiceImpl.java | 45 ++++++++++++++----- .../resources/mapper/WxmpMsgSendRecordDao.xml | 2 + .../service/impl/ResiGroupServiceImpl.java | 3 ++ .../impl/ResiGroupMemberServiceImpl.java | 4 ++ .../impl/PartyMemberConfirmServiceImpl.java | 3 +- .../impl/ResiWarmheartedApplyServiceImpl.java | 2 + 7 files changed, 51 insertions(+), 16 deletions(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/WxmpMessageConstant.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/WxmpMessageConstant.java index 07350f0695..9fdcf435af 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/WxmpMessageConstant.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/WxmpMessageConstant.java @@ -32,8 +32,12 @@ public interface WxmpMessageConstant { String TEMPLATE_ID = "template_id"; + String TEMPLATE_TYPE = "1832"; + String PAGE = "page"; + String PAGE_URL = "/subpages/mine/pages/message/skip"; + String TITLE = "title"; int TITLE_LIMIT = 20; @@ -52,10 +56,6 @@ public interface WxmpMessageConstant { String ERROR = "error"; - String PAGE_RESI = ""; - - String PAGE_WORK = ""; - String STATE_DEV = "developer"; String STATE_TEST = "trial"; diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java index 279c392d83..384b446e21 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java @@ -150,10 +150,10 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { //获取accessToken String clientTypeRedis = null; - if (WxmpMessageConstant.RESI.equals(msg.getClientType())){ + if (WxmpMessageConstant.RESI.equals(msg.getClientType())) { clientTypeRedis = WxmpMessageConstant.RESI; } - if (WxmpMessageConstant.GOV_DB.equals(msg.getClientType())){ + if (WxmpMessageConstant.GOV_DB.equals(msg.getClientType())) { clientTypeRedis = WxmpMessageConstant.GOV_REDIS; } StringBuilder key = new StringBuilder(msg.getCustomerId()).append(":").append(clientTypeRedis); @@ -169,15 +169,30 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { } //获取模板id - if (WxmpMessageConstant.RESI.equals(clientType)) { - templateId = wxmpResiUserSubscribeDao.getResiSubscribeTemplateId(openId, customerId); - } else if (WxmpMessageConstant.GOV_DB.equals(clientType)) { - templateId = wxmpWorkUserSubscribeDao.getWorkSubscribeTemplateId(openId, customerId); +// if (WxmpMessageConstant.RESI.equals(clientType)) { +// templateId = wxmpResiUserSubscribeDao.getResiSubscribeTemplateId(openId, customerId); +// } else if (WxmpMessageConstant.GOV_DB.equals(clientType)) { +// templateId = wxmpWorkUserSubscribeDao.getWorkSubscribeTemplateId(openId, customerId); +// } + CustomerTemplateListFormDTO customerTemplateListFormDTO = new CustomerTemplateListFormDTO(); + customerTemplateListFormDTO.setCustomerId(customerId); + customerTemplateListFormDTO.setPublicId(WxmpMessageConstant.TEMPLATE_TYPE); + List customerTemplateListResultDTOS = customerTemplateList(customerTemplateListFormDTO); + if (customerTemplateListResultDTOS.size() > NumConstant.ZERO) { + for (CustomerTemplateListResultDTO customerTemplateListResultDTO : customerTemplateListResultDTOS) { + if (WxmpMessageConstant.GOV_REDIS.equals(customerTemplateListResultDTO.getClientType())){ + customerTemplateListResultDTO.setClientType(WxmpMessageConstant.GOV_DB); + } + if (clientType.equals(customerTemplateListResultDTO.getClientType())) { + templateId = customerTemplateListResultDTO.getTemplateId(); + } + } + } else { + throw new WxSubscribeException("获取模板id失败", "", openId); } if (StringUtils.isBlank(templateId)) { throw new WxSubscribeException("获取模板id失败", "", openId); } - //判断用户是否有次数 Integer count = null; if (WxmpMessageConstant.RESI.equals(clientType)) { @@ -200,23 +215,30 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { jsonObject.put(WxmpMessageConstant.ACCESS_TOKEN, accessToken); jsonObject.put(WxmpMessageConstant.TOUSER, openId); jsonObject.put(WxmpMessageConstant.TEMPLATE_ID, templateId); + //标题 String title = "您有一条" + msg.getBehaviorType(); JSONObject titleJson = new JSONObject(); titleJson.put("value", title.length() > WxmpMessageConstant.TITLE_LIMIT ? title.substring(0, WxmpMessageConstant.TITLE_LIMIT) : title); data.put(WxmpMessageConstant.TITLE, titleJson); + //内容 JSONObject contentJson = new JSONObject(); contentJson.put("value", msg.getMessageContent().length() > WxmpMessageConstant.MESSAGE_CONTENT_LIMIT ? msg.getMessageContent().substring(0, WxmpMessageConstant.MESSAGE_CONTENT_LIMIT) : msg.getMessageContent()); data.put(WxmpMessageConstant.MESSAGE_CONTENT, contentJson); + //时间 JSONObject timeJson = new JSONObject(); timeJson.put("value", new SimpleDateFormat("yyyy-MM-dd HH:mm").format(msg.getMessageTime())); - data.put(WxmpMessageConstant.MESSAGE_TIME,timeJson); + data.put(WxmpMessageConstant.MESSAGE_TIME, timeJson); jsonObject.put(WxmpMessageConstant.DATA, data); EnvEnum envEnum = EnvEnum.getCurrentEnv(); //选填项 if (WxmpMessageConstant.RESI.equals(clientType)) { - jsonObject.put(WxmpMessageConstant.PAGE, WxmpMessageConstant.PAGE_RESI); + StringBuilder resiPage = new StringBuilder(WxmpMessageConstant.PAGE_URL); + resiPage.append("?customerId=").append(customerId).append("&gridId=").append(msg.getGridId()); + jsonObject.put(WxmpMessageConstant.PAGE, resiPage.toString()); } else if (WxmpMessageConstant.GOV_DB.equals(clientType)) { - jsonObject.put(WxmpMessageConstant.PAGE, WxmpMessageConstant.PAGE_WORK); + StringBuilder govPage = new StringBuilder(WxmpMessageConstant.PAGE_URL); + govPage.append("?customerId=").append(customerId).append("&userId=").append(userId); + jsonObject.put(WxmpMessageConstant.PAGE, govPage.toString()); } //开发环境 if ("dev".equals(envEnum.getCode())) { @@ -266,7 +288,6 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { //抛出错误 throw new WxSubscribeException(String.valueOf(resultMap.get(WxmpMessageConstant.ERR_MSG)), templateId, openId); } - succecssCount++; } catch (Exception e) { String errMsg = e.getMessage(); @@ -297,6 +318,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { wxmpMsgSendRecordEntity.setCustomerId(msg.getCustomerId()); wxmpMsgSendRecordEntity.setClientType(msg.getClientType()); wxmpMsgSendRecordEntity.setTemplateId(templateId); + wxmpMsgSendRecordEntity.setGridId(msg.getGridId()==null?"":msg.getGridId()); wxmpMsgSendRecordEntity.setUserId(msg.getUserId()); wxmpMsgSendRecordEntity.setWxOpenId(openId); wxmpMsgSendRecordEntity.setBehaviorType(msg.getBehaviorType()); @@ -331,6 +353,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { List resultList = (List) mapToResult.getData(); return resultList; } + /** * @return * @Description 查询客户两个端小程序对应的站内信模板Id diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpMsgSendRecordDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpMsgSendRecordDao.xml index da33d13106..198d5cd529 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpMsgSendRecordDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpMsgSendRecordDao.xml @@ -11,6 +11,7 @@ template_id, user_id, wx_open_id, + grid_id behavior_type, title, message_content, @@ -30,6 +31,7 @@ #{templateId}, #{userId}, #{wxOpenId}, + #{gridId}, #{behaviorType}, #{title}, #{messageContent}, diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index b968d9c9be..d24ad2e1c4 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -579,6 +579,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); @@ -641,6 +644,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl Date: Tue, 27 Oct 2020 14:40:36 +0800 Subject: [PATCH 055/130] =?UTF-8?q?=E6=A8=A1=E6=9D=BFkey=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/constant/WxmpMessageConstant.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/WxmpMessageConstant.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/WxmpMessageConstant.java index 9fdcf435af..62c9e16dcb 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/WxmpMessageConstant.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/WxmpMessageConstant.java @@ -38,15 +38,15 @@ public interface WxmpMessageConstant { String PAGE_URL = "/subpages/mine/pages/message/skip"; - String TITLE = "title"; + String TITLE = "thing5"; int TITLE_LIMIT = 20; - String MESSAGE_CONTENT = "message_content"; + String MESSAGE_CONTENT = "thing4"; int MESSAGE_CONTENT_LIMIT = 20; - String MESSAGE_TIME = "message_time"; + String MESSAGE_TIME = "date2"; String DATA = "data"; From f36175413ded2125ef4c57c3342ccc97403c25b3 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 27 Oct 2020 15:41:55 +0800 Subject: [PATCH 056/130] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=AB=AF=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=88=91=E7=9A=84=E5=9F=BA=E6=9C=AC=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=B7=BB=E5=8A=A0=E6=89=8B=E6=9C=BA=E5=8F=B7?= =?UTF-8?q?=E8=BF=94=E5=8F=82=E7=94=A8=E4=BA=8E=E5=BE=AE=E4=BF=A1=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E8=AE=A2=E9=98=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/result/MineResultDTO.java | 5 +++++ .../main/java/com/epmet/service/impl/StaffServiceImpl.java | 1 + 2 files changed, 6 insertions(+) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java index 241f2eb44f..de4bf27a47 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java @@ -50,4 +50,9 @@ public class MineResultDTO implements Serializable { * 我所属的机关名称 */ private String myAgencyName; + + /** + * 手机号 + */ + private String mobile; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java index c51ef0b513..5875afa5b1 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java @@ -178,6 +178,7 @@ public class StaffServiceImpl implements StaffService { result.setRealName(staffDetail.getName()); result.setStaffHeadPhoto(staffDetail.getHeadPhoto()); result.setGender(staffDetail.getGender()); + result.setMobile(staffDetail.getMobile());//返参添加手机号 2020.10.27 sun result.setRoleList(staffDetail.getRoles()); //用户所属机关名称(上级-本级) result.setAgencyName(agencyName); From 47722c9008cbf009c02309a83ad7b30010bb54fb Mon Sep 17 00:00:00 2001 From: wangchao Date: Tue, 27 Oct 2020 15:53:46 +0800 Subject: [PATCH 057/130] =?UTF-8?q?=E9=9A=BE=E7=82=B9=E8=B5=8C=E7=82=B9?= =?UTF-8?q?=E6=8A=BD=E5=8F=96=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/screen/ScreenDifficultyDataDao.xml | 3 --- .../result/DifficultyIfExistedResultDTO.java | 27 ------------------- .../epmet/dao/project/ProjectProcessDao.java | 11 +++++++- ...srootsGovernDataAbsorptionServiceImpl.java | 14 ++++++---- .../screen/ScreenDifficultyDataService.java | 3 +-- .../impl/ScreenDifficultyDataServiceImpl.java | 14 +++------- .../project/ProjectProcessService.java | 12 ++++++++- .../impl/ProjectProcessServiceImpl.java | 22 +++++++++++++-- .../extract/FactOriginProjectMainDailyDao.xml | 1 - .../mapper/project/ProjectProcessDao.xml | 17 ++++++++++++ .../dto/result/ProjectOrgPeriodResultDTO.java | 3 ++- .../main/resources/mapper/ProjectStaffDao.xml | 1 + 12 files changed, 74 insertions(+), 54 deletions(-) delete mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/DifficultyIfExistedResultDTO.java diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenDifficultyDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenDifficultyDataDao.xml index 9c1325f591..a342420f2d 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenDifficultyDataDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenDifficultyDataDao.xml @@ -10,7 +10,6 @@ diff.EVENT_CONTENT AS title, diff.EVENT_STATUS_CODE AS STATUS, ROUND(diff.EVENT_COST_TIME/60,0) AS totalHours, - DATE_FORMAT( eve.EVENT_CREATE_TIME, '%Y-%m-%d %H:%i' ) AS createDateTime, diff.EVENT_SOURCE AS gridName, diff.EVENT_IMG_URL AS imgUrl, diff.EVENT_CATEGORY_NAME AS categoryName, @@ -18,8 +17,6 @@ diff.EVENT_RE_ORG AS handleCount FROM screen_difficulty_data diff - LEFT JOIN screen_event_data eve ON diff.EVENT_ID = eve.EVENT_ID - AND eve.DEL_FLAG = '0' WHERE diff.DEL_FLAG = '0' AND diff.ALL_PARENT_IDS LIKE CONCAT('%',#{agencyId},'%') diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/DifficultyIfExistedResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/DifficultyIfExistedResultDTO.java deleted file mode 100644 index fe9004f8bf..0000000000 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/DifficultyIfExistedResultDTO.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.epmet.dto.screen.result; - -import lombok.Data; - -import java.io.Serializable; -import java.util.List; - -/** - * @Description 判断难点赌点是否有数据的返回DTO - * @ClassName DifficultyIfExistedResultDTO - * @Auth wangc - * @Date 2020-09-28 10:45 - */ -@Data -public class DifficultyIfExistedResultDTO implements Serializable { - private static final long serialVersionUID = -2278401165059196896L; - - /** - * 是否有数据 true false - */ - private boolean ifExisted = false; - - /** - * 已经结案的项目Id集合 - */ - private List closedIds; -} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java index e923a26c70..79e2f51b48 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java @@ -152,7 +152,16 @@ public interface ProjectProcessDao extends BaseDao { * @author wangc * @date 2020.09.28 14:45 */ - List selectLatestOperation(@Param("list") List list); + List selectLatestOperation(@Param("list") List list,@Param("customerId") String customerId); + + /** + * @Description 查找项目标题 + * @param list + * @return java.util.List + * @author wangc + * @date 2020.09.28 14:45 + */ + List selectProjectTitle(@Param("list") List list,@Param("customerId") String customerId); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java index 013838a959..b5e717f713 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java @@ -6,7 +6,6 @@ import com.epmet.commons.tools.utils.DateUtils; import com.epmet.dto.org.GridInfoDTO; import com.epmet.dto.screen.form.ProjectSourceMapFormDTO; import com.epmet.dto.screen.form.ScreenCentralZoneDataFormDTO; -import com.epmet.dto.screen.result.DifficultyIfExistedResultDTO; import com.epmet.entity.evaluationindex.screen.ScreenDifficultyDataEntity; import com.epmet.entity.evaluationindex.screen.ScreenDifficultyImgDataEntity; import com.epmet.entity.evaluationindex.screen.ScreenPartyUserRankDataEntity; @@ -135,15 +134,17 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr **/ @Override public void difficultyDataHub(ScreenCentralZoneDataFormDTO param) { - //验证是否存在 - DifficultyIfExistedResultDTO existedMap = screenDifficultyDataService.selectExistedInfo(param.getCustomerId()); + //查询数据 - List difficulties = factOriginProjectMainDailyService.getDifficultyBaseInfo(param.getCustomerId(),existedMap.getClosedIds()); + List difficulties = factOriginProjectMainDailyService.getDifficultyBaseInfo(param.getCustomerId(),screenDifficultyDataService.selectExistedInfo(param.getCustomerId())); if(CollectionUtils.isEmpty(difficulties)) return; List projectIds = difficulties.stream().map(ScreenDifficultyDataEntity :: getEventId).distinct().collect(Collectors.toList()); //最近一次操作 - Map latestOperationMap = projectProcessService.selectLatestOperation(projectIds,param.getCustomerId()); + Map latestOperationMap = projectProcessService.getLatestOperation(projectIds,param.getCustomerId()); + //标题 + Map titleMap = projectProcessService.getProjectTitle(projectIds,param.getCustomerId()); boolean isOperationNull = CollectionUtils.isEmpty(latestOperationMap) ? true : false; + boolean isTitleNull = CollectionUtils.isEmpty(titleMap) ? true : false; //图片 List projectSourceMap = factOriginProjectMainDailyService.getNewProject(param.getCustomerId(),projectIds); @@ -163,6 +164,9 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr if(!isOperationNull){ diff.setLatestOperateDesc(latestOperationMap.get(diff.getEventId())); } + if(!isTitleNull){ + diff.setEventTitle(titleMap.get(diff.getEventId())); + } diff.setDataEndTime(DateUtils.getBeforeNDay(NumConstant.ONE)); }); List imgList = new LinkedList<>(); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenDifficultyDataService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenDifficultyDataService.java index 8f9d136d88..3c6dec0673 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenDifficultyDataService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenDifficultyDataService.java @@ -18,7 +18,6 @@ package com.epmet.service.evaluationindex.screen; import com.epmet.commons.mybatis.service.BaseService; -import com.epmet.dto.screen.result.DifficultyIfExistedResultDTO; import com.epmet.entity.evaluationindex.screen.ScreenDifficultyDataEntity; import com.epmet.entity.evaluationindex.screen.ScreenDifficultyImgDataEntity; @@ -39,7 +38,7 @@ public interface ScreenDifficultyDataService extends BaseService selectExistedInfo(String customerId); /** diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenDifficultyDataServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenDifficultyDataServiceImpl.java index bc772ba821..c539114666 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenDifficultyDataServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenDifficultyDataServiceImpl.java @@ -24,7 +24,6 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.constant.DataSourceConstant; import com.epmet.dao.evaluationindex.screen.ScreenDifficultyDataDao; -import com.epmet.dto.screen.result.DifficultyIfExistedResultDTO; import com.epmet.entity.evaluationindex.screen.ScreenDifficultyDataEntity; import com.epmet.entity.evaluationindex.screen.ScreenDifficultyImgDataEntity; import com.epmet.service.evaluationindex.screen.ScreenDifficultyDataService; @@ -47,16 +46,9 @@ public class ScreenDifficultyDataServiceImpl extends BaseServiceImpl selectExistedInfo(String customerId) { + if (baseDao.selectCountByCustomerId(customerId) > NumConstant.ZERO) return baseDao.selectClosedProjectId(customerId); + return null; } @Override diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java index 48bd2488ee..49bd23a77b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java @@ -124,6 +124,16 @@ public interface ProjectProcessService extends BaseService * @author wangc * @date 2020.09.28 14:44 */ - Map selectLatestOperation(List list, String customerId); + Map getLatestOperation(List list, String customerId); + + /** + * @Description 获取项目标题 + * @param list + * @param customerId + * @return java.util.Map + * @author wangc + * @date 2020.10.27 14:34 + */ + Map getProjectTitle(Listlist ,String customerId); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java index 23dc8128ba..13552085b8 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java @@ -122,8 +122,8 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl selectLatestOperation(List list, String customerId) { - List operations = baseDao.selectLatestOperation(list); + public Map getLatestOperation(List list, String customerId) { + List operations = baseDao.selectLatestOperation(list,customerId); if(CollectionUtils.isEmpty(operations)){ return Collections.EMPTY_MAP; }else{ @@ -131,4 +131,22 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl + * @author wangc + * @date 2020.10.27 14:34 + */ + @Override + public Map getProjectTitle(List list, String customerId) { + List titles = baseDao.selectProjectTitle(list,customerId); + if(CollectionUtils.isEmpty(titles)){ + return Collections.EMPTY_MAP; + }else{ + return titles.stream().collect(Collectors.toMap(ProjectLatestOperationResultDTO :: getProjectId,ProjectLatestOperationResultDTO :: getOperationName)); + } + } + } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml index 4e70db274a..ec08e185d4 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml @@ -324,7 +324,6 @@ project.GRID_ID AS orgId, project.AGENCY_ID AS parentId, project.TOPIC_ID AS eventImgUrl, - project.TITLE AS eventTitle, gridInfo.allPathName AS eventSource, gridInfo.gridName AS orgName, project.PROJECT_STATUS AS eventStatusCode, diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml index 7960594364..efa7b82bb4 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml @@ -273,6 +273,7 @@ project_process process WHERE process.DEL_FLAG = '0' + AND process.CUSTOMER_ID = #{customerId} process.PROJECT_ID = #{projectId} @@ -306,4 +307,20 @@ + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectOrgPeriodResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectOrgPeriodResultDTO.java index 1548cdd9ef..69a2362b9d 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectOrgPeriodResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectOrgPeriodResultDTO.java @@ -33,7 +33,8 @@ public class ProjectOrgPeriodResultDTO implements Serializable { private String operation; /** - * 是这个节点的操作,相当于上一个人的操作,而不是对于这个节点的处理 + * source_operation + * 是生成这个节点的操作,相当于上一个人的操作,而不是对于这个节点的处理 * created transfer close return response * */ private String lastAction; diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml index 18df0a762a..8ba550b285 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml @@ -166,6 +166,7 @@ LEFT JOIN PROJECT project ON staff.PROJECT_ID = project.ID AND project.DEL_FLAG = '0' LEFT JOIN PROJECT_PROCESS process ON staff.PROCESS_ID = process.ID AND process.DEL_FLAG = '0' LEFT JOIN PROJECT_PROCESS selfAction ON staff.PROJECT_ID = selfAction.PROJECT_ID AND selfAction.DEL_FLAG = '0' + AND selfAction.OPERATION ]]> 'created' AND ABS(TIMESTAMPDIFF(SECOND,staff.UPDATED_TIME,selfAction.CREATED_TIME)) 30 AND staff.STAFF_ID = selfAction.STAFF_ID WHERE staff.DEL_FLAG = '0' From 84a9a392a62dedd28da63a16ecd475089b450a46 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 27 Oct 2020 15:53:54 +0800 Subject: [PATCH 058/130] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=B6=85=E6=9C=9F?= =?UTF-8?q?=E6=BB=9E=E7=95=99=E6=8F=90=E9=86=92=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/ProjectServiceImpl.java | 13 +++++++++++++ .../main/resources/db/migration/V0.0.3__default.sql | 6 ++++++ 2 files changed, 19 insertions(+) create mode 100644 epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.3__default.sql diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index 2c62bff5b9..09c5e74377 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -917,6 +917,7 @@ public class ProjectServiceImpl extends BaseServiceImpl paramList = parameterService.getParameterByCustomer(customerId); + List defaultList = parameterService.getParameterByCustomer("default"); //可滞留天数 int detentionDays = 5; //计算方式 @@ -938,6 +939,18 @@ public class ProjectServiceImpl extends BaseServiceImpl unHandledList = projectStaffService.getStaffUnHandledList(customerId); diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.3__default.sql b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.3__default.sql new file mode 100644 index 0000000000..d022ebec3a --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.3__default.sql @@ -0,0 +1,6 @@ +INSERT INTO customer_project_parameter(`ID`, `CUSTOMER_ID`, `PARAMETER_KEY`, `PARAMETER_NAME`, `PARAMETER_VALUE`, `DESCRIPTION`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1000', 'default', 'detention_days', '可滞留天数', '5', '默5天', '0', 1, '1', '2020-10-26 10:57:41', '1', '2020-10-26 10:57:45'); +INSERT INTO customer_project_parameter(`ID`, `CUSTOMER_ID`, `PARAMETER_KEY`, `PARAMETER_NAME`, `PARAMETER_VALUE`, `DESCRIPTION`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1001', 'default', 'calculation', '计算方式', 'work', '计算方式 工作日work 日历天calendar', '0', 1, '1', '2020-10-26 10:57:41', '1', '2020-10-26 10:57:45'); +INSERT INTO customer_project_parameter(`ID`, `CUSTOMER_ID`, `PARAMETER_KEY`, `PARAMETER_NAME`, `PARAMETER_VALUE`, `DESCRIPTION`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1002', 'default', 'remind_time', '即将超期提醒时间', '0', '默认 当天', '0', 1, '1', '2020-10-26 10:57:41', '1', '2020-10-26 10:57:45'); +INSERT INTO customer_project_parameter(`ID`, `CUSTOMER_ID`, `PARAMETER_KEY`, `PARAMETER_NAME`, `PARAMETER_VALUE`, `DESCRIPTION`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1003', 'default', 'push_time', '推送时间', '08:00', '默认 上午8点', '0', 1, '1', '2020-10-26 10:57:41', '1', '2020-10-26 10:57:45'); +INSERT INTO customer_project_parameter(`ID`, `CUSTOMER_ID`, `PARAMETER_KEY`, `PARAMETER_NAME`, `PARAMETER_VALUE`, `DESCRIPTION`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1004', 'default', 'start_time', '设定核算单位天开始时间', '00:00:00', '默认 00:00:00', '0', 1, '1', '2020-10-26 10:57:41', '1', '2020-10-26 10:57:45'); +INSERT INTO customer_project_parameter(`ID`, `CUSTOMER_ID`, `PARAMETER_KEY`, `PARAMETER_NAME`, `PARAMETER_VALUE`, `DESCRIPTION`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1005', 'default', 'end_time', '设定核算单位天结束时间', '23:59:00', '默认 23:59:00', '0', 1, '1', '2020-10-26 10:57:41', '1', '2020-10-26 10:57:45'); From 60d714052c664349c0b0d5d5d0bcff89cf398503 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 27 Oct 2020 16:13:27 +0800 Subject: [PATCH 059/130] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=B8=8B=E7=BA=A7?= =?UTF-8?q?=E7=BB=84=E7=BB=87=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datareport/service/project/impl/ProjectServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java index 5eb5a77341..6f8a0a0918 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java @@ -274,9 +274,9 @@ public class ProjectServiceImpl implements ProjectService { List gridList = gridListResult.getData(); for (int i = 0; i < gridList.size(); i++) { ProjectNextAgencyResultDTO subAgencyDto = new ProjectNextAgencyResultDTO(); - subAgencyDto.setOrgId(agencyId); - subAgencyDto.setOrgName(customerAgencyDTO.getData().getOrganizationName()); - subAgencyDto.setOrgType(customerAgencyDTO.getData().getLevel()); + subAgencyDto.setOrgId(gridList.get(i).getGridId()); + subAgencyDto.setOrgName(gridList.get(i).getGridName()); + subAgencyDto.setOrgType("grid"); resultList.add(subAgencyDto); } } else { From fbde10027142ab762d1d35f9e15a137bbb6de23b Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 27 Oct 2020 16:46:03 +0800 Subject: [PATCH 060/130] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=A0=B9=E6=8D=AEstaffId=E6=9F=A5=E8=AF=A2=E5=9F=BA=E6=9C=AC?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/StaffController.java | 15 ++++++++----- .../java/com/epmet/service/StaffService.java | 10 +++++---- .../epmet/service/impl/StaffServiceImpl.java | 9 ++++++++ .../epmet/feign/EpmetUserOpenFeignClient.java | 7 +++++++ .../EpmetUserOpenFeignClientFallback.java | 5 +++++ .../controller/CustomerStaffController.java | 11 +++++++++- .../java/com/epmet/dao/CustomerStaffDao.java | 10 +++++++-- .../epmet/service/CustomerStaffService.java | 8 ++++++- .../impl/CustomerStaffServiceImpl.java | 16 +++++++++++--- .../resources/mapper/CustomerStaffDao.xml | 21 ++++++++++++++++++- 10 files changed, 95 insertions(+), 17 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java index c3187e3e8e..ad9fefde01 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java @@ -8,14 +8,10 @@ import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.dto.form.StaffInfoFromDTO; -import com.epmet.dto.form.StaffSubmitFromDTO; -import com.epmet.dto.form.StaffTransferFormDTO; -import com.epmet.dto.form.StaffsInAgencyFromDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.service.StaffService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -151,4 +147,13 @@ public class StaffController { staffService.staffTransfer(tokenDto, formDTO); return new Result(); } + + /** + * 根据staffId查询用户基本信息 + * @author sun + */ + @PostMapping("staffbasicinfo") + public Result staffBasicInfo(@RequestBody StaffBasicInfoFromDTO fromDTO){ + return staffService.staffBasicInfo(fromDTO); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java index dab238f3fb..f23330fa24 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java @@ -2,10 +2,7 @@ package com.epmet.service; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.form.StaffInfoFromDTO; -import com.epmet.dto.form.StaffSubmitFromDTO; -import com.epmet.dto.form.StaffTransferFormDTO; -import com.epmet.dto.form.StaffsInAgencyFromDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import java.util.List; @@ -103,4 +100,9 @@ public interface StaffService { */ void staffTransfer(TokenDto tokenDto, StaffTransferFormDTO fromDTO); + /** + * 根据staffId查询用户基本信息 + * @author sun + */ + Result staffBasicInfo(StaffBasicInfoFromDTO fromDTO); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java index 5875afa5b1..cb3ed55f2f 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java @@ -256,4 +256,13 @@ public class StaffServiceImpl implements StaffService { staffTransferRecordDTO.setRemarks(fromDTO.getRemarks()); staffTransferRecordService.save(staffTransferRecordDTO); } + + /** + * 根据staffId查询用户基本信息 + * @author sun + */ + @Override + public Result staffBasicInfo(StaffBasicInfoFromDTO fromDTO) { + return epmetUserOpenFeignClient.staffBasicInfo(fromDTO); + } } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index 5f7c301ad0..6eb7d57801 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -327,4 +327,11 @@ public interface EpmetUserOpenFeignClient { **/ @PostMapping(value = "epmetuser/staffagencyvisited/getstaffbasicinfo") Result getStaffBasicInfo(@RequestBody StaffBasicInfoFormDTO formDTO); + + /** + * 根据staffId查询用户基本信息 + * @author sun + */ + @PostMapping("/epmetuser/customerstaff/staffbasicinfo") + Result staffBasicInfo(@RequestBody StaffBasicInfoFromDTO fromDTO); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index 64985eab15..ab82bf27f3 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -220,4 +220,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien public Result getStaffBasicInfo(StaffBasicInfoFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getStaffBasicInfo", formDTO); } + + @Override + public Result staffBasicInfo(StaffBasicInfoFromDTO fromDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "staffBasicInfo", fromDTO); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java index 0075470f27..648c0c3456 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java @@ -385,7 +385,7 @@ public class CustomerStaffController { * @Date 11:09 2020-08-25 **/ @PostMapping(value = "staffbasicinfo") - public Result staffBasicInfo(@LoginUser TokenDto tokenDTO){ + public Result staffBasicInfo(@LoginUser TokenDto tokenDTO){ return customerStaffService.selectStaffBasicInfo(tokenDTO.getUserId()); } @@ -401,4 +401,13 @@ public class CustomerStaffController { return new Result().ok(customerStaffService.getStaffIdAndPwd(formDTO)); } + /** + * 根据staffId查询用户基本信息 + * @author sun + */ + @PostMapping("staffbasicinfo") + public Result staffBasicInfo(@RequestBody StaffBasicInfoFromDTO fromDTO){ + return new Result().ok(customerStaffService.staffBasicInfo(fromDTO)); + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java index 2fdc573473..457c88e2f6 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java @@ -18,7 +18,6 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; -import com.epmet.commons.tools.utils.Result; import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; @@ -190,5 +189,12 @@ public interface CustomerStaffDao extends BaseDao { * @Author zhangyong * @Date 10:07 2020-08-26 **/ - StaffBasicInfoResultDTO selectStaffBasicInfo(@Param("userId") String userId); + BasicInfoResultDTO selectStaffBasicInfo(@Param("userId") String userId); + + /** + * 根据staffId查询用户基本信息 + * @author sun + * @return + */ + BasicInfoResultDTO getStaffBasicInfo(StaffBasicInfoFromDTO fromDTO); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java index 996848c4ea..caaf0400ff 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java @@ -305,7 +305,7 @@ public interface CustomerStaffService extends BaseService { * @Author zhangyong * @Date 11:10 2020-08-25 **/ - Result selectStaffBasicInfo(String userId); + Result selectStaffBasicInfo(String userId); /** * @param formDTO @@ -315,4 +315,10 @@ public interface CustomerStaffService extends BaseService { **/ GovWebOperLoginResultDTO getStaffIdAndPwd(GovWebOperLoginFormDTO formDTO); + /** + * 根据staffId查询用户基本信息 + * @author sun + * @return + */ + BasicInfoResultDTO staffBasicInfo(StaffBasicInfoFromDTO fromDTO); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java index ec85e7b960..9b8536f981 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java @@ -650,9 +650,9 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl selectStaffBasicInfo(String userId) { - StaffBasicInfoResultDTO resultDTO = baseDao.selectStaffBasicInfo(userId); - return new Result().ok(resultDTO); + public Result selectStaffBasicInfo(String userId) { + BasicInfoResultDTO resultDTO = baseDao.selectStaffBasicInfo(userId); + return new Result().ok(resultDTO); } /** @@ -667,4 +667,14 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl - SELECT cs.CUSTOMER_ID customerId, cs.USER_ID id, @@ -334,4 +334,23 @@ cs.DEL_FLAG = '0' AND cs.USER_ID = #{userId} + + From 9e42f113747fadd00dbc1be88ca07edd65658555 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 27 Oct 2020 16:57:42 +0800 Subject: [PATCH 061/130] =?UTF-8?q?=E6=BC=8F=E6=8F=90=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/StaffBasicInfoFromDTO.java | 21 +++++++ .../epmet/dto/result/BasicInfoResultDTO.java | 55 +++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffBasicInfoFromDTO.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BasicInfoResultDTO.java diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffBasicInfoFromDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffBasicInfoFromDTO.java new file mode 100644 index 0000000000..4ade21f08b --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffBasicInfoFromDTO.java @@ -0,0 +1,21 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @author sun + * @dscription + */ + +@Data +public class StaffBasicInfoFromDTO implements Serializable { + private static final long serialVersionUID = 1L; + /** + * 用户ID + */ + @NotBlank(message = "staffId不能为空") + String staffId; +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BasicInfoResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BasicInfoResultDTO.java new file mode 100644 index 0000000000..1796a3302f --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BasicInfoResultDTO.java @@ -0,0 +1,55 @@ +package com.epmet.dto.result; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/22 16:52 + */ +@NoArgsConstructor +@Data +public class BasicInfoResultDTO implements Serializable { + + private static final long serialVersionUID = 8987281818368677411L; + /** + * 工作人员id,后台userId + */ + private String staffId; + /** + * 头像 + */ + private String staffHeadPhoto; + /** + * 真实姓名 + */ + private String realName; + /** + * 性别0未知,1男2女 + */ + private Integer gender; + /** + * 手机号 + */ + private String mobile; + /** + * 未禁用enable,已禁用disabled + */ + private String enableFlag; + /** + * inactive未激活,active已激活 + */ + private String activeFlag; + /** + * 激活时间 + */ + private String activeTime; + /** + * fulltime专职parttime兼职 + */ + private String workType; +} From 4d66292a4b1a03af7a3a9ec2509b82eb2d88970b Mon Sep 17 00:00:00 2001 From: wangchao Date: Tue, 27 Oct 2020 17:15:59 +0800 Subject: [PATCH 062/130] =?UTF-8?q?=E5=9C=A8=E9=A1=B9=E7=9B=AE=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E8=80=97=E6=97=B6=E8=A1=A5=E5=85=A8=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=97=B6=EF=BC=8Cproject=5Fstaff=E4=B8=8Eproject=5Fprocess?= =?UTF-8?q?=E7=9A=84=E5=BC=B1=E5=85=B3=E8=81=94=E6=97=B6=E9=97=B4=E8=AF=AF?= =?UTF-8?q?=E5=B7=AE=E6=94=B9=E5=B0=8F=E5=88=B0=E4=BA=94=E7=A7=92=E4=BB=A5?= =?UTF-8?q?=E5=86=85=E5=B9=B6=E5=8A=A0=E4=B8=8AorgId=E3=80=81gridId?= =?UTF-8?q?=E3=80=81departmentId=E7=9A=84=E5=8C=B9=E9=85=8D=E3=80=82?= =?UTF-8?q?=E6=B3=A8:=E5=9B=A0=E4=B8=BAproject=5Fstaff=E8=A1=A8=E5=85=B3?= =?UTF-8?q?=E8=81=94=E5=88=B0project=5Fprocess=E6=98=AF=E6=B5=81=E8=BD=AC?= =?UTF-8?q?=E7=BB=99=E5=BD=93=E5=89=8Dstaff=E7=9A=84=E8=8A=82=E7=82=B9?= =?UTF-8?q?=EF=BC=8C=E8=BF=99=E4=B8=AAstaff=E5=A4=84=E7=90=86=E4=B9=8B?= =?UTF-8?q?=E5=90=8E=E7=94=9F=E6=88=90=E7=9A=84=E8=8A=82=E7=82=B9=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E5=85=B3=E8=81=94=E4=B8=8A=E6=89=80=E4=BB=A5=E5=8F=AA?= =?UTF-8?q?=E8=83=BD=E5=BC=B1=E5=85=B3=E8=81=94=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/ProjectStaffDao.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml index 8ba550b285..7532e29cc9 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml @@ -167,8 +167,11 @@ LEFT JOIN PROJECT_PROCESS process ON staff.PROCESS_ID = process.ID AND process.DEL_FLAG = '0' LEFT JOIN PROJECT_PROCESS selfAction ON staff.PROJECT_ID = selfAction.PROJECT_ID AND selfAction.DEL_FLAG = '0' AND selfAction.OPERATION ]]> 'created' - AND ABS(TIMESTAMPDIFF(SECOND,staff.UPDATED_TIME,selfAction.CREATED_TIME)) 30 + AND ABS(TIMESTAMPDIFF(SECOND,staff.UPDATED_TIME,selfAction.CREATED_TIME)) 5 AND staff.STAFF_ID = selfAction.STAFF_ID + AND staff.GRID_ID = selfAction.GRID_ID + AND staff.DEPARTMENT_ID = selfAction.DEPARTMENT_ID + AND staff.ORG_ID = selfAction.AGENCY_ID WHERE staff.DEL_FLAG = '0' AND project.CUSTOMER_ID = #{customerId} AND process.OPERATION ]]> 'response' From 87e37842d830a9065481cd61e7e3613dbe406e71 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 27 Oct 2020 17:42:25 +0800 Subject: [PATCH 063/130] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/StaffServiceImpl.java | 2 +- .../main/java/com/epmet/feign/EpmetUserOpenFeignClient.java | 4 ++-- .../feign/fallback/EpmetUserOpenFeignClientFallback.java | 4 ++-- .../java/com/epmet/controller/CustomerStaffController.java | 6 +++--- .../main/java/com/epmet/service/CustomerStaffService.java | 2 +- .../com/epmet/service/impl/CustomerStaffServiceImpl.java | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java index cb3ed55f2f..2c5a8fb6f7 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java @@ -263,6 +263,6 @@ public class StaffServiceImpl implements StaffService { */ @Override public Result staffBasicInfo(StaffBasicInfoFromDTO fromDTO) { - return epmetUserOpenFeignClient.staffBasicInfo(fromDTO); + return epmetUserOpenFeignClient.getStaffBasicInfo(fromDTO); } } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index 6eb7d57801..e7fda8ad3e 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -332,6 +332,6 @@ public interface EpmetUserOpenFeignClient { * 根据staffId查询用户基本信息 * @author sun */ - @PostMapping("/epmetuser/customerstaff/staffbasicinfo") - Result staffBasicInfo(@RequestBody StaffBasicInfoFromDTO fromDTO); + @PostMapping("/epmetuser/customerstaff/getstaffbasicinfo") + Result getStaffBasicInfo(@RequestBody StaffBasicInfoFromDTO fromDTO); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index ab82bf27f3..9e0c973463 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -222,7 +222,7 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien } @Override - public Result staffBasicInfo(StaffBasicInfoFromDTO fromDTO) { - return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "staffBasicInfo", fromDTO); + public Result getStaffBasicInfo(StaffBasicInfoFromDTO fromDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getStaffBasicInfo", fromDTO); } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java index 648c0c3456..e8ae592334 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java @@ -405,9 +405,9 @@ public class CustomerStaffController { * 根据staffId查询用户基本信息 * @author sun */ - @PostMapping("staffbasicinfo") - public Result staffBasicInfo(@RequestBody StaffBasicInfoFromDTO fromDTO){ - return new Result().ok(customerStaffService.staffBasicInfo(fromDTO)); + @PostMapping("getstaffbasicinfo") + public Result getStaffBasicInfo(@RequestBody StaffBasicInfoFromDTO fromDTO){ + return new Result().ok(customerStaffService.getStaffBasicInfo(fromDTO)); } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java index caaf0400ff..fe3c88e8fb 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java @@ -320,5 +320,5 @@ public interface CustomerStaffService extends BaseService { * @author sun * @return */ - BasicInfoResultDTO staffBasicInfo(StaffBasicInfoFromDTO fromDTO); + BasicInfoResultDTO getStaffBasicInfo(StaffBasicInfoFromDTO fromDTO); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java index 9b8536f981..17f0ae9f5e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java @@ -673,7 +673,7 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl Date: Wed, 28 Oct 2020 09:19:26 +0800 Subject: [PATCH 064/130] =?UTF-8?q?=E8=BF=94=E5=8F=82DTO=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/result/BasicInfoResultDTO.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) rename {epmet-module/gov-org/gov-org-client => epmet-user/epmet-user-client}/src/main/java/com/epmet/dto/result/BasicInfoResultDTO.java (92%) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BasicInfoResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/BasicInfoResultDTO.java similarity index 92% rename from epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BasicInfoResultDTO.java rename to epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/BasicInfoResultDTO.java index 1796a3302f..37d59e0472 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BasicInfoResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/BasicInfoResultDTO.java @@ -4,12 +4,10 @@ import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; -import java.util.List; /** - * @author zhaoqifeng + * @author sun * @dscription - * @date 2020/5/22 16:52 */ @NoArgsConstructor @Data From 1a915f33bbc61f345c31bf184bc4a18632471263 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 28 Oct 2020 09:34:56 +0800 Subject: [PATCH 065/130] =?UTF-8?q?=E5=85=A5=E5=8F=82=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/form/StaffBasicInfoFromDTO.java | 3 ++- .../main/java/com/epmet/controller/StaffController.java | 9 +++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffBasicInfoFromDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffBasicInfoFromDTO.java index 4ade21f08b..5c5e1ed6e9 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffBasicInfoFromDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffBasicInfoFromDTO.java @@ -16,6 +16,7 @@ public class StaffBasicInfoFromDTO implements Serializable { /** * 用户ID */ - @NotBlank(message = "staffId不能为空") + @NotBlank(message = "staffId不能为空", groups = {AddUserInternalGroup.class}) String staffId; + public interface AddUserInternalGroup {} } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java index ad9fefde01..88ee0bd046 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java @@ -152,8 +152,9 @@ public class StaffController { * 根据staffId查询用户基本信息 * @author sun */ - @PostMapping("staffbasicinfo") - public Result staffBasicInfo(@RequestBody StaffBasicInfoFromDTO fromDTO){ - return staffService.staffBasicInfo(fromDTO); - } + @PostMapping("staffbasicinfo") + public Result staffBasicInfo(@RequestBody StaffBasicInfoFromDTO fromDTO) { + ValidatorUtils.validateEntity(fromDTO, StaffBasicInfoFromDTO.AddUserInternalGroup.class); + return staffService.staffBasicInfo(fromDTO); + } } From 3113a24cd93c672e967392cb81570f7cbeb7b0c9 Mon Sep 17 00:00:00 2001 From: wangchao Date: Wed, 28 Oct 2020 11:14:28 +0800 Subject: [PATCH 066/130] =?UTF-8?q?project=5Fstaff=E5=85=B3=E8=81=94projec?= =?UTF-8?q?t=5Fprocess=E6=9D=A1=E4=BB=B6=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/ProjectStaffDao.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml index 7532e29cc9..95cb4ad585 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml @@ -169,8 +169,10 @@ AND selfAction.OPERATION ]]> 'created' AND ABS(TIMESTAMPDIFF(SECOND,staff.UPDATED_TIME,selfAction.CREATED_TIME)) 5 AND staff.STAFF_ID = selfAction.STAFF_ID - AND staff.GRID_ID = selfAction.GRID_ID - AND staff.DEPARTMENT_ID = selfAction.DEPARTMENT_ID + AND CASE WHEN staff.GRID_ID IS NULL THEN (staff.GRID_ID IS NULL AND selfAction.GRID_ID IS NULL) + ELSE (staff.GRID_ID = selfAction.GRID_ID) END + AND CASE WHEN staff.DEPARTMENT_ID IS NULL THEN (staff.DEPARTMENT_ID IS NULL AND selfAction.DEPARTMENT_ID IS NULL) + ELSE (staff.DEPARTMENT_ID = selfAction.DEPARTMENT_ID) END AND staff.ORG_ID = selfAction.AGENCY_ID WHERE staff.DEL_FLAG = '0' AND project.CUSTOMER_ID = #{customerId} From eeede2dee029c24505dbc6a2ed0b1d361102e22d Mon Sep 17 00:00:00 2001 From: wxz Date: Wed, 28 Oct 2020 15:06:34 +0800 Subject: [PATCH 067/130] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E5=B1=85?= =?UTF-8?q?=E6=B0=91=E7=AB=AF=E7=94=A8=E6=88=B7=E8=AE=A2=E9=98=85=E6=AC=A1?= =?UTF-8?q?=E6=95=B0=EF=BC=8C=E5=BF=98=E4=BA=86insert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java index 384b446e21..68d33ded01 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java @@ -445,6 +445,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { insert.setUserId(userId); insert.setWxOpenId(openId); insert.setWxSubscribeStatus(wxSubscribeStatus); + wxmpResiUserSubscribeDao.insert(insert); return; } From c311d07e817545a3b4029dea205fa0eef331e683 Mon Sep 17 00:00:00 2001 From: wangchao Date: Wed, 28 Oct 2020 15:11:27 +0800 Subject: [PATCH 068/130] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=97=A0=E7=94=A8?= =?UTF-8?q?=E7=9A=84=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../result/OrgResponseTimeResultDTO.java | 25 -------- .../FactOriginProjectOrgPeriodDailyDao.java | 29 --------- .../FactOriginProjectOrgPeriodDailyDao.xml | 62 ------------------- 3 files changed, 116 deletions(-) delete mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/OrgResponseTimeResultDTO.java diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/OrgResponseTimeResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/OrgResponseTimeResultDTO.java deleted file mode 100644 index 88735859d3..0000000000 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/OrgResponseTimeResultDTO.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.epmet.dto.extract.result; - -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** - * @Description 各机关响应时间 - * @ClassName OrgResponseTimeResultDTO - * @Auth wangc - * @Date 2020-09-21 02:03 - */ -@Data -public class OrgResponseTimeResultDTO implements Serializable { - private static final long serialVersionUID = 6017440139236985959L; - - private String agencyId; - - private BigDecimal responseTime; - - private BigDecimal projectTotal; - - private BigDecimal distinctProjectTotal; -} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.java index 8f29bf5ec9..d107e0e2fe 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.java @@ -18,12 +18,10 @@ package com.epmet.dao.evaluationindex.extract; import com.epmet.commons.mybatis.dao.BaseDao; -import com.epmet.dto.extract.result.OrgResponseTimeResultDTO; import com.epmet.dto.extract.result.OrgStatisticsResultDTO; import com.epmet.entity.evaluationindex.extract.FactOriginProjectOrgPeriodDailyEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; -import org.springframework.web.bind.annotation.PostMapping; import java.util.List; @@ -45,15 +43,6 @@ public interface FactOriginProjectOrgPeriodDailyDao extends BaseDao list); - /** - * @Description 查找网格、部门对项目的办结系数 - * @param customerId - * @return - * @author wangc - * @date 2020.09.21 02:13 - **/ - List selectSubOrgResponseCoefficient(@Param("customerId") String customerId,@Param("dimId") String dimId, @Param("dateType") String dateType); - - /** - * @Description 查找机关对项目的办结系数 - * @param customerId - * @return - * @author wangc - * @date 2020.09.21 02:13 - **/ - List selectAgencyResponseCoefficient(@Param("customerId") String customerId,@Param("dimId") String dimId, @Param("dateType") String dateType); - /** * 部门处理效率统计 * @author zhaoqifeng diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.xml index d0b868f62f..a01747d444 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.xml @@ -119,69 +119,7 @@ - - - - - From be12384c790aaf81afa827b910430f054ff253fa Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Thu, 29 Oct 2020 14:37:29 +0800 Subject: [PATCH 081/130] =?UTF-8?q?=E6=B6=88=E6=81=AF=E8=AE=A2=E9=98=85?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=AB=AFbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dao/WxmpResiUserSubscribeDao.java | 3 ++- .../epmet/dao/WxmpWorkUserSubscribeDao.java | 3 ++- .../service/impl/WxmpMessageServiceImpl.java | 26 +++++++++---------- .../mapper/WxmpResiUserSubscribeDao.xml | 1 + .../mapper/WxmpWorkUserSubscribeDao.xml | 2 ++ 5 files changed, 20 insertions(+), 15 deletions(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java index 2a525fa7c0..a59a55e67e 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java @@ -36,11 +36,12 @@ public interface WxmpResiUserSubscribeDao extends BaseDao msgList) { logger.info("待发送订阅消息数量:{}", msgList.size()); + if (!(msgList.size()>NumConstant.ZERO)){ + throw new RenException("待发送消息不能为空"); + } int succecssCount = 0; +// 获取templateId + CustomerTemplateListFormDTO customerTemplateListFormDTO = new CustomerTemplateListFormDTO(); + customerTemplateListFormDTO.setCustomerId(msgList.get(0).getCustomerId()); + customerTemplateListFormDTO.setPublicId(WxmpMessageConstant.TEMPLATE_TYPE); + List customerTemplateListResultDTOS = customerTemplateList(customerTemplateListFormDTO); + for (WxSubscribeMessageFormDTO msg : msgList) { try { String userId = msg.getUserId(); @@ -142,7 +151,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { throw new WxSubscribeException("clientType有误", "", openId); } } catch (Exception e) { - throw new WxSubscribeException("连接User服务失败", "", ""); + throw new WxSubscribeException("连接User服务失败"+e.getMessage(), "", ""); } if (StringUtils.isBlank(openId)) { @@ -162,7 +171,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { try { authorizerRefreshToken = wxmpMessageRedis.getAuthorizerRefreshToken(key.toString()); } catch (Exception e) { - throw new WxSubscribeException("连接缓存服务器失败", "", openId); + throw new WxSubscribeException("连接缓存服务器失败"+e.getMessage(), "", openId); } String accessToken = (String) authorizerRefreshToken.get(WxmpMessageConstant.AUTHORIZER_ACCESS_TOKEN); if (StringUtils.isBlank(accessToken)) { @@ -170,15 +179,6 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { } //获取模板id -// if (WxmpMessageConstant.RESI.equals(clientType)) { -// templateId = wxmpResiUserSubscribeDao.getResiSubscribeTemplateId(openId, customerId); -// } else if (WxmpMessageConstant.GOV_DB.equals(clientType)) { -// templateId = wxmpWorkUserSubscribeDao.getWorkSubscribeTemplateId(openId, customerId); -// } - CustomerTemplateListFormDTO customerTemplateListFormDTO = new CustomerTemplateListFormDTO(); - customerTemplateListFormDTO.setCustomerId(customerId); - customerTemplateListFormDTO.setPublicId(WxmpMessageConstant.TEMPLATE_TYPE); - List customerTemplateListResultDTOS = customerTemplateList(customerTemplateListFormDTO); if (customerTemplateListResultDTOS.size() > NumConstant.ZERO) { for (CustomerTemplateListResultDTO customerTemplateListResultDTO : customerTemplateListResultDTOS) { if (WxmpMessageConstant.GOV_REDIS.equals(customerTemplateListResultDTO.getClientType())){ @@ -197,9 +197,9 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { //判断用户是否有次数 Integer count = null; if (WxmpMessageConstant.RESI.equals(clientType)) { - count = wxmpResiUserSubscribeDao.getResiSubscribeInfo(openId, templateId, customerId); + count = wxmpResiUserSubscribeDao.getResiSubscribeInfo(openId, templateId, customerId,userId); } else if (WxmpMessageConstant.GOV_DB.equals(clientType)) { - count = wxmpWorkUserSubscribeDao.getWorkSubscribeInfo(openId, templateId, customerId); + count = wxmpWorkUserSubscribeDao.getWorkSubscribeInfo(openId, templateId, customerId,userId); } if (count == null) { //用户未订阅 diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml index 842e3a9e70..52d7fd71fc 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml @@ -12,6 +12,7 @@ and customer_id = #{customerId} and template_id = #{templateId} and wx_open_id = #{openId} + and user_id = #{userId} and wx_subscribe_status = 'subscribe' diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml index b1e092a166..cd25e8c5d2 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml @@ -18,8 +18,10 @@ from Wxmp_Work_User_Subscribe where del_flag =0 + and customer_id = #{customerId} and template_id = #{templateId} and wx_open_id = #{openId} + and user_id = #{userId} and wx_subscribe_status = 'subscribe' From 188647b416cfa1bf1f8d594a004296ce709a3015 Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Thu, 29 Oct 2020 15:35:33 +0800 Subject: [PATCH 082/130] =?UTF-8?q?accessToken=E8=8E=B7=E5=8F=96=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E5=8F=98=E6=9B=B4=EF=BC=8C=E5=B7=A5=E4=BD=9C=E7=AB=AF?= =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dao/WxmpResiUserSubscribeDao.java | 13 +-- .../epmet/dao/WxmpWorkUserSubscribeDao.java | 14 +-- .../service/impl/WxmpMessageServiceImpl.java | 109 ++++++++++++------ .../mapper/WxmpResiUserSubscribeDao.xml | 14 +-- .../mapper/WxmpWorkUserSubscribeDao.xml | 13 +-- 5 files changed, 84 insertions(+), 79 deletions(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java index a59a55e67e..3465d0d90f 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java @@ -53,7 +53,7 @@ public interface WxmpResiUserSubscribeDao extends BaseDao msgList) { logger.info("待发送订阅消息数量:{}", msgList.size()); - if (!(msgList.size()>NumConstant.ZERO)){ + if (!(msgList.size() > NumConstant.ZERO)) { throw new RenException("待发送消息不能为空"); } int succecssCount = 0; @@ -129,7 +130,8 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { customerTemplateListFormDTO.setCustomerId(msgList.get(0).getCustomerId()); customerTemplateListFormDTO.setPublicId(WxmpMessageConstant.TEMPLATE_TYPE); List customerTemplateListResultDTOS = customerTemplateList(customerTemplateListFormDTO); - +// 获取AccessToken + Map accessTokenMap = getAccessToken(msgList.get(0).getCustomerId()); for (WxSubscribeMessageFormDTO msg : msgList) { try { String userId = msg.getUserId(); @@ -151,37 +153,16 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { throw new WxSubscribeException("clientType有误", "", openId); } } catch (Exception e) { - throw new WxSubscribeException("连接User服务失败"+e.getMessage(), "", ""); + throw new WxSubscribeException("连接User服务失败" + e.getMessage(), "", ""); } if (StringUtils.isBlank(openId)) { throw new WxSubscribeException("openId获取失败", "", ""); } - - //获取accessToken - String clientTypeRedis = null; - if (WxmpMessageConstant.RESI.equals(msg.getClientType())) { - clientTypeRedis = WxmpMessageConstant.RESI; - } - if (WxmpMessageConstant.GOV_DB.equals(msg.getClientType())) { - clientTypeRedis = WxmpMessageConstant.GOV_REDIS; - } - StringBuilder key = new StringBuilder(msg.getCustomerId()).append(":").append(clientTypeRedis); - Map authorizerRefreshToken = new HashMap<>(); - try { - authorizerRefreshToken = wxmpMessageRedis.getAuthorizerRefreshToken(key.toString()); - } catch (Exception e) { - throw new WxSubscribeException("连接缓存服务器失败"+e.getMessage(), "", openId); - } - String accessToken = (String) authorizerRefreshToken.get(WxmpMessageConstant.AUTHORIZER_ACCESS_TOKEN); - if (StringUtils.isBlank(accessToken)) { - throw new WxSubscribeException("accessToken获取失败", "", openId); - } - //获取模板id if (customerTemplateListResultDTOS.size() > NumConstant.ZERO) { for (CustomerTemplateListResultDTO customerTemplateListResultDTO : customerTemplateListResultDTOS) { - if (WxmpMessageConstant.GOV_REDIS.equals(customerTemplateListResultDTO.getClientType())){ + if (WxmpMessageConstant.GOV_REDIS.equals(customerTemplateListResultDTO.getClientType())) { customerTemplateListResultDTO.setClientType(WxmpMessageConstant.GOV_DB); } if (clientType.equals(customerTemplateListResultDTO.getClientType())) { @@ -197,9 +178,9 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { //判断用户是否有次数 Integer count = null; if (WxmpMessageConstant.RESI.equals(clientType)) { - count = wxmpResiUserSubscribeDao.getResiSubscribeInfo(openId, templateId, customerId,userId); + count = wxmpResiUserSubscribeDao.getResiSubscribeInfo(openId, templateId, customerId, userId); } else if (WxmpMessageConstant.GOV_DB.equals(clientType)) { - count = wxmpWorkUserSubscribeDao.getWorkSubscribeInfo(openId, templateId, customerId,userId); + count = wxmpWorkUserSubscribeDao.getWorkSubscribeInfo(openId, templateId, customerId, userId); } if (count == null) { //用户未订阅 @@ -209,6 +190,17 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { throw new WxSubscribeException("用户可用额度不足", templateId, openId); } + //获取accessToken + String accessToken = null; + if (WxmpMessageConstant.RESI.equals(clientType)) { + accessToken = accessTokenMap.get("resiToken"); + } else if (WxmpMessageConstant.GOV_DB.equals(clientType)) { + accessToken = accessTokenMap.get("govToken"); + } + if (StringUtils.isBlank(accessToken)) { + throw new WxSubscribeException("accessToken获取失败"+accessTokenMap.get("errorMsg"), "", openId); + } + //发送消息 JSONObject jsonObject = new JSONObject(); JSONObject data = new JSONObject(); @@ -259,9 +251,9 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { //订阅条数-1 int decrease = 0; if (WxmpMessageConstant.RESI.equals(clientType)) { - decrease = wxmpResiUserSubscribeDao.decreaseResiSubscribeCount(openId, templateId, customerId, 1); + decrease = wxmpResiUserSubscribeDao.decreaseResiSubscribeCount(openId, templateId, customerId, 1,userId); } else if (WxmpMessageConstant.GOV_DB.equals(clientType)) { - decrease = wxmpWorkUserSubscribeDao.decreaseWorkSubscribeCount(openId, templateId, customerId, 1); + decrease = wxmpWorkUserSubscribeDao.decreaseWorkSubscribeCount(openId, templateId, customerId, 1,userId); } if (decrease == 0) { logger.error("消息{}发送成功但订阅条数-1失败", JSON.toJSONString(msg)); @@ -277,9 +269,9 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { if (errcode.equals(WxmpMessageConstant.USER_REFUSED)) { int clear = 0; if (WxmpMessageConstant.RESI.equals(clientType)) { - clear = wxmpResiUserSubscribeDao.clearResiSubscribeCount(openId, templateId, customerId); + clear = wxmpResiUserSubscribeDao.clearResiSubscribeCount(openId, templateId, customerId,userId); } else if (WxmpMessageConstant.GOV_DB.equals(clientType)) { - clear = wxmpWorkUserSubscribeDao.clearWorkSubscribeCount(openId, templateId, customerId); + clear = wxmpWorkUserSubscribeDao.clearWorkSubscribeCount(openId, templateId, customerId,userId); } if (clear == 0) { logger.error("消息{}发送失败且清空订阅条数失败", JSON.toJSONString(msg)); @@ -319,7 +311,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { wxmpMsgSendRecordEntity.setCustomerId(msg.getCustomerId()); wxmpMsgSendRecordEntity.setClientType(msg.getClientType()); wxmpMsgSendRecordEntity.setTemplateId(templateId); - wxmpMsgSendRecordEntity.setGridId(msg.getGridId()==null?"":msg.getGridId()); + wxmpMsgSendRecordEntity.setGridId(msg.getGridId() == null ? "" : msg.getGridId()); wxmpMsgSendRecordEntity.setUserId(msg.getUserId()); wxmpMsgSendRecordEntity.setWxOpenId(openId); wxmpMsgSendRecordEntity.setBehaviorType(msg.getBehaviorType()); @@ -330,6 +322,57 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { return wxmpMsgSendRecordEntity; } + //获取AccessToken + private Map getAccessToken(String customerId) { + EnvEnum envEnum = EnvEnum.getCurrentEnv(); + String resiAccessToken = null; + String govAccessToken = null; + String errorMsg = null; + if (EnvEnum.PROD.getCode().equals(envEnum.getCode())) { + //居民端 + StringBuilder resiKey = new StringBuilder(customerId).append(":").append(WxmpMessageConstant.RESI); + Map authorizerRefreshToken = new HashMap<>(); + try { + authorizerRefreshToken = wxmpMessageRedis.getAuthorizerRefreshToken(resiKey.toString()); + } catch (Exception e) { + errorMsg = e.getMessage(); + } + resiAccessToken = (String) authorizerRefreshToken.get(WxmpMessageConstant.AUTHORIZER_ACCESS_TOKEN); + //政府端 + StringBuilder govKey = new StringBuilder(customerId).append(":").append(WxmpMessageConstant.GOV_REDIS); + authorizerRefreshToken = new HashMap<>(); + try { + authorizerRefreshToken = wxmpMessageRedis.getAuthorizerRefreshToken(resiKey.toString()); + } catch (Exception e) { + errorMsg = e.getMessage(); + } + govAccessToken = (String) authorizerRefreshToken.get(WxmpMessageConstant.AUTHORIZER_ACCESS_TOKEN); + } else { + String url = "https://epmet-cloud.elinkservice.cn/api/third/pacustomer/tokenlist"; + JSONObject postData = new JSONObject(); + postData.put("customerId", customerId); + String data = HttpClientManager.getInstance().sendPostByJSON(url, JSON.toJSONString(postData)).getData(); + JSONObject toResult = JSON.parseObject(data); + Result mapToResult = ConvertUtils.mapToEntity(toResult, Result.class); + if (null != toResult.get("code")) { + mapToResult.setCode(((Integer) toResult.get("code")).intValue()); + } + if (!mapToResult.success()) { + errorMsg = StringUtils.isBlank(mapToResult.getMsg()) ? mapToResult.getInternalMsg() : mapToResult.getMsg(); + } + Object CustomerTokensResultDTO = mapToResult.getData(); + JSONObject json = JSON.parseObject(CustomerTokensResultDTO.toString()); + CustomerTokensResultDTO customerTokensResultDTO = ConvertUtils.mapToEntity(json, CustomerTokensResultDTO.class); + resiAccessToken = customerTokensResultDTO.getResiAuthorizerToken(); + govAccessToken = customerTokensResultDTO.getWorkAuthorizerToken(); + } + Map resultMap = new HashMap(); + resultMap.put("resiToken",resiAccessToken); + resultMap.put("govToken",govAccessToken); + resultMap.put("errorMsg",errorMsg); + return resultMap; + } + /** * @return * @Description 居民端、工作端-获取客户小程序模板列表 @@ -385,7 +428,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { List resultList = (List) mapToResult.getData(); List list = new ArrayList<>(); //必须转换 - for(Object f:resultList){ + for (Object f : resultList) { JSONObject json = JSON.parseObject(f.toString()); CustomerTemplateListResultDTO ff = ConvertUtils.mapToEntity(json, CustomerTemplateListResultDTO.class); list.add(ff); diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml index 52d7fd71fc..fa3c599a83 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml @@ -24,6 +24,7 @@ and customer_id = #{customerId} and template_id = #{templateId} and wx_open_id = #{openId} + and user_id = #{userId} and wx_subscribe_status = 'subscribe' @@ -36,20 +37,9 @@ and customer_id = #{customerId} and template_id = #{templateId} and wx_open_id = #{openId} + and user_id = #{userId} - - update wxmp_resi_user_subscribe diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml index cd25e8c5d2..5d82cbf369 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml @@ -33,6 +33,7 @@ and customer_id = #{customerId} and template_id = #{templateId} and wx_open_id = #{openId} + and user_id = #{userId} and wx_subscribe_status = 'subscribe' @@ -44,18 +45,8 @@ and customer_id = #{customerId} and template_id = #{templateId} and wx_open_id = #{openId} + and user_id = #{userId} - update wxmp_work_user_subscribe From 0b89850e8f0cf6722e17c959171aded3a0ad3784 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 29 Oct 2020 16:59:26 +0800 Subject: [PATCH 083/130] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=BB=9E=E7=95=99?= =?UTF-8?q?=E6=8F=90=E9=86=92=E6=B7=BB=E5=8A=A0=E5=BE=AE=E4=BF=A1=E6=B6=88?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/ProjectServiceImpl.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index 112243cf0b..3617f467ad 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -1232,6 +1232,8 @@ public class ProjectServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); + //10.29 项目滞留提醒添加推送微信消息 sun + List wxmpMsgList = new ArrayList<>(); list.forEach(dto -> { String title; String msg; @@ -1270,8 +1272,24 @@ public class ProjectServiceImpl extends BaseServiceImpl Date: Fri, 30 Oct 2020 09:34:19 +0800 Subject: [PATCH 084/130] =?UTF-8?q?=E5=8F=91=E9=80=81=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E8=AE=A2=E9=98=85=E7=9A=84sql=E4=B8=AD=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E4=B8=8E=E8=AE=A2=E9=98=85=E7=8A=B6=E6=80=81=E7=9A=84=E5=85=B3?= =?UTF-8?q?=E8=81=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/WxmpResiUserSubscribeDao.xml | 5 +---- .../src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml index fa3c599a83..5beddb80f8 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml @@ -13,7 +13,6 @@ and template_id = #{templateId} and wx_open_id = #{openId} and user_id = #{userId} - and wx_subscribe_status = 'subscribe' @@ -25,13 +24,11 @@ and template_id = #{templateId} and wx_open_id = #{openId} and user_id = #{userId} - and wx_subscribe_status = 'subscribe' update Wxmp_Resi_User_Subscribe - set count = 0, - wx_subscribe_status = 'unsubscribe' + set count = 0 where del_flag = 0 and customer_id = #{customerId} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml index 5d82cbf369..d4b4026d1d 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml @@ -22,7 +22,6 @@ and template_id = #{templateId} and wx_open_id = #{openId} and user_id = #{userId} - and wx_subscribe_status = 'subscribe' @@ -34,12 +33,10 @@ and template_id = #{templateId} and wx_open_id = #{openId} and user_id = #{userId} - and wx_subscribe_status = 'subscribe' update Wxmp_Work_User_Subscribe - set count = 0, - wx_subscribe_status = 'unsubscribe' + set count = 0 where del_flag =0 and customer_id = #{customerId} From a23b4eec51a3d526f1e0f64c0faa74923483d809 Mon Sep 17 00:00:00 2001 From: wxz Date: Fri, 30 Oct 2020 10:33:22 +0800 Subject: [PATCH 085/130] =?UTF-8?q?=E6=B6=88=E6=81=AF=E8=AE=A2=E9=98=85:?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E8=AE=A2=E9=98=85+=E6=80=BB=E6=98=AF=3D?= =?UTF-8?q?=E6=B8=85=E7=A9=BA=E6=AC=A1=E6=95=B0=EF=BC=8C=E5=8F=AA=E6=9C=89?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E8=AE=A2=E9=98=85=EF=BC=8C=E4=B8=8D=E6=B8=85?= =?UTF-8?q?=E7=A9=BA=E6=AC=A1=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dao/WxmpWorkUserSubscribeDao.java | 2 +- .../service/impl/WxmpMessageServiceImpl.java | 22 ++++++++++++++----- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpWorkUserSubscribeDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpWorkUserSubscribeDao.java index 0f5551cff3..2ba5c14e08 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpWorkUserSubscribeDao.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpWorkUserSubscribeDao.java @@ -53,7 +53,7 @@ public interface WxmpWorkUserSubscribeDao extends BaseDao Date: Fri, 30 Oct 2020 10:38:44 +0800 Subject: [PATCH 086/130] =?UTF-8?q?=E6=B6=88=E6=81=AF=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E2=80=9C=E6=82=A8=E5=A5=BD=E2=80=9D=E5=AD=97=E6=A0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/modules/constant/UserMessageConstant.java | 4 ++-- .../java/com/epmet/constant/PartyMemberMessageConstant.java | 4 ++-- .../warmhearted/constant/ResiWarmUserMessageConstant.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java index 880efbac70..d7da80088c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java @@ -37,12 +37,12 @@ public interface UserMessageConstant { /** * 建组审核驳回时消息模板 * */ - String DISAGREE_CREATING_GROUP_MSG_TEMPLATE = "您好,您申请的%s,已被驳回,原因:%s。"; + String DISAGREE_CREATING_GROUP_MSG_TEMPLATE = "您申请的%s,已被驳回,原因:%s。"; /** * 建组审核同意时消息模板 * */ - String AGREE_CREATING_GROUP_MSG_TEMPLATE = "您好,您申请的%s,已审核通过。"; + String AGREE_CREATING_GROUP_MSG_TEMPLATE = "您申请的%s,已审核通过。"; /** * 审核建组申请消息名称 diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/PartyMemberMessageConstant.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/PartyMemberMessageConstant.java index 7e22178bec..86223a328c 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/PartyMemberMessageConstant.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/PartyMemberMessageConstant.java @@ -19,12 +19,12 @@ public interface PartyMemberMessageConstant { /** * 党员申请审核通过给申请人发送消息:您好,您申请的党员已审核通过,请查看。 */ - String AUDIT_APPROVE_MSG = "您好,您申请的%s党员已审核通过,请查看。"; + String AUDIT_APPROVE_MSG = "您申请的%s党员已审核通过,请查看。"; /** * 党员申请审核驳回给申请人发送消息:您好,您申请的党员,由于不符合条件的原因,已被驳回。 */ - String AUDIT_REJECT_MSG = "您好,您申请的%s党员,由于不符合条件的原因,已被驳回。"; + String AUDIT_REJECT_MSG = "您申请的%s党员,由于不符合条件的原因,已被驳回。"; /** * 党员申请behavior diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/constant/ResiWarmUserMessageConstant.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/constant/ResiWarmUserMessageConstant.java index 13e1231a2a..1f7b6d6959 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/constant/ResiWarmUserMessageConstant.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/constant/ResiWarmUserMessageConstant.java @@ -19,12 +19,12 @@ public interface ResiWarmUserMessageConstant { /** * 热心居民申请审核通过给申请人发送消息:您好,您申请的第三网格热心居民已审核通过,请查看。 */ - String AUDIT_APPROVE_MSG = "您好,您申请的%s热心居民已审核通过,请查看。"; + String AUDIT_APPROVE_MSG = "您申请的%s热心居民已审核通过,请查看。"; /** * 热心居民申请审核驳回给申请人发送消息:您好,您申请的第三网格热心居民,已被驳回,原因:不符合要求。 */ - String AUDIT_REJECT_MSG = "您好,您申请的%s热心居民,已被驳回,原因:%s"; + String AUDIT_REJECT_MSG = "您申请的%s热心居民,已被驳回,原因:%s"; /** * 热心居民申请-微信订阅behavior From 8d140a8162a97895473ec364c3ba92b44c3212da Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Fri, 30 Oct 2020 12:35:39 +0800 Subject: [PATCH 087/130] =?UTF-8?q?=E5=8F=91=E9=80=81=E8=AE=A2=E9=98=85bug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/GroupInvitationServiceImpl.java | 17 +++++++++++++---- .../impl/ResiGroupMemberServiceImpl.java | 4 ++-- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java index bb02b51d0d..606eb75fbe 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java @@ -28,10 +28,7 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.ReadFlagConstant; -import com.epmet.dto.form.UserEnterGridFormDTO; -import com.epmet.dto.form.UserInvitationFormDTO; -import com.epmet.dto.form.UserMessageFormDTO; -import com.epmet.dto.form.UserResiInfoFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.UserInfoOnEnterGridResultDTO; import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.feign.EpmetMessageOpenFeignClient; @@ -438,6 +435,18 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); + msgList.add(wxSubscribeMessageFormDTO); + epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); if (result.success()) { logger.info("通知群主有新成员入群成功"); } else { diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java index 9b65fd0ddf..97b6030b74 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java @@ -277,7 +277,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl Date: Fri, 30 Oct 2020 13:29:16 +0800 Subject: [PATCH 088/130] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/member/service/impl/ResiGroupMemberServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java index 97b6030b74..318989299c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java @@ -550,6 +550,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); msgList.add(wxSubscribeMessageFormDTO); From 70d6796f02e2a24899bc8b5dbbc8d143dcff7d9c Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 30 Oct 2020 13:44:45 +0800 Subject: [PATCH 089/130] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E8=AE=A2=E9=98=85sql=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../V0.3.12.2__wxmp_message_template.sql | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.2__wxmp_message_template.sql diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.2__wxmp_message_template.sql b/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.2__wxmp_message_template.sql new file mode 100644 index 0000000000..4e707a0d3f --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.2__wxmp_message_template.sql @@ -0,0 +1,98 @@ +CREATE TABLE `wxmp_template_msg_subscribe_status` ( + `ID` varchar(64) NOT NULL COMMENT '主键', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id ', + `CLIENT_TYPE` varchar(64) NOT NULL COMMENT '所属端类型 居民端:resi 工作端:gov', + `USER_ID` varchar(64) NOT NULL COMMENT '用户Id ', + `TEMPLATE_ID` varchar(64) DEFAULT NULL COMMENT '模板id', + `ALWAYS_VISIT` varchar(32) DEFAULT NULL COMMENT '是否总是访问 是:yes 否:no', + `SUBSCRIBE_STATUS` varchar(32) DEFAULT NULL COMMENT '订阅状态(订阅:subscribe 取消订阅:unsubscribe)', + `WX_ALWAYS_VISIT` varchar(32) DEFAULT NULL COMMENT 'wx是否总是访问 是:yes 否:no', + `WX_SUBSCRIBE_STATUS` varchar(32) DEFAULT NULL COMMENT 'wx订阅状态 (订阅:subscribe 取消订阅:unsubscribe)', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除标识', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户模板消息订阅授权状态表(记录我们自己和微信的授权页用户勾选的状态)'; + + +CREATE TABLE `wxmp_user_subscribe_record` ( + `ID` varchar(64) NOT NULL COMMENT '主键', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id ', + `TEMPLATE_ID` varchar(64) NOT NULL COMMENT '消息模板Id ', + `USER_ID` varchar(64) NOT NULL COMMENT '用户Id ', + `WX_OPEN_ID` varchar(64) NOT NULL COMMENT 'openId ', + `BEHAVIOR_TYPE` varchar(128) DEFAULT NULL COMMENT '行为类型 (入组申请、党员认证)等', + `WX_ALWAYS_VISIT` varchar(32) DEFAULT NULL COMMENT 'wx是否总是访问 是:yes 否:no', + `WX_SUBSCRIBE_STATUS` varchar(32) DEFAULT NULL COMMENT 'wx订阅状态(订阅:subscribe 取消订阅:unsubscribe)', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除标识', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户触发订阅的行为记录表(同时记录微信授权页每次勾选的状态)'; + + +CREATE TABLE `wxmp_resi_user_subscribe` ( + `ID` varchar(64) NOT NULL COMMENT '主键', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id ', + `TEMPLATE_ID` varchar(64) NOT NULL COMMENT '消息模板Id', + `USER_ID` varchar(64) NOT NULL COMMENT '用户Id', + `WX_OPEN_ID` varchar(64) NOT NULL COMMENT 'openId ', + `WX_SUBSCRIBE_STATUS` varchar(32) DEFAULT NULL COMMENT 'wx订阅状态,只记录用户最后一次操作的勾选状态 (订阅:subscribe 取消订阅:unsubscribe)', + `COUNT` int(11) DEFAULT NULL COMMENT '可用推送次数', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除标识', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='居民端用户订阅模板消息次数记录表'; + + +CREATE TABLE `wxmp_work_user_subscribe` ( + `ID` varchar(64) NOT NULL COMMENT '主键', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id ', + `TEMPLATE_ID` varchar(64) NOT NULL COMMENT '消息模板Id ', + `USER_ID` varchar(64) NOT NULL COMMENT '用户Id ', + `WX_OPEN_ID` varchar(64) NOT NULL COMMENT 'openId ', + `WX_SUBSCRIBE_STATUS` varchar(32) DEFAULT NULL COMMENT 'wx订阅状态,只记录用户最后一次操作的勾选状态 (订阅:subscribe 取消订阅:unsubscribe)', + `COUNT` int(11) DEFAULT NULL COMMENT '可用推送次数 ', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除标识', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工作端用户订阅模板消息有效次数记录表 '; + + +CREATE TABLE `wxmp_msg_send_record` ( + `ID` varchar(64) NOT NULL COMMENT '主键', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id ', + `GRID_ID` varchar(64) NOT NULL COMMENT '网格Id (居民端跟网格有关的则有值,工作端以及一些居民端和网格没关的存*)', + `CLIENT_TYPE` varchar(64) NOT NULL COMMENT '所属端类型 居民端:resi 工作端:gov', + `TEMPLATE_ID` varchar(64) NOT NULL COMMENT '消息模板Id ', + `USER_ID` varchar(64) NOT NULL COMMENT '用户Id', + `WX_OPEN_ID` varchar(64) NOT NULL COMMENT 'openId ', + `BEHAVIOR_TYPE` varchar(128) NOT NULL COMMENT '行为类型(存title字段的中间值) 入组申请、党员认证等', + `TITLE` varchar(128) NOT NULL COMMENT '消息标题 ', + `MESSAGE_CONTENT` varchar(1024) NOT NULL COMMENT '消息内容 ', + `MESSAGE_TIME` datetime NOT NULL COMMENT '消息时间 ', + `RESULT` varchar(32) NOT NULL COMMENT '发送结果(成功:success 失败:error)', + `REASON` varchar(1024) DEFAULT NULL COMMENT '发送失败的原因,成功可以不记录', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除标识', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='消息发送记录表'; + From 0e967fcb481196784853853576b3ba6d60e35b2e Mon Sep 17 00:00:00 2001 From: wxz Date: Fri, 30 Oct 2020 15:10:54 +0800 Subject: [PATCH 090/130] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E8=AE=A2=E9=98=85=E4=BF=A1=E6=81=AF=E7=9A=84=E6=97=B6?= =?UTF-8?q?=E5=80=99=EF=BC=8C=E8=A6=81=E6=9B=B4=E6=96=B0UPDATE=5FTIME?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/mapper/WxmpResiUserSubscribeDao.xml | 12 ++++++++---- .../resources/mapper/WxmpWorkUserSubscribeDao.xml | 11 +++++++---- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml index 5beddb80f8..4a4764176d 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml @@ -17,7 +17,8 @@ update Wxmp_Resi_User_Subscribe - set count = if(count 1, 0, count - ${num} ) + set count = if(count 1, 0, count - ${num} ), + UPDATED_TIME = now() where del_flag = 0 and customer_id = #{customerId} @@ -28,7 +29,8 @@ update Wxmp_Resi_User_Subscribe - set count = 0 + set count = 0, + UPDATED_TIME = now() where del_flag = 0 and customer_id = #{customerId} @@ -41,7 +43,8 @@ update wxmp_resi_user_subscribe set COUNT=COUNT + #{incr}, - WX_SUBSCRIBE_STATUS = 'subscribe' + WX_SUBSCRIBE_STATUS = 'subscribe', + UPDATED_TIME = now() where USER_ID = #{userId} and CUSTOMER_ID = #{customerId} and TEMPLATE_ID = #{templateId} @@ -52,7 +55,8 @@ update wxmp_resi_user_subscribe set WX_SUBSCRIBE_STATUS = 'unsubscribe', - COUNT = 0 + COUNT = 0, + UPDATED_TIME = now() where USER_ID = #{userId} and CUSTOMER_ID = #{customerId} and TEMPLATE_ID = #{templateId} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml index d4b4026d1d..f797632581 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml @@ -5,7 +5,8 @@ update wxmp_work_user_subscribe set COUNT=COUNT + #{incr}, - WX_SUBSCRIBE_STATUS = 'subscribe' + WX_SUBSCRIBE_STATUS = 'subscribe', + UPDATED_TIME = now() where USER_ID = #{userId} and CUSTOMER_ID = #{customerId} and TEMPLATE_ID = #{templateId} @@ -26,7 +27,8 @@ update Wxmp_Work_User_Subscribe - set count = if(count < 1, 0, count - ${num} ) + set count = if(count < 1, 0, count - ${num} ), + UPDATED_TIME = now() where del_flag =0 and customer_id = #{customerId} @@ -36,7 +38,7 @@ update Wxmp_Work_User_Subscribe - set count = 0 + set count = 0, UPDATED_TIME = now() where del_flag =0 and customer_id = #{customerId} @@ -48,7 +50,8 @@ update wxmp_work_user_subscribe set WX_SUBSCRIBE_STATUS = 'unsubscribe', - COUNT = 0 + COUNT = 0, + UPDATED_TIME = now() where USER_ID = #{userId} and CUSTOMER_ID = #{customerId} and TEMPLATE_ID = #{templateId} From bc4c501845cf676cc56ffb48e58d885b003a150f Mon Sep 17 00:00:00 2001 From: wxz Date: Fri, 30 Oct 2020 15:38:53 +0800 Subject: [PATCH 091/130] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E8=AE=A2?= =?UTF-8?q?=E9=98=85=E7=9A=84=E6=97=B6=E5=80=99=EF=BC=8C=E7=94=A8=E5=93=AA?= =?UTF-8?q?=E4=B8=AA=E5=BE=AE=E4=BF=A1=E8=AE=A2=E9=98=85=EF=BC=8C=E5=B0=B1?= =?UTF-8?q?=E7=BB=99=E5=93=AA=E4=B8=AAopenid=E5=A2=9E=E5=8A=A0=E6=AC=A1?= =?UTF-8?q?=E6=95=B0=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dao/WxmpResiUserSubscribeDao.java | 6 ++++-- .../java/com/epmet/dao/WxmpWorkUserSubscribeDao.java | 4 +++- .../com/epmet/service/impl/WxmpMessageServiceImpl.java | 4 ++-- .../main/resources/mapper/WxmpResiUserSubscribeDao.xml | 1 + .../main/resources/mapper/WxmpWorkUserSubscribeDao.xml | 9 +++++---- 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java index 3465d0d90f..045d2cf32f 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java @@ -66,8 +66,10 @@ public interface WxmpResiUserSubscribeDao extends BaseDao diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml index f797632581..8c85868fbe 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml @@ -72,9 +72,10 @@ created_time, updated_by, updated_time - from wxmp_work_user_subscribe - where USER_ID = #{userId} - and CUSTOMER_ID = #{customerId} - and TEMPLATE_ID = #{templateId} + from wxmp_work_user_subscribe + where USER_ID = #{userId} + and CUSTOMER_ID = #{customerId} + and TEMPLATE_ID = #{templateId} + and WX_OPEN_ID = #{openId} From 167b6fd251682741c2a48f39f67c5a7580b2047e Mon Sep 17 00:00:00 2001 From: wxz Date: Fri, 30 Oct 2020 16:18:02 +0800 Subject: [PATCH 092/130] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E5=8F=96?= =?UTF-8?q?=E6=B6=88=E8=AE=A2=E9=98=85=E6=AC=A1=E6=95=B0=E4=B8=8D-1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/WxmpMessageServiceImpl.java | 6 ++++-- .../src/main/resources/mapper/WxmpResiUserSubscribeDao.xml | 4 +++- .../src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml | 6 ++++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java index 37d1569982..e327548ba4 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java @@ -515,9 +515,10 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { } else if (WxMsgTemplateSubscribeStatus.UNSUBSCRIBE.equals(wxSubscribeStatus) && "yes".equals(wxAlwaysVisit)) { // 总是+取消 wxmpResiUserSubscribeDao.unSubscribe(userId, customerId, templateId, openId); + wxmpResiUserSubscribeDao.clearResiSubscribeCount(openId, templateId, customerId, userId); } else { // 取消 - wxmpResiUserSubscribeDao.decreaseResiSubscribeCount(openId, templateId, customerId, 1, userId); + wxmpResiUserSubscribeDao.unSubscribe(userId, customerId, templateId, openId); } } @@ -547,9 +548,10 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { } else if (WxMsgTemplateSubscribeStatus.UNSUBSCRIBE.equals(wxSubscribeStatus) && "yes".equals(wxAlwaysVisit)) { // 取消订阅+总是 wxmpWorkUserSubscribeDao.unSubscribe(userId, customerId, templateId, openId); + wxmpWorkUserSubscribeDao.clearWorkSubscribeCount(openId, templateId, customerId, userId); } else { // 取消订阅+不总是 - wxmpWorkUserSubscribeDao.decreaseWorkSubscribeCount(openId, templateId, customerId, 1, userId); + wxmpWorkUserSubscribeDao.unSubscribe(userId, customerId, templateId, openId); } } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml index 581fb07d23..f0d302e056 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpResiUserSubscribeDao.xml @@ -49,18 +49,19 @@ and CUSTOMER_ID = #{customerId} and TEMPLATE_ID = #{templateId} and WX_OPEN_ID = #{resiOpenId} + and del_flag = 0 update wxmp_resi_user_subscribe set WX_SUBSCRIBE_STATUS = 'unsubscribe', - COUNT = 0, UPDATED_TIME = now() where USER_ID = #{userId} and CUSTOMER_ID = #{customerId} and TEMPLATE_ID = #{templateId} and WX_OPEN_ID = #{resiOpenId} + and del_flag = 0 diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml index 8c85868fbe..ae54a96201 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml @@ -11,6 +11,7 @@ and CUSTOMER_ID = #{customerId} and TEMPLATE_ID = #{templateId} and WX_OPEN_ID = #{openId} + and del_flag =0 @@ -77,5 +78,6 @@ and CUSTOMER_ID = #{customerId} and TEMPLATE_ID = #{templateId} and WX_OPEN_ID = #{openId} + and del_flag =0 From c02947ad5246d4ffd50b776f9c0b2f0c48cdb7d3 Mon Sep 17 00:00:00 2001 From: wxz Date: Fri, 30 Oct 2020 16:30:46 +0800 Subject: [PATCH 093/130] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E8=AE=A2=E9=98=85=E7=8A=B6=E6=80=81=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BA=8B=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/WxmpMessageServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java index e327548ba4..7d9fa880db 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java @@ -46,6 +46,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.text.SimpleDateFormat; @@ -441,6 +442,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { return msgSubscribeStatusDao.getUserSubscribeStatusDTO(loginUserId, customerId, clientType, templateId); } + @Transactional @Override public void saveWxSubscribe(String customerId, String clientType, String templateId, String wxAlwaysVisit, String wxSubscribeStatus, String behaviorType, String userId) { From da3774067a6073617414e872cb6f221a2d454bff Mon Sep 17 00:00:00 2001 From: wxz Date: Fri, 30 Oct 2020 16:41:00 +0800 Subject: [PATCH 094/130] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E5=90=8D=E7=A7=B0=E5=86=99=E9=94=99=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dao/WxmpResiUserSubscribeDao.java | 10 ++++++++-- .../java/com/epmet/dao/WxmpWorkUserSubscribeDao.java | 5 ++++- .../main/resources/mapper/WxmpWorkUserSubscribeDao.xml | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java index 045d2cf32f..f103867708 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpResiUserSubscribeDao.java @@ -64,7 +64,10 @@ public interface WxmpResiUserSubscribeDao extends BaseDao From 7cba19d50760319c2119379946b07e7b06b2703a Mon Sep 17 00:00:00 2001 From: wxz Date: Fri, 30 Oct 2020 17:21:18 +0800 Subject: [PATCH 095/130] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9Asql=E8=AF=AD?= =?UTF-8?q?=E6=B3=95=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/commons/tools/aspect/BaseRequestLogAspect.java | 2 +- .../src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java index b8a38908a0..0910aacd4a 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java @@ -142,7 +142,7 @@ public abstract class BaseRequestLogAspect { */ private Result handlerRuntimeException(RuntimeException ex) { Result result=new Result().error(); - result.setInternalMsg(ex.getMessage()); + //result.setInternalMsg(ex.getMessage()); return result; } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml index 690e7759f4..2c2dafb96c 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpWorkUserSubscribeDao.xml @@ -50,7 +50,7 @@ update wxmp_work_user_subscribe - set WX_SUBSCRIBE_STATUS = 'unsubscribe' + set WX_SUBSCRIBE_STATUS = 'unsubscribe', UPDATED_TIME = now() where USER_ID = #{userId} and CUSTOMER_ID = #{customerId} From ba28386d11ac20995c17c4c9531a73c330b2067c Mon Sep 17 00:00:00 2001 From: wxz Date: Mon, 2 Nov 2020 15:01:50 +0800 Subject: [PATCH 096/130] =?UTF-8?q?wxmp=5Ftemplate=5Fmsg=5Fsubnscribe=5Fst?= =?UTF-8?q?atus=E8=A1=A8=E7=9B=B8=E5=85=B3=E5=AF=B9=E8=B1=A1=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0open=5Fid=E7=9A=84=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WxmpTemplateMsgSubscribeStatusDao.java | 6 ++-- .../WxmpTemplateMsgSubscribeStatusEntity.java | 5 ++++ .../service/impl/WxmpMessageServiceImpl.java | 28 ++++++++++++++++--- .../WxmpTemplateMsgSubscribeStatusDao.xml | 8 ++++-- 4 files changed, 39 insertions(+), 8 deletions(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpTemplateMsgSubscribeStatusDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpTemplateMsgSubscribeStatusDao.java index 50d98f5aa8..75b577fce7 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpTemplateMsgSubscribeStatusDao.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpTemplateMsgSubscribeStatusDao.java @@ -35,10 +35,12 @@ public interface WxmpTemplateMsgSubscribeStatusDao extends BaseDao \ No newline at end of file From 0336b72d755ff752401dfb1a216224b1f94b3e31 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 2 Nov 2020 15:08:19 +0800 Subject: [PATCH 097/130] =?UTF-8?q?=E5=AF=B9=E5=A4=96=E6=8E=A5=E5=8F=A3-?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=AB=99=E5=86=85=E4=BF=A1=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxmpMessageController.java | 13 ++++++++ .../com/epmet/service/WxmpMessageService.java | 9 ++++++ .../service/impl/WxmpMessageServiceImpl.java | 20 ++++++++++++ .../dto/form/WxmpTemplateListFormDTO.java | 32 +++++++++++++++++++ .../dto/result/WxmpTemplateListResultDTO.java | 30 +++++++++++++++++ 5 files changed, 104 insertions(+) create mode 100644 epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/WxmpTemplateListFormDTO.java create mode 100644 epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/WxmpTemplateListResultDTO.java diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java index 030d2a634d..71776b7e47 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java @@ -24,8 +24,10 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.GetTemplateListFormDTO; import com.epmet.dto.form.WxMsgAuthInfoFormDTO; import com.epmet.dto.form.WxSubscribeMessageFormDTO; +import com.epmet.dto.form.WxmpTemplateListFormDTO; import com.epmet.dto.result.GetTemplateListResultDTO; import com.epmet.dto.result.WxMsgAuthInfoResultDTO; +import com.epmet.dto.result.WxmpTemplateListResultDTO; import com.epmet.service.WxmpMessageService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -142,4 +144,15 @@ public class WxmpMessageController { return new Result(); } + /** + * @return + * @Description (外挂)消息-获取订阅消息模板列表 + * @author sun + */ + @PostMapping("wxmptemplatelist") + public Result> wxmpTemplateList(@RequestBody WxmpTemplateListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, WxmpTemplateListFormDTO.AddUserInternalGroup.class); + return new Result>().ok(wxmpMessageService.wxmpTemplateList(formDTO)); + } + } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/WxmpMessageService.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/WxmpMessageService.java index 3d7a429011..6b07c35670 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/WxmpMessageService.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/WxmpMessageService.java @@ -19,8 +19,10 @@ package com.epmet.service; import com.epmet.dto.form.GetTemplateListFormDTO; import com.epmet.dto.form.WxSubscribeMessageFormDTO; +import com.epmet.dto.form.WxmpTemplateListFormDTO; import com.epmet.dto.result.GetTemplateListResultDTO; import com.epmet.dto.result.WxMsgAuthInfoResultDTO; +import com.epmet.dto.result.WxmpTemplateListResultDTO; import java.util.List; @@ -54,4 +56,11 @@ public interface WxmpMessageService { * @author sun */ List templateList(GetTemplateListFormDTO formDTO); + + /** + * @return + * @Description 消息-获取订阅消息模板列表 + * @author sun + */ + List wxmpTemplateList(WxmpTemplateListFormDTO formDTO); } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java index be69f06d1a..e83bdea7d2 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java @@ -617,4 +617,24 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { } return staffBasicInfo.getOpenId(); } + + /** + * @return + * @Description 消息-获取订阅消息模板列表 + * @author sun + */ + @Override + public List wxmpTemplateList(WxmpTemplateListFormDTO formDTO) { + List resultList = new ArrayList<>(); + CustomerTemplateListFormDTO dto = ConvertUtils.sourceToTarget(formDTO, CustomerTemplateListFormDTO.class); + List list = customerTemplateList(dto); + list.forEach(l->{ + if(formDTO.getClientType().equals(l.getClientType())){ + WxmpTemplateListResultDTO result = ConvertUtils.sourceToTarget(l, WxmpTemplateListResultDTO.class); + resultList.add(result); + } + }); + return resultList; + } + } diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/WxmpTemplateListFormDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/WxmpTemplateListFormDTO.java new file mode 100644 index 0000000000..89699ffaee --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/WxmpTemplateListFormDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 消息-获取订阅消息模板列表-接口入参 + * @Author sun + */ +@Data +public class WxmpTemplateListFormDTO implements Serializable { + + /** + * 客户Id + */ + @NotBlank(message="客户Id不能为空", groups = {AddUserInternalGroup.class}) + private String customerId; + /** + * 微信公共模板库模板Id + */ + @NotBlank(message="公共模板Id不能为空", groups = {AddUserInternalGroup.class}) + private String publicId; + /** + * 所属端(居民端:resi 工作端:work) + */ + @NotBlank(message="所属端不能为空", groups = {AddUserInternalGroup.class}) + private String clientType; + public interface AddUserInternalGroup {} +} + diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/WxmpTemplateListResultDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/WxmpTemplateListResultDTO.java new file mode 100644 index 0000000000..e6f3bc55e2 --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/WxmpTemplateListResultDTO.java @@ -0,0 +1,30 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 消息-获取订阅消息模板列表-接口返参 + * @Author sun + */ +@Data +public class WxmpTemplateListResultDTO implements Serializable { + private static final long serialVersionUID = 6856602932571839314L; + + /** + * 模板Id + */ + private String templateId; + + /** + * 模板类型(站内信提醒) + */ + private String templateType; + + /** + * 所属端(居民端:resi 工作端:work) + */ + private String clientType; + +} From 345f6af6f17cc0ee06cbbdf3fb734a567ef4c27e Mon Sep 17 00:00:00 2001 From: wxz Date: Mon, 2 Nov 2020 15:14:00 +0800 Subject: [PATCH 098/130] =?UTF-8?q?=E6=B6=88=E6=81=AFdto=E8=A1=A5=E5=8A=A0?= =?UTF-8?q?wxOpenId=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/result/WxMsgAuthInfoResultDTO.java | 5 +++++ .../db/migration/V0.3.12.3__sub_status_add_column.sql | 1 + 2 files changed, 6 insertions(+) create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.3__sub_status_add_column.sql diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/WxMsgAuthInfoResultDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/WxMsgAuthInfoResultDTO.java index 13988b5411..52e8d95284 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/WxMsgAuthInfoResultDTO.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/WxMsgAuthInfoResultDTO.java @@ -38,4 +38,9 @@ public class WxMsgAuthInfoResultDTO { * wx订阅状态 订阅状态(订阅:subscribe 取消订阅:unsubscribe) */ private String wxSubscribeStatus; + + /** + * 微信openId + */ + private String wxOpenId; } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.3__sub_status_add_column.sql b/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.3__sub_status_add_column.sql new file mode 100644 index 0000000000..162f2919d8 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.3__sub_status_add_column.sql @@ -0,0 +1 @@ +alter table wxmp_template_msg_subscribe_status add column WX_OPEN_ID varchar(64) not null ; \ No newline at end of file From 748a5484de2b6fd6ee723a439fca0acc2a2be6bb Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Mon, 2 Nov 2020 15:34:13 +0800 Subject: [PATCH 099/130] =?UTF-8?q?=E6=B6=88=E6=81=AF-=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/bootstrap.yml | 1 + .../com/epmet/dto/WxmpMsgSendRecordDTO.java | 5 ++ .../dto/form/WxSubscribeMessageFormDTO.java | 5 ++ .../dto/form/WxmpMessagePushFormDTO.java | 59 +++++++++++++++++++ .../controller/WxmpMessageExtController.java | 33 +++++++++++ .../epmet/entity/WxmpMsgSendRecordEntity.java | 5 ++ .../epmet/excel/WxmpMsgSendRecordExcel.java | 5 +- .../epmet/service/WxmpMessageExtService.java | 10 ++++ .../impl/WxmpMessageExtServiceImpl.java | 43 ++++++++++++++ .../service/impl/WxmpMessageServiceImpl.java | 3 +- .../V0.3.12.3__wxmp_message_template.sql | 1 + 11 files changed, 168 insertions(+), 2 deletions(-) create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxmpMessagePushFormDTO.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageExtController.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/WxmpMessageExtService.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageExtServiceImpl.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.3__wxmp_message_template.sql diff --git a/epmet-gateway/src/main/resources/bootstrap.yml b/epmet-gateway/src/main/resources/bootstrap.yml index d78c96140e..9b59becc84 100644 --- a/epmet-gateway/src/main/resources/bootstrap.yml +++ b/epmet-gateway/src/main/resources/bootstrap.yml @@ -445,6 +445,7 @@ epmet: - /data/stats/** - /epmet/ext/** - /epmetuser/customerstaff/customerlist + - /message/template/wxmpmsgpush swaggerUrls: diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/WxmpMsgSendRecordDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/WxmpMsgSendRecordDTO.java index 745708b221..ff1b7a4cf0 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/WxmpMsgSendRecordDTO.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/WxmpMsgSendRecordDTO.java @@ -97,6 +97,11 @@ public class WxmpMsgSendRecordDTO implements Serializable { */ private String reason; + /** + * 调用方 + */ + private String referer; + /** * 删除标识 */ diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxSubscribeMessageFormDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxSubscribeMessageFormDTO.java index c9f8b1e4a6..2e9e783587 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxSubscribeMessageFormDTO.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxSubscribeMessageFormDTO.java @@ -59,4 +59,9 @@ public class WxSubscribeMessageFormDTO implements Serializable { */ private String gridId; + /** + * 调用方 + */ + private String referer; + } diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxmpMessagePushFormDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxmpMessagePushFormDTO.java new file mode 100644 index 0000000000..fbd2732581 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxmpMessagePushFormDTO.java @@ -0,0 +1,59 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + +/** + * @description: 微信订阅消息FormDTO + * @author: liushaowen + * @date: 2020/10/21 14:29 + */ +@Data +public class WxmpMessagePushFormDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 客户id + */ + @NotBlank(message = "客户id不能为空") + private String customerId; + /** + * 客户端类型 居民端:resi 工作端:work + */ + @NotBlank(message = "客户端类型不能为空") + private String clientType; + + /** + * 接收者(用户)的 userId + */ + @NotBlank(message = "接收用户id不能为空") + private String userId; + + /** + * 行为类型(存title字段的中间值) 入组申请、党员认证等 + */ + @NotBlank(message = "行为类型不能为空") + private String behaviorType; + + /** + * 消息内容 + */ + @NotBlank(message = "消息内容不能为空") + private String messageContent; + + /** + * 网格id-居民端用 + */ + private String gridId; + + /** + * 调用方 + */ + @NotBlank(message = "调用方不能为空") + private String referer; + +} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageExtController.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageExtController.java new file mode 100644 index 0000000000..b6ffa1fc2f --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageExtController.java @@ -0,0 +1,33 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.form.WxmpMessagePushFormDTO; +import com.epmet.service.WxmpMessageExtService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @description: 外部调用微信订阅controller + * @author: liushaowen + * @date: 2020/11/2 14:51 + */ +@RestController +@RequestMapping("template") +public class WxmpMessageExtController { + @Autowired + private WxmpMessageExtService wxmpMessageExtService; + + @PostMapping("wxmpmsgpush") + public Result wxmpMsgPush(@RequestBody List dtos){ + for (WxmpMessagePushFormDTO dto : dtos) { + ValidatorUtils.validateEntity(dto); + } + return wxmpMessageExtService.pushWxmpMessage(dtos); + } +} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/WxmpMsgSendRecordEntity.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/WxmpMsgSendRecordEntity.java index cd303c4e6f..0e671bca3f 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/WxmpMsgSendRecordEntity.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/WxmpMsgSendRecordEntity.java @@ -98,4 +98,9 @@ public class WxmpMsgSendRecordEntity extends BaseEpmetEntity { */ private String reason; + /** + * 调用方 + */ + private String referer; + } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/excel/WxmpMsgSendRecordExcel.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/excel/WxmpMsgSendRecordExcel.java index d458acb436..5d642255e7 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/excel/WxmpMsgSendRecordExcel.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/excel/WxmpMsgSendRecordExcel.java @@ -70,6 +70,9 @@ public class WxmpMsgSendRecordExcel { @Excel(name = "发送失败的原因") private String reason; + @Excel(name = "调用者") + private String referer; + @Excel(name = "删除标识") private Integer delFlag; @@ -89,4 +92,4 @@ public class WxmpMsgSendRecordExcel { private Date updatedTime; -} \ No newline at end of file +} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/WxmpMessageExtService.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/WxmpMessageExtService.java new file mode 100644 index 0000000000..03320ded2e --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/WxmpMessageExtService.java @@ -0,0 +1,10 @@ +package com.epmet.service; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.WxmpMessagePushFormDTO; + +import java.util.List; + +public interface WxmpMessageExtService { + Result pushWxmpMessage(List dto); +} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageExtServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageExtServiceImpl.java new file mode 100644 index 0000000000..368235246a --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageExtServiceImpl.java @@ -0,0 +1,43 @@ +package com.epmet.service.impl; + +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.WxSubscribeMessageFormDTO; +import com.epmet.dto.form.WxmpMessagePushFormDTO; +import com.epmet.service.WxmpMessageExtService; +import com.epmet.service.WxmpMessageService; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @description: + * @author: liushaowen + * @date: 2020/11/2 14:54 + */ +@Service +public class WxmpMessageExtServiceImpl implements WxmpMessageExtService { + @Autowired + private WxmpMessageService wxmpMessageService; + + @Override + public Result pushWxmpMessage(List dtos) { + List msgList = new ArrayList<>(); + for (WxmpMessagePushFormDTO dto : dtos) { + WxSubscribeMessageFormDTO wxSubscribeMessageFormDTO = new WxSubscribeMessageFormDTO(); + try{ + BeanUtils.copyProperties(dto,wxSubscribeMessageFormDTO); + wxSubscribeMessageFormDTO.setMessageTime(new Date()); + msgList.add(wxSubscribeMessageFormDTO); + }catch (Exception e){ + throw new RenException("转换bean失败"); + } + } + wxmpMessageService.sendWxSubscribeMessage(msgList); + return new Result(); + } +} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java index 7d9fa880db..f2478ce1f5 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java @@ -201,7 +201,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { if (StringUtils.isBlank(accessToken)) { throw new WxSubscribeException("accessToken获取失败"+accessTokenMap.get("errorMsg"), "", openId); } - + //发送消息 JSONObject jsonObject = new JSONObject(); JSONObject data = new JSONObject(); @@ -320,6 +320,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { wxmpMsgSendRecordEntity.setMessageContent(msg.getMessageContent()); wxmpMsgSendRecordEntity.setMessageTime(msg.getMessageTime()); wxmpMsgSendRecordEntity.setResult(status); + wxmpMsgSendRecordEntity.setReferer(StringUtils.isBlank(msg.getReferer())?"epmet":msg.getReferer()); return wxmpMsgSendRecordEntity; } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.3__wxmp_message_template.sql b/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.3__wxmp_message_template.sql new file mode 100644 index 0000000000..3d6ead911b --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.3__wxmp_message_template.sql @@ -0,0 +1 @@ +ALTER TABLE wxmp_msg_send_record ADD REFERER VARCHAR(20) COMMENT '调用者'; From eed9b33d76565cc4a65bcebcd13be9b6b7e145af Mon Sep 17 00:00:00 2001 From: wxz Date: Mon, 2 Nov 2020 15:58:55 +0800 Subject: [PATCH 100/130] =?UTF-8?q?sql=E5=AD=97=E6=AE=B5=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mapper/WxmpTemplateMsgSubscribeStatusDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpTemplateMsgSubscribeStatusDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpTemplateMsgSubscribeStatusDao.xml index ca12f834cc..132607a005 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpTemplateMsgSubscribeStatusDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpTemplateMsgSubscribeStatusDao.xml @@ -48,6 +48,6 @@ and CUSTOMER_ID = #{customerId} and CLIENT_TYPE = #{clientType} and TEMPLATE_ID = #{templateId} - and OPEN_ID = #{openId} + and WX_OPEN_ID = #{openId} \ No newline at end of file From fcf7063af2c0737ac4e3e7c01cfeab6788c8afe4 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 2 Nov 2020 17:16:45 +0800 Subject: [PATCH 101/130] =?UTF-8?q?sql=E8=84=9A=E6=9C=AC=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ..._message_template.sql => V0.3.12.4__wxmp_message_template.sql} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/{V0.3.12.3__wxmp_message_template.sql => V0.3.12.4__wxmp_message_template.sql} (100%) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.3__wxmp_message_template.sql b/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.4__wxmp_message_template.sql similarity index 100% rename from epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.3__wxmp_message_template.sql rename to epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.4__wxmp_message_template.sql From 9547cad3fda57a5db6b9f7a5cbcd75db35db1615 Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Mon, 2 Nov 2020 18:21:00 +0800 Subject: [PATCH 102/130] =?UTF-8?q?=E5=A4=96=E9=83=A8=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E7=AB=99=E5=86=85=E4=BF=A1=E6=95=B4=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/UserMessageDTO.java | 7 +++- .../epmet/dto/form/UserMessageFormDTO.java | 5 +++ .../dto/form/WxmpMessagePushFormDTO.java | 17 ++++++++- .../java/com/epmet/constant/ExtConstant.java | 11 ++++++ .../controller/WxmpMessageExtController.java | 23 +++++++++++- .../com/epmet/entity/UserMessageEntity.java | 5 +++ .../com/epmet/excel/UserMessageExcel.java | 5 ++- .../impl/WxmpMessageExtServiceImpl.java | 37 +++++++++++++++---- .../service/impl/WxmpMessageServiceImpl.java | 2 +- ....3.12.5__alter_user_message_add_column.sql | 1 + 10 files changed, 98 insertions(+), 15 deletions(-) create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/ExtConstant.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.5__alter_user_message_add_column.sql diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/UserMessageDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/UserMessageDTO.java index f8b887c240..d44c80ae47 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/UserMessageDTO.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/UserMessageDTO.java @@ -59,6 +59,11 @@ public class UserMessageDTO implements Serializable { */ private String app; + /** + * 调用者 + */ + private String referer; + /** * 消息标题 */ @@ -104,4 +109,4 @@ public class UserMessageDTO implements Serializable { */ private Date updatedTime; -} \ No newline at end of file +} diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/UserMessageFormDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/UserMessageFormDTO.java index f8934cc167..f3298183d6 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/UserMessageFormDTO.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/UserMessageFormDTO.java @@ -56,4 +56,9 @@ public class UserMessageFormDTO implements Serializable { */ @NotBlank(message = "readFlag不能为空") private String readFlag; + + /** + * 调用者 + */ + private String referer; } diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxmpMessagePushFormDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxmpMessagePushFormDTO.java index fbd2732581..067ea3b3bb 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxmpMessagePushFormDTO.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/WxmpMessagePushFormDTO.java @@ -25,7 +25,7 @@ public class WxmpMessagePushFormDTO implements Serializable { * 客户端类型 居民端:resi 工作端:work */ @NotBlank(message = "客户端类型不能为空") - private String clientType; + private String app; /** * 接收者(用户)的 userId @@ -37,7 +37,7 @@ public class WxmpMessagePushFormDTO implements Serializable { * 行为类型(存title字段的中间值) 入组申请、党员认证等 */ @NotBlank(message = "行为类型不能为空") - private String behaviorType; + private String title; /** * 消息内容 @@ -48,12 +48,25 @@ public class WxmpMessagePushFormDTO implements Serializable { /** * 网格id-居民端用 */ + @NotBlank(message = "网格id不能为空") private String gridId; + /** + * 已读标记 + */ + @NotBlank(message = "已读标记不能为空") + private String readFlag; + /** * 调用方 */ @NotBlank(message = "调用方不能为空") private String referer; + /** + * 推送微信订阅Flag + */ + @NotBlank(message = "是否推送订阅Flag不能为空") + private String pushWxmpFlag; + } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/ExtConstant.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/ExtConstant.java new file mode 100644 index 0000000000..f8b9564e7a --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/ExtConstant.java @@ -0,0 +1,11 @@ +package com.epmet.constant; + +public interface ExtConstant { + String APP_RESI = "resi"; + + String APP_WORK = "work"; + + String APP_GOV = "gov"; + + String PUSH_WXMP = "1"; +} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageExtController.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageExtController.java index b6ffa1fc2f..242dfe3cb9 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageExtController.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageExtController.java @@ -1,9 +1,12 @@ package com.epmet.controller; +import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.WxmpMessagePushFormDTO; import com.epmet.service.WxmpMessageExtService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -11,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; +import java.util.concurrent.ExecutorService; /** * @description: 外部调用微信订阅controller @@ -20,14 +24,29 @@ import java.util.List; @RestController @RequestMapping("template") public class WxmpMessageExtController { + private Logger logger = LoggerFactory.getLogger(getClass()); + @Autowired private WxmpMessageExtService wxmpMessageExtService; - @PostMapping("wxmpmsgpush") + @Autowired + private ExecutorService executorService; + + @PostMapping("msgpush") public Result wxmpMsgPush(@RequestBody List dtos){ for (WxmpMessagePushFormDTO dto : dtos) { ValidatorUtils.validateEntity(dto); } - return wxmpMessageExtService.pushWxmpMessage(dtos); + executorService.execute(() -> { + try { + long startTs = System.currentTimeMillis(); + wxmpMessageExtService.pushWxmpMessage(dtos); + long endTs = System.currentTimeMillis(); + logger.info("异步发送消息成功,执行时长:{}", endTs - startTs); + } catch (Exception e) { + logger.error("异步发送消息失败,错误信息:{}", ExceptionUtils.getErrorStackTrace(e)); + } + }); + return new Result(); } } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/UserMessageEntity.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/UserMessageEntity.java index db267d9fd7..dcdd460cde 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/UserMessageEntity.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/UserMessageEntity.java @@ -70,4 +70,9 @@ public class UserMessageEntity extends BaseEpmetEntity { */ private String readFlag; + /** + * 调用者 + */ + private String referer; + } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/excel/UserMessageExcel.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/excel/UserMessageExcel.java index 8dbbf8249c..760e390274 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/excel/UserMessageExcel.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/excel/UserMessageExcel.java @@ -49,6 +49,9 @@ public class UserMessageExcel { @Excel(name = "消息标题") private String title; + @Excel(name = "调用者") + private String referer; + @Excel(name = "消息通知内容") private String messageContent; @@ -74,4 +77,4 @@ public class UserMessageExcel { private Date updatedTime; -} \ No newline at end of file +} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageExtServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageExtServiceImpl.java index 368235246a..21204730c5 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageExtServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageExtServiceImpl.java @@ -2,8 +2,12 @@ package com.epmet.service.impl; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.ExtConstant; +import com.epmet.dto.form.UserMessageFormDTO; import com.epmet.dto.form.WxSubscribeMessageFormDTO; import com.epmet.dto.form.WxmpMessagePushFormDTO; +import com.epmet.feign.EpmetMessageOpenFeignClient; +import com.epmet.service.UserMessageService; import com.epmet.service.WxmpMessageExtService; import com.epmet.service.WxmpMessageService; import org.springframework.beans.BeanUtils; @@ -24,20 +28,37 @@ public class WxmpMessageExtServiceImpl implements WxmpMessageExtService { @Autowired private WxmpMessageService wxmpMessageService; + @Autowired + private UserMessageService userMessageService; + @Override public Result pushWxmpMessage(List dtos) { - List msgList = new ArrayList<>(); + List wxmpMsgList = new ArrayList<>(); + List userMsgList = new ArrayList<>(); for (WxmpMessagePushFormDTO dto : dtos) { - WxSubscribeMessageFormDTO wxSubscribeMessageFormDTO = new WxSubscribeMessageFormDTO(); - try{ + //站内信 + UserMessageFormDTO userMessageFormDTO = new UserMessageFormDTO(); + BeanUtils.copyProperties(dto,userMessageFormDTO); + userMessageFormDTO.setTitle("您有一条"+dto.getTitle()); + userMsgList.add(userMessageFormDTO); + + //如果推送微信订阅flag为"1",推送微信订阅 + if (ExtConstant.PUSH_WXMP.equals(dto.getPushWxmpFlag())){ + WxSubscribeMessageFormDTO wxSubscribeMessageFormDTO = new WxSubscribeMessageFormDTO(); BeanUtils.copyProperties(dto,wxSubscribeMessageFormDTO); + //设置ClientType + if (ExtConstant.APP_RESI.equals(dto.getApp())){ + wxSubscribeMessageFormDTO.setClientType(ExtConstant.APP_RESI); + } + if (ExtConstant.APP_GOV.equals(dto.getApp())){ + wxSubscribeMessageFormDTO.setClientType(ExtConstant.APP_WORK); + } + wxSubscribeMessageFormDTO.setBehaviorType(dto.getTitle()); wxSubscribeMessageFormDTO.setMessageTime(new Date()); - msgList.add(wxSubscribeMessageFormDTO); - }catch (Exception e){ - throw new RenException("转换bean失败"); + wxmpMsgList.add(wxSubscribeMessageFormDTO); } } - wxmpMessageService.sendWxSubscribeMessage(msgList); - return new Result(); + wxmpMessageService.sendWxSubscribeMessage(wxmpMsgList); + return userMessageService.saveUserMessageList(userMsgList); } } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java index 3e834efdf1..7d7d68af77 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java @@ -330,7 +330,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { wxmpMsgSendRecordEntity.setMessageContent(msg.getMessageContent()); wxmpMsgSendRecordEntity.setMessageTime(msg.getMessageTime()); wxmpMsgSendRecordEntity.setResult(status); - wxmpMsgSendRecordEntity.setReferer(StringUtils.isBlank(msg.getReferer())?"epmet":msg.getReferer()); + wxmpMsgSendRecordEntity.setReferer(msg.getReferer()); return wxmpMsgSendRecordEntity; } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.5__alter_user_message_add_column.sql b/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.5__alter_user_message_add_column.sql new file mode 100644 index 0000000000..cd2bf71d81 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.5__alter_user_message_add_column.sql @@ -0,0 +1 @@ +ALTER TABLE user_message ADD REFERER VARCHAR(20) COMMENT '调用者'; From 800cc1ffe0fc8272902789ddafd02f4c9b6d9b64 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 3 Nov 2020 10:54:47 +0800 Subject: [PATCH 103/130] =?UTF-8?q?=E5=AF=B9=E5=A4=96=E6=8E=A5=E5=8F=A3-?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=BB=84=E7=BB=87=E5=9F=BA=E6=9C=AC=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/constant/ModuleConstant.java | 2 + .../epmet/controller/OpenUpController.java | 16 ++++- .../java/com/epmet/service/OpenUpService.java | 8 +++ .../epmet/service/impl/OpenUpServiceImpl.java | 14 ++++ .../com/epmet/dto/form/AgencyInfoFormDTO.java | 21 ++++++ .../epmet/dto/result/AgencyInfoResultDTO.java | 66 +++++++++++++++++++ .../epmet/feign/GovOrgOpenFeignClient.java | 9 +++ .../GovOrgOpenFeignClientFallback.java | 5 ++ .../controller/CustomerAgencyController.java | 9 +++ .../epmet/service/CustomerAgencyService.java | 6 ++ .../impl/CustomerAgencyServiceImpl.java | 16 +++++ 11 files changed, 170 insertions(+), 2 deletions(-) create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AgencyInfoFormDTO.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyInfoResultDTO.java diff --git a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/constant/ModuleConstant.java b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/constant/ModuleConstant.java index d8b34dc284..1bc1cc935a 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/constant/ModuleConstant.java +++ b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/constant/ModuleConstant.java @@ -14,4 +14,6 @@ public interface ModuleConstant { String ERROR_EPMET_USER = "调用epmet_user服务查询网格下的所有工作人员失败"; + String ERROR_AGENCY = "调用gov_org服务查询组织基本信息失败"; + } diff --git a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpController.java b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpController.java index 81ccddbdff..9884efe1b2 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpController.java +++ b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpController.java @@ -11,8 +11,10 @@ import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.service.OpenUpService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import java.util.List; @@ -100,5 +102,15 @@ public class OpenUpController { return govOrgOpenFeignClient.staffPermissionExt(commonStaffIdFormDTO.getStaffId()); } + /** + * @Description 对外接口-根据组织Id获取组织信息 + * @author sun + **/ + @PostMapping("agencyinfo") + Result agencyInfo(@RequestBody AgencyInfoFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, AgencyInfoFormDTO.StaffIdGroup.class); + return new Result().ok(openUpService.agencyInfo(formDTO)); + } + } diff --git a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/service/OpenUpService.java b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/service/OpenUpService.java index 5ecbf7aedb..d42e164f7e 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/service/OpenUpService.java +++ b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/service/OpenUpService.java @@ -1,8 +1,10 @@ package com.epmet.service; +import com.epmet.dto.form.AgencyInfoFormDTO; import com.epmet.dto.form.StaffSinAgencyFormDTO; import com.epmet.dto.form.StaffSinDeptFormDTO; import com.epmet.dto.form.StaffSinGridFormDTO; +import com.epmet.dto.result.AgencyInfoResultDTO; import com.epmet.dto.result.StaffSinAgencyResultDTO; import com.epmet.dto.result.StaffSinDeptResultDTO; import com.epmet.dto.result.StaffSinGridResultDTO; @@ -38,4 +40,10 @@ public interface OpenUpService { * @date 2020/8/17 9:59 上午 */ List staffSinAgency(StaffSinAgencyFormDTO formDTO); + + /** + * @Description 对外接口-根据组织Id获取组织信息 + * @author sun + **/ + AgencyInfoResultDTO agencyInfo(AgencyInfoFormDTO formDTO); } diff --git a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/service/impl/OpenUpServiceImpl.java b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/service/impl/OpenUpServiceImpl.java index 38120535b9..2290c84f59 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/service/impl/OpenUpServiceImpl.java +++ b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/service/impl/OpenUpServiceImpl.java @@ -6,6 +6,7 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.ModuleConstant; import com.epmet.dto.form.*; +import com.epmet.dto.result.AgencyInfoResultDTO; import com.epmet.dto.result.StaffSinAgencyResultDTO; import com.epmet.dto.result.StaffSinDeptResultDTO; import com.epmet.dto.result.StaffSinGridResultDTO; @@ -123,4 +124,17 @@ public class OpenUpServiceImpl implements OpenUpService { return staffInfoList.getData(); } + /** + * @Description 对外接口-根据组织Id获取组织信息 + * @author sun + **/ + @Override + public AgencyInfoResultDTO agencyInfo(AgencyInfoFormDTO formDTO) { + Result result = govOrgOpenFeignClient.agencyInfo(formDTO); + if (!result.success()){ + throw new RenException(ModuleConstant.ERROR_AGENCY); + } + return result.getData(); + } + } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AgencyInfoFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AgencyInfoFormDTO.java new file mode 100644 index 0000000000..0288dd339e --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AgencyInfoFormDTO.java @@ -0,0 +1,21 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/8/17 10:37 上午 + */ +@Data +public class AgencyInfoFormDTO implements Serializable { + + private static final long serialVersionUID = -1719033407335647411L; + @NotBlank(message = "组织Id不能为空" , groups = StaffIdGroup.class) + private String agencyId; + + public interface StaffIdGroup extends CustomerClientShowGroup {} +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyInfoResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyInfoResultDTO.java new file mode 100644 index 0000000000..7b753259e4 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyInfoResultDTO.java @@ -0,0 +1,66 @@ +/** + * 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.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 组织信息 + * + * @author sun + */ +@Data +public class AgencyInfoResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + /** + * 机关组织Id + */ + private String agencyId; + /** + * 机关组织名称 + */ + private String agencyName; + /** + * 所有上级名称,以-连接 + */ + private String allParentName; + /** + * 上级组织机构ID + */ + private String pid; + /** + * 所有上级组织机构ID(以英文:隔开) + */ + private String pids; + /** + * 机关级别(社区级:community,乡(镇、街道)级:street,区县级: district,市级: city省级:province) + */ + private String level; + /** + * 地区编码 + */ + private String areaCode; +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java index 2856183dd3..3fa6739d94 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java @@ -259,4 +259,13 @@ public interface GovOrgOpenFeignClient { */ @PostMapping("/gov/org/agency/subagencylist") Result subAgencyList(@RequestBody SubAgencyFormDTO formDTO); + + /** + * @param formDTO + * @return + * @Author sun + * @Description 根据组织Id获取组织信息 + */ + @PostMapping("/gov/org/customeragency/agencyinfo") + Result agencyInfo(@RequestBody AgencyInfoFormDTO formDTO); } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java index b132ebec6a..4e03cbdc2a 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java @@ -151,4 +151,9 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient { public Result subAgencyList(SubAgencyFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "subAgencyList", formDTO); } + + @Override + public Result agencyInfo(AgencyInfoFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "agencyInfo", formDTO); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java index c8b2350e16..a052f79c8f 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java @@ -242,4 +242,13 @@ public class CustomerAgencyController { public Result staffInAgencyList(@LoginUser TokenDto tokenDTO) { return new Result().ok(customerAgencyService.staffInAgencyList(tokenDTO.getUserId())); } + + /** + * @Description 对外接口-根据组织Id获取组织信息 + * @author sun + **/ + @PostMapping("agencyinfo") + Result agencyInfo(@RequestBody AgencyInfoFormDTO formDTO) { + return new Result().ok(customerAgencyService.agencyInfo(formDTO)); + } } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java index b7a556c5b0..8430acdf88 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java @@ -213,4 +213,10 @@ public interface CustomerAgencyService extends BaseService * @Description 工作端-查询当前人员所属组织及所有下级组织 **/ StaffInAgencyListResultDTO staffInAgencyList(String staffId); + + /** + * @Description 对外接口-根据组织Id获取组织信息 + * @author sun + **/ + AgencyInfoResultDTO agencyInfo(AgencyInfoFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index db160cba61..65206f51a2 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -994,4 +994,20 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl Date: Tue, 3 Nov 2020 17:55:56 +0800 Subject: [PATCH 104/130] =?UTF-8?q?=E5=AF=B9=E5=A4=96=E6=8E=A5=E5=8F=A3-?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet-oss/epmet-oss-server/pom.xml | 4 ++ .../cloud/AbstractCloudStorageService.java | 7 +++ .../cloud/AliyunCloudStorageService.java | 54 +++++++++++++++++++ .../cloud/FastDFSCloudStorageService.java | 6 +++ .../epmet/cloud/LocalCloudStorageService.java | 5 ++ .../cloud/QcloudCloudStorageService.java | 5 ++ .../epmet/cloud/QiniuCloudStorageService.java | 5 ++ .../com/epmet/controller/OssController.java | 19 +++++++ .../java/com/epmet/service/OssService.java | 2 + .../epmet/service/impl/OssServiceImpl.java | 32 +++++++++++ 10 files changed, 139 insertions(+) diff --git a/epmet-module/epmet-oss/epmet-oss-server/pom.xml b/epmet-module/epmet-oss/epmet-oss-server/pom.xml index b73264233b..ffb777fe7c 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/pom.xml +++ b/epmet-module/epmet-oss/epmet-oss-server/pom.xml @@ -92,6 +92,10 @@ fastdfs-client ${fastdfs.version} + + org.springframework + spring-test + diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AbstractCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AbstractCloudStorageService.java index 8eb6fb6eba..fd4002d57b 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AbstractCloudStorageService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AbstractCloudStorageService.java @@ -11,6 +11,7 @@ package com.epmet.cloud; import com.epmet.commons.tools.utils.DateUtils; import org.apache.commons.lang3.StringUtils; +import java.io.IOException; import java.io.InputStream; import java.util.Date; import java.util.UUID; @@ -75,4 +76,10 @@ public abstract class AbstractCloudStorageService { */ public abstract String uploadSuffix(InputStream inputStream, String suffix); + /** + * 文件下载 + * sun + */ + public abstract void down() throws IOException; + } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AliyunCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AliyunCloudStorageService.java index e3c3850bff..e55449ad0f 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AliyunCloudStorageService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AliyunCloudStorageService.java @@ -9,10 +9,13 @@ package com.epmet.cloud; import com.aliyun.oss.OSSClient; +import com.aliyun.oss.model.DownloadFileRequest; +import com.aliyun.oss.model.DownloadFileResult; import com.epmet.commons.tools.exception.RenException; import com.epmet.exception.ModuleErrorCode; import java.io.ByteArrayInputStream; +import java.io.IOException; import java.io.InputStream; /** @@ -54,4 +57,55 @@ public class AliyunCloudStorageService extends AbstractCloudStorageService { public String uploadSuffix(InputStream inputStream, String suffix) { return upload(inputStream, getPath(config.getAliyunPrefix(), suffix)); } + + @Override + public void down() throws IOException { + OSSClient client = new OSSClient(config.getAliyunEndPoint(), config.getAliyunAccessKeyId(), + config.getAliyunAccessKeySecret()); + try { + + /* + //方式一 + File file = new File("C:/Users/Administrator/Desktop/dd/df.jpg"); + client.getObject(new GetObjectRequest(config.getAliyunBucketName(), "epmet/test/20201103/198f3c11490a44eb964c5c8e9989a507.jpg"), file);*/ + + /* + //方式二 + OSSObject oo = client.getObject(config.getAliyunBucketName(), path); + InputStream is = oo.getObjectContent(); + OutputStream os = null; + File file = new File("C:/Users/Administrator/Desktop/dd/aa.jpg"); + try { + os = new FileOutputStream(file); + int len = 0; + byte[] buffer = new byte[8192]; + while ((len = is.read(buffer)) != -1) { + os.write(buffer, 0, len); + } + } finally { + os.close(); + is.close(); + }*/ + + //方式三 + DownloadFileRequest downloadFileRequest = new DownloadFileRequest(config.getAliyunBucketName(), "epmet/test/20201103/198f3c11490a44eb964c5c8e9989a507.jpg"); + downloadFileRequest.setDownloadFile("C:/Users/Administrator/Desktop/dd/4.jpg");// 本地下载文件名称 + downloadFileRequest.setPartSize(1 * 1024 * 1024);// 分片大小,取值范围为1B~5GB。 + downloadFileRequest.setTaskNum(10);//10个任务并发下载,默认值为1 + downloadFileRequest.setEnableCheckpoint(true);// 启动断点续传 + // 下载文件 + DownloadFileResult downloadRes = client.downloadFile(downloadFileRequest); + // 下载成功时,会返回文件元信息。 + downloadRes.getObjectMetadata(); + + // 关闭OSSClient。 + client.shutdown(); + } catch (Exception e){ + throw new RenException(ModuleErrorCode.OSS_UPLOAD_FILE_ERROR, e, ""); + } catch (Throwable throwable) { + throwable.printStackTrace(); + } + + } + } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/FastDFSCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/FastDFSCloudStorageService.java index eef3d53171..9661e5f054 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/FastDFSCloudStorageService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/FastDFSCloudStorageService.java @@ -15,6 +15,7 @@ import com.epmet.commons.tools.utils.SpringContextUtils; import com.epmet.exception.ModuleErrorCode; import java.io.ByteArrayInputStream; +import java.io.IOException; import java.io.InputStream; /** @@ -59,4 +60,9 @@ public class FastDFSCloudStorageService extends AbstractCloudStorageService { public String uploadSuffix(InputStream inputStream, String suffix) { return upload(inputStream, suffix); } + + @Override + public void down() throws IOException { + + } } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/LocalCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/LocalCloudStorageService.java index 211736c173..71c17580c5 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/LocalCloudStorageService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/LocalCloudStorageService.java @@ -53,4 +53,9 @@ public class LocalCloudStorageService extends AbstractCloudStorageService { public String uploadSuffix(InputStream inputStream, String suffix) { return upload(inputStream, getPath(config.getLocalPrefix(), suffix)); } + + @Override + public void down() throws IOException { + + } } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QcloudCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QcloudCloudStorageService.java index 03376f75eb..22d7da2219 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QcloudCloudStorageService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QcloudCloudStorageService.java @@ -83,4 +83,9 @@ public class QcloudCloudStorageService extends AbstractCloudStorageService { public String uploadSuffix(InputStream inputStream, String suffix) { return upload(inputStream, getPath(config.getQcloudPrefix(), suffix)); } + + @Override + public void down() throws IOException { + + } } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QiniuCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QiniuCloudStorageService.java index 3c51425619..0fa9ee9f7e 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QiniuCloudStorageService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QiniuCloudStorageService.java @@ -77,4 +77,9 @@ public class QiniuCloudStorageService extends AbstractCloudStorageService { public String uploadSuffix(InputStream inputStream, String suffix) { return upload(inputStream, getPath(config.getQiniuPrefix(), suffix)); } + + @Override + public void down() throws IOException { + + } } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java index 5b3e3bee6b..65cf6b2d2d 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java @@ -31,12 +31,17 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FilenameUtils; +import org.apache.http.entity.ContentType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; +import org.springframework.mock.web.MockMultipartFile; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import springfox.documentation.annotations.ApiIgnore; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; import java.util.Arrays; import java.util.Map; @@ -218,4 +223,18 @@ public class OssController { return ossService.uploadImg(file); } + /** + * @param byteFile fileName + * @Description 外挂-文件上传 + * @Author sun + **/ + @PostMapping("ext/upload") + public Result extUpload(@RequestParam("byteFile") byte[] byteFile, @RequestParam("fileName") String fileName) throws IOException { + //public Result extUpload(@RequestParam("file") MultipartFile file, @RequestParam("fileName") String fileName) throws IOException { + //byte[] byteFile = file.getBytes(); + InputStream inputStream = new ByteArrayInputStream(byteFile); + MultipartFile filse = new MockMultipartFile(ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream); + return ossService.extUpload(filse,fileName); + } + } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java index 2195e4f0f1..c67fec06f2 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java @@ -29,4 +29,6 @@ public interface OssService extends BaseService { int insertOssEntity(OssEntity ossEntity); Result uploadImg(MultipartFile file); + + Result extUpload(MultipartFile file, String fileName); } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java index 6ca5626490..cc44456c7e 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java @@ -72,4 +72,36 @@ public class OssServiceImpl extends BaseServiceImpl implement dto.setUrl(url); return new Result().ok(dto); } + + @Override + public Result extUpload(MultipartFile file, String fileName) { + try { + OssFactory.build().down(); + } catch (IOException e) { + e.printStackTrace(); + } + + if (file.isEmpty()) { + return new Result().error(ModuleErrorCode.UPLOAD_FILE_EMPTY); + } + //上传文件 + String extension = FilenameUtils.getExtension(fileName); + String url = null; + try { + url = OssFactory.build().uploadSuffix(file.getBytes(), extension); + } catch (IOException e) { + e.printStackTrace(); + logger.error("图片上传异常"); + throw new RenException("图片上传异常"); + + } + //保存文件信息 + OssEntity ossEntity = new OssEntity(); + ossEntity.setUrl(url); + baseDao.insert(ossEntity); + //文件信息 + UploadImgResultDTO dto = new UploadImgResultDTO(); + dto.setUrl(url); + return new Result().ok(dto); + } } From 24cc26deed6f76a263bb859795513bd940214cf1 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 4 Nov 2020 10:21:45 +0800 Subject: [PATCH 105/130] =?UTF-8?q?=E5=AE=89=E5=AE=81=2003=E3=80=81?= =?UTF-8?q?=E5=9F=BA=E5=B1=82=E5=85=9A=E5=91=98-=E5=85=9A=E5=91=98?= =?UTF-8?q?=E6=8E=92=E8=A1=8C=E6=A6=9C=E5=8D=95=20=E9=87=87=E9=9B=86?= =?UTF-8?q?=E5=92=8C=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=20=E6=9C=88=E4=BB=BDId=20=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../screen/dto/form/AnScreenRankFormDTO.java | 4 ++++ .../screen/dto/result/PmRankResultDTO.java | 4 ++++ .../screenan/ScreenAnGrassRootsPmRankDao.java | 3 ++- .../screen/impl/AnScreenServiceImpl.java | 17 ++++++++++++++++- .../screenan/ScreenAnGrassRootsPmRankDao.xml | 7 +++++-- .../form/AnGrassRootsPmRankFormDTO.java | 5 +++++ .../controller/AnScreenCollController.java | 4 +++- .../screen/ScreenAnGrassRootsPmRankDao.java | 13 +++++++------ .../screen/ScreenAnGrassRootsPmRankEntity.java | 8 +++++--- .../screen/impl/AnScreenCollServiceImpl.java | 4 ++-- .../screen/ScreenAnGrassRootsPmRankDao.xml | 3 +++ 11 files changed, 56 insertions(+), 16 deletions(-) diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/AnScreenRankFormDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/AnScreenRankFormDTO.java index 2b787582dd..f7afcbe24f 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/AnScreenRankFormDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/AnScreenRankFormDTO.java @@ -25,4 +25,8 @@ public class AnScreenRankFormDTO implements Serializable { private String agencyId; @NotNull(message = "top值不能为空", groups = AnScreenRankFormDTO.AnScreenRankGroup.class) private Integer topNum; + /** + * 月份ID,默认上一个月 + */ + private String monthId; } diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PmRankResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PmRankResultDTO.java index c813fdf694..7a2717a86b 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PmRankResultDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PmRankResultDTO.java @@ -47,4 +47,8 @@ public class PmRankResultDTO implements Serializable { * 议题数 */ private Integer issueTotal; + /** + * 月份Id + */ + private String monthId; } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsPmRankDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsPmRankDao.java index 141853010d..821ccb6c1f 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsPmRankDao.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsPmRankDao.java @@ -35,11 +35,12 @@ public interface ScreenAnGrassRootsPmRankDao { * 基层党员-党员排行榜单 * * @param agencyId + * @param monthId * @param topNum * @return java.util.List * @author zhaoqifeng * @date 2020/10/9 15:43 */ - List selectPmRank(@Param("agencyId") String agencyId, @Param("topNum") Integer topNum); + List selectPmRank(@Param("agencyId") String agencyId, @Param("monthId") String monthId, @Param("topNum") Integer topNum); } \ No newline at end of file diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AnScreenServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AnScreenServiceImpl.java index 0d8a064bcb..158ca87d8e 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AnScreenServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AnScreenServiceImpl.java @@ -10,6 +10,7 @@ import com.epmet.evaluationindex.screen.dto.form.AnScreenFormDTO; import com.epmet.evaluationindex.screen.dto.form.AnScreenRankFormDTO; import com.epmet.evaluationindex.screen.dto.form.AnScreenTrendFormDTO; import com.epmet.evaluationindex.screen.dto.result.*; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -47,6 +48,7 @@ public class AnScreenServiceImpl implements AnScreenService { * @date 2020/10/9 13:55 */ @Override + @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true) public PmTotalResultDTO pmTotal(AnScreenFormDTO formDTO) { return screenAnGrassRootsPmTotalMonthlyDao.selectPmTotal(formDTO.getAgencyId(), formDTO.getMonthId()); } @@ -60,6 +62,7 @@ public class AnScreenServiceImpl implements AnScreenService { * @date 2020/10/9 13:57 */ @Override + @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true) public PmTotalTrendResultDTO pmTotalTrend(AnScreenTrendFormDTO formDTO) { PmTotalTrendResultDTO resultDTO = new PmTotalTrendResultDTO(); String yearId = DateUtils.format(new Date(), DateUtils.DATE_PATTERN_YYYY); @@ -86,8 +89,13 @@ public class AnScreenServiceImpl implements AnScreenService { * @date 2020/10/9 13:59 */ @Override + @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true) public List pmRank(AnScreenRankFormDTO formDTO) { - return screenAnGrassRootsPmRankDao.selectPmRank(formDTO.getAgencyId(), formDTO.getTopNum()); + String monthId = formDTO.getMonthId(); + if (StringUtils.isBlank(monthId)){ + monthId = DateUtils.getBeforeNMonth(1); + } + return screenAnGrassRootsPmRankDao.selectPmRank(formDTO.getAgencyId(), monthId,formDTO.getTopNum()); } /** @@ -99,6 +107,7 @@ public class AnScreenServiceImpl implements AnScreenService { * @date 2020/10/9 14:01 */ @Override + @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true) public GrassRootsOrgResultDTO grassRootsOrg(AnScreenFormDTO formDTO) { return screenAnGrassRootsOrgMonthlyDao.selectGrassRootsOrg(formDTO.getAgencyId(), formDTO.getMonthId()); } @@ -112,6 +121,7 @@ public class AnScreenServiceImpl implements AnScreenService { * @date 2020/10/9 14:03 */ @Override + @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true) public GrassRootsOrgTrendResultDTO grassRootsOrgTrend(AnScreenTrendFormDTO formDTO) { GrassRootsOrgTrendResultDTO resultDTO = new GrassRootsOrgTrendResultDTO(); String yearId = DateUtils.format(new Date(), DateUtils.DATE_PATTERN_YYYY); @@ -136,6 +146,7 @@ public class AnScreenServiceImpl implements AnScreenService { * @date 2020/10/9 14:06 */ @Override + @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true) public List grassRootsOrgRank(AnScreenFormDTO formDTO) { return screenAnGrassRootsOrgMonthlyDao.selectGrassRootsOrgRank(formDTO.getAgencyId(), formDTO.getMonthId()); } @@ -149,6 +160,7 @@ public class AnScreenServiceImpl implements AnScreenService { * @date 2020/10/9 14:10 */ @Override + @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true) public GrassRootsGovernResultDTO grassRootsGovern(AnScreenFormDTO formDTO) { return screenAnGrassRootsGovernMonthlyDao.selectGrassRootsGovern(formDTO.getAgencyId(), formDTO.getMonthId()); } @@ -162,6 +174,7 @@ public class AnScreenServiceImpl implements AnScreenService { * @date 2020/10/9 14:11 */ @Override + @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true) public GrassRootsGovernTrendResultDTO grassRootsGovernTrend(AnScreenTrendFormDTO formDTO) { GrassRootsGovernTrendResultDTO resultDTO = new GrassRootsGovernTrendResultDTO(); String yearId = DateUtils.format(new Date(), DateUtils.DATE_PATTERN_YYYY); @@ -190,6 +203,7 @@ public class AnScreenServiceImpl implements AnScreenService { * @date 2020/10/9 14:13 */ @Override + @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true) public List grassRootsGovernRank(AnScreenFormDTO formDTO) { return screenAnGrassRootsGovernMonthlyDao.selectGrassRootsGovernRank(formDTO.getAgencyId(), formDTO.getMonthId()); } @@ -203,6 +217,7 @@ public class AnScreenServiceImpl implements AnScreenService { * @date 2020/10/9 14:16 */ @Override + @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true) public List projectProfile(String customerId) { return screenAnCommunityProjectProfileDao.selectProjectProfile(customerId); } diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsPmRankDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsPmRankDao.xml index dc13015231..feb6f4d1b4 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsPmRankDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsPmRankDao.xml @@ -4,16 +4,19 @@ + SELECT + ca.id AS agencyId, + ca.organization_name AS agencyName, + ca.level AS level, + ca.pids AS pids, + ca.all_parent_name AS allParentName + FROM + customer_agency ca + WHERE + ca.del_flag = '0' + AND ca.id = #{agencyId} + + + + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/OrganizeTreeFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/OrganizeTreeFormDTO.java new file mode 100644 index 0000000000..5f7c6b4e4f --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/OrganizeTreeFormDTO.java @@ -0,0 +1,21 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 外挂-获取当前组织及部门、网格数据,递归查询所有下级数据-接口入参 + * @Auth sun + */ +@Data +public class OrganizeTreeFormDTO implements Serializable { + + private static final long serialVersionUID = -5093758817860808310L; + @NotBlank(message = "组织Id不能为空" , groups = StaffIdGroup.class) + private String agencyId; + + public interface StaffIdGroup extends CustomerClientShowGroup{} +} From bdfc40f1089a07b8bac576cf0e7246351a332a54 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 4 Nov 2020 18:14:02 +0800 Subject: [PATCH 110/130] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=97=A0=E7=94=A8?= =?UTF-8?q?=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/IndexCollCommunityServiceImpl.java | 10 ++--- .../impl/IndexCollDistrictServiceImpl.java | 12 +++--- .../impl/IndexCollStreetServiceImpl.java | 12 +++--- .../impl/IndexOriginExtractServiceImpl.java | 6 +-- .../FactOriginProjectLogDailyService.java | 12 +++--- .../FactOriginProjectLogDailyServiceImpl.java | 41 +++++++++---------- 6 files changed, 46 insertions(+), 47 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollCommunityServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollCommunityServiceImpl.java index 062990b4ed..13a3103e83 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollCommunityServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollCommunityServiceImpl.java @@ -135,14 +135,14 @@ public class IndexCollCommunityServiceImpl implements IndexCollCommunityService } - List agencies = agencyList.stream().map(DimAgencyDTO :: getId).distinct().collect(Collectors.toList()); + List agencies = agencyList.stream().map(DimAgencyDTO::getId).distinct().collect(Collectors.toList()); //办结数 - Map agencyHandleCount = factOriginProjectLogDailyService.getProjectHandledAgency(agencies,customerId,dimId.getMonthId(),"month"); + Map agencyHandleCount = factOriginProjectLogDailyService.getProjectHandledAgency(agencies, customerId, dimId.getMonthId()); //办结率 - Map handlingRatioMap = factOriginProjectLogDailyService.getHandlingRatio(agencies,customerId,dimId.getMonthId(),"month"); + Map handlingRatioMap = factOriginProjectLogDailyService.getHandlingRatio(agencies, customerId, dimId.getMonthId()); //处理效率 - Map efficiencyMap = factOriginProjectLogDailyService.getAgencyWorkPieceRatio(customerId,dimId.getMonthId(),"month"); - list.forEach(entity ->{ + Map efficiencyMap = factOriginProjectLogDailyService.getAgencyWorkPieceRatio(customerId, dimId.getMonthId()); + list.forEach(entity -> { //办结数 entity.setClosedProjectCount(Optional.ofNullable(agencyHandleCount.get(entity.getAgencyId())).orElse(NumConstant.ZERO)); //办结率 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollDistrictServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollDistrictServiceImpl.java index aeaa04000c..494f8f51c1 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollDistrictServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollDistrictServiceImpl.java @@ -128,16 +128,16 @@ public class IndexCollDistrictServiceImpl implements IndexCollDistrictService { })); } - List agencies = agencyList.stream().map(DimAgencyDTO :: getId).distinct().collect(Collectors.toList()); + List agencies = agencyList.stream().map(DimAgencyDTO::getId).distinct().collect(Collectors.toList()); //办结数 - Map agencyHandleCount = factOriginProjectLogDailyService.getProjectHandledAgency(agencies,customerId,dimId.getMonthId(),"month"); + Map agencyHandleCount = factOriginProjectLogDailyService.getProjectHandledAgency(agencies, customerId, dimId.getMonthId()); //办结率 - Map handlingRatioMap = factOriginProjectLogDailyService.getHandlingRatio(agencies,customerId,dimId.getMonthId(),"month"); + Map handlingRatioMap = factOriginProjectLogDailyService.getHandlingRatio(agencies, customerId, dimId.getMonthId()); //处理效率 - Map efficiencyMap = factOriginProjectLogDailyService.getAgencyWorkPieceRatio(customerId,dimId.getMonthId(),"month"); - list.forEach(entity ->{ + Map efficiencyMap = factOriginProjectLogDailyService.getAgencyWorkPieceRatio(customerId, dimId.getMonthId()); + list.forEach(entity -> { //办结数 - entity.setClosedProjectCount(agencyHandleCount.get(entity.getAgencyId()) == null? NumConstant.ZERO : agencyHandleCount.get(entity.getAgencyId())); + entity.setClosedProjectCount(agencyHandleCount.get(entity.getAgencyId()) == null ? NumConstant.ZERO : agencyHandleCount.get(entity.getAgencyId())); //办结率 entity.setClosedProjectRatio(Optional.ofNullable(handlingRatioMap.get(entity.getAgencyId())).orElse(BigDecimal.ZERO)); //办结效率 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollStreetServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollStreetServiceImpl.java index 8331905d41..4d21057556 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollStreetServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollStreetServiceImpl.java @@ -126,16 +126,16 @@ public class IndexCollStreetServiceImpl implements IndexCollStreetService { })); } - List agencies = agencyList.stream().map(DimAgencyDTO :: getId).distinct().collect(Collectors.toList()); + List agencies = agencyList.stream().map(DimAgencyDTO::getId).distinct().collect(Collectors.toList()); //办结数 - Map agencyHandleCount = factOriginProjectLogDailyService.getProjectHandledAgency(agencies,customerId,dimId.getMonthId(),"month"); + Map agencyHandleCount = factOriginProjectLogDailyService.getProjectHandledAgency(agencies, customerId, dimId.getMonthId()); //办结率 - Map handlingRatioMap = factOriginProjectLogDailyService.getHandlingRatio(agencies,customerId,dimId.getMonthId(),"month"); + Map handlingRatioMap = factOriginProjectLogDailyService.getHandlingRatio(agencies, customerId, dimId.getMonthId()); //处理效率 - Map efficiencyMap = factOriginProjectLogDailyService.getAgencyWorkPieceRatio(customerId,dimId.getMonthId(),"month"); - list.forEach(entity ->{ + Map efficiencyMap = factOriginProjectLogDailyService.getAgencyWorkPieceRatio(customerId, dimId.getMonthId()); + list.forEach(entity -> { //办结数 - entity.setClosedProjectCount(agencyHandleCount.get(entity.getAgencyId()) == null? NumConstant.ZERO : agencyHandleCount.get(entity.getAgencyId())); + entity.setClosedProjectCount(agencyHandleCount.get(entity.getAgencyId()) == null ? NumConstant.ZERO : agencyHandleCount.get(entity.getAgencyId())); //办结率 entity.setClosedProjectRatio(Optional.ofNullable(handlingRatioMap.get(entity.getAgencyId())).orElse(BigDecimal.ZERO)); //办结效率 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexOriginExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexOriginExtractServiceImpl.java index 77ac5f2fc7..80e087bc3f 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexOriginExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexOriginExtractServiceImpl.java @@ -2,11 +2,9 @@ package com.epmet.service.evaluationindex.extract.dataToIndex.impl; import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.constant.NumConstant; -import com.epmet.commons.tools.utils.DateUtils; import com.epmet.dto.extract.form.ExtractIndexFormDTO; import com.epmet.service.evaluationindex.extract.dataToIndex.*; import com.epmet.service.stats.DimCustomerService; -import com.epmet.util.DimIdGenerator; import com.google.common.util.concurrent.ThreadFactoryBuilder; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -16,7 +14,6 @@ import org.springframework.util.CollectionUtils; import java.time.LocalDate; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.concurrent.*; @@ -107,16 +104,19 @@ public class IndexOriginExtractServiceImpl implements IndexOriginExtractService log.error("抽取【网格服务能力数据】发生异常,参数:" + JSON.toJSONString(param), e); } try{ + //dimAgency indexCollStreetService.saveStreetAbility(customerId, monthId); }catch (Exception e){ log.error("抽取【街道治理能力-街道党建能力-服务能力】发生异常,参数:" + JSON.toJSONString(param), e); } try{ + //dimAgency indexCollCommunityService.saveCommunityAbility(customerId, monthId); }catch (Exception e){ log.error("抽取【社区治理能力-社区党建能力-服务能力】发生异常,参数:" + JSON.toJSONString(param), e); } try{ + //dimAgency indexCollDistrictService.saveDistrictAbility(customerId, monthId); }catch (Exception e){ log.error("抽取【全区治理能力-全区党建能力-服务能力】发生异常,参数:" + JSON.toJSONString(param), e); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectLogDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectLogDailyService.java index d473e0aabe..2a3c3ab304 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectLogDailyService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectLogDailyService.java @@ -168,13 +168,13 @@ public interface FactOriginProjectLogDailyService extends BaseService getDepTransferCount(String customerId, String monthId, String level); /** - * @Description 查询各机关办结(办结的含义指每个项目的结点中最高的机关)了多少项目 * @param agencies * @return + * @Description 查询各机关办结(办结的含义指每个项目的结点中最高的机关)了多少项目 * @author wangc * @date 2020.09.20 23:46 **/ - Map getProjectHandledAgency(List agencies, String customerId, String dimId,String dateType); + Map getProjectHandledAgency(List agencies, String customerId, String dimId); /** * @Description 办结率 @@ -184,8 +184,8 @@ public interface FactOriginProjectLogDailyService extends BaseService getHandlingRatio(List agencies, String customerId,String dimId,String dateType); + **/ + Map getHandlingRatio(List agencies, String customerId, String dimId); /** * @Description 计算机关办结项目效率 @@ -193,8 +193,8 @@ public interface FactOriginProjectLogDailyService extends BaseService getAgencyWorkPieceRatio( String customerId,String dimId,String dateType); + **/ + Map getAgencyWorkPieceRatio(String customerId, String dimId); /** * 网格项目响应度 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java index ec1429618d..7b3f127cd2 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java @@ -38,7 +38,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import javax.naming.LinkLoopException; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; @@ -171,43 +170,43 @@ public class FactOriginProjectLogDailyServiceImpl extends BaseServiceImpl getProjectHandledAgency(List agencies, String customerId,String dimId, String dateType) { + public Map getProjectHandledAgency(List agencies, String customerId, String dimId) { Map result = new HashMap<>(); - List countList = baseDao.selectAgencyHandledProjectCount(agencies,customerId,dimId); - if(!CollectionUtils.isEmpty(countList)){ - result = countList.stream().collect(Collectors.toMap(ProjectParticipatedAgencyResultDTO::getAgencyId,ProjectParticipatedAgencyResultDTO::getCount)); + List countList = baseDao.selectAgencyHandledProjectCount(agencies, customerId, dimId); + if (!CollectionUtils.isEmpty(countList)) { + result = countList.stream().collect(Collectors.toMap(ProjectParticipatedAgencyResultDTO::getAgencyId, ProjectParticipatedAgencyResultDTO::getCount)); } return result; } /** - * @Description 办结率 * @param agencies * @param dimId * @param dateType - 日期维度类型 month date week quarter year * @return + * @Description 办结率 * @author wangc * @date 2020.09.23 10:06 **/ @Override - public Map getHandlingRatio(List agencies, String customerId,String dimId, String dateType) { + public Map getHandlingRatio(List agencies, String customerId, String dimId) { //计算方式:“评价周期内被吹哨且办结(无论是哪一级办结)的项目数”/“评价周期内被吹哨的所有项目数” - Map result = new HashMap<>(); - List projectAgencyCount = baseDao.selectWhistledAgencyClosedProjectCount(agencies,customerId,dimId); - if(!CollectionUtils.isEmpty(projectAgencyCount)){ - Map whistledAndHandledProjectTotalMap = projectAgencyCount.stream().collect(Collectors.toMap(ProjectParticipatedAgencyResultDTO::getAgencyId,ProjectParticipatedAgencyResultDTO::getCount)); - List whistledProjectTotal = baseDao.selectAgencyWhistledCount(agencies,customerId,dimId); - Map whistledProjectTotalMap = whistledProjectTotal.stream().collect(Collectors.toMap(ProjectParticipatedAgencyResultDTO::getAgencyId,ProjectParticipatedAgencyResultDTO::getCount)); - whistledAndHandledProjectTotalMap.forEach((agencyId,count) -> { + Map result = new HashMap<>(); + List projectAgencyCount = baseDao.selectWhistledAgencyClosedProjectCount(agencies, customerId, dimId); + if (!CollectionUtils.isEmpty(projectAgencyCount)) { + Map whistledAndHandledProjectTotalMap = projectAgencyCount.stream().collect(Collectors.toMap(ProjectParticipatedAgencyResultDTO::getAgencyId, ProjectParticipatedAgencyResultDTO::getCount)); + List whistledProjectTotal = baseDao.selectAgencyWhistledCount(agencies, customerId, dimId); + Map whistledProjectTotalMap = whistledProjectTotal.stream().collect(Collectors.toMap(ProjectParticipatedAgencyResultDTO::getAgencyId, ProjectParticipatedAgencyResultDTO::getCount)); + whistledAndHandledProjectTotalMap.forEach((agencyId, count) -> { //分母 被吹哨项目数 Integer denominator = whistledProjectTotalMap.get(agencyId); if(null == denominator || NumConstant.ZERO == denominator){ @@ -222,22 +221,22 @@ public class FactOriginProjectLogDailyServiceImpl extends BaseServiceImpl getAgencyWorkPieceRatio(String customerId,String dimId, String dateType) { + public Map getAgencyWorkPieceRatio(String customerId, String dimId) { //计算方法 : 评价周期内办结项目的平均处理时长的倒数 //1.评价周期内结案了的项目 - List projectsHandledByAgency = baseDao.selectProjectIdHandledByAgency(customerId,dimId); - Map efficiencyMap = new HashMap<>(); - if(!CollectionUtils.isEmpty(projectsHandledByAgency)){ - Map> agencyProjectsMap = new HashMap<>(); + List projectsHandledByAgency = baseDao.selectProjectIdHandledByAgency(customerId, dimId); + Map efficiencyMap = new HashMap<>(); + if (!CollectionUtils.isEmpty(projectsHandledByAgency)) { + Map> agencyProjectsMap = new HashMap<>(); projectsHandledByAgency.forEach(o -> { String agencyId = o.getAgencyId(); From 711da11747135d8616d3d621ba2f080af9406873 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 5 Nov 2020 09:30:11 +0800 Subject: [PATCH 111/130] =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/OpenUpServiceImpl.java | 4 ++-- .../com/epmet/service/impl/CustomerAgencyServiceImpl.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/service/impl/OpenUpServiceImpl.java b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/service/impl/OpenUpServiceImpl.java index 8c497a9c69..170c3e32c4 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/service/impl/OpenUpServiceImpl.java +++ b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/service/impl/OpenUpServiceImpl.java @@ -129,7 +129,7 @@ public class OpenUpServiceImpl implements OpenUpService { public AgencyInfoResultDTO agencyInfo(AgencyInfoFormDTO formDTO) { Result result = govOrgOpenFeignClient.agencyInfo(formDTO); if (!result.success()){ - throw new RenException(ModuleConstant.ERROR_AGENCY); + throw new RenException(result.getInternalMsg()); } return result.getData(); } @@ -142,7 +142,7 @@ public class OpenUpServiceImpl implements OpenUpService { public OrganizeTreeResultDTO organizeTree(OrganizeTreeFormDTO formDTO) { Result result = govOrgOpenFeignClient.organizeTree(formDTO.getAgencyId()); if (!result.success()){ - throw new RenException(ModuleConstant.ERROR_AGENCY); + throw new RenException(result.getInternalMsg()); } return result.getData(); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index e02cb72ddc..dd3360a781 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -1007,7 +1007,7 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl Date: Thu, 5 Nov 2020 09:50:45 +0800 Subject: [PATCH 112/130] =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/commons/tools/constant/AppClientConstant.java | 4 ++++ .../src/main/java/com/epmet/controller/OpenUpController.java | 3 +++ .../java/com/epmet/controller/WxmpMessageController.java | 5 +++++ 3 files changed, 12 insertions(+) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/AppClientConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/AppClientConstant.java index 65673d8e19..2d12ab77ce 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/AppClientConstant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/AppClientConstant.java @@ -50,4 +50,8 @@ public interface AppClientConstant { * 事务流水号,每次请求串起来的多个服务拥有相同的流水号,便于日志追踪 */ String TRANSACTION_SERIAL_KEY = "Transaction-Serial"; + /** + * app类型-工作端 + */ + String APP_WORK = "work"; } diff --git a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpController.java b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpController.java index eecf737391..162b493bd3 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpController.java +++ b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpController.java @@ -109,6 +109,9 @@ public class OpenUpController { @PostMapping("agencyinfo") Result agencyInfo(@RequestBody AgencyInfoFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, AgencyInfoFormDTO.StaffIdGroup.class); + if (!"agency".equals(formDTO.getOrgType()) && !"grid".equals(formDTO.getOrgType())) { + return new Result().error("参数错误,orgType值类型错误!"); + } return new Result().ok(openUpService.agencyInfo(formDTO)); } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java index 71776b7e47..6123933c34 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java @@ -17,6 +17,7 @@ package com.epmet.controller; +import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.Result; @@ -33,6 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import sun.awt.AppContext; import java.util.List; import java.util.concurrent.ExecutorService; @@ -152,6 +154,9 @@ public class WxmpMessageController { @PostMapping("wxmptemplatelist") public Result> wxmpTemplateList(@RequestBody WxmpTemplateListFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, WxmpTemplateListFormDTO.AddUserInternalGroup.class); + if (!AppClientConstant.APP_RESI.equals(formDTO.getClientType()) && !AppClientConstant.APP_WORK.equals(formDTO.getClientType())) { + return new Result>().error("参数错误,clientType值类型错误!"); + } return new Result>().ok(wxmpMessageService.wxmpTemplateList(formDTO)); } From a836c4fe8039f44f597657b292ed31411ab15b15 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 5 Nov 2020 10:06:00 +0800 Subject: [PATCH 113/130] =?UTF-8?q?=E6=96=B9=E6=B3=95=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxmpMessageController.java | 23 +++----------- .../controller/WxmpMessageExtController.java | 17 ++++++++++ .../epmet/service/WxmpMessageExtService.java | 10 ++++++ .../com/epmet/service/WxmpMessageService.java | 8 ----- .../impl/WxmpMessageExtServiceImpl.java | 31 +++++++++++++++---- .../service/impl/WxmpMessageServiceImpl.java | 21 +------------ 6 files changed, 57 insertions(+), 53 deletions(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java index 6123933c34..035bc45c2d 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java @@ -17,7 +17,6 @@ package com.epmet.controller; -import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.Result; @@ -25,16 +24,16 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.GetTemplateListFormDTO; import com.epmet.dto.form.WxMsgAuthInfoFormDTO; import com.epmet.dto.form.WxSubscribeMessageFormDTO; -import com.epmet.dto.form.WxmpTemplateListFormDTO; import com.epmet.dto.result.GetTemplateListResultDTO; import com.epmet.dto.result.WxMsgAuthInfoResultDTO; -import com.epmet.dto.result.WxmpTemplateListResultDTO; import com.epmet.service.WxmpMessageService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import sun.awt.AppContext; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.concurrent.ExecutorService; @@ -146,18 +145,4 @@ public class WxmpMessageController { return new Result(); } - /** - * @return - * @Description (外挂)消息-获取订阅消息模板列表 - * @author sun - */ - @PostMapping("wxmptemplatelist") - public Result> wxmpTemplateList(@RequestBody WxmpTemplateListFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, WxmpTemplateListFormDTO.AddUserInternalGroup.class); - if (!AppClientConstant.APP_RESI.equals(formDTO.getClientType()) && !AppClientConstant.APP_WORK.equals(formDTO.getClientType())) { - return new Result>().error("参数错误,clientType值类型错误!"); - } - return new Result>().ok(wxmpMessageService.wxmpTemplateList(formDTO)); - } - } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageExtController.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageExtController.java index 242dfe3cb9..330bda57bb 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageExtController.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageExtController.java @@ -1,9 +1,12 @@ package com.epmet.controller; +import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.WxmpMessagePushFormDTO; +import com.epmet.dto.form.WxmpTemplateListFormDTO; +import com.epmet.dto.result.WxmpTemplateListResultDTO; import com.epmet.service.WxmpMessageExtService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -49,4 +52,18 @@ public class WxmpMessageExtController { }); return new Result(); } + + /** + * @return + * @Description (外挂)消息-获取订阅消息模板列表 + * @author sun + */ + @PostMapping("wxmptemplatelist") + public Result> wxmpTemplateList(@RequestBody WxmpTemplateListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, WxmpTemplateListFormDTO.AddUserInternalGroup.class); + if (!AppClientConstant.APP_RESI.equals(formDTO.getClientType()) && !AppClientConstant.APP_WORK.equals(formDTO.getClientType())) { + return new Result>().error("参数错误,clientType值类型错误!"); + } + return new Result>().ok(wxmpMessageExtService.wxmpTemplateList(formDTO)); + } } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/WxmpMessageExtService.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/WxmpMessageExtService.java index 03320ded2e..598c992667 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/WxmpMessageExtService.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/WxmpMessageExtService.java @@ -2,9 +2,19 @@ package com.epmet.service; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.WxmpMessagePushFormDTO; +import com.epmet.dto.form.WxmpTemplateListFormDTO; +import com.epmet.dto.result.WxmpTemplateListResultDTO; import java.util.List; public interface WxmpMessageExtService { + Result pushWxmpMessage(List dto); + + /** + * @return + * @Description 消息-获取订阅消息模板列表 + * @author sun + */ + List wxmpTemplateList(WxmpTemplateListFormDTO formDTO); } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/WxmpMessageService.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/WxmpMessageService.java index 6b07c35670..e24e572ee2 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/WxmpMessageService.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/WxmpMessageService.java @@ -19,10 +19,8 @@ package com.epmet.service; import com.epmet.dto.form.GetTemplateListFormDTO; import com.epmet.dto.form.WxSubscribeMessageFormDTO; -import com.epmet.dto.form.WxmpTemplateListFormDTO; import com.epmet.dto.result.GetTemplateListResultDTO; import com.epmet.dto.result.WxMsgAuthInfoResultDTO; -import com.epmet.dto.result.WxmpTemplateListResultDTO; import java.util.List; @@ -57,10 +55,4 @@ public interface WxmpMessageService { */ List templateList(GetTemplateListFormDTO formDTO); - /** - * @return - * @Description 消息-获取订阅消息模板列表 - * @author sun - */ - List wxmpTemplateList(WxmpTemplateListFormDTO formDTO); } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageExtServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageExtServiceImpl.java index 21204730c5..f9d1e17a67 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageExtServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageExtServiceImpl.java @@ -1,12 +1,11 @@ package com.epmet.service.impl; -import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.ExtConstant; -import com.epmet.dto.form.UserMessageFormDTO; -import com.epmet.dto.form.WxSubscribeMessageFormDTO; -import com.epmet.dto.form.WxmpMessagePushFormDTO; -import com.epmet.feign.EpmetMessageOpenFeignClient; +import com.epmet.dto.form.*; +import com.epmet.dto.result.CustomerTemplateListResultDTO; +import com.epmet.dto.result.WxmpTemplateListResultDTO; import com.epmet.service.UserMessageService; import com.epmet.service.WxmpMessageExtService; import com.epmet.service.WxmpMessageService; @@ -27,9 +26,10 @@ import java.util.List; public class WxmpMessageExtServiceImpl implements WxmpMessageExtService { @Autowired private WxmpMessageService wxmpMessageService; - @Autowired private UserMessageService userMessageService; + @Autowired + private WxmpMessageServiceImpl wxmpMessageServiceImpl; @Override public Result pushWxmpMessage(List dtos) { @@ -61,4 +61,23 @@ public class WxmpMessageExtServiceImpl implements WxmpMessageExtService { wxmpMessageService.sendWxSubscribeMessage(wxmpMsgList); return userMessageService.saveUserMessageList(userMsgList); } + + /** + * @return + * @Description 消息-获取订阅消息模板列表 + * @author sun + */ + @Override + public List wxmpTemplateList(WxmpTemplateListFormDTO formDTO) { + List resultList = new ArrayList<>(); + CustomerTemplateListFormDTO dto = ConvertUtils.sourceToTarget(formDTO, CustomerTemplateListFormDTO.class); + List list = wxmpMessageServiceImpl.customerTemplateList(dto); + list.forEach(l->{ + if(formDTO.getClientType().equals(l.getClientType())){ + WxmpTemplateListResultDTO result = ConvertUtils.sourceToTarget(l, WxmpTemplateListResultDTO.class); + resultList.add(result); + } + }); + return resultList; + } } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java index 7d7d68af77..1a8a7c3fbc 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java @@ -424,7 +424,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { * @Description 查询客户两个端小程序对应的站内信模板Id * @author sun */ - private List customerTemplateList(CustomerTemplateListFormDTO formDTO) { + public List customerTemplateList(CustomerTemplateListFormDTO formDTO) { String url = "https://epmet-cloud.elinkservice.cn/api/third/personaltemplate/customertemplatelist"; String data = HttpClientManager.getInstance().sendPostByJSON(url, JSON.toJSONString(formDTO)).getData(); logger.info("ThirdLoginServiceImpl.customerTemplateList:httpclient->url:" + url + ",结果->" + data); @@ -619,23 +619,4 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { return staffBasicInfo.getOpenId(); } - /** - * @return - * @Description 消息-获取订阅消息模板列表 - * @author sun - */ - @Override - public List wxmpTemplateList(WxmpTemplateListFormDTO formDTO) { - List resultList = new ArrayList<>(); - CustomerTemplateListFormDTO dto = ConvertUtils.sourceToTarget(formDTO, CustomerTemplateListFormDTO.class); - List list = customerTemplateList(dto); - list.forEach(l->{ - if(formDTO.getClientType().equals(l.getClientType())){ - WxmpTemplateListResultDTO result = ConvertUtils.sourceToTarget(l, WxmpTemplateListResultDTO.class); - resultList.add(result); - } - }); - return resultList; - } - } From a20d1406aa00b620b3473b2a6fc2a794bd492235 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 5 Nov 2020 10:24:10 +0800 Subject: [PATCH 114/130] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/ArticleServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java index caeba1dc14..5c8ed40e39 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java @@ -1187,7 +1187,7 @@ public class ArticleServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); WxSubscribeMessageFormDTO formDTO = new WxSubscribeMessageFormDTO(); formDTO.setCustomerId(customerId); - formDTO.setClientType(AppClientConstant.APP_RESI); + formDTO.setClientType(AppClientConstant.APP_GOV); formDTO.setUserId(loginUserUtil.getLoginUserId()); formDTO.setBehaviorType(String.format(ModuleConstant.WXMP_MSG_TITLE, title)); formDTO.setMessageContent(content); From 08a0433b04bb36e2964de4e4526680e61edcc464 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 5 Nov 2020 10:32:06 +0800 Subject: [PATCH 115/130] =?UTF-8?q?=E5=A4=96=E6=8C=82=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=B5=B0=E5=AE=89=E5=85=A8=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-gateway/src/main/resources/bootstrap.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-gateway/src/main/resources/bootstrap.yml b/epmet-gateway/src/main/resources/bootstrap.yml index 9b59becc84..ad698b4d8a 100644 --- a/epmet-gateway/src/main/resources/bootstrap.yml +++ b/epmet-gateway/src/main/resources/bootstrap.yml @@ -445,7 +445,7 @@ epmet: - /data/stats/** - /epmet/ext/** - /epmetuser/customerstaff/customerlist - - /message/template/wxmpmsgpush + - /message/template/** swaggerUrls: From 4d781da2b491178efa362dc1f7017c01ef63370e Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Thu, 5 Nov 2020 14:58:00 +0800 Subject: [PATCH 116/130] =?UTF-8?q?=E9=A9=B3=E5=9B=9E=E5=BB=BA=E7=BB=84?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E7=9A=84=E8=AE=A2=E9=98=85=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E6=9C=89=E8=AF=AF=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/modules/group/service/impl/ResiGroupServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index d24ad2e1c4..14e71c03bc 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -640,7 +640,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); msgList.add(wxSubscribeMessageFormDTO); From fc9e260913a409185303b422e3774f51152fe37f Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Thu, 5 Nov 2020 15:49:04 +0800 Subject: [PATCH 117/130] =?UTF-8?q?userid=E6=94=B9staffid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/WxmpMessageServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java index 1a8a7c3fbc..f7ba9f59be 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java @@ -241,7 +241,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { jsonObject.put(WxmpMessageConstant.PAGE, resiPage.toString()); } else if (WxmpMessageConstant.GOV_DB.equals(clientType)) { StringBuilder govPage = new StringBuilder(WxmpMessageConstant.PAGE_URL); - govPage.append("?customerId=").append(customerId).append("&userId=").append(userId); + govPage.append("?customerId=").append(customerId).append("&staffId=").append(userId); jsonObject.put(WxmpMessageConstant.PAGE, govPage.toString()); } //开发环境 From 99332177406f57804a086ef3c29e4d207988c492 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 6 Nov 2020 13:37:52 +0800 Subject: [PATCH 118/130] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=9C=AC=E7=BA=A7?= =?UTF-8?q?=E5=92=8C=E4=B8=8B=E7=BA=A7=E5=88=86=E6=95=B0=E6=97=B6=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=20=E6=80=BB=E5=88=86=E7=9A=84=E5=8E=9F=E5=A7=8B?= =?UTF-8?q?=E5=80=BC=E5=8F=8A=E6=80=BB=E5=88=86=E5=AF=B9=E5=BA=94=E7=9A=84?= =?UTF-8?q?=20=E4=B8=8A=E7=BA=A7=E6=8C=87=E6=A0=87=E7=9A=84=E6=9D=83?= =?UTF-8?q?=E9=87=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../screen/dto/result/MonthScoreListResultDTO.java | 8 ++++++++ .../screen/dto/result/ScoreListResultDTO.java | 8 ++++++++ .../resources/mapper/fact/FactIndexAgencyScoreDao.xml | 4 ++++ .../resources/mapper/fact/FactIndexCommunityScoreDao.xml | 4 ++++ .../main/resources/mapper/fact/FactIndexGridScoreDao.xml | 4 ++++ 5 files changed, 28 insertions(+) diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/MonthScoreListResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/MonthScoreListResultDTO.java index 0acdbf9c73..19fad59717 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/MonthScoreListResultDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/MonthScoreListResultDTO.java @@ -30,6 +30,14 @@ public class MonthScoreListResultDTO implements Serializable { * 能力总分 */ private Double indexTotal; + /** + * 能力总分在上级的权重 + */ + private Double indexTotalSupWeight; + /** + * 能力总分原始值 + */ + private Double indexTotalOriginScore; /** * 本级能力分 */ diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/ScoreListResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/ScoreListResultDTO.java index 3b299ac780..64d2b02a95 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/ScoreListResultDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/ScoreListResultDTO.java @@ -21,6 +21,14 @@ public class ScoreListResultDTO implements Serializable { * 总分(保留一位小数) */ private Double indexTotal; + /** + * 能力总分在上级的权重 + */ + private Double indexTotalSupWeight; + /** + * 能力总分原始值 + */ + private Double indexTotalOriginScore; /** * 本级分数(保留一位小数) */ diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexAgencyScoreDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexAgencyScoreDao.xml index 9bc3f57b22..070feb04aa 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexAgencyScoreDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexAgencyScoreDao.xml @@ -25,6 +25,8 @@ SELECT fact.index_code AS "indexCode", ROUND(fact.score*fact.WEIGHT, 1) AS "indexTotal", + ROUND(fact.score,1) AS "indexTotalSupWeight", + fact.WEIGHT AS "indexTotalSupWeight", ROUND(self.self_score*fact.WEIGHT, 1) AS "agencyScore", self.self_score AS selfOriginScore, self.SELF_WEIGHT AS agencyWeight, @@ -49,6 +51,8 @@ SELECT fact.month_id AS "monthId", ROUND(fact.score*fact.WEIGHT, 1) AS "indexTotal", + ROUND(fact.score,1) AS "indexTotalSupWeight", + fact.WEIGHT AS "indexTotalSupWeight", ROUND(self.self_score*fact.WEIGHT, 1) AS "agencyScore", ROUND(self.sub_score*fact.WEIGHT, 1) AS "subAgencyScore", fact.index_code AS "indexCode" diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexCommunityScoreDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexCommunityScoreDao.xml index 64e645e536..0f04e3b8a0 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexCommunityScoreDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexCommunityScoreDao.xml @@ -25,6 +25,8 @@ SELECT fact.index_code AS "indexCode", ROUND(fact.score*fact.WEIGHT, 1) AS "indexTotal", + ROUND(fact.score,1) AS "indexTotalSupWeight", + fact.WEIGHT AS "indexTotalSupWeight", ROUND(self.self_score*fact.WEIGHT, 1) AS "agencyScore", self.self_score AS selfOriginScore, self.SELF_WEIGHT AS agencyWeight, @@ -49,6 +51,8 @@ SELECT fact.month_id AS "monthId", ROUND(fact.score*fact.WEIGHT, 1) AS "indexTotal", + ROUND(fact.score,1) AS "indexTotalSupWeight", + fact.WEIGHT AS "indexTotalSupWeight", ROUND(self.self_score*fact.WEIGHT, 1) AS "agencyScore", ROUND(self.sub_score*fact.WEIGHT, 1) AS "subAgencyScore", fact.index_code AS "indexCode" diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexGridScoreDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexGridScoreDao.xml index 5ee3c7d5f8..a332efdf54 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexGridScoreDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexGridScoreDao.xml @@ -25,6 +25,8 @@ SELECT fact.index_code AS "indexCode", ROUND(fact.score*fact.WEIGHT, 1) AS "indexTotal", + ROUND(fact.score,1) AS "indexTotalSupWeight", + fact.WEIGHT AS "indexTotalSupWeight", ROUND(self.self_score*fact.WEIGHT, 1) AS "agencyScore", self.self_score AS selfOriginScore, self.SELF_WEIGHT AS agencyWeight, @@ -50,6 +52,8 @@ SELECT fact.month_id AS "monthId", ROUND(fact.score*fact.WEIGHT, 1) AS "indexTotal", + ROUND(fact.score,1) AS "indexTotalSupWeight", + fact.WEIGHT AS "indexTotalSupWeight", ROUND(self.self_score*fact.WEIGHT, 1) AS "agencyScore", ROUND(self.sub_score*fact.WEIGHT, 1) AS "subAgencyScore", fact.index_code AS "indexCode" From 1f40553f9611a0e6f207887e885a64ea4d461fd7 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 6 Nov 2020 13:41:20 +0800 Subject: [PATCH 119/130] =?UTF-8?q?=E9=87=8D=E6=96=B0=E6=BF=80=E6=B4=BB?= =?UTF-8?q?=E8=AE=A2=E9=98=85=E6=8C=89=E9=92=AE=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/ActivationSubscribeFormDTO.java | 32 +++++++++++++++++++ .../controller/WxmpMessageController.java | 14 ++++++++ .../WxmpTemplateMsgSubscribeStatusDao.java | 9 ++++++ .../com/epmet/service/WxmpMessageService.java | 7 ++++ .../service/impl/WxmpMessageServiceImpl.java | 25 +++++++++++++++ .../WxmpTemplateMsgSubscribeStatusDao.xml | 15 +++++++++ 6 files changed, 102 insertions(+) create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ActivationSubscribeFormDTO.java diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ActivationSubscribeFormDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ActivationSubscribeFormDTO.java new file mode 100644 index 0000000000..3531f5b36d --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ActivationSubscribeFormDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Description 居民端、工作端-重新激活授权页-接口入参 + * @author sun + */ +@Data +public class ActivationSubscribeFormDTO { + + @NotBlank(message = "客户id不能为空", groups = { UpdateWxSubscribeInfoGroup.class }) + private String customerId; + @NotBlank(message = "客户端类型不能为空", groups = { UpdateWxSubscribeInfoGroup.class }) + private String clientType; + @NotBlank(message = "模板ID不能为空", groups = { UpdateWxSubscribeInfoGroup.class }) + private String templateId; + @NotBlank(message = "'是否总是允许'选项不能为空", groups = { UpdateWxSubscribeInfoGroup.class }) + private String alwaysVisit; + /** + * token中用户Id + */ + private String userId; + /** + * 用户对应的openId(居民端一对一,工作端一对多) + */ + private String openId; + public interface UpdateWxSubscribeInfoGroup {} + +} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java index 035bc45c2d..b600285971 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java @@ -21,6 +21,7 @@ import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.form.ActivationSubscribeFormDTO; import com.epmet.dto.form.GetTemplateListFormDTO; import com.epmet.dto.form.WxMsgAuthInfoFormDTO; import com.epmet.dto.form.WxSubscribeMessageFormDTO; @@ -145,4 +146,17 @@ public class WxmpMessageController { return new Result(); } + /** + * @return + * @Description 居民端、工作端-重新激活授权页 + * @author sun + */ + @PostMapping("activationsubscribe") + public Result activationSubscribe(@RequestBody ActivationSubscribeFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, ActivationSubscribeFormDTO.UpdateWxSubscribeInfoGroup.class); + formDTO.setUserId(loginUserUtil.getLoginUserId()); + wxmpMessageService.activationSubscribe(formDTO); + return new Result(); + } + } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpTemplateMsgSubscribeStatusDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpTemplateMsgSubscribeStatusDao.java index 75b577fce7..abf82c8ed9 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpTemplateMsgSubscribeStatusDao.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpTemplateMsgSubscribeStatusDao.java @@ -18,6 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.ActivationSubscribeFormDTO; import com.epmet.dto.result.WxMsgAuthInfoResultDTO; import com.epmet.entity.WxmpTemplateMsgSubscribeStatusEntity; import org.apache.ibatis.annotations.Mapper; @@ -43,4 +44,12 @@ public interface WxmpTemplateMsgSubscribeStatusDao extends BaseDao templateList(GetTemplateListFormDTO formDTO); + /** + * @return + * @Description 居民端、工作端-重新激活授权页 + * @author sun + */ + void activationSubscribe(ActivationSubscribeFormDTO formDTO); } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java index f7ba9f59be..2fa844c869 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java @@ -619,4 +619,29 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { return staffBasicInfo.getOpenId(); } + /** + * @return + * @Description 居民端、工作端-重新激活授权页 + * @author sun + */ + @Override + public void activationSubscribe(ActivationSubscribeFormDTO formDTO) { + //1.根据所属端和用户Id查询对应的openId + String openId = ""; + if (AppClientConstant.APP_GOV.equals(formDTO.getClientType())) { + // 工作端 + openId = getWorkOpenId(formDTO.getUserId()); + } else { + //居民端 + openId = getResiOpenId(formDTO.getUserId()); + } + formDTO.setOpenId(openId); + //2.更新我们自己授权页用户授权状态 + if(msgSubscribeStatusDao.updateUserSubscribe(formDTO) + + + UPDATE wxmp_template_msg_subscribe_status + SET ALWAYS_VISIT = #{alwaysVisit}, + UPDATED_BY = #{userId}, + UPDATED_TIME = NOW() + WHERE + del_flag = '0' + AND customer_id = #{customerId} + AND client_type = #{clientType} + AND user_id = #{userId} + AND wx_open_id = #{openId} + AND template_id = #{templateId} + + \ No newline at end of file From 36c306ee7ae2e078dbc3275b8cc58b6384586323 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 6 Nov 2020 13:51:53 +0800 Subject: [PATCH 120/130] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=9C=AC=E7=BA=A7?= =?UTF-8?q?=E5=92=8C=E4=B8=8B=E7=BA=A7=E5=88=86=E6=95=B0=E6=97=B6=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=20=E6=80=BB=E5=88=86=E7=9A=84=E5=8E=9F=E5=A7=8B?= =?UTF-8?q?=E5=80=BC=E5=8F=8A=E6=80=BB=E5=88=86=E5=AF=B9=E5=BA=94=E7=9A=84?= =?UTF-8?q?=20=E4=B8=8A=E7=BA=A7=E6=8C=87=E6=A0=87=E7=9A=84=E6=9D=83?= =?UTF-8?q?=E9=87=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mapper/fact/FactIndexAgencyScoreDao.xml | 4 ++-- .../main/resources/mapper/fact/FactIndexCommunityScoreDao.xml | 4 ++-- .../src/main/resources/mapper/fact/FactIndexGridScoreDao.xml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexAgencyScoreDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexAgencyScoreDao.xml index 070feb04aa..6eb14469a2 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexAgencyScoreDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexAgencyScoreDao.xml @@ -25,7 +25,7 @@ SELECT fact.index_code AS "indexCode", ROUND(fact.score*fact.WEIGHT, 1) AS "indexTotal", - ROUND(fact.score,1) AS "indexTotalSupWeight", + ROUND(fact.score,1) AS "indexTotalOriginScore", fact.WEIGHT AS "indexTotalSupWeight", ROUND(self.self_score*fact.WEIGHT, 1) AS "agencyScore", self.self_score AS selfOriginScore, @@ -51,7 +51,7 @@ SELECT fact.month_id AS "monthId", ROUND(fact.score*fact.WEIGHT, 1) AS "indexTotal", - ROUND(fact.score,1) AS "indexTotalSupWeight", + ROUND(fact.score,1) AS "indexTotalOriginScore", fact.WEIGHT AS "indexTotalSupWeight", ROUND(self.self_score*fact.WEIGHT, 1) AS "agencyScore", ROUND(self.sub_score*fact.WEIGHT, 1) AS "subAgencyScore", diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexCommunityScoreDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexCommunityScoreDao.xml index 0f04e3b8a0..ca682e107b 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexCommunityScoreDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexCommunityScoreDao.xml @@ -25,7 +25,7 @@ SELECT fact.index_code AS "indexCode", ROUND(fact.score*fact.WEIGHT, 1) AS "indexTotal", - ROUND(fact.score,1) AS "indexTotalSupWeight", + ROUND(fact.score,1) AS "indexTotalOriginScore", fact.WEIGHT AS "indexTotalSupWeight", ROUND(self.self_score*fact.WEIGHT, 1) AS "agencyScore", self.self_score AS selfOriginScore, @@ -51,7 +51,7 @@ SELECT fact.month_id AS "monthId", ROUND(fact.score*fact.WEIGHT, 1) AS "indexTotal", - ROUND(fact.score,1) AS "indexTotalSupWeight", + ROUND(fact.score,1) AS "indexTotalOriginScore", fact.WEIGHT AS "indexTotalSupWeight", ROUND(self.self_score*fact.WEIGHT, 1) AS "agencyScore", ROUND(self.sub_score*fact.WEIGHT, 1) AS "subAgencyScore", diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexGridScoreDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexGridScoreDao.xml index a332efdf54..708a5fbf1f 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexGridScoreDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexGridScoreDao.xml @@ -25,7 +25,7 @@ SELECT fact.index_code AS "indexCode", ROUND(fact.score*fact.WEIGHT, 1) AS "indexTotal", - ROUND(fact.score,1) AS "indexTotalSupWeight", + ROUND(fact.score,1) AS "indexTotalOriginScore", fact.WEIGHT AS "indexTotalSupWeight", ROUND(self.self_score*fact.WEIGHT, 1) AS "agencyScore", self.self_score AS selfOriginScore, @@ -52,7 +52,7 @@ SELECT fact.month_id AS "monthId", ROUND(fact.score*fact.WEIGHT, 1) AS "indexTotal", - ROUND(fact.score,1) AS "indexTotalSupWeight", + ROUND(fact.score,1) AS "indexTotalOriginScore", fact.WEIGHT AS "indexTotalSupWeight", ROUND(self.self_score*fact.WEIGHT, 1) AS "agencyScore", ROUND(self.sub_score*fact.WEIGHT, 1) AS "subAgencyScore", From a28bcd4add42600308aabb57f64bbfdd55671a5d Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 6 Nov 2020 15:04:06 +0800 Subject: [PATCH 121/130] =?UTF-8?q?=E9=9A=BE=E7=82=B9=E5=A0=B5=E7=82=B9=20?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=20=E5=A6=82=E6=9E=9C=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E4=B8=BAgrid=20=E5=88=99=E6=9F=A5=E8=AF=A2or?= =?UTF-8?q?gId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../project/dto/form/DifficultyRankFormDTO.java | 7 ++++++- .../main/resources/mapper/project/ProjectDao.xml | 15 +++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/DifficultyRankFormDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/DifficultyRankFormDTO.java index d043180705..5a3936db6a 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/DifficultyRankFormDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/DifficultyRankFormDTO.java @@ -26,7 +26,7 @@ public class DifficultyRankFormDTO implements Serializable { /** * 排序类型 耗时最长:timelongest;涉及部门最多:mostdepts;处理次数:mosthandled */ - @NotBlank(message = "排序类型不能为空",groups = {DifficultyRankInternalGroup.class}) + @NotBlank(message = "排序类型不能为空", groups = {DifficultyRankInternalGroup.class}) private String type; /** * 获取数据个数 默认前10 @@ -35,4 +35,9 @@ public class DifficultyRankFormDTO implements Serializable { @Min(value = 1, groups = {DifficultyRankInternalGroup.class}) private Integer pageNo; + + /** + * 组织类型: 网格:grid ; 组织:agency + */ + private String orgType; } \ No newline at end of file diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml index 8e5bace8d8..6369d52db7 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml @@ -249,10 +249,17 @@ screen_difficulty_data diff WHERE diff.DEL_FLAG = '0' - AND diff.ALL_PARENT_IDS LIKE CONCAT('%',#{agencyId},'%') - - AND diff.EVENT_STATUS_CODE = #{status} - + + + AND diff.ORG_ID = #{agencyId,jdbcType=VARCHAR} + + + AND diff.ALL_PARENT_IDS LIKE CONCAT('%',#{agencyId},'%') + + + + AND diff.EVENT_STATUS_CODE = #{status} + ORDER BY CASE #{type} WHEN 'timelongest' THEN diff.EVENT_COST_TIME WHEN 'mosthandled' THEN diff.EVENT_HANDLED_COUNT From 63af3a1a67c429ca977315f6d153df1356e71805 Mon Sep 17 00:00:00 2001 From: wangchao Date: Fri, 6 Nov 2020 15:08:57 +0800 Subject: [PATCH 122/130] =?UTF-8?q?=E9=9A=BE=E7=82=B9=E8=B5=8C=E7=82=B9?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=98=88=E5=80=BC=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dao/project/ProjectDao.java | 12 +++++- ...srootsGovernDataAbsorptionServiceImpl.java | 8 +++- .../epmet/service/project/ProjectService.java | 11 +++++ .../project/impl/ProjectServiceImpl.java | 20 ++++++++- .../resources/mapper/project/ProjectDao.xml | 41 +++++++++++++++++++ 5 files changed, 88 insertions(+), 4 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java index df6da92b0b..2e15e2aea1 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java @@ -21,7 +21,6 @@ import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.ProjectDTO; import com.epmet.dto.project.ProjectAgencyDTO; import com.epmet.dto.project.ProjectGridDTO; -import com.epmet.dto.project.ProjectInfoDTO; import com.epmet.entity.project.ProjectEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -103,4 +102,15 @@ public interface ProjectDao extends BaseDao { * @return java.lang.String */ String selectParameterValueByKey(@Param("customerId") String customerId); + + /** + * @Description 得到超过阈值滞留的项目Id集合 + * 规定只要项目的任何一个负责人(被流转到的,自始至终不管有没有处理)超过了自定义或默认的滞留时间就算难点赌点 + * @param customerId + * @param exclude + * @return java.util.List + * @author wangc + * @date 2020.11.06 14:14 + */ + List selectOvertimeProjectIds(@Param("customerId") String customerId,@Param("exclude") List exclude,@Param("value") Integer value); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java index b5e717f713..d791fb239e 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java @@ -17,6 +17,7 @@ import com.epmet.service.evaluationindex.screen.ScreenPartyUserRankDataService; import com.epmet.service.org.CustomerGridService; import com.epmet.service.point.UserPointService; import com.epmet.service.project.ProjectProcessService; +import com.epmet.service.project.ProjectService; import com.epmet.service.topic.TopicService; import com.epmet.service.user.UserService; import lombok.extern.slf4j.Slf4j; @@ -62,6 +63,8 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr private ProjectProcessService projectProcessService; @Autowired private TopicService topicService; + @Autowired + private ProjectService projectService; /** * @Description 用户积分、党员分值数据中转站 * @param param @@ -135,8 +138,11 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr @Override public void difficultyDataHub(ScreenCentralZoneDataFormDTO param) { + //查询难点赌点中有无已结案的项目,若有则保留 + List existed = screenDifficultyDataService.selectExistedInfo(param.getCustomerId()); + //查询数据 - List difficulties = factOriginProjectMainDailyService.getDifficultyBaseInfo(param.getCustomerId(),screenDifficultyDataService.selectExistedInfo(param.getCustomerId())); + List difficulties = factOriginProjectMainDailyService.getDifficultyBaseInfo(param.getCustomerId(),projectService.getOvertimeProjectByParameter(param.getCustomerId(),existed)); if(CollectionUtils.isEmpty(difficulties)) return; List projectIds = difficulties.stream().map(ScreenDifficultyDataEntity :: getEventId).distinct().collect(Collectors.toList()); //最近一次操作 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java index 0b0692ba21..e707c0a64c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java @@ -99,4 +99,15 @@ public interface ProjectService extends BaseService { * @return java.lang.String */ String getParameterValueByKey(String customerId); + + /** + * @Description 得到超过阈值滞留的项目Id集合 + * 规定只要项目的任何一个负责人(被流转到的,自始至终不管有没有处理)超过了自定义或默认的滞留时间就算难点赌点 + * @param customerId + * @param exclude + * @return java.util.List + * @author wangc + * @date 2020.11.06 14:14 + */ + List getOvertimeProjectByParameter(String customerId,List exclude); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java index fa22e2090e..23461db970 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java @@ -19,15 +19,15 @@ package com.epmet.service.project.impl; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.constant.DataSourceConstant; import com.epmet.dao.project.ProjectDao; import com.epmet.dto.ProjectDTO; import com.epmet.dto.project.ProjectAgencyDTO; import com.epmet.dto.project.ProjectGridDTO; -import com.epmet.dto.project.ProjectInfoDTO; import com.epmet.entity.project.ProjectEntity; import com.epmet.service.project.ProjectService; -import org.springframework.beans.factory.annotation.Autowired; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import java.util.List; @@ -82,4 +82,20 @@ public class ProjectServiceImpl extends BaseServiceImpl + * @author wangc + * @date 2020.11.06 14:14 + */ + @Override + public List getOvertimeProjectByParameter(String customerId, List exclude) { + String parameter = baseDao.selectParameterValueByKey(customerId); + if(StringUtils.isBlank(parameter)) parameter = baseDao.selectParameterValueByKey("default"); + return baseDao.selectOvertimeProjectIds(customerId, exclude, StringUtils.isBlank(parameter) ? NumConstant.FIVE : Integer.parseInt(parameter)); + } + } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml index 08c8d78d5b..6369800a70 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml @@ -106,4 +106,45 @@ and PARAMETER_KEY ='detention_days' + + \ No newline at end of file From 27b90866d74a985ddf700bf409cbd7cd8ddf2ee3 Mon Sep 17 00:00:00 2001 From: wangchao Date: Fri, 6 Nov 2020 15:22:37 +0800 Subject: [PATCH 123/130] =?UTF-8?q?=E9=9A=BE=E7=82=B9=E8=B5=8C=E7=82=B9=20?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=80=97=E6=97=B6=20=E5=90=91=E4=B8=8B?= =?UTF-8?q?=E5=8F=96=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/project/ProjectDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml index 6369d52db7..2b9fba6e2d 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml @@ -242,7 +242,7 @@ diff.EVENT_STATUS_CODE AS statusCode, diff.EVENT_SOURCE AS gridName, diff.EVENT_IMG_URL AS imgUrl, - ROUND(diff.EVENT_COST_TIME/60,0) AS totalHours, + floor(diff.EVENT_COST_TIME/60) AS totalHours, diff.EVENT_RE_ORG AS reOrg, diff.EVENT_HANDLED_COUNT AS handledCount FROM From fb647230cf1efbec18f6b997d689a8b281b3537a Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Fri, 6 Nov 2020 16:30:31 +0800 Subject: [PATCH 124/130] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E8=AE=A2=E9=98=85?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/WxmpMessageServiceImpl.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java index 2fa844c869..f14f65ed64 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java @@ -155,11 +155,17 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { if (WxmpMessageConstant.RESI.equals(clientType)) { UserBasicInfoFormDTO userBasicInfoFormDTO = new UserBasicInfoFormDTO(); userBasicInfoFormDTO.setUserId(userId); - openId = epmetUserOpenFeignClient.getUserBasicInfo(userBasicInfoFormDTO).getData().getOpenId(); + UserBasicInfo data = epmetUserOpenFeignClient.getUserBasicInfo(userBasicInfoFormDTO).getData(); + if (data != null){ + openId = data.getOpenId(); + } } else if (WxmpMessageConstant.GOV_DB.equals(clientType)) { StaffBasicInfoFormDTO staffBasicInfoFormDTO = new StaffBasicInfoFormDTO(); staffBasicInfoFormDTO.setStaffId(userId); - openId = epmetUserOpenFeignClient.getStaffBasicInfo(staffBasicInfoFormDTO).getData().getOpenId(); + StaffBasicInfo data = epmetUserOpenFeignClient.getStaffBasicInfo(staffBasicInfoFormDTO).getData(); + if (data != null){ + openId = data.getOpenId(); + } } else { throw new WxSubscribeException("clientType有误", "", openId); } @@ -168,7 +174,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { } if (StringUtils.isBlank(openId)) { - throw new WxSubscribeException("openId获取失败", "", ""); + throw new WxSubscribeException("该userId未查询到关联的openId", "", ""); } //获取模板id if (customerTemplateListResultDTOS.size() > NumConstant.ZERO) { From acfc7467c6a198f008c6854b017dc6d94fc521c0 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 6 Nov 2020 16:34:35 +0800 Subject: [PATCH 125/130] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=B6=85=E6=9C=9F?= =?UTF-8?q?=E6=BB=9E=E7=95=99=E6=8F=90=E9=86=92=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ProjectServiceImpl.java | 100 +++++++++--------- 1 file changed, 51 insertions(+), 49 deletions(-) diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index 09c5e74377..e6c94525bc 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -954,58 +954,60 @@ public class ProjectServiceImpl extends BaseServiceImpl unHandledList = projectStaffService.getStaffUnHandledList(customerId); - List form = unHandledList.stream().map(item -> { - CostDayFormDTO dto = new CostDayFormDTO(); - dto.setId(item.getId()); - dto.setStaffId(item.getStaffId()); - if (null != item.getUpdatedTime()) { - dto.setStartDate(item.getUpdatedTime()); + if (CollectionUtils.isNotEmpty(unHandledList)) { + List form = unHandledList.stream().map(item -> { + CostDayFormDTO dto = new CostDayFormDTO(); + dto.setId(item.getId()); + dto.setStaffId(item.getStaffId()); + if (null != item.getUpdatedTime()) { + dto.setStartDate(item.getUpdatedTime()); + } else { + dto.setStartDate(item.getCreatedTime()); + } + dto.setEndDate(new Date()); + return dto; + }).collect(Collectors.toList()); + List costDayList; + if (ParameterKeyConstant.WORK.equals(calculation)) { + //工作日计算 + Result> result = epmetCommonServiceOpenFeignClient.costWorkDays(form); + if (!result.success()) { + throw new RenException(result.getCode(), result.getMsg()); + } + costDayList = result.getData(); } else { - dto.setStartDate(item.getCreatedTime()); - } - dto.setEndDate(new Date()); - return dto; - }).collect(Collectors.toList()); - List costDayList; - if (ParameterKeyConstant.WORK.equals(calculation)) { - //工作日计算 - Result> result = epmetCommonServiceOpenFeignClient.costWorkDays(form); - if (!result.success()) { - throw new RenException(result.getCode(), result.getMsg()); + //日历日计算 + Result> result = epmetCommonServiceOpenFeignClient.costCalendarDays(form); + if (!result.success()) { + throw new RenException(result.getCode(), result.getMsg()); + } + costDayList = result.getData(); } - costDayList = result.getData(); - } else { - //日历日计算 - Result> result = epmetCommonServiceOpenFeignClient.costCalendarDays(form); - if (!result.success()) { - throw new RenException(result.getCode(), result.getMsg()); + //即将超期项目 + List overdueList = new ArrayList<>(); + //滞留项目 + List delayList = new ArrayList<>(); + List finalCostDayList = costDayList; + List list = new ArrayList<>(); + int finalDetentionDays = detentionDays; + int finalRemindTime = remindTime; + unHandledList.forEach(unHandle -> finalCostDayList.stream().filter(cost -> + unHandle.getId().equals(cost.getId())).forEach(item -> { + int diff = finalDetentionDays - item.getDetentionDays(); + OverdueAndDelayDTO dto = new OverdueAndDelayDTO(); + if (diff < 0) { + dto.setStaffId(unHandle.getStaffId()); + list.add(dto); + delayList.add(unHandle); + } else if (diff <= finalRemindTime) { + dto.setStaffId(unHandle.getStaffId()); + overdueList.add(unHandle); + list.add(dto); + } + })); + if (CollectionUtils.isNotEmpty(list)) { + setMessage(customerId, overdueList, delayList, list); } - costDayList = result.getData(); - } - //即将超期项目 - List overdueList = new ArrayList<>(); - //滞留项目 - List delayList = new ArrayList<>(); - List finalCostDayList = costDayList; - List list = new ArrayList<>(); - int finalDetentionDays = detentionDays; - int finalRemindTime = remindTime; - unHandledList.forEach(unHandle -> finalCostDayList.stream().filter(cost -> - unHandle.getId().equals(cost.getId())).forEach(item -> { - int diff = finalDetentionDays - item.getDetentionDays(); - OverdueAndDelayDTO dto = new OverdueAndDelayDTO(); - if (diff < 0) { - dto.setStaffId(unHandle.getStaffId()); - list.add(dto); - delayList.add(unHandle); - } else if (diff <= finalRemindTime) { - dto.setStaffId(unHandle.getStaffId()); - overdueList.add(unHandle); - list.add(dto); - } - })); - if (CollectionUtils.isNotEmpty(list)) { - setMessage(customerId, overdueList, delayList, list); } } From 575027ff897f289c1f5c4cae04855bc2432a6cd0 Mon Sep 17 00:00:00 2001 From: wangchao Date: Fri, 6 Nov 2020 17:10:30 +0800 Subject: [PATCH 126/130] =?UTF-8?q?=E9=9A=BE=E7=82=B9=E8=B5=8C=E7=82=B9=20?= =?UTF-8?q?=E8=BF=87=E6=BB=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../todata/impl/FactOriginProjectMainDailyServiceImpl.java | 1 + .../evaluationindex/extract/FactOriginProjectMainDailyDao.xml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java index 5ce0490463..21caf5f319 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java @@ -244,6 +244,7 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl getDifficultyBaseInfo(String customerId, List list) { + if(CollectionUtils.isEmpty(list)) return null; return baseDao.selectDifficultyBaseInfo(customerId,list); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml index ec08e185d4..4cbac1998e 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml @@ -407,7 +407,7 @@ AND project.CUSTOMER_ID = #{customerId} - project.ID ]]> #{projectId} + project.ID = #{projectId} From e4f167ee4ddb7ce07ef6e73b22c0936e973416cb Mon Sep 17 00:00:00 2001 From: wangchao Date: Fri, 6 Nov 2020 17:23:04 +0800 Subject: [PATCH 127/130] =?UTF-8?q?=E9=9A=BE=E7=82=B9=E8=B5=8C=E7=82=B9=20?= =?UTF-8?q?=E8=BF=87=E6=BB=A4=E4=BF=AE=E6=94=B9=20x?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/project/ProjectDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml index 6369800a70..de792f46db 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml @@ -118,7 +118,7 @@ AND project.customer_id = #{customerId} - project.ID ]]> #{ID} + project.ID ]]> #{id} AND EXISTS ( From 5bc09bf06364fab456f127f52df0a5937f299da2 Mon Sep 17 00:00:00 2001 From: wangchao Date: Fri, 6 Nov 2020 17:52:32 +0800 Subject: [PATCH 128/130] =?UTF-8?q?=E9=9A=BE=E7=82=B9=E8=B5=8C=E7=82=B9=20?= =?UTF-8?q?=E8=BF=87=E6=BB=A4=E4=BF=AE=E6=94=B9=20xm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/controller/DemoController.java | 13 +++++++++---- .../extract/FactOriginProjectMainDailyDao.xml | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java index 13a418a773..37d715980c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java @@ -7,7 +7,6 @@ import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.DataSourceConstant; import com.epmet.constant.IndexCalConstant; -import com.epmet.dao.evaluationindex.indexcal.GridScoreDao; import com.epmet.dao.evaluationindex.indexcoll.FactIndexGovrnAblityGridMonthlyDao; import com.epmet.dao.evaluationindex.indexcoll.FactIndexPartyAblityGridMonthlyDao; import com.epmet.dao.evaluationindex.indexcoll.FactIndexServiceAblityGridMonthlyDao; @@ -21,7 +20,7 @@ import com.epmet.dto.AgencySubTreeDto; import com.epmet.dto.extract.form.ExtractOriginFormDTO; import com.epmet.dto.extract.form.ExtractScreenFormDTO; import com.epmet.dto.indexcal.CalculateCommonFormDTO; -import com.epmet.dto.project.result.ProjectOrgPeriodResultDTO; +import com.epmet.dto.screen.form.ScreenCentralZoneDataFormDTO; import com.epmet.dto.stats.form.CustomerIdAndDateIdFormDTO; import com.epmet.entity.evaluationindex.indexcoll.FactIndexGovrnAblityGridMonthlyEntity; import com.epmet.entity.evaluationindex.indexcoll.FactIndexPartyAblityGridMonthlyEntity; @@ -35,9 +34,7 @@ import com.epmet.entity.stats.DimDateEntity; import com.epmet.entity.stats.DimMonthEntity; import com.epmet.service.StatsDemoService; import com.epmet.service.evaluationindex.extract.dataToIndex.*; -import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectLogDailyService; import com.epmet.service.evaluationindex.extract.todata.FactOriginTopicMainDailyService; -import com.epmet.service.evaluationindex.extract.todata.ProjectExtractService; import com.epmet.service.evaluationindex.extract.toscreen.*; import com.epmet.service.evaluationindex.indexcal.*; import com.epmet.service.stats.DimAgencyService; @@ -744,4 +741,12 @@ public class DemoController { return new Result(); } + @Autowired + private ScreenGrassrootsGovernDataAbsorptionService wc; + + @PostMapping("wc") + public Result wc(@RequestBody ScreenCentralZoneDataFormDTO param){ + wc.difficultyDataHub(param); + return new Result(); + } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml index 4cbac1998e..baa6a83d25 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml @@ -406,7 +406,7 @@ project.DEL_FLAG = '0' AND project.CUSTOMER_ID = #{customerId} - + project.ID = #{projectId} From c9b520f0b85f689531c56ce0ae0451b610b81ed3 Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Mon, 9 Nov 2020 14:14:06 +0800 Subject: [PATCH 129/130] =?UTF-8?q?=E5=85=9A=E5=91=98=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E9=80=9A=E8=BF=87=E4=B8=8D=E5=8F=91=E7=AB=99=E5=86=85=E4=BF=A1?= =?UTF-8?q?=E5=92=8C=E8=AE=A2=E9=98=85=E4=BF=A1=E6=81=AF=E6=9C=89=E8=AF=AF?= =?UTF-8?q?=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WxmpMessageServiceImpl.java | 19 ++++++++++++------- .../impl/PartyMemberConfirmServiceImpl.java | 3 ++- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java index f14f65ed64..ca8aa468dc 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java @@ -155,22 +155,27 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { if (WxmpMessageConstant.RESI.equals(clientType)) { UserBasicInfoFormDTO userBasicInfoFormDTO = new UserBasicInfoFormDTO(); userBasicInfoFormDTO.setUserId(userId); - UserBasicInfo data = epmetUserOpenFeignClient.getUserBasicInfo(userBasicInfoFormDTO).getData(); - if (data != null){ - openId = data.getOpenId(); + Result userBasicInfo = epmetUserOpenFeignClient.getUserBasicInfo(userBasicInfoFormDTO); + if (userBasicInfo.getCode() != 0){ + throw new Exception(userBasicInfo.getInternalMsg()); + }else { + openId = userBasicInfo.getData().getOpenId(); } } else if (WxmpMessageConstant.GOV_DB.equals(clientType)) { StaffBasicInfoFormDTO staffBasicInfoFormDTO = new StaffBasicInfoFormDTO(); staffBasicInfoFormDTO.setStaffId(userId); - StaffBasicInfo data = epmetUserOpenFeignClient.getStaffBasicInfo(staffBasicInfoFormDTO).getData(); - if (data != null){ - openId = data.getOpenId(); + Result staffBasicInfo = epmetUserOpenFeignClient.getStaffBasicInfo(staffBasicInfoFormDTO);; + if (staffBasicInfo.getCode() != 0){ + throw new Exception(staffBasicInfo.getInternalMsg()); + }else { + openId = staffBasicInfo.getData().getOpenId(); } } else { throw new WxSubscribeException("clientType有误", "", openId); } } catch (Exception e) { - throw new WxSubscribeException("连接User服务失败" + e.getMessage(), "", ""); + e.printStackTrace(); + throw new WxSubscribeException("获取openId失败:" + e.getMessage(), "", ""); } if (StringUtils.isBlank(openId)) { diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java index 40a823af98..5962ea22a2 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java @@ -645,6 +645,7 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService String messageContent = String.format(userMsg, gridName); userMessageFormDTO.setMessageContent(messageContent); userMessageFormDTO.setReadFlag(ReadFlagConstant.UN_READ); + userMessageFormDTO.setUserId(formDTO.getUserId()); //发送微信订阅消息 WxSubscribeMessageFormDTO wxSubscribeMessageFormDTO = new WxSubscribeMessageFormDTO(); @@ -652,7 +653,7 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService wxSubscribeMessageFormDTO.setUserId(formDTO.getUserId()); wxSubscribeMessageFormDTO.setClientType(AppClientConstant.APP_RESI); wxSubscribeMessageFormDTO.setGridId(formDTO.getGridId()); - wxSubscribeMessageFormDTO.setBehaviorType(ResiWarmUserMessageConstant.WX_WARMHEARTED_BEHAVIOR); + wxSubscribeMessageFormDTO.setBehaviorType(PartyMemberMessageConstant.WX_PARTY_AUTH_BEHAVIOR); wxSubscribeMessageFormDTO.setMessageContent(messageContent); wxSubscribeMessageFormDTO.setMessageTime(new Date()); List msgList = new ArrayList<>(); From 06bea0763b8cc0495e17b2425268987ad9701f6d Mon Sep 17 00:00:00 2001 From: wxz Date: Mon, 9 Nov 2020 15:52:31 +0800 Subject: [PATCH 130/130] =?UTF-8?q?=E4=BF=AE=E6=94=B9dev,test=20compose?= =?UTF-8?q?=E6=96=87=E4=BB=B6=EF=BC=8C=E6=B7=BB=E5=8A=A0=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8D=A0=E4=BD=8D=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-admin/epmet-admin-server/deploy/docker-compose-dev.yml | 2 +- epmet-admin/epmet-admin-server/deploy/docker-compose-test.yml | 2 +- epmet-auth/deploy/docker-compose-dev.yml | 2 +- epmet-auth/deploy/docker-compose-test.yml | 2 +- epmet-gateway/deploy/docker-compose-dev.yml | 2 +- epmet-gateway/deploy/docker-compose-test.yml | 2 +- .../data-report-server/deploy/docker-compose-dev.yml | 2 +- .../data-report-server/deploy/docker-compose-test.yml | 2 +- .../data-statistical-server/deploy/docker-compose-dev.yml | 2 +- .../data-statistical-server/deploy/docker-compose-test.yml | 2 +- .../epmet-activiti-server/deploy/docker-compose-dev.yml | 2 +- .../common-service-server/deploy/docker-compose-dev.yml | 2 +- .../common-service-server/deploy/docker-compose-test.yml | 2 +- .../epmet-ext/epmet-ext-server/deploy/docker-compose-dev.yml | 2 +- .../epmet-ext/epmet-ext-server/deploy/docker-compose-test.yml | 2 +- .../epmet-heart-server/deploy/docker-compose-dev.yml | 2 +- .../epmet-heart-server/deploy/docker-compose-test.yml | 2 +- .../epmet-job/epmet-job-server/deploy/docker-compose-dev.yml | 2 +- .../epmet-job/epmet-job-server/deploy/docker-compose-test.yml | 2 +- .../epmet-message-server/deploy/docker-compose-dev.yml | 2 +- .../epmet-message-server/deploy/docker-compose-test.yml | 2 +- .../epmet-oss/epmet-oss-server/deploy/docker-compose-dev.yml | 2 +- .../epmet-oss/epmet-oss-server/deploy/docker-compose-test.yml | 2 +- .../epmet-point-server/deploy/docker-compose-dev.yml | 2 +- .../epmet-point-server/deploy/docker-compose-test.yml | 2 +- .../epmet-third-server/deploy/docker-compose-dev.yml | 2 +- .../epmet-third-server/deploy/docker-compose-test.yml | 2 +- .../gov-access/gov-access-server/deploy/docker-compose-dev.yml | 2 +- .../gov-access/gov-access-server/deploy/docker-compose-test.yml | 2 +- .../gov-grid/gov-grid-server/deploy/docker-compose-dev.yml | 2 +- .../gov-grid/gov-grid-server/deploy/docker-compose-test.yml | 2 +- .../gov-issue/gov-issue-server/deploy/docker-compose-dev.yml | 2 +- .../gov-issue/gov-issue-server/deploy/docker-compose-test.yml | 2 +- .../gov-mine/gov-mine-server/deploy/docker-compose-dev.yml | 2 +- .../gov-mine/gov-mine-server/deploy/docker-compose-test.yml | 2 +- .../gov-org/gov-org-server/deploy/docker-compose-dev.yml | 2 +- .../gov-org/gov-org-server/deploy/docker-compose-test.yml | 2 +- .../gov-project-server/deploy/docker-compose-dev.yml | 2 +- .../gov-project-server/deploy/docker-compose-test.yml | 2 +- .../gov-voice/gov-voice-server/deploy/docker-compose-dev.yml | 2 +- .../gov-voice/gov-voice-server/deploy/docker-compose-test.yml | 2 +- .../oper-access-server/deploy/docker-compose-dev.yml | 2 +- .../oper-access-server/deploy/docker-compose-test.yml | 2 +- .../oper-crm/oper-crm-server/deploy/docker-compose-dev.yml | 2 +- .../oper-crm/oper-crm-server/deploy/docker-compose-test.yml | 2 +- .../oper-customize-server/deploy/docker-compose-dev.yml | 2 +- .../oper-customize-server/deploy/docker-compose-test.yml | 2 +- .../resi-group/resi-group-server/deploy/docker-compose-dev.yml | 2 +- .../resi-group/resi-group-server/deploy/docker-compose-test.yml | 2 +- .../resi-guide/resi-guide-server/deploy/docker-compose-dev.yml | 2 +- .../resi-guide/resi-guide-server/deploy/docker-compose-test.yml | 2 +- .../resi-hall/resi-hall-server/deploy/docker-compose-dev.yml | 2 +- .../resi-hall/resi-hall-server/deploy/docker-compose-test.yml | 2 +- .../resi-home/resi-home-server/deploy/docker-compose-dev.yml | 2 +- .../resi-home/resi-home-server/deploy/docker-compose-test.yml | 2 +- .../resi-mine/resi-mine-server/deploy/docker-compose-dev.yml | 2 +- .../resi-mine/resi-mine-server/deploy/docker-compose-test.yml | 2 +- .../resi-partymember-server/deploy/docker-compose-dev.yml | 2 +- .../resi-partymember-server/deploy/docker-compose-test.yml | 2 +- .../resi-voice/resi-voice-server/deploy/docker-compose-dev.yml | 2 +- .../resi-voice/resi-voice-server/deploy/docker-compose-test.yml | 2 +- epmet-openapi/epmet-openapi-scan/deploy/docker-compose-dev.yml | 2 +- epmet-openapi/epmet-openapi-scan/deploy/docker-compose-test.yml | 2 +- epmet-user/epmet-user-server/deploy/docker-compose-dev.yml | 2 +- epmet-user/epmet-user-server/deploy/docker-compose-test.yml | 2 +- 65 files changed, 65 insertions(+), 65 deletions(-) diff --git a/epmet-admin/epmet-admin-server/deploy/docker-compose-dev.yml b/epmet-admin/epmet-admin-server/deploy/docker-compose-dev.yml index f86422e850..408ecd1fa8 100644 --- a/epmet-admin/epmet-admin-server/deploy/docker-compose-dev.yml +++ b/epmet-admin/epmet-admin-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-admin-server: container_name: epmet-admin-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-admin-server:0.3.15 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-admin-server:version_placeholder ports: - "8082:8082" network_mode: host # 使用现有网络 diff --git a/epmet-admin/epmet-admin-server/deploy/docker-compose-test.yml b/epmet-admin/epmet-admin-server/deploy/docker-compose-test.yml index 575e1267c8..29673cca9c 100644 --- a/epmet-admin/epmet-admin-server/deploy/docker-compose-test.yml +++ b/epmet-admin/epmet-admin-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-admin-server: container_name: epmet-admin-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-admin-server:0.3.15 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-admin-server:version_placeholder ports: - "8082:8082" network_mode: host # 使用现有网络 diff --git a/epmet-auth/deploy/docker-compose-dev.yml b/epmet-auth/deploy/docker-compose-dev.yml index 0ee4421f6f..1239aa8ac7 100644 --- a/epmet-auth/deploy/docker-compose-dev.yml +++ b/epmet-auth/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-auth-server: container_name: epmet-auth-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-auth:0.3.69 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-auth:version_placeholder ports: - "8081:8081" network_mode: host # 使用现有网络 diff --git a/epmet-auth/deploy/docker-compose-test.yml b/epmet-auth/deploy/docker-compose-test.yml index e4aab166ec..521eea2a30 100644 --- a/epmet-auth/deploy/docker-compose-test.yml +++ b/epmet-auth/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-auth-server: container_name: epmet-auth-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-auth:0.3.68 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-auth:version_placeholder ports: - "8081:8081" network_mode: host # 使用现有网络 diff --git a/epmet-gateway/deploy/docker-compose-dev.yml b/epmet-gateway/deploy/docker-compose-dev.yml index ad7aa38516..45db293a98 100644 --- a/epmet-gateway/deploy/docker-compose-dev.yml +++ b/epmet-gateway/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-gateway-server: container_name: epmet-gateway-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-gateway:0.3.35 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-gateway:version_placeholder ports: - "8080:8080" network_mode: host # 使用现有网络 diff --git a/epmet-gateway/deploy/docker-compose-test.yml b/epmet-gateway/deploy/docker-compose-test.yml index b0b7024f33..5a88a1e499 100644 --- a/epmet-gateway/deploy/docker-compose-test.yml +++ b/epmet-gateway/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-gateway-server: container_name: epmet-gateway-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-gateway:0.3.30 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-gateway:version_placeholder ports: - "8080:8080" network_mode: host # 使用现有网络 diff --git a/epmet-module/data-report/data-report-server/deploy/docker-compose-dev.yml b/epmet-module/data-report/data-report-server/deploy/docker-compose-dev.yml index 8be97cd85a..a98722271e 100644 --- a/epmet-module/data-report/data-report-server/deploy/docker-compose-dev.yml +++ b/epmet-module/data-report/data-report-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: data-report-server: container_name: data-report-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/data-report-server:0.3.36 + image: 192.168.1.130:10080/epmet-cloud-dev/data-report-server:version_placeholder ports: - "8109:8109" network_mode: host # 使用现有网络 diff --git a/epmet-module/data-report/data-report-server/deploy/docker-compose-test.yml b/epmet-module/data-report/data-report-server/deploy/docker-compose-test.yml index 8917a4f9e9..2b55a26867 100644 --- a/epmet-module/data-report/data-report-server/deploy/docker-compose-test.yml +++ b/epmet-module/data-report/data-report-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: data-report-server: container_name: data-report-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/data-report-server:0.3.36 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/data-report-server:version_placeholder ports: - "8108:8108" network_mode: host # 使用现有网络 diff --git a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-dev.yml b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-dev.yml index f9a01abc70..818776c83a 100644 --- a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-dev.yml +++ b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: data-statistical-server: container_name: data-statistical-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/data-statistical-server:0.3.48 + image: 192.168.1.130:10080/epmet-cloud-dev/data-statistical-server:version_placeholder ports: - "8108:8108" network_mode: host # 使用现有网络 diff --git a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-test.yml b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-test.yml index 0f4d72c3e4..5beb53c90f 100644 --- a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-test.yml +++ b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: data-statistical-server: container_name: data-statistical-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/data-statistical-server:0.3.47 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/data-statistical-server:version_placeholder ports: - "8108:8108" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-activiti/epmet-activiti-server/deploy/docker-compose-dev.yml b/epmet-module/epmet-activiti/epmet-activiti-server/deploy/docker-compose-dev.yml index d2925901c9..e79e2ccfc3 100644 --- a/epmet-module/epmet-activiti/epmet-activiti-server/deploy/docker-compose-dev.yml +++ b/epmet-module/epmet-activiti/epmet-activiti-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-activiti-server: container_name: epmet-activiti-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-activiti-server:0.3.0 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-activiti-server:version_placeholder ports: - "8086:8086" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-dev.yml b/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-dev.yml index e575112640..691e0700f5 100644 --- a/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-dev.yml +++ b/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: common-service-server: container_name: common-service-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/common-service-server:0.3.16 + image: 192.168.1.130:10080/epmet-cloud-dev/common-service-server:version_placeholder ports: - "8103:8103" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-test.yml b/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-test.yml index c3ed2186f6..058b976195 100644 --- a/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-test.yml +++ b/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: common-service-server: container_name: common-service-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/common-service-server:0.3.7 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/common-service-server:version_placeholder ports: - "8103:8103" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-ext/epmet-ext-server/deploy/docker-compose-dev.yml b/epmet-module/epmet-ext/epmet-ext-server/deploy/docker-compose-dev.yml index 7792a04b31..2b3437321d 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/deploy/docker-compose-dev.yml +++ b/epmet-module/epmet-ext/epmet-ext-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-ext-server: container_name: epmet-ext-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-ext-server:0.0.6 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-ext-server:version_placeholder ports: - "8113:8113" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-ext/epmet-ext-server/deploy/docker-compose-test.yml b/epmet-module/epmet-ext/epmet-ext-server/deploy/docker-compose-test.yml index 90c7053d1f..922073b042 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/deploy/docker-compose-test.yml +++ b/epmet-module/epmet-ext/epmet-ext-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-ext-server: container_name: epmet-ext-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-ext-server:0.0.1 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-ext-server:version_placeholder ports: - "8113:8113" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-dev.yml b/epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-dev.yml index 53e5098667..c9324e7eaa 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-dev.yml +++ b/epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-heart-server: container_name: epmet-heart-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-heart-server:0.0.52 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-heart-server:version_placeholder ports: - "8111:8111" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-test.yml b/epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-test.yml index e259e170a4..98e9560135 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-test.yml +++ b/epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-heart-server: container_name: epmet-heart-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-heart-server:0.0.52 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-heart-server:version_placeholder ports: - "8111:8111" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-dev.yml b/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-dev.yml index c9999c47d8..de0601f085 100644 --- a/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-dev.yml +++ b/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-job-server: container_name: epmet-job-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-job-server:0.3.25 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-job-server:version_placeholder ports: - "8084:8084" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-test.yml b/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-test.yml index a245199249..b0ef2bf2f9 100644 --- a/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-test.yml +++ b/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-job-server: container_name: epmet-job-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-job-server:0.3.23 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-job-server:version_placeholder ports: - "8084:8084" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-dev.yml b/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-dev.yml index 5ab5ecb83d..846f37b811 100644 --- a/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-dev.yml +++ b/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-message-server: container_name: epmet-message-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-message-server:0.3.28 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-message-server:version_placeholder ports: - "8085:8085" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-test.yml b/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-test.yml index 7630cefa81..ad84863301 100644 --- a/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-test.yml +++ b/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-message-server: container_name: epmet-message-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-message-server:0.3.27 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-message-server:version_placeholder ports: - "8085:8085" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-dev.yml b/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-dev.yml index 2fa7b84b34..d99d59a73c 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-dev.yml +++ b/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-dev.yml @@ -3,7 +3,7 @@ services: epmet-oss-server: container_name: epmet-oss-server-dev # image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-oss-server:0.3.2 - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-oss-server:0.3.25 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-oss-server:version_placeholder ports: - "8083:8083" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-test.yml b/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-test.yml index 3a7181f4a8..f4abefb2dd 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-test.yml +++ b/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-test.yml @@ -3,7 +3,7 @@ services: epmet-oss-server: container_name: epmet-oss-server-test # image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-test/epmet-oss-server:0.3.2 - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-oss-server:0.3.24 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-oss-server:version_placeholder ports: - "8083:8083" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-dev.yml b/epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-dev.yml index f9c7734508..cc0bd873d0 100644 --- a/epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-dev.yml +++ b/epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-point-server: container_name: epmet-point-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-point-server:0.0.40 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-point-server:version_placeholder ports: - "8112:8112" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-test.yml b/epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-test.yml index a4cc8a4af1..c8224eba1a 100644 --- a/epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-test.yml +++ b/epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-point-server: container_name: epmet-point-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-point-server:0.0.40 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-point-server:version_placeholder ports: - "8112:8112" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-dev.yml b/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-dev.yml index c35cda57a7..535e927003 100644 --- a/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-dev.yml +++ b/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-third-server: container_name: epmet-third-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-third-server:0.0.141 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-third-server:version_placeholder ports: - "8110:8110" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-test.yml b/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-test.yml index 13c5787cf7..2127189ea7 100644 --- a/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-test.yml +++ b/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-third-server: container_name: epmet-third-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-third-server:0.0.132 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-third-server:version_placeholder ports: - "8110:8110" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-access/gov-access-server/deploy/docker-compose-dev.yml b/epmet-module/gov-access/gov-access-server/deploy/docker-compose-dev.yml index 75fbb038c9..93bb414efe 100644 --- a/epmet-module/gov-access/gov-access-server/deploy/docker-compose-dev.yml +++ b/epmet-module/gov-access/gov-access-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-access-server: container_name: gov-access-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/gov-access-server:0.3.40 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-access-server:version_placeholder ports: - "8099:8099" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-access/gov-access-server/deploy/docker-compose-test.yml b/epmet-module/gov-access/gov-access-server/deploy/docker-compose-test.yml index b7e4bcfdf0..e28e5d30f0 100644 --- a/epmet-module/gov-access/gov-access-server/deploy/docker-compose-test.yml +++ b/epmet-module/gov-access/gov-access-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-access-server: container_name: gov-access-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-access-server:0.3.38 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-access-server:version_placeholder ports: - "8099:8099" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml b/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml index f9e02900e6..42030e9322 100644 --- a/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml +++ b/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-grid-server: container_name: gov-grid-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/gov-grid-server:0.3.37 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-grid-server:version_placeholder ports: - "8097:8097" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-test.yml b/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-test.yml index e01844b7fb..29ad279725 100644 --- a/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-test.yml +++ b/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-grid-server: container_name: gov-grid-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-grid-server:0.3.37 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-grid-server:version_placeholder ports: - "8097:8097" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml b/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml index 1f112f1abb..f953f16888 100644 --- a/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml +++ b/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-issue-server: container_name: gov-issue-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/gov-issue-server:0.3.52 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-issue-server:version_placeholder ports: - "8101:8101" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-test.yml b/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-test.yml index 731ed393a6..aa986c7fa8 100644 --- a/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-test.yml +++ b/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-issue-server: container_name: gov-issue-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-issue-server:0.3.52 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-issue-server:version_placeholder ports: - "8101:8101" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml b/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml index 3bc86de1dc..11c377e5dc 100644 --- a/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml +++ b/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-mine-server: container_name: gov-mine-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/gov-mine-server:0.3.33 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-mine-server:version_placeholder ports: - "8098:8098" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-test.yml b/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-test.yml index 265d79c930..3f5da9911a 100644 --- a/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-test.yml +++ b/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-mine-server: container_name: gov-mine-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-mine-server:0.3.33 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-mine-server:version_placeholder ports: - "8098:8098" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml b/epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml index 902ce5e8d0..abdd0d45e1 100644 --- a/epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml +++ b/epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-org-server: container_name: gov-org-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/gov-org-server:0.3.88 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-org-server:version_placeholder ports: - "8092:8092" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-org/gov-org-server/deploy/docker-compose-test.yml b/epmet-module/gov-org/gov-org-server/deploy/docker-compose-test.yml index d8a3a119a0..8e81106bf9 100644 --- a/epmet-module/gov-org/gov-org-server/deploy/docker-compose-test.yml +++ b/epmet-module/gov-org/gov-org-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-org-server: container_name: gov-org-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-org-server:0.3.81 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-org-server:version_placeholder ports: - "8092:8092" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml b/epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml index 1d61afd8af..2293705079 100644 --- a/epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml +++ b/epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-project-server: container_name: gov-project-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/gov-project-server:0.3.43 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-project-server:version_placeholder ports: - "8102:8102" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-project/gov-project-server/deploy/docker-compose-test.yml b/epmet-module/gov-project/gov-project-server/deploy/docker-compose-test.yml index d7bf5d6939..d6c9360982 100644 --- a/epmet-module/gov-project/gov-project-server/deploy/docker-compose-test.yml +++ b/epmet-module/gov-project/gov-project-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-project-server: container_name: gov-project-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-project-server:0.3.39 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-project-server:version_placeholder ports: - "8102:8102" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-dev.yml b/epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-dev.yml index b301615811..be773bc448 100644 --- a/epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-dev.yml +++ b/epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-voice-server: container_name: gov-voice-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/gov-voice-server:0.3.68 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-voice-server:version_placeholder ports: - "8105:8105" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-test.yml b/epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-test.yml index 85cace2d57..7ab0900635 100644 --- a/epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-test.yml +++ b/epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-voice-server: container_name: gov-voice-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-voice-server:0.3.67 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-voice-server:version_placeholder ports: - "8105:8105" network_mode: host # 使用现有网络 diff --git a/epmet-module/oper-access/oper-access-server/deploy/docker-compose-dev.yml b/epmet-module/oper-access/oper-access-server/deploy/docker-compose-dev.yml index c2fe2f3963..94f4886466 100644 --- a/epmet-module/oper-access/oper-access-server/deploy/docker-compose-dev.yml +++ b/epmet-module/oper-access/oper-access-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: oper-access-server: container_name: oper-access-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/oper-access-server:0.3.18 + image: 192.168.1.130:10080/epmet-cloud-dev/oper-access-server:version_placeholder ports: - "8093:8093" network_mode: host # 使用现有网络 diff --git a/epmet-module/oper-access/oper-access-server/deploy/docker-compose-test.yml b/epmet-module/oper-access/oper-access-server/deploy/docker-compose-test.yml index 0ef28f8ed5..286203506d 100644 --- a/epmet-module/oper-access/oper-access-server/deploy/docker-compose-test.yml +++ b/epmet-module/oper-access/oper-access-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: oper-access-server: container_name: oper-access-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/oper-access-server:0.3.15 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/oper-access-server:version_placeholder ports: - "8093:8093" network_mode: host # 使用现有网络 diff --git a/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-dev.yml b/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-dev.yml index ae71928e4e..603196b2b6 100644 --- a/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-dev.yml +++ b/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: oper-crm-server: container_name: oper-crm-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/oper-crm-server:0.3.70 + image: 192.168.1.130:10080/epmet-cloud-dev/oper-crm-server:version_placeholder ports: - "8090:8090" network_mode: host # 使用现有网络 diff --git a/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-test.yml b/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-test.yml index f0c305d782..80a237aefb 100644 --- a/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-test.yml +++ b/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: oper-crm-server: container_name: oper-crm-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/oper-crm-server:0.3.64 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/oper-crm-server:version_placeholder ports: - "8090:8090" network_mode: host # 使用现有网络 diff --git a/epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-dev.yml b/epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-dev.yml index b0df052225..9d936ebb6b 100644 --- a/epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-dev.yml +++ b/epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: oper-customize-server: container_name: oper-customize-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/oper-customize-server:0.3.47 + image: 192.168.1.130:10080/epmet-cloud-dev/oper-customize-server:version_placeholder ports: - "8089:8089" network_mode: host # 使用现有网络 diff --git a/epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-test.yml b/epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-test.yml index ff15600fc8..bff06f7016 100644 --- a/epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-test.yml +++ b/epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: oper-customize-server: container_name: oper-customize-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/oper-customize-server:0.3.25 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/oper-customize-server:version_placeholder ports: - "8089:8089" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-group/resi-group-server/deploy/docker-compose-dev.yml b/epmet-module/resi-group/resi-group-server/deploy/docker-compose-dev.yml index 7a0d7418f8..dc0e3a442f 100644 --- a/epmet-module/resi-group/resi-group-server/deploy/docker-compose-dev.yml +++ b/epmet-module/resi-group/resi-group-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-group-server: container_name: resi-group-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/resi-group-server:0.3.66 + image: 192.168.1.130:10080/epmet-cloud-dev/resi-group-server:version_placeholder ports: - "8095:8095" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-group/resi-group-server/deploy/docker-compose-test.yml b/epmet-module/resi-group/resi-group-server/deploy/docker-compose-test.yml index 73a38f0279..c53fed3810 100644 --- a/epmet-module/resi-group/resi-group-server/deploy/docker-compose-test.yml +++ b/epmet-module/resi-group/resi-group-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-group-server: container_name: resi-group-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-group-server:0.3.66 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-group-server:version_placeholder ports: - "8095:8095" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-guide/resi-guide-server/deploy/docker-compose-dev.yml b/epmet-module/resi-guide/resi-guide-server/deploy/docker-compose-dev.yml index 902a0e4bb6..a487c1147c 100644 --- a/epmet-module/resi-guide/resi-guide-server/deploy/docker-compose-dev.yml +++ b/epmet-module/resi-guide/resi-guide-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-guide-server: container_name: resi-guide-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/resi-guide-server:0.3.20 + image: 192.168.1.130:10080/epmet-cloud-dev/resi-guide-server:version_placeholder ports: - "8091:8091" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-guide/resi-guide-server/deploy/docker-compose-test.yml b/epmet-module/resi-guide/resi-guide-server/deploy/docker-compose-test.yml index c4a3d796f0..c37a42bcfe 100644 --- a/epmet-module/resi-guide/resi-guide-server/deploy/docker-compose-test.yml +++ b/epmet-module/resi-guide/resi-guide-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-guide-server: container_name: resi-guide-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-guide-server:0.3.20 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-guide-server:version_placeholder ports: - "8091:8091" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-dev.yml b/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-dev.yml index b85358a70e..3e87863bb2 100644 --- a/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-dev.yml +++ b/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-hall-server: container_name: resi-hall-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/resi-hall-server:0.3.22 + image: 192.168.1.130:10080/epmet-cloud-dev/resi-hall-server:version_placeholder ports: - "8100:8100" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-test.yml b/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-test.yml index 6d675b03b8..8da80caf78 100644 --- a/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-test.yml +++ b/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-hall-server: container_name: resi-hall-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-hall-server:0.3.22 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-hall-server:version_placeholder ports: - "8100:8100" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-home/resi-home-server/deploy/docker-compose-dev.yml b/epmet-module/resi-home/resi-home-server/deploy/docker-compose-dev.yml index e0cdb9b16c..2f8b97a10b 100644 --- a/epmet-module/resi-home/resi-home-server/deploy/docker-compose-dev.yml +++ b/epmet-module/resi-home/resi-home-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-home-server: container_name: resi-home-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/resi-home-server:0.3.16 + image: 192.168.1.130:10080/epmet-cloud-dev/resi-home-server:version_placeholder ports: - "8104:8104" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-home/resi-home-server/deploy/docker-compose-test.yml b/epmet-module/resi-home/resi-home-server/deploy/docker-compose-test.yml index 754c7d9398..a2da44bf77 100644 --- a/epmet-module/resi-home/resi-home-server/deploy/docker-compose-test.yml +++ b/epmet-module/resi-home/resi-home-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-home-server: container_name: resi-home-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-home-server:0.3.16 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-home-server:version_placeholder ports: - "8104:8104" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-dev.yml b/epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-dev.yml index 57e2434372..1ef428be1a 100644 --- a/epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-dev.yml +++ b/epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-mine-server: container_name: resi-mine-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/resi-mine-server:0.3.38 + image: 192.168.1.130:10080/epmet-cloud-dev/resi-mine-server:version_placeholder ports: - "8094:8094" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-test.yml b/epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-test.yml index 2fa05668ea..9545a3feb3 100644 --- a/epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-test.yml +++ b/epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-mine-server: container_name: resi-mine-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-mine-server:0.3.38 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-mine-server:version_placeholder ports: - "8094:8094" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-dev.yml b/epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-dev.yml index 680f45f751..9013f7458b 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-dev.yml +++ b/epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-partymember-server: container_name: resi-partymember-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/resi-partymember-server:0.3.56 + image: 192.168.1.130:10080/epmet-cloud-dev/resi-partymember-server:version_placeholder ports: - "8096:8096" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-test.yml b/epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-test.yml index 8ca40ddf75..30f7977dae 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-test.yml +++ b/epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-partymember-server: container_name: resi-partymember-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-partymember-server:0.3.56 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-partymember-server:version_placeholder ports: - "8096:8096" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-voice/resi-voice-server/deploy/docker-compose-dev.yml b/epmet-module/resi-voice/resi-voice-server/deploy/docker-compose-dev.yml index b92e25f3c6..99ab9465a8 100644 --- a/epmet-module/resi-voice/resi-voice-server/deploy/docker-compose-dev.yml +++ b/epmet-module/resi-voice/resi-voice-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-voice-server: container_name: resi-voice-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/resi-voice-server:0.3.7 + image: 192.168.1.130:10080/epmet-cloud-dev/resi-voice-server:version_placeholder ports: - "8106:8106" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-voice/resi-voice-server/deploy/docker-compose-test.yml b/epmet-module/resi-voice/resi-voice-server/deploy/docker-compose-test.yml index d37cc30473..6baa2c7be4 100644 --- a/epmet-module/resi-voice/resi-voice-server/deploy/docker-compose-test.yml +++ b/epmet-module/resi-voice/resi-voice-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-voice-server: container_name: resi-voice-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-voice-server:0.3.7 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-voice-server:version_placeholder ports: - "8106:8106" network_mode: host # 使用现有网络 diff --git a/epmet-openapi/epmet-openapi-scan/deploy/docker-compose-dev.yml b/epmet-openapi/epmet-openapi-scan/deploy/docker-compose-dev.yml index 7593b66a08..4e86ab5e89 100644 --- a/epmet-openapi/epmet-openapi-scan/deploy/docker-compose-dev.yml +++ b/epmet-openapi/epmet-openapi-scan/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-openapi-scan: container_name: epmet-openapi-scan-dev - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-openapi-scan:0.3.24 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-openapi-scan:version_placeholder ports: - "8107:8107" network_mode: host # 不会创建新的网络 diff --git a/epmet-openapi/epmet-openapi-scan/deploy/docker-compose-test.yml b/epmet-openapi/epmet-openapi-scan/deploy/docker-compose-test.yml index 37c53b9557..49ce30a8c1 100644 --- a/epmet-openapi/epmet-openapi-scan/deploy/docker-compose-test.yml +++ b/epmet-openapi/epmet-openapi-scan/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-openapi-scan: container_name: epmet-openapi-scan-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-openapi-scan:0.3.24 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-openapi-scan:version_placeholder ports: - "8107:8107" network_mode: host # 不会创建新的网络 diff --git a/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml b/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml index 0a8be8c147..50bed534ed 100644 --- a/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml +++ b/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-user-server: container_name: epmet-user-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-user-server:0.3.124 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-user-server:version_placeholder ports: - "8087:8087" network_mode: host # 不会创建新的网络 diff --git a/epmet-user/epmet-user-server/deploy/docker-compose-test.yml b/epmet-user/epmet-user-server/deploy/docker-compose-test.yml index eb18d181c1..d1d7ce6667 100644 --- a/epmet-user/epmet-user-server/deploy/docker-compose-test.yml +++ b/epmet-user/epmet-user-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-user-server: container_name: epmet-user-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-user-server:0.3.118 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-user-server:version_placeholder ports: - "8087:8087" network_mode: host # 不会创建新的网络