diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TrainingExperienceServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TrainingExperienceServiceImpl.java index 759989e58..329db143c 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TrainingExperienceServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TrainingExperienceServiceImpl.java @@ -46,10 +46,16 @@ public class TrainingExperienceServiceImpl extends LineFlowService implements Tr @Resource EnterpriseUserRoleMapper enterpriseUserRoleMapper; + @Resource + UserAuthMappingMapper userAuthMappingMapper; + @Resource private CommonService commonService; + @Resource + RegionMapper regionMapper; + @Override @Transactional(rollbackFor = Exception.class) public boolean distribution(TrainingExperienceDistributionRequest request) { @@ -137,10 +143,18 @@ public class TrainingExperienceServiceImpl extends LineFlowService implements Tr } List xfStoreManager = sysRoleMapper.getXFStoreManager(roleNames); List roleIds = xfStoreManager.stream().map(SysRoleDO::getId).collect(Collectors.toList()); + //店长角色的用户id List userIdsByRoleIdList = enterpriseUserRoleMapper.getUserIdsByRoleIdList(roleIds); - List userInfoByUserIds = enterpriseUserMapper.getUserInfoByUserIds(userIdsByRoleIdList); - String storeManagers = userInfoByUserIds.stream().map(EnterpriseUserDO::getName).collect(Collectors.toList()).toString(); - leaseBaseInfoDO.setStoreManager(storeManagers); + //当前门店 + RegionDO storeRegion = regionMapper.getRegionByStoreId(leaseBaseInfoDO.getStoreId()); + //权限 + List userIdsByMappingIds = userAuthMappingMapper.getUserIdsByMappingIds(Collections.singletonList(storeRegion.getRegionId())); + //过滤 + userIdsByMappingIds.retainAll(userIdsByRoleIdList); + //用户 + List userInfoByUserIds = enterpriseUserMapper.getUserInfoByUserIds(userIdsByMappingIds); + String nameList = userInfoByUserIds.stream().map(EnterpriseUserDO::getName).collect(Collectors.toList()).toString(); + leaseBaseInfoDO.setStoreManager(nameList); return leaseBaseInfoDO; }