From 17819742d10a73a3e038c879c836c309495adf00 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 11 Jun 2021 17:59:04 +0800 Subject: [PATCH 01/20] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=91=98=E5=B7=A1?= =?UTF-8?q?=E6=9F=A5=E5=8A=9F=E8=83=BD=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/epmetuser/impl/EpmetUserServiceImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 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 f2cf70efba..70f57f2af3 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 @@ -137,8 +137,10 @@ public class EpmetUserServiceImpl implements EpmetUserService { String totalTimeDesc = minutes / 60 + "小时"+ minutes % 60 + "分"; dto.setTotalTimeDesc(totalTimeDesc); List detailList = details.get(record.getId()); - List recordDetails = - detailList.stream().sorted(Comparator.comparing(StaffPatrolDetailDTO::getSerialNum).reversed()).collect(Collectors.toList()).stream().map( detail -> { + detailList = + detailList.stream().sorted(Comparator.comparing(StaffPatrolDetailDTO::getSerialNum).reversed()).collect(Collectors.toList()).stream() + .filter(item -> null == record.getPatrolEndTime() || record.getPatrolEndTime().compareTo(item.getUploadTime()) > -1).collect(Collectors.toList()); + List recordDetails = detailList.stream().map( detail -> { PatrolRecordDetailDTO detailDTO = new PatrolRecordDetailDTO(); detailDTO.setLatitude(detail.getLatitude()); detailDTO.setLongitude(detail.getLongitude()); From 20291e71a4e527678f3c21480e40e6c2d95a9183 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 15 Jun 2021 14:54:37 +0800 Subject: [PATCH 02/20] =?UTF-8?q?screen=5Fproject=5Fdata=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=B8=8A=E6=8A=A5=E4=BA=BAID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/screen/ScreenProjectDataDTO.java | 5 ++++- .../evaluationindex/screen/ScreenProjectDataEntity.java | 5 +++++ .../toscreen/impl/ScreenProjectSettleServiceImpl.java | 1 + .../screen/impl/ScreenProjectDataServiceImpl.java | 5 ++++- .../epmet/service/impl/StaffPatrolRecordServiceImpl.java | 8 ++++++-- 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java index 6c292909d2..1d42d5964f 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java @@ -83,7 +83,10 @@ public class ScreenProjectDataDTO implements Serializable { * 事件时间 */ private Date projectCreateTime; - + /** + * 上报人ID + */ + private String linkUserId; /** * 上报人 */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectDataEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectDataEntity.java index f58769cfe1..52e28cc095 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectDataEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectDataEntity.java @@ -79,6 +79,11 @@ public class ScreenProjectDataEntity extends BaseEpmetEntity { */ private String projectCreateTime; + /** + * 上报人ID + */ + private String linkUserId; + /** * 上报人 */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java index 6da4882ef5..a5e7e1c2f1 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java @@ -87,6 +87,7 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic //直接立项的话 项目内容是项目背景 经纬度添加 if (ProjectConstant.PROJECT_ORIGIN_AGENCY.equals(projectInfo.getOrigin())){ meta.setProjectContent(projectInfo.getBackGround()); + meta.setLinkUserId(projectInfo.getCreatedBy()); meta.setLinkName(projectInfo.getCreatedBy()); if (StringUtils.isNotBlank(projectInfo.getLocateDimension())){ meta.setLatitude(new BigDecimal(projectInfo.getLocateDimension())); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java index baf94d5929..bf8c212f6b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java @@ -272,7 +272,10 @@ public class ScreenProjectDataServiceImpl extends BaseServiceImpl> partition = ListUtils.partition(meta, NumConstant.ONE_HUNDRED); - partition.forEach(part -> baseDao.insertBatch(part)); + partition.forEach(part -> { + List list = ConvertUtils.sourceToTarget(part, ScreenProjectDataEntity.class); + insertBatch(list); + }); } 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 eb7a8bb590..0001d51549 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 @@ -6,6 +6,7 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; 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.ErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.DateUtils; @@ -34,6 +35,7 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -187,9 +189,11 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl 0) { + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), "巡查结束时间不能小于巡查开始时间"); } - record.setActrualEndTime(new Date()); record.setUpdatedTime(null); record.setPatrolEndTime(DateUtils.parse(formDTO.getPatrolEndTime(), DateUtils.DATE_TIME_PATTERN)); From e51f508864892b566432d3be2735c3de77204605 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 15 Jun 2021 15:27:20 +0800 Subject: [PATCH 03/20] =?UTF-8?q?=E6=9B=B4=E5=A4=9A-=E5=B7=A1=E6=9F=A5?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3=E9=80=BB=E8=BE=91=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataaggre/dao/epmetuser/StaffRoleDao.java | 12 ++- .../dao/govorg/CustomerStaffGridDao.java | 10 +++ .../service/epmetuser/EpmetUserService.java | 8 ++ .../epmetuser/impl/EpmetUserServiceImpl.java | 84 ++++++++++++++++--- .../service/govorg/GovOrgService.java | 11 ++- .../govorg/impl/GovOrgServiceImpl.java | 34 +++++++- .../mapper/epmetuser/StaffPatrolRecordDao.xml | 2 + .../mapper/epmetuser/StaffRoleDao.xml | 18 ++++ .../mapper/govorg/CustomerStaffGridDao.xml | 16 ++++ 9 files changed, 175 insertions(+), 20 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffRoleDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffRoleDao.java index 02ace6bc28..ac0cf9a846 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffRoleDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffRoleDao.java @@ -18,8 +18,12 @@ package com.epmet.dataaggre.dao.epmetuser; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import com.epmet.dataaggre.entity.epmetuser.StaffRoleEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 工作人员-角色关系表 @@ -29,5 +33,11 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface StaffRoleDao extends BaseDao { - + + /** + * @Description 查询是网格员的人 + * @Param forms + * @author sun + */ + List staffGridRole(@Param("forms") List forms, @Param("staffName") String staffName); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java index b05163ddd5..233c68d67d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java @@ -18,8 +18,12 @@ package com.epmet.dataaggre.dao.govorg; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import com.epmet.dataaggre.entity.govorg.CustomerStaffGridEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 网格人员关系表 @@ -29,4 +33,10 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface CustomerStaffGridDao extends BaseDao { + + /** + * @Description 查询网格下有网格员角色的人 + * @author sun + */ + List selectGridStaffByGridIds(@Param("gridIds") List gridIds); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java index 2a27686184..359fcbe7a0 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java @@ -7,6 +7,7 @@ import com.epmet.dataaggre.dto.epmetuser.result.PatrolDateListResultDTO; import com.epmet.dataaggre.dto.epmetuser.result.PatrolRecordListResultDTO; import com.epmet.dataaggre.dto.epmetuser.result.StaffListResultDTO; import com.epmet.dataaggre.dto.epmetuser.result.UserInfosResultDTO; +import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import java.util.List; @@ -56,4 +57,11 @@ public interface EpmetUserService { * @return com.epmet.dataaggre.dto.epmetuser.result.PatrolDateListResultDTO */ PatrolDateListResultDTO patrolDateList(PatrolDateListFormDTO formDTO); + + /** + * @Description 查询网格员角色 + * @author sun + */ + List staffGridRole(List forms, String staffName); + } 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 70f57f2af3..6e6ef6f957 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 @@ -5,7 +5,9 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.dao.epmetuser.StaffPatrolRecordDao; +import com.epmet.dataaggre.dao.epmetuser.StaffRoleDao; import com.epmet.dataaggre.dao.epmetuser.UserBaseInfoDao; +import com.epmet.dataaggre.dto.datastats.result.SubAgencyUserResultDTO; import com.epmet.dataaggre.dto.epmetuser.StaffPatrolDetailDTO; import com.epmet.dataaggre.dto.epmetuser.StaffPatrolRecordDTO; import com.epmet.dataaggre.dto.epmetuser.form.PatrolDateListFormDTO; @@ -13,11 +15,13 @@ import com.epmet.dataaggre.dto.epmetuser.form.PatrolRecordListFormDTO; import com.epmet.dataaggre.dto.epmetuser.form.StaffListFormDTO; import com.epmet.dataaggre.dto.epmetuser.result.*; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; +import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import com.epmet.dataaggre.service.epmetuser.EpmetUserService; import com.epmet.dataaggre.service.epmetuser.StaffPatrolDetailService; import com.epmet.dataaggre.service.epmetuser.StaffPatrolRecordService; import com.epmet.dataaggre.service.govorg.GovOrgService; import lombok.extern.slf4j.Slf4j; +import oracle.sql.NUMBER; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -46,6 +50,8 @@ public class EpmetUserServiceImpl implements EpmetUserService { private StaffPatrolDetailService staffPatrolDetailService; @Resource private StaffPatrolRecordService staffPatrolRecordService; + @Resource + private StaffRoleDao staffRoleDao; /** * @Description 根据UserIds查询 @@ -77,29 +83,68 @@ public class EpmetUserServiceImpl implements EpmetUserService { @Override public List staffList(StaffListFormDTO formDTO) { List resultList = new ArrayList<>(); - //1.设置分页参数 - int num = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); - formDTO.setPageNo(num); - - //2.查询当前人员所属组织下网格列表数据,供后续使用 + List result = new ArrayList<>(); + //1.查询当前人员所属组织下网格列表数据,供后续封装数据使用 List list = govOrgService.gridListByStaffId(formDTO.getUserId()); if (list.size() < NumConstant.ONE) { return resultList; } - //网格集合为空则查询当前人员所属组织下网格列表 + + //2.网格集合为空则查询当前人员所属组织下网格列表 if (CollectionUtils.isEmpty(formDTO.getGridIds())) { formDTO.setGridIds(list.stream().map(CustomerGridDTO::getId).collect(Collectors.toList())); } - //3.按条件查询巡查业务数据 + //3.按条件查询网格下工作人员基本信息 + List staffList = govOrgService.selectGridStaffByGridIds(formDTO.getGridIds(), formDTO.getStaffName()); + if (staffList.size() < NumConstant.ONE) { + return resultList; + } + for (GridStaffResultDTO st : staffList) { + StaffListResultDTO sf = new StaffListResultDTO(); + sf.setGridId(st.getGridId()); + sf.setStaffId(st.getStaffId()); + sf.setStaffName(st.getStaffName()); + sf.setGender(st.getGender()); + result.add(sf); + } + + //4.按条件查询巡查业务数据 formDTO.setPatrolStartTime(DateUtils.getBeforeMonthDate(formDTO.getTime())); - resultList = staffPatrolRecordDao.selectPatrolList(formDTO); - if (resultList.size() < NumConstant.ONE) { - return new ArrayList<>(); + List staffPatrolList = staffPatrolRecordDao.selectPatrolList(formDTO); + + //5.封装数据并做分页处理 + result.forEach(re -> { + staffPatrolList.forEach(st -> { + if (re.getGridId().equals(st.getGridId()) && re.getStaffId().equals(st.getStaffId())) { + re.setPatrolStartTime(st.getPatrolStartTime()); + re.setPatrolTotal(st.getPatrolTotal()); + re.setStatus(st.getStatus()); + } + }); + }); + int num = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + int size = num + formDTO.getPageSize(); + if (num > result.size()) { + return resultList; } + resultList = result.subList(num, (size > result.size() ? result.size() : size)); - //4.封装数据并返回 + //6.赋值网格名称 resultList.forEach(re -> list.stream().filter(l -> re.getGridId().equals(l.getId())).forEach(s -> re.setGridName(s.getGridName()))); + + //7.按条件排序并返回 + Collections.sort(resultList, new Comparator() { + @Override + public int compare(StaffListResultDTO o1, StaffListResultDTO o2) { + if ("latestPatrolledTime".equals(formDTO.getSortCode())) { + return o2.getPatrolStartTime().compareTo(o1.getPatrolStartTime()); + } else { + return o2.getPatrolTotal().compareTo(o1.getPatrolTotal()); + } + } + }); + return resultList; } @@ -177,5 +222,22 @@ public class EpmetUserServiceImpl implements EpmetUserService { return dto; } + /** + * @Description 查询网格员角色 + * @Param forms + * @author sun + */ + @Override + public List staffGridRole(List forms, String staffName) { + if (org.springframework.util.CollectionUtils.isEmpty(forms)){ + return new ArrayList<>(); + } + List result = staffRoleDao.staffGridRole(forms, staffName); + if (org.springframework.util.CollectionUtils.isEmpty(result)){ + return new ArrayList<>(); + } + return result; + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java index c79837ec60..8008242d5f 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java @@ -2,10 +2,7 @@ package com.epmet.dataaggre.service.govorg; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; -import com.epmet.dataaggre.dto.govorg.result.AgencyGridResultDTO; -import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO; -import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO; -import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO; +import com.epmet.dataaggre.dto.govorg.result.*; import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO; import java.util.List; @@ -56,4 +53,10 @@ public interface GovOrgService { * @Description 查询工作人员所属组织下网格列表 **/ List gridListByStaffId(String staffId); + + /** + * @Description 查询网格下有网格员角色的人 + * @author sun + */ + List selectGridStaffByGridIds(List gridIds, String staffName); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index e3c9752a00..29ed9208cf 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -5,20 +5,20 @@ import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.utils.Result; import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.dao.govorg.CustomerAgencyDao; import com.epmet.dataaggre.dao.govorg.CustomerGridDao; import com.epmet.dataaggre.dao.govorg.CustomerStaffAgencyDao; +import com.epmet.dataaggre.dao.govorg.CustomerStaffGridDao; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.CustomerStaffAgencyDTO; import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; -import com.epmet.dataaggre.dto.govorg.result.AgencyGridResultDTO; -import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO; -import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO; -import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO; +import com.epmet.dataaggre.dto.govorg.result.*; import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO; import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; import com.epmet.dataaggre.service.commonservice.AreaCodeService; +import com.epmet.dataaggre.service.epmetuser.EpmetUserService; import com.epmet.dataaggre.service.govorg.GovOrgService; import com.epmet.dataaggre.service.opercrm.CustomerRelation; import lombok.extern.slf4j.Slf4j; @@ -50,6 +50,10 @@ public class GovOrgServiceImpl implements GovOrgService { private AreaCodeService areaCodeService; @Autowired private CustomerRelation customerRelation; + @Autowired + private CustomerStaffGridDao customerStaffGridDao; + @Autowired + private EpmetUserService epmetUserService; /** * @param staffId @@ -238,4 +242,26 @@ public class GovOrgServiceImpl implements GovOrgService { return resultList; } + /** + * @Description 查询网格下有网格员角色的人 + * @author sun + */ + @Override + public List selectGridStaffByGridIds(List gridIds, String staffName) { + if (org.springframework.util.CollectionUtils.isEmpty(gridIds)){ + return new ArrayList<>(); + } + // 查询网格下所有的人 + List gridStaff = customerStaffGridDao.selectGridStaffByGridIds(gridIds); + if (org.springframework.util.CollectionUtils.isEmpty(gridStaff)){ + return new ArrayList<>(); + } + // 拿着网格下所有人去筛选网格员 + List result = epmetUserService.staffGridRole(gridStaff, staffName); + if (org.springframework.util.CollectionUtils.isEmpty(result)){ + return new ArrayList<>(); + } + return result; + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml index a0f8a495e0..22034f1d13 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml @@ -39,6 +39,7 @@ GROUP BY spr.grid, spr.staff_id + diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffRoleDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffRoleDao.xml index 03bf90a6e1..7805f832f4 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffRoleDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffRoleDao.xml @@ -3,5 +3,23 @@ + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml index 384a28b8e9..26ad7dd1c8 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml @@ -2,4 +2,20 @@ + + + \ No newline at end of file From 296c8916c076a40d70e1cc076f272999e540aefe Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 15 Jun 2021 15:35:00 +0800 Subject: [PATCH 04/20] =?UTF-8?q?screen=5Fproject=5Fdata=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=B8=8A=E6=8A=A5=E4=BA=BAID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extract/toscreen/impl/ScreenProjectSettleServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java index a5e7e1c2f1..503465ed43 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java @@ -96,6 +96,8 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic meta.setLongitude(new BigDecimal(projectInfo.getLocateLongitude())); } meta.setProjectAddress(projectInfo.getLocateAddress()); + } else { + meta.setLinkUserId(meta.getLinkName()); } return meta; })).collect(Collectors.toList()); From 6c108a5441743e965c3a78df21e7f939b3fb3e69 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 15 Jun 2021 15:35:03 +0800 Subject: [PATCH 05/20] =?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 --- .../dto/govorg/result/GridStaffResultDTO.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridStaffResultDTO.java diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridStaffResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridStaffResultDTO.java new file mode 100644 index 0000000000..c09af753ac --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridStaffResultDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dataaggre.dto.govorg.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/6/8 3:23 下午 + * @DESC + */ +@Data +public class GridStaffResultDTO implements Serializable { + + private static final long serialVersionUID = -5910427385795368242L; + + private String gridId; + + private String staffId; + //真名 + private String staffName = ""; + //性别0.未知,1男,2.女前端默认头像用 + private String gender = "0"; + +} From 4f0f60c63bd8042f237411cb8f1a1f17c172055c Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 15 Jun 2021 15:55:23 +0800 Subject: [PATCH 06/20] =?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 --- .../epmetuser/impl/EpmetUserServiceImpl.java | 28 ++++++++++--------- .../mapper/epmetuser/StaffPatrolRecordDao.xml | 2 +- 2 files changed, 16 insertions(+), 14 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 6e6ef6f957..c89906eb0d 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 @@ -113,7 +113,7 @@ public class EpmetUserServiceImpl implements EpmetUserService { formDTO.setPatrolStartTime(DateUtils.getBeforeMonthDate(formDTO.getTime())); List staffPatrolList = staffPatrolRecordDao.selectPatrolList(formDTO); - //5.封装数据并做分页处理 + //5.封装数据 result.forEach(re -> { staffPatrolList.forEach(st -> { if (re.getGridId().equals(st.getGridId()) && re.getStaffId().equals(st.getStaffId())) { @@ -123,18 +123,8 @@ public class EpmetUserServiceImpl implements EpmetUserService { } }); }); - int num = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); - int size = num + formDTO.getPageSize(); - if (num > result.size()) { - return resultList; - } - resultList = result.subList(num, (size > result.size() ? result.size() : size)); - - //6.赋值网格名称 - resultList.forEach(re -> list.stream().filter(l -> re.getGridId().equals(l.getId())).forEach(s -> re.setGridName(s.getGridName()))); - - //7.按条件排序并返回 - Collections.sort(resultList, new Comparator() { + //6.按条件排序 + Collections.sort(result, new Comparator() { @Override public int compare(StaffListResultDTO o1, StaffListResultDTO o2) { if ("latestPatrolledTime".equals(formDTO.getSortCode())) { @@ -145,6 +135,18 @@ public class EpmetUserServiceImpl implements EpmetUserService { } }); + //7.按分页抽取数据 + int num = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + int size = num + formDTO.getPageSize(); + if (num > result.size()) { + return resultList; + } + resultList = result.subList(num, (size > result.size() ? result.size() : size)); + + //8.赋值网格名称 + resultList.forEach(re -> list.stream().filter(l -> re.getGridId().equals(l.getId())).forEach(s -> re.setGridName(s.getGridName()))); + + return resultList; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml index 22034f1d13..662ce08625 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml @@ -32,7 +32,7 @@ AND spr.patrol_start_time = ]]> #{patrolStartTime} - AND cs.real_name LIKE CONCAT('%',#{staffName},'%') + AND cs.real_name = #{staffName} spr.GRID = #{gridId} From eaacc3ca9d88b74885ca0848a9e92140bec90784 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 15 Jun 2021 16:03:45 +0800 Subject: [PATCH 07/20] =?UTF-8?q?=E8=A1=A5=E5=BD=95=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/epmetuser/impl/EpmetUserServiceImpl.java | 8 ++++++++ 1 file changed, 8 insertions(+) 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 c89906eb0d..ad2c35ec1c 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 @@ -114,15 +114,23 @@ public class EpmetUserServiceImpl implements EpmetUserService { List staffPatrolList = staffPatrolRecordDao.selectPatrolList(formDTO); //5.封装数据 + Map map = new HashMap<>(); result.forEach(re -> { staffPatrolList.forEach(st -> { if (re.getGridId().equals(st.getGridId()) && re.getStaffId().equals(st.getStaffId())) { re.setPatrolStartTime(st.getPatrolStartTime()); re.setPatrolTotal(st.getPatrolTotal()); re.setStatus(st.getStatus()); + map.put(re.getGridId()+re.getStaffId(),re.getStaffId()); } }); }); + //可能存在的在a网格有记录后在a网格将该人员移除 + staffPatrolList.forEach(st->{ + if(!map.containsKey(st.getGridId()+st.getStaffId())){ + result.add(st); + } + }); //6.按条件排序 Collections.sort(result, new Comparator() { @Override From 884762592b71460b5e1fe68a6d8163186219876d Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 15 Jun 2021 16:21:16 +0800 Subject: [PATCH 08/20] =?UTF-8?q?=E8=A7=92=E8=89=B2=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/CustomerAgencyUserRoleDTO.java | 35 +++++++++++++ .../form/CustomerAgencyUserRoleFormDTO.java | 30 +++++++++++ .../dto/result/RoleKeyValueResultDTO.java | 24 +++++++++ .../epmet/feign/EpmetUserOpenFeignClient.java | 9 ++++ .../EpmetUserOpenFeignClientFallback.java | 5 ++ .../epmet/controller/StaffRoleController.java | 25 +++++++++ .../java/com/epmet/dao/GovStaffRoleDao.java | 9 ++++ .../main/java/com/epmet/dao/StaffRoleDao.java | 8 +++ .../java/com/epmet/redis/StaffRoleRedis.java | 39 ++++++++++++++ .../com/epmet/service/StaffRoleService.java | 10 ++++ .../service/impl/StaffRoleServiceImpl.java | 52 +++++++++++++++++-- .../main/resources/mapper/GovStaffRoleDao.xml | 16 ++++++ .../main/resources/mapper/StaffRoleDao.xml | 17 ++++++ 13 files changed, 275 insertions(+), 4 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CustomerAgencyUserRoleDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CustomerAgencyUserRoleFormDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/RoleKeyValueResultDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CustomerAgencyUserRoleDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CustomerAgencyUserRoleDTO.java new file mode 100644 index 0000000000..562b5644a2 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CustomerAgencyUserRoleDTO.java @@ -0,0 +1,35 @@ +package com.epmet.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/6/15 10:00 上午 + * @DESC + */ +@Data +public class CustomerAgencyUserRoleDTO implements Serializable { + + /** + * 客户ID + */ + private String customerId; + + /** + * 组织ID + */ + private String agencyId; + + /** + * 工作人员ID + */ + private String staffId; + + /** + * 角色 + */ + private String roles; + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CustomerAgencyUserRoleFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CustomerAgencyUserRoleFormDTO.java new file mode 100644 index 0000000000..8d1bd02d21 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CustomerAgencyUserRoleFormDTO.java @@ -0,0 +1,30 @@ +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.List; + +/** + * @Author zxc + * @DateTime 2021/6/15 2:54 下午 + * @DESC + */ +@Data +public class CustomerAgencyUserRoleFormDTO implements Serializable { + + private static final long serialVersionUID = -4880100913767612685L; + + public interface CustomerAgencyUserRoleForm{} + + @NotBlank(message = "客户ID不能为空",groups = CustomerAgencyUserRoleForm.class) + private String customerId; + + /** + * 工作人员IDs + */ + @NotNull(message = "工作人员IDS不能为空",groups = CustomerAgencyUserRoleForm.class) + private List staffIds; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/RoleKeyValueResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/RoleKeyValueResultDTO.java new file mode 100644 index 0000000000..598b3988ca --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/RoleKeyValueResultDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/6/15 2:31 下午 + * @DESC + */ +@Data +public class RoleKeyValueResultDTO implements Serializable { + + private static final long serialVersionUID = 6511646803043360335L; + + private String roleKey; + + private String roleName; + + private String orgId; + + private String staffId; +} 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 95c98adfa6..2b653dc220 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 @@ -566,4 +566,13 @@ public interface EpmetUserOpenFeignClient { */ @PostMapping("/epmetuser/staffpatrol/patroltrack") Result> patrolTrack(@RequestBody PatrolTrackFormDTO formDTO); + + /** + * @Description 查询角色 + * @Param formDTO + * @author zxc + * @date 2021/6/15 3:03 下午 + */ + @PostMapping("/epmetuser/staffrole/getroles") + Result> getRoles(@RequestBody CustomerAgencyUserRoleFormDTO formDTO); } 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 2263284f8e..26f53bfea3 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 @@ -394,4 +394,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "patrolTrack", formDTO); } + @Override + public Result> getRoles(CustomerAgencyUserRoleFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getRoles", formDTO); + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java index 00d3cd154e..14ec76b364 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil; import com.epmet.commons.mybatis.entity.DataScope; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.CustomerAgencyUserRoleDTO; import com.epmet.dto.GovStaffRoleDTO; import com.epmet.dto.StaffRoleDTO; import com.epmet.dto.form.CommonUserFormDTO; @@ -189,4 +190,28 @@ public class StaffRoleController { public Result> staffGridRole(@RequestBody List forms){ return new Result>().ok(staffRoleService.staffGridRole(forms)); } + + /** + * @Description 补全缓存 工作人员角色 + * @Param + * @author zxc + * @date 2021/6/15 2:05 下午 + */ + @PostMapping("repairstaffrolecache") + public Result repairStaffRoleCache(){ + + return new Result(); + } + + /** + * @Description 查询角色 + * @Param formDTO + * @author zxc + * @date 2021/6/15 3:03 下午 + */ + @PostMapping("getroles") + public Result> getRoles(@RequestBody CustomerAgencyUserRoleFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, CustomerAgencyUserRoleFormDTO.CustomerAgencyUserRoleForm.class); + return new Result>().ok(staffRoleService.getRoles(formDTO)); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GovStaffRoleDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GovStaffRoleDao.java index 5992dfb720..f717b678c8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GovStaffRoleDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GovStaffRoleDao.java @@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.GovStaffRoleDTO; import com.epmet.dto.result.GovStaffRoleResultDTO; import com.epmet.dto.result.RoleInfoResultDTO; +import com.epmet.dto.result.RoleKeyValueResultDTO; import com.epmet.dto.result.RoleResultDTO; import com.epmet.entity.GovStaffRoleEntity; import org.apache.ibatis.annotations.Mapper; @@ -79,4 +80,12 @@ public interface GovStaffRoleDao extends BaseDao { List listRolesByRoleKey(@Param("roleKey") String roleKey); Integer countRolesByCustomerId(@Param("customerId") String customerId); + + /** + * @Description 查询role key 和 name + * @Param roleIds + * @author zxc + * @date 2021/6/15 2:35 下午 + */ + List selectRoleKeyName(@Param("roleIds")List roleIds); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java index 6d10c5fe23..6436ef8ff6 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java @@ -136,4 +136,12 @@ public interface StaffRoleDao extends BaseDao { * @date 2021/6/8 4:53 下午 */ List staffGridRole(@Param("forms") List forms); + + /** + * @Description 查询角色 + * @Param userIds + * @author zxc + * @date 2021/6/15 3:51 下午 + */ + List getRolesByDB(@Param("userIds")List userIds); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/StaffRoleRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/StaffRoleRedis.java index 47714034af..2086c6c9e2 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/StaffRoleRedis.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/StaffRoleRedis.java @@ -17,10 +17,17 @@ package com.epmet.redis; +import cn.hutool.core.bean.BeanUtil; import com.epmet.commons.tools.redis.RedisUtils; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dto.CustomerAgencyUserRoleDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.util.Map; + +import static com.epmet.commons.tools.redis.RedisUtils.NOT_EXPIRE; + /** * 工作人员-角色关系表 * @@ -44,4 +51,36 @@ public class StaffRoleRedis { return null; } + /** + * @Description 查询工作人员的角色 + * @Param customerId + * @Param userId + * @author zxc + * @date 2021/6/15 3:20 下午 + */ + public CustomerAgencyUserRoleDTO getRole(String customerId, String userId){ + String key = "epmet:staffrole:"+customerId+":"+userId; + Map roleMap = redisUtils.hGetAll(key); + boolean empty = roleMap.isEmpty(); + if (!empty){ + CustomerAgencyUserRoleDTO result = ConvertUtils.mapToEntity(roleMap, CustomerAgencyUserRoleDTO.class); + return result; + } + return null; + } + + /** + * @Description 放入缓存角色 + * @Param customerId + * @Param userId + * @Param dto + * @author zxc + * @date 2021/6/15 4:01 下午 + */ + public void setRole(String customerId,String userId,CustomerAgencyUserRoleDTO dto){ + String key = "epmet:staffrole:"+customerId+":"+userId; + Map map = BeanUtil.beanToMap(dto, false, true); + redisUtils.hMSet(key, map,NOT_EXPIRE); + } + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java index 31a9883a4f..283358cbaa 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java @@ -21,8 +21,10 @@ import com.epmet.commons.mybatis.entity.DataScope; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.CustomerAgencyUserRoleDTO; import com.epmet.dto.StaffRoleDTO; import com.epmet.dto.form.CommonUserFormDTO; +import com.epmet.dto.form.CustomerAgencyUserRoleFormDTO; import com.epmet.dto.form.CustomerStaffRoleListFormDTO; import com.epmet.dto.form.RolesUsersListFormDTO; import com.epmet.dto.result.*; @@ -164,4 +166,12 @@ public interface StaffRoleService extends BaseService { * @date 2021/6/8 4:42 下午 */ List staffGridRole(List forms); + + /** + * @Description 查询角色 + * @Param formDTO + * @author zxc + * @date 2021/6/15 3:03 下午 + */ + List getRoles(CustomerAgencyUserRoleFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java index 0e65e701b2..e268a87364 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java @@ -28,8 +28,10 @@ import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dao.GovStaffRoleTemplateDao; import com.epmet.dao.StaffRoleDao; +import com.epmet.dto.CustomerAgencyUserRoleDTO; import com.epmet.dto.StaffRoleDTO; import com.epmet.dto.form.CommonUserFormDTO; +import com.epmet.dto.form.CustomerAgencyUserRoleFormDTO; import com.epmet.dto.form.CustomerStaffRoleListFormDTO; import com.epmet.dto.form.RolesUsersListFormDTO; import com.epmet.dto.result.*; @@ -42,10 +44,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * 工作人员-角色关系表 @@ -204,4 +204,48 @@ public class StaffRoleServiceImpl extends BaseServiceImpl getRoles(CustomerAgencyUserRoleFormDTO formDTO) { + List result = new ArrayList<>(); + List disUserIds = new ArrayList<>(); + if (!CollectionUtils.isEmpty(formDTO.getStaffIds())){ + List staffIds = formDTO.getStaffIds(); + String customerId = formDTO.getCustomerId(); + staffIds.forEach(userId -> { + CustomerAgencyUserRoleDTO role = staffRoleRedis.getRole(customerId, userId); + if (null != role){ + result.add(role); + }else { + disUserIds.add(userId); + } + }); + if (!CollectionUtils.isEmpty(disUserIds)){ + List rolesByDB = baseDao.getRolesByDB(disUserIds); + if (!CollectionUtils.isEmpty(rolesByDB)){ + Map> groupByUserId = rolesByDB.stream().collect(Collectors.groupingBy(RoleKeyValueResultDTO::getStaffId)); + groupByUserId.forEach((userId,list) -> { + CustomerAgencyUserRoleDTO dto = new CustomerAgencyUserRoleDTO(); + dto.setStaffId(list.get(NumConstant.ZERO).getStaffId()); + dto.setCustomerId(customerId); + dto.setAgencyId(list.get(NumConstant.ZERO).getOrgId()); + Map map = new HashMap(16); + list.forEach(l -> { + map.put(l.getRoleKey(),l.getRoleName()); + }); + dto.setRoles(map.toString()); + staffRoleRedis.setRole(customerId,userId,dto); + result.add(dto); + }); + } + } + } + return result; + } + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/GovStaffRoleDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/GovStaffRoleDao.xml index 87a5fc01e7..be9203602e 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/GovStaffRoleDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/GovStaffRoleDao.xml @@ -117,4 +117,20 @@ from gov_staff_role where CUSTOMER_ID = #{customerId} + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml index fe378570ec..8be9018471 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml @@ -207,4 +207,21 @@ AND sr.STAFF_ID = #{s.staffId} + + + From 4c958a910b01d225eb31ea3d9b8100f0139c32b8 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 15 Jun 2021 16:31:29 +0800 Subject: [PATCH 09/20] =?UTF-8?q?=E6=9B=B4=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/feign/EpmetUserOpenFeignClient.java | 2 +- .../feign/fallback/EpmetUserOpenFeignClientFallback.java | 4 ++-- .../main/java/com/epmet/controller/StaffRoleController.java | 4 ++-- .../src/main/java/com/epmet/service/StaffRoleService.java | 2 +- .../java/com/epmet/service/impl/StaffRoleServiceImpl.java | 2 +- 5 files changed, 7 insertions(+), 7 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 2b653dc220..9686f28e58 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 @@ -574,5 +574,5 @@ public interface EpmetUserOpenFeignClient { * @date 2021/6/15 3:03 下午 */ @PostMapping("/epmetuser/staffrole/getroles") - Result> getRoles(@RequestBody CustomerAgencyUserRoleFormDTO formDTO); + Result> getUserRoles(@RequestBody CustomerAgencyUserRoleFormDTO formDTO); } 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 26f53bfea3..a10545a10d 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 @@ -395,8 +395,8 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien } @Override - public Result> getRoles(CustomerAgencyUserRoleFormDTO formDTO) { - return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getRoles", formDTO); + public Result> getUserRoles(CustomerAgencyUserRoleFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserRoles", formDTO); } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java index 14ec76b364..08a5041dc5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java @@ -210,8 +210,8 @@ public class StaffRoleController { * @date 2021/6/15 3:03 下午 */ @PostMapping("getroles") - public Result> getRoles(@RequestBody CustomerAgencyUserRoleFormDTO formDTO){ + public Result> getUserRoles(@RequestBody CustomerAgencyUserRoleFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO, CustomerAgencyUserRoleFormDTO.CustomerAgencyUserRoleForm.class); - return new Result>().ok(staffRoleService.getRoles(formDTO)); + return new Result>().ok(staffRoleService.getUserRoles(formDTO)); } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java index 283358cbaa..ceb070f3ad 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java @@ -173,5 +173,5 @@ public interface StaffRoleService extends BaseService { * @author zxc * @date 2021/6/15 3:03 下午 */ - List getRoles(CustomerAgencyUserRoleFormDTO formDTO); + List getUserRoles(CustomerAgencyUserRoleFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java index e268a87364..3ee5e72bb3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java @@ -211,7 +211,7 @@ public class StaffRoleServiceImpl extends BaseServiceImpl getRoles(CustomerAgencyUserRoleFormDTO formDTO) { + public List getUserRoles(CustomerAgencyUserRoleFormDTO formDTO) { List result = new ArrayList<>(); List disUserIds = new ArrayList<>(); if (!CollectionUtils.isEmpty(formDTO.getStaffIds())){ From 978dd5fb32e79d4fc6e93a88998a0563d7019799 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 15 Jun 2021 16:50:32 +0800 Subject: [PATCH 10/20] =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=94=B9=E5=8D=95=E4=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/CustomerAgencyUserRoleFormDTO.java | 4 +- .../epmet/feign/EpmetUserOpenFeignClient.java | 2 +- .../EpmetUserOpenFeignClientFallback.java | 2 +- .../epmet/controller/StaffRoleController.java | 4 +- .../main/java/com/epmet/dao/StaffRoleDao.java | 2 +- .../com/epmet/service/StaffRoleService.java | 2 +- .../service/impl/StaffRoleServiceImpl.java | 54 ++++++++----------- .../main/resources/mapper/StaffRoleDao.xml | 8 +-- 8 files changed, 31 insertions(+), 47 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CustomerAgencyUserRoleFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CustomerAgencyUserRoleFormDTO.java index 8d1bd02d21..392e995b86 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CustomerAgencyUserRoleFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CustomerAgencyUserRoleFormDTO.java @@ -25,6 +25,6 @@ public class CustomerAgencyUserRoleFormDTO implements Serializable { /** * 工作人员IDs */ - @NotNull(message = "工作人员IDS不能为空",groups = CustomerAgencyUserRoleForm.class) - private List staffIds; + @NotBlank(message = "工作人员ID不能为空",groups = CustomerAgencyUserRoleForm.class) + private String staffId; } 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 9686f28e58..1f619168ae 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 @@ -574,5 +574,5 @@ public interface EpmetUserOpenFeignClient { * @date 2021/6/15 3:03 下午 */ @PostMapping("/epmetuser/staffrole/getroles") - Result> getUserRoles(@RequestBody CustomerAgencyUserRoleFormDTO formDTO); + Result getUserRoles(@RequestBody CustomerAgencyUserRoleFormDTO formDTO); } 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 a10545a10d..c4cb042786 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 @@ -395,7 +395,7 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien } @Override - public Result> getUserRoles(CustomerAgencyUserRoleFormDTO formDTO) { + public Result getUserRoles(CustomerAgencyUserRoleFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserRoles", formDTO); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java index 08a5041dc5..411b6fee69 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java @@ -210,8 +210,8 @@ public class StaffRoleController { * @date 2021/6/15 3:03 下午 */ @PostMapping("getroles") - public Result> getUserRoles(@RequestBody CustomerAgencyUserRoleFormDTO formDTO){ + public Result getUserRoles(@RequestBody CustomerAgencyUserRoleFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO, CustomerAgencyUserRoleFormDTO.CustomerAgencyUserRoleForm.class); - return new Result>().ok(staffRoleService.getUserRoles(formDTO)); + return new Result().ok(staffRoleService.getUserRoles(formDTO)); } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java index 6436ef8ff6..25c8c2687f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java @@ -143,5 +143,5 @@ public interface StaffRoleDao extends BaseDao { * @author zxc * @date 2021/6/15 3:51 下午 */ - List getRolesByDB(@Param("userIds")List userIds); + List getRolesByDB(@Param("userId")String userId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java index ceb070f3ad..0fd2fcb101 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java @@ -173,5 +173,5 @@ public interface StaffRoleService extends BaseService { * @author zxc * @date 2021/6/15 3:03 下午 */ - List getUserRoles(CustomerAgencyUserRoleFormDTO formDTO); + CustomerAgencyUserRoleDTO getUserRoles(CustomerAgencyUserRoleFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java index 3ee5e72bb3..578c577f17 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java @@ -211,41 +211,29 @@ public class StaffRoleServiceImpl extends BaseServiceImpl getUserRoles(CustomerAgencyUserRoleFormDTO formDTO) { - List result = new ArrayList<>(); - List disUserIds = new ArrayList<>(); - if (!CollectionUtils.isEmpty(formDTO.getStaffIds())){ - List staffIds = formDTO.getStaffIds(); - String customerId = formDTO.getCustomerId(); - staffIds.forEach(userId -> { - CustomerAgencyUserRoleDTO role = staffRoleRedis.getRole(customerId, userId); - if (null != role){ - result.add(role); - }else { - disUserIds.add(userId); - } - }); - if (!CollectionUtils.isEmpty(disUserIds)){ - List rolesByDB = baseDao.getRolesByDB(disUserIds); - if (!CollectionUtils.isEmpty(rolesByDB)){ - Map> groupByUserId = rolesByDB.stream().collect(Collectors.groupingBy(RoleKeyValueResultDTO::getStaffId)); - groupByUserId.forEach((userId,list) -> { - CustomerAgencyUserRoleDTO dto = new CustomerAgencyUserRoleDTO(); - dto.setStaffId(list.get(NumConstant.ZERO).getStaffId()); - dto.setCustomerId(customerId); - dto.setAgencyId(list.get(NumConstant.ZERO).getOrgId()); - Map map = new HashMap(16); - list.forEach(l -> { - map.put(l.getRoleKey(),l.getRoleName()); - }); - dto.setRoles(map.toString()); - staffRoleRedis.setRole(customerId,userId,dto); - result.add(dto); - }); - } + public CustomerAgencyUserRoleDTO getUserRoles(CustomerAgencyUserRoleFormDTO formDTO) { + String staffId = formDTO.getStaffId(); + String customerId = formDTO.getCustomerId(); + CustomerAgencyUserRoleDTO role = staffRoleRedis.getRole(customerId, staffId); + if (null != role){ + return role; + }else { + List rolesByDB = baseDao.getRolesByDB(staffId); + if (!CollectionUtils.isEmpty(rolesByDB)) { + CustomerAgencyUserRoleDTO dto = new CustomerAgencyUserRoleDTO(); + dto.setStaffId(rolesByDB.get(NumConstant.ZERO).getStaffId()); + dto.setCustomerId(customerId); + dto.setAgencyId(rolesByDB.get(NumConstant.ZERO).getOrgId()); + Map map = new HashMap(16); + rolesByDB.forEach(l -> { + map.put(l.getRoleKey(), l.getRoleName()); + }); + dto.setRoles(map.toString()); + staffRoleRedis.setRole(customerId, staffId, dto); + return dto; } } - return result; + return null; } } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml index 8be9018471..437abfa4e3 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml @@ -216,12 +216,8 @@ gsr.ROLE_NAME, sr.STAFF_ID FROM staff_role sr - LEFT JOIN gov_staff_role gsr ON gsr.ID = sr.ROLE_ID AND gsr.DEL_FLAG = 0 + LEFT JOIN gov_staff_role gsr ON gsr.ID = sr.ROLE_ID AND gsr.DEL_FLAG = 0 WHERE sr.DEL_FLAG = 0 - AND ( - - sr.STAFF_ID = #{userId} - - ) + AND sr.STAFF_ID = #{userId} From b75757b77b9ccf483c3626e14bde80e71a8a9f4f Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 15 Jun 2021 16:54:27 +0800 Subject: [PATCH 11/20] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=91=98=E5=B7=A1?= =?UTF-8?q?=E6=9F=A5=20=E9=94=99=E8=AF=AF=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/commons/tools/exception/EpmetErrorCode.java | 3 ++- .../com/epmet/service/impl/StaffPatrolRecordServiceImpl.java | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index 3faf895eb5..25e0a4d4d9 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -107,7 +107,8 @@ public enum EpmetErrorCode { DUPLICATE_BADGE_NAME(8515, "徽章名已存在"), DUPLICATE_PARTY_BADGE_NAME(8516, "不可删除党员徽章"), ONLINE_BADGE_COUNT(8517, "最多上线5个徽章"), - + PATROL_REPEATED_SUBMIT_ERROR(8521, "巡查已结束,请勿重复提交"), + PATROL_END_TIME_ERROR(8522, "巡查结束时间不能小于巡查开始时间"), // 该错误不会提示给前端,只是后端传输错误信息用。 ACCESS_SQL_FILTER_MISSION_ARGS(8701, "缺少生成权限过滤SQL所需参数"), OPER_ADD_CUSTOMER_ROOT_AGENCY_ERROR(8702, "添加客户根级组织失败"), 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 0001d51549..bdc2d9d86b 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 @@ -189,10 +189,10 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl 0) { - throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), "巡查结束时间不能小于巡查开始时间"); + throw new RenException(EpmetErrorCode.PATROL_END_TIME_ERROR.getCode()); } record.setActrualEndTime(new Date()); record.setUpdatedTime(null); From 8e4c9120d41111234071064c121c868ffc31d330 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 15 Jun 2021 17:27:14 +0800 Subject: [PATCH 12/20] =?UTF-8?q?=E8=A7=92=E8=89=B2=E6=B7=BB=E5=8A=A0=20?= =?UTF-8?q?=EF=BC=8C=20=E7=BC=96=E8=BE=91=E6=97=B6=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=BC=93=E5=AD=98=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/CustomerStaffServiceImpl.java | 32 ++++++++++++++++--- 1 file changed, 28 insertions(+), 4 deletions(-) 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 e52b9441ae..07c8e2b306 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 @@ -51,6 +51,7 @@ import com.epmet.feign.AuthFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.feign.OperCrmOpenFeignClient; import com.epmet.redis.CustomerStaffRedis; +import com.epmet.redis.StaffRoleRedis; import com.epmet.service.CustomerStaffService; import com.epmet.service.GovStaffRoleService; import com.epmet.service.StaffRoleService; @@ -66,10 +67,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -104,6 +102,8 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl page(Map params) { @@ -327,6 +327,18 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl roleKeyValue = govStaffRoleDao.selectRoleKeyName(fromDTO.getRoles()); + dto.setCustomerId(fromDTO.getCustomerId()); + dto.setStaffId(userEntity.getId()); + dto.setAgencyId(fromDTO.getAgencyId()); + Map m = new HashMap(16); + roleKeyValue.forEach(r -> { + m.put(r.getRoleKey(),r.getRoleName()); + }); + dto.setRoles(m.toString()); + staffRoleRedis.setRole(dto.getCustomerId(), dto.getStaffId(),dto); return new Result().ok(ConvertUtils.sourceToTarget(staffEntity, CustomerStaffDTO.class)); } @@ -388,6 +400,18 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl roleKeyValue = govStaffRoleDao.selectRoleKeyName(fromDTO.getRoles()); + dto.setCustomerId(fromDTO.getCustomerId()); + dto.setStaffId(fromDTO.getStaffId()); + dto.setAgencyId(fromDTO.getAgencyId()); + Map m = new HashMap(16); + roleKeyValue.forEach(r -> { + m.put(r.getRoleKey(),r.getRoleName()); + }); + dto.setRoles(m.toString()); + staffRoleRedis.setRole(dto.getCustomerId(), dto.getStaffId(),dto); return new Result(); } From 68bc5121bb328a103554d6be1780b60eb7df3b07 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 15 Jun 2021 17:27:35 +0800 Subject: [PATCH 13/20] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=20=E4=B8=8A=E6=8A=A5=E4=BA=BA=E8=A7=92?= =?UTF-8?q?=E8=89=B2=E9=9B=86=E5=90=88=E5=8F=8AID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../result/ScreenProjectDetailResultDTO.java | 9 +++++++ .../screen/impl/ScreenProjectServiceImpl.java | 24 +++++++++++++++++++ .../mapper/screen/ScreenProjectDataDao.xml | 1 + 3 files changed, 34 insertions(+) diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/ScreenProjectDetailResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/ScreenProjectDetailResultDTO.java index d1fa2f824b..1c7391dd93 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/ScreenProjectDetailResultDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/ScreenProjectDetailResultDTO.java @@ -7,6 +7,7 @@ import lombok.Data; import java.io.Serializable; import java.util.Date; import java.util.List; +import java.util.Set; /** * @description: @@ -36,6 +37,14 @@ public class ScreenProjectDetailResultDTO implements Serializable { * 所属类别名称 */ private String categoryName; + /** + * 上报人ID + */ + private String reportUserId; + /** + * 上报人角色列表 + */ + private Set reportUserRoleSet; /** * 上报人名 */ diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java index 4bf518855a..74b013b653 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java @@ -1,5 +1,6 @@ package com.epmet.datareport.service.evaluationindex.screen.impl; +import com.alibaba.fastjson.JSON; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.utils.ConvertUtils; @@ -10,6 +11,8 @@ import com.epmet.datareport.dao.evaluationindex.screen.ScreenEventImgDataDao; import com.epmet.datareport.dao.evaluationindex.screen.ScreenProjectCategoryOrgDailyDao; import com.epmet.datareport.dao.evaluationindex.screen.ScreenProjectDataDao; import com.epmet.datareport.service.evaluationindex.screen.ScreenProjectService; +import com.epmet.dto.CustomerAgencyUserRoleDTO; +import com.epmet.dto.form.CustomerAgencyUserRoleFormDTO; import com.epmet.dto.form.screen.CategoryAnalysisFormDTO; import com.epmet.dto.form.screen.ColorProjectTotalFormDTO; import com.epmet.dto.result.screen.CategoryAnalysisResultDTO; @@ -20,6 +23,7 @@ import com.epmet.evaluationindex.screen.dto.form.ScreenProjectDistributionFormDT import com.epmet.evaluationindex.screen.dto.result.ProjectDetailResultDTO; import com.epmet.evaluationindex.screen.dto.result.ScreenProjectDetailResultDTO; import com.epmet.evaluationindex.screen.dto.result.ScreenProjectDistributionResultDTO; +import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.OperCrmOpenFeignClient; import com.epmet.project.CustomerProjectCategoryDTO; import lombok.extern.slf4j.Slf4j; @@ -29,6 +33,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -56,6 +61,8 @@ public class ScreenProjectServiceImpl implements ScreenProjectService { private ScreenProjectCategoryOrgDailyDao screenProjectCategoryOrgDailyDao; @Autowired private OperCrmOpenFeignClient operCrmOpenFeignClient; + @Autowired + private EpmetUserOpenFeignClient userOpenFeignClient; /** * @Description 3、项目详情 @@ -105,6 +112,23 @@ public class ScreenProjectServiceImpl implements ScreenProjectService { public Result projectDistributionDetail(ScreenProjectDetailFormDTO formDTO) { List resultDTOS = screenProjectDataDao.projectDistributionDetail(formDTO.getProjectId()); resultDTOS.forEach(item -> { + //获取联系人 + if (StringUtils.isNotBlank(item.getReportUserId())){ + CustomerAgencyUserRoleFormDTO userRoleFormDTO = new CustomerAgencyUserRoleFormDTO(); + userRoleFormDTO.setCustomerId(formDTO.getCustomerId()); + userRoleFormDTO.setStaffId(item.getReportUserId()); + + Result userRoles = userOpenFeignClient.getUserRoles(userRoleFormDTO); + if (userRoles != null && userRoles.success() && userRoles.getData() != null){ + String roles = userRoles.getData().getRoles(); + + if (StringUtils.isNotBlank(roles)){ + Map map = JSON.parseObject(roles, HashMap.class); + item.setReportUserRoleSet(map.keySet()); + } + } + } + //项目图片 List imgList = screenProjectDataDao.selectProjectImgs(formDTO.getProjectId(),item.getCustomerId()); item.setImgList(imgList); diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml index 3ed76af34c..0f0cb8c58c 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml @@ -63,6 +63,7 @@ project_content AS projectContent, project_create_time as reportTime, ALL_CATEGORY_NAME as categoryName, + LINK_USER_ID as reportUserId, LINK_NAME as reportUserName, link_mobile as mobile, project_address as reportAddress, From 38bb4c048895e99ced3c429cdd785d59faea07ab Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 15 Jun 2021 18:11:02 +0800 Subject: [PATCH 14/20] =?UTF-8?q?screen=5Fproject=5Fdata=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=B8=8A=E6=8A=A5=E4=BA=BAID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/evaluationindex/screen/ScreenProjectDataEntity.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectDataEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectDataEntity.java index 52e28cc095..9ef584bad8 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectDataEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectDataEntity.java @@ -77,7 +77,7 @@ public class ScreenProjectDataEntity extends BaseEpmetEntity { /** * 事件时间 */ - private String projectCreateTime; + private Date projectCreateTime; /** * 上报人ID @@ -144,4 +144,5 @@ public class ScreenProjectDataEntity extends BaseEpmetEntity { */ private String allParentIds; + } From 101dc28848db3bbdae212ce416c1f4a0ef5ea481 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 16 Jun 2021 09:18:43 +0800 Subject: [PATCH 15/20] =?UTF-8?q?=E4=B8=AD=E5=A4=AE=E5=8C=BA=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E6=95=B0=E6=8D=AE=E8=AE=BE=E7=BD=AEorgType?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extract/toscreen/impl/ScreenProjectSettleServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java index 503465ed43..781211b4bf 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java @@ -1,5 +1,6 @@ package com.epmet.service.evaluationindex.extract.toscreen.impl; +import com.epmet.constant.OrgTypeConstant; import com.epmet.constant.ProjectConstant; import com.epmet.dto.screen.ScreenProjectDataDTO; import com.epmet.dto.screen.ScreenProjectImgDataDTO; @@ -86,6 +87,8 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic meta.setOrigin(projectInfo.getOrigin()); //直接立项的话 项目内容是项目背景 经纬度添加 if (ProjectConstant.PROJECT_ORIGIN_AGENCY.equals(projectInfo.getOrigin())){ + meta.setOrgType(OrgTypeConstant.AGENCY); + meta.setOrgId(projectInfo.getAgencyId()); meta.setProjectContent(projectInfo.getBackGround()); meta.setLinkUserId(projectInfo.getCreatedBy()); meta.setLinkName(projectInfo.getCreatedBy()); From 064d818b0ae5852cb4188246c95a1b3b94d51772 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 16 Jun 2021 09:20:02 +0800 Subject: [PATCH 16/20] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E4=BA=BA=E5=91=98?= =?UTF-8?q?=E8=A7=92=E8=89=B2=E8=A1=A5=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../result/RepairStaffRoleCacheResultDTO.java | 42 +++++++++++++++++++ .../epmet/controller/StaffRoleController.java | 2 +- .../main/java/com/epmet/dao/StaffRoleDao.java | 8 ++++ .../com/epmet/service/StaffRoleService.java | 8 ++++ .../service/impl/StaffRoleServiceImpl.java | 29 +++++++++++++ .../main/resources/mapper/StaffRoleDao.xml | 13 ++++++ 6 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/RepairStaffRoleCacheResultDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/RepairStaffRoleCacheResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/RepairStaffRoleCacheResultDTO.java new file mode 100644 index 0000000000..e24f490559 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/RepairStaffRoleCacheResultDTO.java @@ -0,0 +1,42 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/6/15 5:49 下午 + * @DESC + */ +@Data +public class RepairStaffRoleCacheResultDTO implements Serializable { + + private static final long serialVersionUID = 1220784037854283625L; + + /** + * 角色key + */ + private String roleKey; + + /** + * 角色value + */ + private String roleName; + + /** + * 组织ID + */ + private String orgId; + + /** + * 工作人员ID + */ + private String staffId; + + /** + * 客户ID + */ + private String customerId; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java index 411b6fee69..969eae7e66 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java @@ -199,7 +199,7 @@ public class StaffRoleController { */ @PostMapping("repairstaffrolecache") public Result repairStaffRoleCache(){ - + staffRoleService.repairStaffRoleCache(); return new Result(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java index 25c8c2687f..da289c6308 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java @@ -144,4 +144,12 @@ public interface StaffRoleDao extends BaseDao { * @date 2021/6/15 3:51 下午 */ List getRolesByDB(@Param("userId")String userId); + + /** + * @Description 查询所有用户角色 + * @Param + * @author zxc + * @date 2021/6/15 5:54 下午 + */ + List selectAllUserRoles(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java index 0fd2fcb101..b34f90d294 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java @@ -174,4 +174,12 @@ public interface StaffRoleService extends BaseService { * @date 2021/6/15 3:03 下午 */ CustomerAgencyUserRoleDTO getUserRoles(CustomerAgencyUserRoleFormDTO formDTO); + + /** + * @Description 补全缓存 工作人员角色 + * @Param + * @author zxc + * @date 2021/6/15 2:05 下午 + */ + void repairStaffRoleCache(); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java index 578c577f17..0404a5ff0a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java @@ -236,4 +236,33 @@ public class StaffRoleServiceImpl extends BaseServiceImpl allRoles = baseDao.selectAllUserRoles(); + if (!CollectionUtils.isEmpty(allRoles)){ + // 根据 userId分组【staffId】 + Map> groupByStaff = allRoles.stream().collect(Collectors.groupingBy(RepairStaffRoleCacheResultDTO::getStaffId)); + groupByStaff.forEach((userId,list) -> { + CustomerAgencyUserRoleDTO dto = new CustomerAgencyUserRoleDTO(); + String customerId = list.get(NumConstant.ZERO).getCustomerId(); + dto.setStaffId(list.get(NumConstant.ZERO).getStaffId()); + dto.setCustomerId(customerId); + dto.setAgencyId(list.get(NumConstant.ZERO).getOrgId()); + Map map = new HashMap(16); + list.forEach(l -> { + map.put(l.getRoleKey(), l.getRoleName()); + }); + dto.setRoles(map.toString()); + staffRoleRedis.setRole(customerId, userId, dto); + }); + } + } + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml index 437abfa4e3..1054b26a5e 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml @@ -220,4 +220,17 @@ WHERE sr.DEL_FLAG = 0 AND sr.STAFF_ID = #{userId} + + + From 8fc8f6aabd024944962c6375cfe548b350cb41d9 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 16 Jun 2021 10:47:05 +0800 Subject: [PATCH 17/20] =?UTF-8?q?screen=5Fproject=5Fdata=20ALL=5FPARENT=5F?= =?UTF-8?q?IDS=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../evaluationindex/extract/FactOriginProjectMainDailyDao.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 c9d6d8bfde..49d7a86d8a 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 @@ -563,13 +563,13 @@ data.CUSTOMER_ID, 'grid' as orgType, data.GRID_ID as orgId, - data.AGENCY_ID as parentId, + data.PID as parentId, agency.AGENCY_NAME as orgName, data.ID as projectId, data.TOPIC_CREATOR_ID as linkName, IF(data.PROJECT_STATUS = 'closed','closed_case',data.PROJECT_STATUS) as projectStatusCode, 3 as projectLevel, - IF(data.PIDS IS NULL || TRIM(data.PIDS) = '',data.AGENCY_ID,CONCAT(REPLACE(data.PIDS,':',','),',',data.AGENCY_ID)) as allParentIds, + data.PIDS as allParentIds, data.TOPIC_ID, IFNULL(log.response, 0) AS responseCount, #{dataEndTime} as dataEndTime From 160254675848b4946e62c9836c8930d891b058e7 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 16 Jun 2021 14:03:20 +0800 Subject: [PATCH 18/20] =?UTF-8?q?roles=E4=BF=AE=E6=94=B9=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/CustomerAgencyUserRoleDTO.java | 3 ++- .../com/epmet/service/impl/CustomerStaffServiceImpl.java | 4 ++-- .../java/com/epmet/service/impl/StaffRoleServiceImpl.java | 6 ++++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CustomerAgencyUserRoleDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CustomerAgencyUserRoleDTO.java index 562b5644a2..7ee6e68b2f 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CustomerAgencyUserRoleDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CustomerAgencyUserRoleDTO.java @@ -3,6 +3,7 @@ package com.epmet.dto; import lombok.Data; import java.io.Serializable; +import java.util.Map; /** * @Author zxc @@ -30,6 +31,6 @@ public class CustomerAgencyUserRoleDTO implements Serializable { /** * 角色 */ - private String roles; + private Map roles; } 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 07c8e2b306..8d5f22aa64 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 @@ -337,7 +337,7 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl { m.put(r.getRoleKey(),r.getRoleName()); }); - dto.setRoles(m.toString()); + dto.setRoles(m); staffRoleRedis.setRole(dto.getCustomerId(), dto.getStaffId(),dto); return new Result().ok(ConvertUtils.sourceToTarget(staffEntity, CustomerStaffDTO.class)); } @@ -410,7 +410,7 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl { m.put(r.getRoleKey(),r.getRoleName()); }); - dto.setRoles(m.toString()); + dto.setRoles(m); staffRoleRedis.setRole(dto.getCustomerId(), dto.getStaffId(),dto); return new Result(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java index 0404a5ff0a..51f5e189b6 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java @@ -17,6 +17,8 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.entity.DataScope; @@ -228,7 +230,7 @@ public class StaffRoleServiceImpl extends BaseServiceImpl { map.put(l.getRoleKey(), l.getRoleName()); }); - dto.setRoles(map.toString()); + dto.setRoles(map); staffRoleRedis.setRole(customerId, staffId, dto); return dto; } @@ -259,7 +261,7 @@ public class StaffRoleServiceImpl extends BaseServiceImpl { map.put(l.getRoleKey(), l.getRoleName()); }); - dto.setRoles(map.toString()); + dto.setRoles(map); staffRoleRedis.setRole(customerId, userId, dto); }); } From fb028efebb22fd220d911b76ef977362f7ad4afc Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 16 Jun 2021 14:05:14 +0800 Subject: [PATCH 19/20] roles --- .../screen/impl/ScreenProjectServiceImpl.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java index 74b013b653..81a854c5de 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java @@ -1,6 +1,5 @@ package com.epmet.datareport.service.evaluationindex.screen.impl; -import com.alibaba.fastjson.JSON; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.utils.ConvertUtils; @@ -33,7 +32,6 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -120,11 +118,10 @@ public class ScreenProjectServiceImpl implements ScreenProjectService { Result userRoles = userOpenFeignClient.getUserRoles(userRoleFormDTO); if (userRoles != null && userRoles.success() && userRoles.getData() != null){ - String roles = userRoles.getData().getRoles(); + Map roles = userRoles.getData().getRoles(); - if (StringUtils.isNotBlank(roles)){ - Map map = JSON.parseObject(roles, HashMap.class); - item.setReportUserRoleSet(map.keySet()); + if (!CollectionUtils.isEmpty(roles)){ + item.setReportUserRoleSet(roles.keySet()); } } } From bb0f1dcb8684cfa01a7b9d4315e8fcfc03761858 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 16 Jun 2021 14:27:52 +0800 Subject: [PATCH 20/20] =?UTF-8?q?gridId=E6=94=B9=E4=B8=BA=E9=9D=9E?= =?UTF-8?q?=E5=BF=85=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/form/RecordListFormDTO.java | 1 - .../src/main/resources/mapper/StaffPatrolRecordDao.xml | 8 +++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RecordListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RecordListFormDTO.java index cfaf7a62c4..8d5f8413f1 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RecordListFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RecordListFormDTO.java @@ -20,7 +20,6 @@ public class RecordListFormDTO implements Serializable { @NotBlank(message = "staffId不能为空",groups = RecordListForm.class) private String staffId; - @NotBlank(message = "网格ID不能为空",groups = RecordListForm.class) private String gridId; } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffPatrolRecordDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffPatrolRecordDao.xml index 2e760a499e..002c2372b9 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffPatrolRecordDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffPatrolRecordDao.xml @@ -29,12 +29,14 @@