From 248e615fbc8f50eaf48d6e556d96980e5abbea47 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 31 Dec 2021 15:26:22 +0800 Subject: [PATCH 01/21] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmetuser/impl/EpmetUserServiceImpl.java | 2 +- .../controller/CustomerStaffController.java | 28 +++++++++++-------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index c38bf062a9..a15d303bda 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -342,7 +342,7 @@ public class EpmetUserServiceImpl implements EpmetUserService { re.setTotalTime(totalTime == "" ? "0分钟" : totalTime); //re.setTotalTime(re.getTimeNum() < 1 ? BigDecimal.ZERO + "h" : new BigDecimal(numberFormat.format((float) re.getTimeNum() / (float) 3600)) + "h"); //re.setTotalTime(re.getTimeNum() / 60 + "分钟"); - list.stream().filter(l -> re.getGridId().equals(l.getId())).forEach(s -> re.setGridName(s.getGridName())); + //list.stream().filter(l -> re.getGridId().equals(l.getId())).forEach(s -> re.setGridName(s.getGridName())); }); return resultList; 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 4be5398b9e..2e0df8c89b 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 @@ -218,12 +218,14 @@ public class CustomerStaffController { Result result = customerStaffService.addStaff(fromDTO); //2021-10-18 推送mq,数据同步到中介库 start - OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg(); - mq.setCustomerId(fromDTO.getCustomerId()); - mq.setOrgId(result.getData().getUserId()); - mq.setOrgType("staff"); - mq.setType("staff_create"); - SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq); + if (result.success()) { + OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg(); + mq.setCustomerId(fromDTO.getCustomerId()); + mq.setOrgId(result.getData().getUserId()); + mq.setOrgType("staff"); + mq.setType("staff_create"); + SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq); + } //2021-10-18 end return result; @@ -240,12 +242,14 @@ public class CustomerStaffController { Result result = customerStaffService.editStaff(fromDTO); //2021-10-18 推送mq,数据同步到中介库 start - OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg(); - mq.setCustomerId(fromDTO.getCustomerId()); - mq.setOrgId(fromDTO.getStaffId()); - mq.setOrgType("staff"); - mq.setType("staff_change"); - SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq); + if (result.success()) { + OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg(); + mq.setCustomerId(fromDTO.getCustomerId()); + mq.setOrgId(fromDTO.getStaffId()); + mq.setOrgType("staff"); + mq.setType("staff_change"); + SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq); + } //2021-10-18 end return result; From 4dd690055b9d85bf358a367f1e9dd1dacbd35282 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 7 Jan 2022 09:09:14 +0800 Subject: [PATCH 02/21] =?UTF-8?q?=E8=AF=84=E4=BB=B7=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E9=9D=9E=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/IcUserDemandRecServiceImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java index 83ac3e0422..ea19d58a63 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java @@ -1069,7 +1069,9 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl Date: Fri, 7 Jan 2022 09:27:37 +0800 Subject: [PATCH 03/21] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=201=E3=80=82?= =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=91=98=E6=95=B0=E6=8D=AE=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?-=E5=88=86=E9=A1=B5=E8=A2=AB=E6=89=8B=E8=AF=AF=E7=9A=84?= =?UTF-8?q?=E6=B3=A8=E9=87=8A=E6=8E=89=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataaggre/service/datastats/impl/DataStatsServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java index 5055a01925..201f8a39b6 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java @@ -2172,6 +2172,7 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve // throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "【pcwork查询网格员数据统计列表】传入时间条件有误"); //} + PageHelper.startPage(pageNo, pageSize, needCount); return factGridMemberStatisticsDailyDao.listGridMemberDataStatsIncr(pids, gridId, startDateID, endDateID); } } From 20aa12201dd9aa103720568015be44b9ab3f28bc Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 7 Jan 2022 10:07:49 +0800 Subject: [PATCH 04/21] =?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 --- .../service/impl/StaffPatrolRecordServiceImpl.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java index 6e0e2d5580..9ddd74e7aa 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java @@ -491,6 +491,11 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl map = new HashMap<>(); for (PcworkRecordListResultDTO.StaffPatrol r : result.getList()) { + //秒变小时分钟 + Integer minutes = r.getTotalTimeNum() / 60; + String patrolDuration = (minutes / 60 > 0 ? minutes / 60 + "小时" : "") + (minutes % 60 > 0 ? minutes % 60 + "分钟" : "0分钟"); + r.setTotalTime(patrolDuration); + if (map.containsKey(r.getGridId())) { r.setGridName(map.get(r.getGridId()).getGridName()); continue; @@ -512,12 +517,6 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl 0 ? minutes / 60 + "小时" : "") + (minutes % 60 > 0 ? minutes % 60 + "分钟" : "0分钟"); - r.setTotalTime(patrolDuration); - } //3.封装数据并返回 resultDTO.setTotal((int)result.getTotal()); From e0a03528ed981d32397a96cd3d6554c809062743 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 7 Jan 2022 10:46:17 +0800 Subject: [PATCH 05/21] =?UTF-8?q?=E7=81=B5=E5=B1=B1=E5=8D=AB=E5=AE=A2?= =?UTF-8?q?=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ScreenGrassrootsGovernDataAbsorptionServiceImpl.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 34368a57b8..ada550886f 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 @@ -126,7 +126,12 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr if (null != gridInfo) { user.setGridName(gridInfo.getGridName()); user.setOrgId(gridInfo.getAgencyId()); - user.setOrgName(gridInfo.getOrgName()); + if(StringUtils.isNotBlank(gridInfo.getOrgName())){ + user.setOrgName(gridInfo.getOrgName()); + }else{ + GridInfoDTO gridInfoDTO = customerGridService.queryGridInfoDTO(user.getGridId()); + user.setOrgName(gridInfoDTO.getOrgName()); + } //原始数据Pid使用英文:隔开,大屏数据要求按照英文,隔开 user.setAllParentIds(gridInfo.getPids().replaceAll(StrConstant.COLON, StrConstant.COMMA)); }else{ From 4f70907f034428fecf789e127a1aceca149c46d0 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 7 Jan 2022 10:54:21 +0800 Subject: [PATCH 06/21] =?UTF-8?q?=E5=BA=94=E4=BA=A7=E5=93=81=E8=A6=81?= =?UTF-8?q?=E6=B1=82=20=E9=9C=80=E6=B1=82=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/form/GetListSocietyOrgFormDTO.java | 2 ++ .../java/com/epmet/service/impl/IcSocietyOrgServiceImpl.java | 4 +++- .../src/main/resources/mapper/IcSocietyOrgDao.xml | 5 ++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/GetListSocietyOrgFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/GetListSocietyOrgFormDTO.java index c04a76dc77..9f0357a1d7 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/GetListSocietyOrgFormDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/GetListSocietyOrgFormDTO.java @@ -54,5 +54,7 @@ public class GetListSocietyOrgFormDTO implements Serializable { private String staffId; //token中userId所属组织的pid private String pids; + //token中userId所属组织Id + private String agencyId; } \ No newline at end of file diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcSocietyOrgServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcSocietyOrgServiceImpl.java index 52193bb4df..8c4768b2bc 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcSocietyOrgServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcSocietyOrgServiceImpl.java @@ -117,7 +117,9 @@ public class IcSocietyOrgServiceImpl extends BaseServiceImpl result = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()).doSelectPageInfo(() -> baseDao.getList(formDTO)); diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcSocietyOrgDao.xml b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcSocietyOrgDao.xml index 56daf5dc2b..74031c3426 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcSocietyOrgDao.xml +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcSocietyOrgDao.xml @@ -24,8 +24,11 @@ AND customer_id = #{customerId} - + + + AND agency_id = #{agencyId} AND society_name LIKE CONCAT('%', #{societyName}, '%') From f34d32810d5edddd0f0de15a578d647c70e11727 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 7 Jan 2022 11:02:16 +0800 Subject: [PATCH 07/21] =?UTF-8?q?=E8=84=91=E5=AD=90=E7=93=A6=E7=89=B9?= =?UTF-8?q?=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/org/CustomerGridDao.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml index d1865cf106..053c6004b0 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml @@ -110,8 +110,7 @@ LEFT JOIN customer_agency ca ON (cg.PID = CA.ID) WHERE - CG.CUSTOMER_ID =#{customerId} - and cg.id = #{gridId} + cg.id = #{gridId} + + update customer_grid + SET AREA_CODE = '', + UPDATED_BY=#{operateUserId}, + UPDATED_TIME = NOW() + where customer_id=#{customerId} + AND pids LIKE concat('%',#{agencyId}, '%' ) + From f8fb7fe8955e7124217033464ee79425e280b46c Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 7 Jan 2022 15:42:55 +0800 Subject: [PATCH 13/21] bugfix --- .../main/java/com/epmet/dao/CustomerDepartmentDao.java | 2 ++ .../src/main/java/com/epmet/dao/CustomerGridDao.java | 2 ++ .../java/com/epmet/service/impl/AgencyServiceImpl.java | 2 ++ .../src/main/resources/mapper/CustomerDepartmentDao.xml | 8 ++++++++ .../src/main/resources/mapper/CustomerGridDao.xml | 8 ++++++++ 5 files changed, 22 insertions(+) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerDepartmentDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerDepartmentDao.java index 4d3d2668e8..ba20e72fab 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerDepartmentDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerDepartmentDao.java @@ -105,4 +105,6 @@ public interface CustomerDepartmentDao extends BaseDao int updateSubDeptAreaCode(@Param("customerId") String customerId, @Param("areaCode")String areaCode, @Param("operateUserId") String operateUserId); + + int updateDeptAreaCode(@Param("agencyId")String agencyId, @Param("areaCode")String areaCode); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java index 3bf28b37a9..6bee86b049 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java @@ -355,4 +355,6 @@ public interface CustomerGridDao extends BaseDao { int updateSubGridAreaCode(@Param("customerId") String customerId, @Param("agencyId")String agencyId, @Param("operateUserId") String operateUserId); + + int updateGridAreaCode(@Param("agencyId")String agencyId, @Param("areaCode")String areaCode); } 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 150bce1041..230bf6ee68 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 @@ -192,6 +192,8 @@ public class AgencyServiceImpl implements AgencyService { originalEntity.setParentAreaCode(parent.getAreaCode()); } } + customerGridDao.updateGridAreaCode(originalEntity.getId(),formDTO.getAreaCode()); + customerDepartmentDao.updateDeptAreaCode(originalEntity.getId(),formDTO.getAreaCode()); } //1:更新当前组织信息 diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerDepartmentDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerDepartmentDao.xml index a3a5f3317d..1fe7e9f906 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerDepartmentDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerDepartmentDao.xml @@ -96,4 +96,12 @@ where customer_id=#{customerId} AND AREA_CODE LIKE concat(#{areaCode}, '%' ) + + + update customer_department + SET AREA_CODE = #{areaCode}, + UPDATED_TIME = NOW() + where del_flag='0' + and agency_id=#{agencyId} + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml index ef9e5ca8c3..ef2845201c 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml @@ -763,4 +763,12 @@ where customer_id=#{customerId} AND pids LIKE concat('%',#{agencyId}, '%' ) + + + update customer_grid + SET AREA_CODE = #{areaCode}, + UPDATED_TIME = NOW() + where del_flag='0' + and pid=#{agencyId} + From 0dfa97a374181f2c23c168b8b1a43a124900d34e Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 7 Jan 2022 15:47:35 +0800 Subject: [PATCH 14/21] pageNo+1 --- .../epmet/dataaggre/controller/GovOrgController.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java index 2101914c08..83fb682360 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java @@ -5,6 +5,7 @@ import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.RequirePermission; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; @@ -15,7 +16,6 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; -import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dataaggre.beans.GridMemberDataAnalysisExcelExportBean; @@ -30,7 +30,6 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; @@ -41,7 +40,6 @@ import java.net.URLEncoder; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; -import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.atomic.AtomicReference; @@ -302,11 +300,11 @@ public class GovOrgController { PageData page; - int pageNo = 0; - int pageSize = 1000; + int pageNo = NumConstant.ZERO; + int pageSize = NumConstant.ONE_THOUSAND; do { - page = aggreGridService.getGridMemberDataAnalysis4PcWork(orgId, orgType, pageNo, pageSize, startTime, endTime, false); + page = aggreGridService.getGridMemberDataAnalysis4PcWork(orgId, orgType, pageNo++, pageSize, startTime, endTime, false); List pageList = page.getList(); List exportBeans = ConvertUtils.sourceToTarget(pageList, GridMemberDataAnalysisExcelExportBean.class); From 3f2323b1d8ae814f27ab953e7555ac0d8c1ee626 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 7 Jan 2022 16:10:40 +0800 Subject: [PATCH 15/21] pageNo+1 --- .../java/com/epmet/dataaggre/controller/GovOrgController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java index 83fb682360..6011344b15 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java @@ -300,7 +300,7 @@ public class GovOrgController { PageData page; - int pageNo = NumConstant.ZERO; + int pageNo = NumConstant.ONE; int pageSize = NumConstant.ONE_THOUSAND; do { From 2d4c0c8641f1aa6ae6b9006bc2e3472e7b930491 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 7 Jan 2022 16:39:32 +0800 Subject: [PATCH 16/21] =?UTF-8?q?=E7=BC=96=E8=BE=91=EF=BC=8C=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E5=85=B6=E4=BB=96=EF=BC=8C=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E7=BC=96=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dao/CustomerDepartmentDao.java | 4 +++- .../src/main/java/com/epmet/dao/CustomerGridDao.java | 2 +- .../java/com/epmet/service/impl/AgencyServiceImpl.java | 7 ++++--- .../src/main/resources/mapper/CustomerDepartmentDao.xml | 1 + .../src/main/resources/mapper/CustomerGridDao.xml | 1 + 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerDepartmentDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerDepartmentDao.java index ba20e72fab..802b67efd3 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerDepartmentDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerDepartmentDao.java @@ -106,5 +106,7 @@ public interface CustomerDepartmentDao extends BaseDao @Param("areaCode")String areaCode, @Param("operateUserId") String operateUserId); - int updateDeptAreaCode(@Param("agencyId")String agencyId, @Param("areaCode")String areaCode); + int updateDeptAreaCode(@Param("agencyId")String agencyId, + @Param("areaCode")String areaCode, + @Param("operateUserId") String operateUserId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java index 6bee86b049..f8772354e0 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java @@ -356,5 +356,5 @@ public interface CustomerGridDao extends BaseDao { @Param("agencyId")String agencyId, @Param("operateUserId") String operateUserId); - int updateGridAreaCode(@Param("agencyId")String agencyId, @Param("areaCode")String areaCode); + int updateGridAreaCode(@Param("agencyId")String agencyId, @Param("areaCode")String areaCode,@Param("operateUserId") String operateUserId); } 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 230bf6ee68..71d4aa057a 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 @@ -182,7 +182,7 @@ public class AgencyServiceImpl implements AgencyService { //如果选择的是other,需要自定义一个编码 AddAreaCodeFormDTO addAreaCodeFormDTO = new AddAreaCodeFormDTO(); addAreaCodeFormDTO.setCurrentAreaLevel(formDTO.getLevel()); - addAreaCodeFormDTO.setParentAreaCode(formDTO.getAreaCode()); + addAreaCodeFormDTO.setParentAreaCode(parent.getAreaCode()); addAreaCodeFormDTO.setName(formDTO.getAgencyName()); Result addAreaCodeResult = epmetCommonServiceOpenFeignClient.addAreaCode(addAreaCodeFormDTO); if (!addAreaCodeResult.success() || StringUtils.isBlank(addAreaCodeResult.getData())) { @@ -192,8 +192,9 @@ public class AgencyServiceImpl implements AgencyService { originalEntity.setParentAreaCode(parent.getAreaCode()); } } - customerGridDao.updateGridAreaCode(originalEntity.getId(),formDTO.getAreaCode()); - customerDepartmentDao.updateDeptAreaCode(originalEntity.getId(),formDTO.getAreaCode()); + //更新直属部门和直属网格的areaCode + customerGridDao.updateGridAreaCode(originalEntity.getId(),formDTO.getAreaCode(),formDTO.getUserId()); + customerDepartmentDao.updateDeptAreaCode(originalEntity.getId(),formDTO.getAreaCode(),formDTO.getUserId()); } //1:更新当前组织信息 diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerDepartmentDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerDepartmentDao.xml index 1fe7e9f906..6eef0b4cc2 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerDepartmentDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerDepartmentDao.xml @@ -100,6 +100,7 @@ update customer_department SET AREA_CODE = #{areaCode}, + UPDATED_BY=#{operateUserId}, UPDATED_TIME = NOW() where del_flag='0' and agency_id=#{agencyId} diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml index ef2845201c..c809cc8bfe 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml @@ -767,6 +767,7 @@ update customer_grid SET AREA_CODE = #{areaCode}, + UPDATED_BY=#{operateUserId}, UPDATED_TIME = NOW() where del_flag='0' and pid=#{agencyId} From 9e1ac20c36a0a4f296f9bcf33af89ce9f3bcb016 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 7 Jan 2022 16:51:33 +0800 Subject: [PATCH 17/21] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E7=BB=84?= =?UTF-8?q?=E7=BB=87=E5=8C=BA=E5=88=92=E4=BB=A3=E7=A0=81=E4=B8=8D=E5=85=81?= =?UTF-8?q?=E8=AE=B8=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/AgencyServiceImpl.java | 7 +++++++ 1 file changed, 7 insertions(+) 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 71d4aa057a..c0be7c1b31 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 @@ -23,6 +23,7 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.security.dto.TokenDto; @@ -154,6 +155,12 @@ public class AgencyServiceImpl implements AgencyService { originalEntity.setCode(formDTO.getCode()); originalEntity.setContacts(formDTO.getContacts()); originalEntity.setMobile(formDTO.getMobile()); + if (StringUtils.isNotBlank(originalEntity.getAreaCode()) + && originalEntity.getAreaCode().contains("UD") + && StringUtils.isNotBlank(formDTO.getAreaCode()) + && "other".equals(formDTO.getAreaCode())) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "自定义编码不允许修改", "自定义组织区划代码不允许修改"); + } if (StringUtils.isNotBlank(formDTO.getAreaCode()) && !formDTO.getAreaCode().equals(originalEntity.getAreaCode())) { CustomerAgencyEntity parent = customerAgencyDao.selectById(originalEntity.getPid()); //如果修改了areaCode。 From 30cba2794b00a4096583f6e9d8e08fc2bb750f15 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 7 Jan 2022 17:18:43 +0800 Subject: [PATCH 18/21] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E7=BC=96?= =?UTF-8?q?=E7=A0=81=EF=BC=8C=E5=90=8D=E7=A7=B0=E5=B7=B2=E5=AD=98=E5=9C=A8?= =?UTF-8?q?=EF=BC=8C=E6=8F=90=E7=A4=BA=E7=BB=99=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/AreaCodeServiceImpl.java | 4 +++- .../main/java/com/epmet/service/impl/AgencyServiceImpl.java | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java index 9a793cc0d2..0de5ddac2b 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java @@ -25,6 +25,8 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; @@ -616,7 +618,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl list = childDao.selectByPCodeAndName(formDTO.getParentAreaCode().trim(), formDTO.getName().trim()); if (CollUtil.isNotEmpty(list)) { - throw new RenException("name已存在"); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "name已存在", "组织名称已存在"); } AreaCodeChildDTO areaCodeChildDTO = new AreaCodeChildDTO(); areaCodeChildDTO.setName(formDTO.getName().trim()); 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 c0be7c1b31..ba3c33876a 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 @@ -193,7 +193,11 @@ public class AgencyServiceImpl implements AgencyService { addAreaCodeFormDTO.setName(formDTO.getAgencyName()); Result addAreaCodeResult = epmetCommonServiceOpenFeignClient.addAreaCode(addAreaCodeFormDTO); if (!addAreaCodeResult.success() || StringUtils.isBlank(addAreaCodeResult.getData())) { - throw new RenException("自定义area_code异常" + addAreaCodeResult.getInternalMsg()); + if (addAreaCodeResult.getCode() > 8000) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "自定义area_code异常" + addAreaCodeResult.getInternalMsg()); + } else { + throw new RenException("自定义area_code异常" + addAreaCodeResult.getInternalMsg()); + } } originalEntity.setAreaCode(addAreaCodeResult.getData()); originalEntity.setParentAreaCode(parent.getAreaCode()); From f4279b481be15cb0e20a3247a55cac939cead0ae Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 7 Jan 2022 17:27:51 +0800 Subject: [PATCH 19/21] msg --- .../src/main/java/com/epmet/service/impl/AgencyServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 ba3c33876a..6db47fbf17 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 @@ -194,7 +194,7 @@ public class AgencyServiceImpl implements AgencyService { Result addAreaCodeResult = epmetCommonServiceOpenFeignClient.addAreaCode(addAreaCodeFormDTO); if (!addAreaCodeResult.success() || StringUtils.isBlank(addAreaCodeResult.getData())) { if (addAreaCodeResult.getCode() > 8000) { - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "自定义area_code异常" + addAreaCodeResult.getInternalMsg()); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "自定义area_code异常" + addAreaCodeResult.getMsg()); } else { throw new RenException("自定义area_code异常" + addAreaCodeResult.getInternalMsg()); } From 84ec95c23781c552e5fcb2afc4f75908bd41d652 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 10 Jan 2022 12:25:16 +0800 Subject: [PATCH 20/21] =?UTF-8?q?=E5=B8=82=E5=8C=97=E7=99=BB=E9=99=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-auth-client/pom.xml | 10 ++++- .../auth/feign/EpmetAuthOpenFeignClient.java | 32 ++++++++++++++ .../EpmetAuthOpenFeignClientFallback.java | 20 +++++++++ ...metAuthOpenFeignClientFallbackFactory.java | 20 +++++++++ .../epmet/controller/GovWebController.java | 24 +++++++++-- .../java/com/epmet/service/GovWebService.java | 8 ++++ .../epmet/service/impl/GovWebServiceImpl.java | 43 +++++++++++++++++++ .../epmet/commons/tools/redis/RedisKeys.java | 11 +++++ epmet-gateway/pom.xml | 14 ++++-- .../com/epmet/auth/InternalAuthProcessor.java | 22 ++++++++++ 10 files changed, 195 insertions(+), 9 deletions(-) create mode 100644 epmet-auth-client/src/main/java/com/epmet/auth/feign/EpmetAuthOpenFeignClient.java create mode 100644 epmet-auth-client/src/main/java/com/epmet/auth/feign/fallback/EpmetAuthOpenFeignClientFallback.java create mode 100644 epmet-auth-client/src/main/java/com/epmet/auth/feign/fallback/EpmetAuthOpenFeignClientFallbackFactory.java diff --git a/epmet-auth-client/pom.xml b/epmet-auth-client/pom.xml index 1aee53c24e..cdb0519c0d 100644 --- a/epmet-auth-client/pom.xml +++ b/epmet-auth-client/pom.xml @@ -10,5 +10,13 @@ 4.0.0 epmet-auth-client + + + com.epmet + epmet-commons-tools + 2.0.0 + compile + + - \ No newline at end of file + diff --git a/epmet-auth-client/src/main/java/com/epmet/auth/feign/EpmetAuthOpenFeignClient.java b/epmet-auth-client/src/main/java/com/epmet/auth/feign/EpmetAuthOpenFeignClient.java new file mode 100644 index 0000000000..42ba7fb3bb --- /dev/null +++ b/epmet-auth-client/src/main/java/com/epmet/auth/feign/EpmetAuthOpenFeignClient.java @@ -0,0 +1,32 @@ +package com.epmet.auth.feign; + +import com.epmet.auth.feign.fallback.EpmetAuthOpenFeignClientFallbackFactory; +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * 本服务对外开放的API,其他服务通过引用此client调用该服务 + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/4 13:25 + */ +//@FeignClient(name = ServiceConstant.EPMET_AUTH_SERVER, fallbackFactory = EpmetAuthOpenFeignClientFallbackFactory.class) +@FeignClient(name = ServiceConstant.EPMET_AUTH_SERVER, fallbackFactory = EpmetAuthOpenFeignClientFallbackFactory.class, url = "http://localhost:8081") +public interface EpmetAuthOpenFeignClient { + + /** + * @Description 根据客户Id查询志愿者用户Id集合 + * @param uuid + * @param userId + * @param customerId + * @return + * @author wangc + * @date 2020.08.13 10:22 + **/ + @PostMapping("/auth/govweb/generateTokenBySSOKey/{uuid}/{userId}") + Result generateTokenBySSOKey(@PathVariable(value = "uuid")String uuid, @PathVariable String userId, @RequestParam String customerId); +} diff --git a/epmet-auth-client/src/main/java/com/epmet/auth/feign/fallback/EpmetAuthOpenFeignClientFallback.java b/epmet-auth-client/src/main/java/com/epmet/auth/feign/fallback/EpmetAuthOpenFeignClientFallback.java new file mode 100644 index 0000000000..8760185fb4 --- /dev/null +++ b/epmet-auth-client/src/main/java/com/epmet/auth/feign/fallback/EpmetAuthOpenFeignClientFallback.java @@ -0,0 +1,20 @@ +package com.epmet.auth.feign.fallback; + +import com.epmet.auth.feign.EpmetAuthOpenFeignClient; +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; + +/** + * 本服务对外开放的API,其他服务通过引用此client调用该服务 + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/4 13:26 + */ +public class EpmetAuthOpenFeignClientFallback implements EpmetAuthOpenFeignClient { + @Override + public Result generateTokenBySSOKey(String uuid, String userId, String customerId) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_AUTH_SERVER, "generateTokenBySSOKey", uuid, userId,customerId); + } + +} diff --git a/epmet-auth-client/src/main/java/com/epmet/auth/feign/fallback/EpmetAuthOpenFeignClientFallbackFactory.java b/epmet-auth-client/src/main/java/com/epmet/auth/feign/fallback/EpmetAuthOpenFeignClientFallbackFactory.java new file mode 100644 index 0000000000..728ba4072b --- /dev/null +++ b/epmet-auth-client/src/main/java/com/epmet/auth/feign/fallback/EpmetAuthOpenFeignClientFallbackFactory.java @@ -0,0 +1,20 @@ +package com.epmet.auth.feign.fallback; + +import com.epmet.auth.feign.EpmetAuthOpenFeignClient; +import com.epmet.commons.tools.exception.ExceptionUtils; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +@Component +@Slf4j +public class EpmetAuthOpenFeignClientFallbackFactory implements FallbackFactory { + + private EpmetAuthOpenFeignClientFallback fallback = new EpmetAuthOpenFeignClientFallback(); + + @Override + public EpmetAuthOpenFeignClient create(Throwable cause) { + log.error(String.format("FeignClient调用发生异常,异常信息:%s", ExceptionUtils.getThrowableErrorStackTrace(cause))); + return fallback; + } +} diff --git a/epmet-auth/src/main/java/com/epmet/controller/GovWebController.java b/epmet-auth/src/main/java/com/epmet/controller/GovWebController.java index 8a85cb9da4..6ed1a5761f 100644 --- a/epmet-auth/src/main/java/com/epmet/controller/GovWebController.java +++ b/epmet-auth/src/main/java/com/epmet/controller/GovWebController.java @@ -6,18 +6,17 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.GovWebLoginFormDTO; import com.epmet.dto.result.UserTokenResultDTO; import com.epmet.service.GovWebService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -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.*; /** * @author sun * @Description PC工作端-登陆服务 */ +@Slf4j @RestController @RequestMapping("govweb") public class GovWebController { @@ -63,5 +62,22 @@ public class GovWebController { return new Result().ok(publicKey); } + /** + * desc: 根据用户id + * + * @return com.epmet.commons.tools.utils.Result + * @author LiuJanJun + * @date 2021/3/8 5:07 下午 + */ + @PostMapping("generateTokenBySSOKey/{uuid}/{userId}") + public Result generateTokenBySSOKey(@PathVariable(value = "uuid")String uuid,@PathVariable String userId,@RequestParam String customerId) { + //判断是否非法登陆 + /*if (!redisUtils.hasKey(RedisKeys.getIcLoginAuthKey(customerId,uuid))){ + log.error("有人使用userid:{} 非法登陆",userId); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode()); + }*/ + return new Result().ok(govWebService.generateTokenBySSOKey(customerId,userId)); + } + } diff --git a/epmet-auth/src/main/java/com/epmet/service/GovWebService.java b/epmet-auth/src/main/java/com/epmet/service/GovWebService.java index 30f8d8ae4c..79ee6d0adc 100644 --- a/epmet-auth/src/main/java/com/epmet/service/GovWebService.java +++ b/epmet-auth/src/main/java/com/epmet/service/GovWebService.java @@ -16,4 +16,12 @@ public interface GovWebService { * @Description PC工作端-工作人员登录 **/ UserTokenResultDTO login(GovWebLoginFormDTO formDTO); + + /** + * desc:根据用户Id 生成token + * @return + * @param customerId + * @param userId + */ + String generateTokenBySSOKey(String customerId, String userId); } diff --git a/epmet-auth/src/main/java/com/epmet/service/impl/GovWebServiceImpl.java b/epmet-auth/src/main/java/com/epmet/service/impl/GovWebServiceImpl.java index 9d455af694..e7eea09292 100644 --- a/epmet-auth/src/main/java/com/epmet/service/impl/GovWebServiceImpl.java +++ b/epmet-auth/src/main/java/com/epmet/service/impl/GovWebServiceImpl.java @@ -1,8 +1,11 @@ package com.epmet.service.impl; import com.epmet.common.token.constant.LoginConstant; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.security.dto.GovTokenDto; import com.epmet.commons.tools.security.password.PasswordUtils; import com.epmet.commons.tools.utils.CpUserDetailRedis; @@ -94,6 +97,46 @@ public class GovWebServiceImpl implements GovWebService { } + @Override + public String generateTokenBySSOKey(String customerId, String userId) { + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, userId); + if (staffInfo == null){ + log.error("工作人员信息不存在,customerId:{},userId:{}", customerId, userId); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode()); + } + + + // 生成token + Map map = new HashMap<>(); + map.put("app", "gov"); + map.put("client", "web"); + map.put("userId", userId); + String token = jwtTokenUtils.createToken(map); + int expire = jwtTokenProperties.getExpire(); + + String orgIdPath = thirdLoginService.getOrgIdPath(userId); + String[] orgIdPathParts = orgIdPath.split(":"); + + GovTokenDto tokenDto = new GovTokenDto(); + tokenDto.setCustomerId(customerId); + tokenDto.setApp("gov"); + tokenDto.setClient("web"); + tokenDto.setUserId(userId); + tokenDto.setToken(token); + tokenDto.setUpdateTime(System.currentTimeMillis()); + tokenDto.setExpireTime(jwtTokenUtils.getExpiration(token).getTime()); + tokenDto.setAgencyId(staffInfo.getAgencyId()); + tokenDto.setRootAgencyId(staffInfo.getAgencyId()); + //tokenDto.setDeptIdList(thirdLoginService.getDeptartmentIdList(userId)); + //tokenDto.setGridIdList(thirdLoginService.getGridIdList(userId)); + //tokenDto.setRoleList(thirdLoginService.queryGovStaffRoles(userId, orgIdPathParts[orgIdPathParts.length - 1])); + //tokenDto.setOrgIdPath(orgIdPath); + + cpUserDetailRedis.set(tokenDto, expire); + logger.info("截止时间:" + DateUtils.format(jwtTokenUtils.getExpiration(token), "yyyy-MM-dd HH:mm:ss")); + return token; + } + /** * 生成PC工作端token * @author sun diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index f3c669d7cd..dd764b13fe 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -636,4 +636,15 @@ public class RedisKeys { public static String getOrgTreeCacheKey(String agencyId) { return rootPrefix.concat("org:temp:orgtree").concat(agencyId); } + + /** + * desc:获取第三方登陆跳转 授权key + * + * @param customerId + * @param uuid + * @return + */ + public static String getIcLoginAuthKey(String customerId, String uuid) { + return rootPrefix.concat("sys:iclogin:authkey:").concat(customerId).concat(StrConstant.COLON).concat(uuid); + } } diff --git a/epmet-gateway/pom.xml b/epmet-gateway/pom.xml index 1169c9ca84..f0833bc954 100644 --- a/epmet-gateway/pom.xml +++ b/epmet-gateway/pom.xml @@ -77,6 +77,12 @@ epmet-admin-client 2.0.0 + + com.epmet + epmet-auth-client + 2.0.0 + compile + @@ -129,8 +135,8 @@ - - lb://epmet-auth-server + http://localhost:8081 + lb://epmet-admin-server @@ -266,8 +272,8 @@ false - - lb://epmet-auth-server + http://localhost:8081 + lb://epmet-admin-server diff --git a/epmet-gateway/src/main/java/com/epmet/auth/InternalAuthProcessor.java b/epmet-gateway/src/main/java/com/epmet/auth/InternalAuthProcessor.java index 305bf2b3a4..946c5d1907 100644 --- a/epmet-gateway/src/main/java/com/epmet/auth/InternalAuthProcessor.java +++ b/epmet-gateway/src/main/java/com/epmet/auth/InternalAuthProcessor.java @@ -1,11 +1,15 @@ package com.epmet.auth; +import com.alibaba.fastjson.JSON; +import com.epmet.auth.feign.EpmetAuthOpenFeignClient; import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.Constant; +import com.epmet.commons.tools.constant.CustomerIdConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.BaseTokenDto; import com.epmet.commons.tools.utils.CpUserDetailRedis; +import com.epmet.commons.tools.utils.Result; import com.epmet.filter.CpProperty; import com.epmet.jwt.JwtTokenUtils; import io.jsonwebtoken.Claims; @@ -40,6 +44,8 @@ public class InternalAuthProcessor extends AuthProcessor { @Autowired private CpProperty cpProperty; + @Autowired + private EpmetAuthOpenFeignClient epmetAuthOpenFeignClient; @Override public ServerWebExchange auth(ServerWebExchange exchange, GatewayFilterChain chain) { @@ -70,6 +76,22 @@ public class InternalAuthProcessor extends AuthProcessor { userId = (String) claims.get(AppClientConstant.USER_ID); expiration = claims.getExpiration(); baseTokenDto = cpUserDetailRedis.get(app, client, userId, BaseTokenDto.class); + //市北数字社区 如果redis里不存在 则自动登陆 生成token放入redis + if (baseTokenDto == null){ + Result stringResult = epmetAuthOpenFeignClient.generateTokenBySSOKey("123", userId, CustomerIdConstant.SHI_BEI_CUSTOMER_ID); + if (stringResult != null && stringResult.success() && StringUtils.isNotBlank(stringResult.getData())){ + baseTokenDto = new BaseTokenDto(); + baseTokenDto.setApp(app); + baseTokenDto.setClient(client); + baseTokenDto.setUserId(userId); + String tokenNew = stringResult.getData(); + //把传过来的token用新的token 替换 + token = tokenNew; + baseTokenDto.setToken(tokenNew); + baseTokenDto.setCustomerId(CustomerIdConstant.SHI_BEI_CUSTOMER_ID); + } + logger.info("stringResult"+ JSON.toJSONString(stringResult)); + } } } From e4ba945648d4cfc089a7a584b779983f193f50f3 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 10 Jan 2022 12:28:01 +0800 Subject: [PATCH 21/21] =?UTF-8?q?=E5=B8=82=E5=8C=97=E7=99=BB=E9=99=862?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/auth/feign/EpmetAuthOpenFeignClient.java | 4 ++-- epmet-gateway/pom.xml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/epmet-auth-client/src/main/java/com/epmet/auth/feign/EpmetAuthOpenFeignClient.java b/epmet-auth-client/src/main/java/com/epmet/auth/feign/EpmetAuthOpenFeignClient.java index 42ba7fb3bb..6a510ffcd8 100644 --- a/epmet-auth-client/src/main/java/com/epmet/auth/feign/EpmetAuthOpenFeignClient.java +++ b/epmet-auth-client/src/main/java/com/epmet/auth/feign/EpmetAuthOpenFeignClient.java @@ -14,8 +14,8 @@ import org.springframework.web.bind.annotation.RequestParam; * @author yinzuomei@elink-cn.com * @date 2020/6/4 13:25 */ -//@FeignClient(name = ServiceConstant.EPMET_AUTH_SERVER, fallbackFactory = EpmetAuthOpenFeignClientFallbackFactory.class) -@FeignClient(name = ServiceConstant.EPMET_AUTH_SERVER, fallbackFactory = EpmetAuthOpenFeignClientFallbackFactory.class, url = "http://localhost:8081") +@FeignClient(name = ServiceConstant.EPMET_AUTH_SERVER, fallbackFactory = EpmetAuthOpenFeignClientFallbackFactory.class) +//@FeignClient(name = ServiceConstant.EPMET_AUTH_SERVER, fallbackFactory = EpmetAuthOpenFeignClientFallbackFactory.class, url = "http://localhost:8081") public interface EpmetAuthOpenFeignClient { /** diff --git a/epmet-gateway/pom.xml b/epmet-gateway/pom.xml index f0833bc954..2f3c1d3e07 100644 --- a/epmet-gateway/pom.xml +++ b/epmet-gateway/pom.xml @@ -135,8 +135,8 @@ - http://localhost:8081 - + + lb://epmet-auth-server lb://epmet-admin-server @@ -272,8 +272,8 @@ false - http://localhost:8081 - + + lb://epmet-auth-server lb://epmet-admin-server