From 15b162c8c559f6c3efc17ee7429e27219882b519 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 26 Jul 2021 14:26:16 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/org/impl/CustomerGridServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerGridServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerGridServiceImpl.java index 0d1ccf9b0d..4d4ab8bee0 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerGridServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerGridServiceImpl.java @@ -95,7 +95,7 @@ public class CustomerGridServiceImpl extends BaseServiceImpl getDelGridList(String customerId) { - return null; + return customerGridDao.getDelGridList(customerId); } /** From 62b95d8279e1eb79caa179c843fa60e21b766579 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 27 Jul 2021 16:16:18 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=BD=91=E6=A0=BC?= =?UTF-8?q?=E5=91=98=E6=9C=80=E6=96=B0=E7=BD=91=E6=A0=BCbug=EF=BC=9B?= =?UTF-8?q?=E5=A6=82=E6=9E=9C=E8=AF=A5=E5=B7=A5=E4=BD=9C=E4=BA=BA=E5=91=98?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E5=9C=A8=E4=BB=BB=E4=BD=95=E7=BD=91=E6=A0=BC?= =?UTF-8?q?=20=E5=88=99=E8=BF=94=E5=9B=9E=E7=A9=BA=EF=BC=9B=E6=88=96?= =?UTF-8?q?=E8=80=85=E5=9C=A8=E7=BD=91=E6=A0=BC=E9=87=8C=E5=BD=93=E6=97=B6?= =?UTF-8?q?=E8=AE=BF=E9=97=AE=E8=AE=B0=E5=BD=95=E9=87=8C=E6=9C=80=E6=96=B0?= =?UTF-8?q?=E7=9A=84=E7=BD=91=E6=A0=BC=E6=97=A0=E6=95=88=E5=88=99=E9=9A=8F?= =?UTF-8?q?=E6=9C=BA=E8=BF=94=E5=9B=9E=E4=B8=80=E4=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/StaffAgencyServiceImpl.java | 62 ++++++++++++++----- 1 file changed, 47 insertions(+), 15 deletions(-) diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java index a025a0b74b..c6f9ad683b 100644 --- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java @@ -17,6 +17,7 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; @@ -31,10 +32,12 @@ import com.epmet.dto.result.StaffGridResultDTO; import com.epmet.feign.*; import com.epmet.service.StaffAgencyService; import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.List; @@ -214,30 +217,59 @@ public class StaffAgencyServiceImpl implements StaffAgencyService { **/ @Override public Result getLatestGrid(LatestGridFormDTO latestGridFormDTO) { - Result latestGridResult = - epmetUserFeignClient.getStaffLatestGrid(latestGridFormDTO); + //首先获取该员工的网格列表 如果为空则直接返回 + Result> staffGridListResult = govOrgFeignClient.getMyGrids(latestGridFormDTO.getStaffId()); + if (staffGridListResult == null || !staffGridListResult.success() || CollectionUtils.isEmpty(staffGridListResult.getData())){ + logger.warn("getLatestGrid method getMyGrids return null,param:{}", JSON.toJSONString(latestGridFormDTO)); + return new Result<>(); + } + //获取该工作人员的最后访问记录 如果不为空 判断下是否所访问网格有效 无效则取工作人员的任意网格返回并生成记录 否则 直接返回访问记录中的网格 + Result latestGridResult = epmetUserFeignClient.getStaffLatestGrid(latestGridFormDTO); if (latestGridResult.success() && null != latestGridResult.getData() && StringUtils.isNotBlank(latestGridResult.getData().getGridId())) { + long count = staffGridListResult.getData().stream().filter(o -> o.getGridId().equals(latestGridResult.getData().getGridId())).count(); + //count 如果==0 说明访问记录中的网格已经无效了 则直接查询工作人员最新的网格作为进入的网格 + if (count == 0){ + Result staffGridResult = getStaffLatestGridAndSaveVisitRecord(latestGridFormDTO); + if (staffGridResult != null) { + return staffGridResult; + } + } return latestGridResult; } else { - Result staffGridResult = - govOrgFeignClient.getStaffGrid(latestGridFormDTO); - if (staffGridResult.success() && null != staffGridResult.getData() && StringUtils.isNotBlank(staffGridResult.getData().getGridId())) { - StaffGridVisitedFormDTO gridRecordParam = new StaffGridVisitedFormDTO(); - gridRecordParam.setGridId(staffGridResult.getData().getGridId()); - gridRecordParam.setCustomerId(latestGridFormDTO.getCustomerId()); - gridRecordParam.setStaffId(latestGridFormDTO.getStaffId()); - Result writeRecordResult = epmetUserFeignClient.saveStaffGridVisitedRecord(gridRecordParam); - if(writeRecordResult.success()){ - logger.warn("com.epmet.service.impl.StaffAgencyServiceImpl.getLatestGrid,工作人员网格访问网格写入失败,staffId:{},gridId:{}",latestGridFormDTO.getStaffId(),staffGridResult.getData().getGridId()); - } + Result staffGridResult = getStaffLatestGridAndSaveVisitRecord(latestGridFormDTO); + if (staffGridResult != null) { return staffGridResult; } } logger.info(String.format("客户id%s,staffId%s查询最后一次登录网格为空",latestGridFormDTO.getCustomerId(),latestGridFormDTO.getStaffId())); - //.error(StaffAgencyConstant.QUERY_LATEST_GRID_INFO_FAILED) return new Result<>(); } + /** + * desc: 根据参数获取工作人员最新网格 并生成网格网格记录 + * + * @param latestGridFormDTO + * @return com.epmet.commons.tools.utils.Result + * @author LiuJanJun + * @date 2021/7/27 4:04 下午 + */ + @Nullable + private Result getStaffLatestGridAndSaveVisitRecord(LatestGridFormDTO latestGridFormDTO) { + Result staffGridResult = govOrgFeignClient.getStaffGrid(latestGridFormDTO); + if (staffGridResult.success() && null != staffGridResult.getData() && StringUtils.isNotBlank(staffGridResult.getData().getGridId())) { + StaffGridVisitedFormDTO gridRecordParam = new StaffGridVisitedFormDTO(); + gridRecordParam.setGridId(staffGridResult.getData().getGridId()); + gridRecordParam.setCustomerId(latestGridFormDTO.getCustomerId()); + gridRecordParam.setStaffId(latestGridFormDTO.getStaffId()); + Result writeRecordResult = epmetUserFeignClient.saveStaffGridVisitedRecord(gridRecordParam); + if(writeRecordResult.success()){ + logger.warn("com.epmet.service.impl.StaffAgencyServiceImpl.getLatestGrid,工作人员网格访问网格写入失败,staffId:{},gridId:{}",latestGridFormDTO.getStaffId(),staffGridResult.getData().getGridId()); + } + return staffGridResult; + } + return null; + } + @Override public void switchGrid(SwitchGridFormDTO switchGridFormDTO) { @@ -253,4 +285,4 @@ public class StaffAgencyServiceImpl implements StaffAgencyService { } -} \ No newline at end of file +}