diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java index 831d2f177d..509b12339f 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java @@ -2,6 +2,7 @@ package com.epmet.commons.tools.redis.common; import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.feign.CommonAggFeignClient; @@ -102,14 +103,17 @@ public class CustomerStaffRedis { * @param staffId */ public static Map getStaffRoleMap(String customerId, String staffId) { - String key = RedisKeys.getCustomerStaffInfoKey(customerId, staffId); - Map roleMap = (Map) customerStaffRedis.redisUtils.hGet(key, ROLE_MAP_KEY); - if (!CollectionUtils.isEmpty(roleMap)) { - return roleMap; - } - - reloadStaffCache(staffId, key); - return getStaffRoleMap(customerId, staffId); + int retryTime = 0; + do { + String key = RedisKeys.getCustomerStaffInfoKey(customerId, staffId); + Map roleMap = (Map) customerStaffRedis.redisUtils.hGet(key, ROLE_MAP_KEY); + if (!CollectionUtils.isEmpty(roleMap)) { + return roleMap; + } + retryTime++; + reloadStaffCache(staffId, key); + } while (retryTime < NumConstant.TWO); + return null; } /** diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/StaffListFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/StaffListFormDTO.java index 6be616d569..ea545fb8a3 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/StaffListFormDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/StaffListFormDTO.java @@ -53,6 +53,8 @@ public class StaffListFormDTO implements Serializable { private String userId; //起止巡查开始时间 private String patrolStartTime; + //token中客户Id + private String customerId; public interface Staff extends CustomerClientShowGroup {} } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/ListStaffResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/ListStaffResultDTO.java index d9fe352c1e..b465f8ec3e 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/ListStaffResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/ListStaffResultDTO.java @@ -13,6 +13,8 @@ import java.util.List; public class ListStaffResultDTO implements Serializable { private static final long serialVersionUID = 7129564173128153335L; + //工作人员所属组织Id + private String agencyId = ""; //工作人员用户id private String staffId = ""; //工作人员姓名 diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java index 74d4346378..9b9c7a0ef1 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java @@ -100,6 +100,7 @@ public class EpmetUserController { /*if (formDTO.getTime() != 1 && formDTO.getTime() != 3) { throw new RenException("参数错误,最近时间值不正确"); }*/ + formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); return new Result>().ok(epmetUserService.staffPatrolList(formDTO)); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java index 5fef749e49..a046a17f9c 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java @@ -46,7 +46,7 @@ public interface CustomerStaffDao extends BaseDao { * @Description 按staffId查询基础信息 * @author sun */ - List selectByStaffIds(@Param("staffIds") List staffIds, @Param("realName") String realName); + List selectByStaffIds(@Param("customerId") String customerId, @Param("staffIds") List staffIds, @Param("realName") String realName); /** * @Description 模糊查询用户、角色信息 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 14bbf346ba..ff11d641ef 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 @@ -299,7 +299,7 @@ public class EpmetUserServiceImpl implements EpmetUserService { List staffList = new ArrayList<>(); //2-1.按名字检索时先查询人员基础信息 if (!StringUtils.isEmpty(formDTO.getStaffName())) { - staffList = customerStaffDao.selectByStaffIds(null, formDTO.getStaffName()); + staffList = customerStaffDao.selectByStaffIds(formDTO.getCustomerId(), null, formDTO.getStaffName()); if (!CollectionUtils.isEmpty(staffList)) { formDTO.setStaffId(staffList.get(0).getUserId()); }else { @@ -311,7 +311,7 @@ public class EpmetUserServiceImpl implements EpmetUserService { //2-3.查询人员基本信息【之前sql关联人员表查性别、姓名效率低 所以分开查) if (CollectionUtils.isEmpty(staffList)) { List staffIdList = resultList.stream().map(StaffListResultDTO::getStaffId).collect(Collectors.toList()); - staffList = customerStaffDao.selectByStaffIds(staffIdList, null); + staffList = customerStaffDao.selectByStaffIds(formDTO.getCustomerId(), staffIdList, null); } //3.封装数据并返回 @@ -460,7 +460,10 @@ public class EpmetUserServiceImpl implements EpmetUserService { List orgList = govOrgService.getStaffOrgName(staffIdList); //3.封装数据并返回 - resultList.forEach(re -> orgList.stream().filter(l -> re.getStaffId().equals(l.getStaffId())).forEach(s -> re.setOrgName(s.getOrgName()))); + resultList.forEach(re -> orgList.stream().filter(l -> re.getStaffId().equals(l.getStaffId())).forEach(s -> { + re.setAgencyId(s.getAgencyId()); + re.setOrgName(s.getOrgName()); + })); return resultList; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml index 083bcd133f..d0486df646 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml @@ -29,7 +29,7 @@ and irg.id=#{receiverGroupId} - order by irg.CREATED_TIME asc,igr.id asc + order by irg.CREATED_TIME desc diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml index b57e89ac99..9b5da74efb 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml @@ -20,7 +20,8 @@ * FROM customer_staff - WHERE 1=1 + WHERE del_flag = '0' + AND customer_id = #{customerId} AND real_name = #{realName} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java index 1dbb43ad80..292cf37b2d 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java @@ -317,6 +317,16 @@ public class InfoServiceImpl extends BaseServiceImpl implem if (infoReceiverGroupDao.selectCountName(formDTO.getName().trim(),formDTO.getCustomerId(),formDTO.getUserId()) > 1) { throw new RenException(EpmetErrorCode.INFO_GROUP_NAME_EXISTS.getCode(), EpmetErrorCode.INFO_GROUP_NAME_EXISTS.getMsg()); } + + Set members=new LinkedHashSet(); + members.addAll(formDTO.getStaffIdList()); + members.addAll(orgStaffIds); + if(CollectionUtils.isNotEmpty(members)&&members.contains(formDTO.getUserId())){ + members.remove(formDTO.getUserId()); + } + if(CollectionUtils.isEmpty(members)){ + throw new RenException(EpmetErrorCode.PLEASE_CHOOSE_MEMBER.getCode(), EpmetErrorCode.PLEASE_CHOOSE_MEMBER.getMsg()); + } InfoReceiverGroupEntity groupEntity=new InfoReceiverGroupEntity(); groupEntity.setCustomerId(formDTO.getCustomerId()); groupEntity.setName(formDTO.getName()); @@ -324,9 +334,6 @@ public class InfoServiceImpl extends BaseServiceImpl implem // 4、插入小组表 infoReceiverGroupDao.insert(groupEntity); - Set members=new LinkedHashSet(); - members.addAll(formDTO.getStaffIdList()); - members.addAll(orgStaffIds); members.forEach(memStaffId->{ // 5、插入群成员表 InfoGroupReceiversEntity memberEntity=new InfoGroupReceiversEntity(); diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoGroupReceiversDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoGroupReceiversDao.xml index e57f5bbaf8..d407b12bc2 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoGroupReceiversDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoGroupReceiversDao.xml @@ -16,7 +16,6 @@ #{groupId} - )