From f6f2248e7e63147b5a2c2442b0b186dd0f9f7ce8 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 17 Jan 2022 18:35:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E8=8E=B7=E5=8F=96=E7=BD=91?= =?UTF-8?q?=E6=A0=BC=E5=B7=A5=E4=BD=9C=E4=BA=BA=E5=91=98=E5=AF=B9=E5=A4=96?= =?UTF-8?q?=E5=8F=8A=E5=AF=B9=E5=86=85=20=E7=BB=9F=E4=B8=80=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/dto/form/PageFormDTO.java | 5 +- .../epmetuser/result/StaffInfoResultDTO.java | 47 ++++++++ .../result/CustomerGridStaffResultDTO.java | 32 +++++ .../result/CustomerStaffGridResultDTO.java | 32 +++++ .../epmet/feign/GovOrgOpenFeignClient.java | 9 +- .../GovOrgOpenFeignClientFallback.java | 5 + .../controller/CustomerGridController.java | 15 +++ .../java/com/epmet/dao/CustomerGridDao.java | 15 +-- .../epmet/service/CustomerGridService.java | 12 ++ .../service/impl/CustomerGridServiceImpl.java | 6 +- .../main/resources/mapper/CustomerGridDao.xml | 22 ++++ .../com/epmet/dto/form/GridStaffFormDTO.java | 52 ++++++++ .../epmet/controller/StaffRoleController.java | 18 +++ .../main/java/com/epmet/dao/StaffRoleDao.java | 11 ++ .../com/epmet/service/StaffRoleService.java | 76 ++---------- .../service/impl/StaffRoleServiceImpl.java | 113 ++++++++---------- .../main/resources/mapper/StaffRoleDao.xml | 29 +++++ 17 files changed, 362 insertions(+), 137 deletions(-) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffInfoResultDTO.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerGridStaffResultDTO.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffGridResultDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GridStaffFormDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java index 9922a2fb6e..fe22284567 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java @@ -4,6 +4,7 @@ import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; import javax.validation.constraints.NotNull; +import java.io.Serializable; /** * 分页通用类 @@ -12,7 +13,9 @@ import javax.validation.constraints.NotNull; * @date 2020/11/20 17:02 */ @Data -public class PageFormDTO { +public class PageFormDTO implements Serializable { + private static final long serialVersionUID = -4145040961294503137L; + public interface AddUserInternalGroup { } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffInfoResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffInfoResultDTO.java new file mode 100644 index 0000000000..c59ac45da9 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffInfoResultDTO.java @@ -0,0 +1,47 @@ +package com.epmet.dataaggre.dto.epmetuser.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 工作人员信息结果 + * @Auth sun + */ +@Data +public class StaffInfoResultDTO implements Serializable { + + private static final long serialVersionUID = -746814280620822111L; + /** + * 用户Id + */ + private String userId; + + /** + * 用户名 + */ + private String userName; + + /** + * 手机号 + */ + private String mobile; + + /** + * 性别0.未知,1男,2.女 + */ + private Integer gender; + + /** + * 组织Id + */ + private String orgId; + + /** + * 组织名 + */ + private String orgName; + + + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerGridStaffResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerGridStaffResultDTO.java new file mode 100644 index 0000000000..b325e80461 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerGridStaffResultDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * desc:客户下网格工作人员结果 + * @Author zxc + * @DateTime 2021/6/8 3:23 下午 + * @DESC + */ +@Data +public class CustomerGridStaffResultDTO implements Serializable { + + private static final long serialVersionUID = -5910427385795368242L; + + private String userId; + + private String userName; + + private String mobile; + + private Integer gender; + + private String gridId; + + private String gridName; + + private String agencyId; + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffGridResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffGridResultDTO.java new file mode 100644 index 0000000000..ece0ebfc73 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffGridResultDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author 在网格中的工作人员 + * @dscription + * @date 2020/4/23 16:08 + */ +@Data +public class CustomerStaffGridResultDTO implements Serializable { + private static final long serialVersionUID = 1301415104939403933L; + /** + * 用户ID + */ + private String userId; + /** + * 网格Id + */ + private String gridId; + /** + * 网格名称 + */ + private String gridName; + /** + * 组织Id + */ + private String agencyId; + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java index 9bd7bfb642..8bd74a2c52 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java @@ -462,8 +462,8 @@ public interface GovOrgOpenFeignClient { @PostMapping(value = "/gov/org/house/queryListHouseInfo",consumes = MediaType.APPLICATION_JSON_VALUE) Result> queryListHouseInfo(@RequestBody Set houseIds); - - + + /** * @Description 获取组织下网格选项 * @Param formDTO @@ -549,7 +549,7 @@ public interface GovOrgOpenFeignClient { */ @PostMapping("/gov/org/agency/getsonagencyid") Result> getSonAgencyId(@RequestParam("orgId")String orgId,@RequestParam("type")String type); - + // /icbuilding/{id}?id=demoData /** @@ -576,4 +576,7 @@ public interface GovOrgOpenFeignClient { */ @PostMapping("/gov/org/customeragency/configcustomerareacode") Result configCustomerAreaCode(@RequestBody CustomerAreaCodeFormDTO formDTO); + + @PostMapping("/gov/org/customergrid/getstaffgridlist") + Result> getStaffGridList(@RequestParam("orgId")String orgId, @RequestParam("orgType")String orgType); } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java index c3ddd39202..9aeea0c92b 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java @@ -369,4 +369,9 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient { public Result configCustomerAreaCode(CustomerAreaCodeFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "configCustomerAreaCode", formDTO); } + + @Override + public Result> getStaffGridList(String orgId, String orgType) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getStaffGridList", orgId, orgType); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java index 8843d646c5..ee4afd7bc8 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java @@ -17,8 +17,10 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; @@ -330,4 +332,17 @@ public class CustomerGridController { return new Result>().ok(customerGridService.gridListByAgencyId(agencyId)); } + /** + * @Description 【事件】社区服务热线 + * @author sun + **/ + @PostMapping("getstaffgridlist") + Result> getStaffGridList(@LoginUser TokenDto tokenDto, + @RequestParam("orgId")String orgId, + @RequestParam("orgType")String orgType) { + //tokenDto.setCustomerId("45687aa479955f9d06204d415238f7cc"); + List staffGridList = customerGridService.getStaffGridList(tokenDto.getCustomerId(), orgId, orgType); + return new Result>().ok(staffGridList); + } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java index 3b5e8c794a..7eef403d38 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java @@ -156,8 +156,8 @@ public interface CustomerGridDao extends BaseDao { List selectGridByIds(@Param("gridIdList") List gridIdList); /** - * @Description 查询网格名 不限制是否同步条件 SYNC_FLAG * @param gridIdList + * @Description 查询网格名 不限制是否同步条件 SYNC_FLAG * @author zxc * @date 2022/1/12 9:42 上午 */ @@ -279,15 +279,15 @@ public interface CustomerGridDao extends BaseDao { CustomerGridDTO getGridBaseInfoById(@Param("gridId") String gridId); /** - * @Description 根据网格ID查询pids + * @Description 根据网格ID查询pids * @Param gridId * @author zxc * @date 2021/7/16 9:52 上午 */ - String selectPidsByGridId(@Param("gridId")String gridId); + String selectPidsByGridId(@Param("gridId") String gridId); /** - * @Description 查询网格名字 + * @Description 查询网格名字 * @Param gridId * @author zxc * @date 2021/8/4 4:30 下午 @@ -295,7 +295,7 @@ public interface CustomerGridDao extends BaseDao { String gridName(String gridId); /** - * @Description 查询组织名字 + * @Description 查询组织名字 * @Param orgIds * @author zxc * @date 2021/8/4 6:25 下午 @@ -303,7 +303,7 @@ public interface CustomerGridDao extends BaseDao { List selectOrgNameByType(@Param("orgIds") List orgIds); /** - * @Description 根据人查询所在组织 + * @Description 根据人查询所在组织 * @Param userId * @author zxc * @date 2021/8/5 10:08 上午 @@ -361,7 +361,8 @@ public interface CustomerGridDao extends BaseDao { CustomerGridDTO gridAgencyByGrid(@Param("gridId") String gridId); int updateSubGridAreaCode(@Param("customerId") String customerId, - @Param("agencyId")String agencyId, + @Param("agencyId") String agencyId, @Param("operateUserId") String operateUserId); + List getStaffGridList(@Param("customerId") String customerId, @Param("orgId") String orgId, @Param("orgType") String orgType); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java index 1bc418d8fd..cac10ea123 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java @@ -362,4 +362,16 @@ public interface CustomerGridService extends BaseService { * @Description 查询组织直属网格列表 **/ List gridListByAgencyId(String agencyId); + + /** + * desc: 获取组织及网格下 工作人员网格关系列表 + * + * @param customerId + * @param orgId + * @param orgType + * @return java.util.List + * @author LiuJanJun + * @date 2022/1/17 3:50 下午 + */ + List getStaffGridList(String customerId, String orgId, String orgType); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java index 115a784406..57fc7340fb 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java @@ -42,7 +42,6 @@ import com.epmet.dao.CustomerStaffGridDao; import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; -import com.epmet.entity.CustomerAgencyEntity; import com.epmet.entity.CustomerGridEntity; import com.epmet.feign.EpmetAdminOpenFeignClient; import com.epmet.feign.EpmetMessageOpenFeignClient; @@ -931,4 +930,9 @@ public class CustomerGridServiceImpl extends BaseServiceImpl getStaffGridList(String customerId, String orgId, String orgType) { + return baseDao.getStaffGridList(customerId,orgId,orgType); + } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml index ca2e81e89b..a70cf1d9b6 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml @@ -783,5 +783,27 @@ where customer_id=#{customerId} AND pids LIKE concat('%',#{agencyId}, '%' ) + diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GridStaffFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GridStaffFormDTO.java new file mode 100644 index 0000000000..43d5c8c49f --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GridStaffFormDTO.java @@ -0,0 +1,52 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.util.List; + +/** + * DESC:网格下的工作人员 查询 + * @author liujianjun + */ +@Data +public class GridStaffFormDTO extends PageFormDTO { + + /** + * 客户Id + */ + private String customerId; + + /** + * 工作人员Id + */ + private String userId; + + /** + * 工作人员姓名 + */ + private String userName; + + /** + * 手机号 + */ + private String mobile; + + /** + * 角色key + */ + @NotBlank(message = "角色Key不能为空", groups = {DefaultGroup.class}) + private List roleKeyList; + + /** + * 组织ID + */ + private String orgId; + + /** + * 组织类型 agency or grid + */ + private String orgType; +} 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 998c3eba7e..a0bfcb4536 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 @@ -2,6 +2,9 @@ package com.epmet.controller; import cn.hutool.core.collection.CollectionUtil; import com.epmet.commons.mybatis.entity.DataScope; +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.GovStaffRoleDTO; @@ -195,4 +198,19 @@ public class StaffRoleController { ValidatorUtils.validateEntity(formDTO,RoleStaffIdFormDTO.AddUserInternalGroup.class); return new Result>().ok(staffRoleService.queryRoleStaffIds(formDTO)); } + + /** + * desc: 根据角色、用户名、手机号 组织获取网格下的工作人员 精确匹配 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author LiuJanJun + * @date 2022/1/17 2:26 下午 + */ + @PostMapping("getGridStaffList") + Result> getGridStaffList(@LoginUser TokenDto tokenDto, @RequestBody GridStaffFormDTO formDTO){ + //tokenDto.setCustomerId("45687aa479955f9d06204d415238f7cc"); + formDTO.setCustomerId(tokenDto.getCustomerId()); + return new Result>().ok(staffRoleService.getGridStaffList(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 31e6591d92..3cfb231881 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 @@ -23,6 +23,7 @@ import com.epmet.dto.StaffRoleDTO; import com.epmet.dto.form.CommonUserFormDTO; import com.epmet.dto.form.CustomerStaffRoleListFormDTO; import com.epmet.dto.form.GetRoleKeyListFormDTO; +import com.epmet.dto.form.GridStaffFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.StaffRoleEntity; import org.apache.ibatis.annotations.Mapper; @@ -169,4 +170,14 @@ public interface StaffRoleDao extends BaseDao { * @Description 【事件】网格员服务电话 **/ List staffRoleList(@Param("staffIds") List staffIds); + + /** + * desc: 条件获取工作人员list + * + * @param formDTO + * @return java.util.List + * @author LiuJanJun + * @date 2022/1/17 2:45 下午 + */ + List getStaffList(GridStaffFormDTO 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 e8737d7a0c..2458ba809d 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 @@ -22,15 +22,11 @@ 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.StaffRoleDTO; -import com.epmet.dto.form.CommonUserFormDTO; -import com.epmet.dto.form.CustomerStaffRoleListFormDTO; -import com.epmet.dto.form.RoleStaffIdFormDTO; -import com.epmet.dto.form.RolesUsersListFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.StaffRoleEntity; import java.util.List; -import java.util.Map; import java.util.Set; /** @@ -41,66 +37,6 @@ import java.util.Set; */ public interface StaffRoleService extends BaseService { - /** - * 默认分页 - * - * @param params - * @return PageData - * @author generator - * @date 2020-04-22 - */ - PageData page(Map params); - - /** - * 默认查询 - * - * @param params - * @return java.util.List - * @author generator - * @date 2020-04-22 - */ - List list(Map params); - - /** - * 单条查询 - * - * @param id - * @return StaffRoleDTO - * @author generator - * @date 2020-04-22 - */ - StaffRoleDTO get(String id); - - /** - * 默认保存 - * - * @param dto - * @return void - * @author generator - * @date 2020-04-22 - */ - void save(StaffRoleDTO dto); - - /** - * 默认更新 - * - * @param dto - * @return void - * @author generator - * @date 2020-04-22 - */ - void update(StaffRoleDTO dto); - - /** - * 批量删除 - * - * @param ids - * @return void - * @author generator - * @date 2020-04-22 - */ - void delete(String[] ids); - /** * 查询具有某角色的staff列表 * @param roleKey @@ -176,4 +112,14 @@ public interface StaffRoleService extends BaseService { * @date 2021/8/19 11:14 上午 */ Set queryRoleStaffIds(RoleStaffIdFormDTO formDTO); + + /** + * desc: 条件获取 网格工作人员信息 + * + * @param formDTO + * @return com.epmet.commons.tools.page.PageData + * @author LiuJanJun + * @date 2022/1/17 2:37 下午 + */ + PageData getGridStaffList(GridStaffFormDTO formDTO); } 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 181b788434..700a7733a9 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,30 +17,29 @@ package com.epmet.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; +import com.alibaba.fastjson.JSON; import com.epmet.commons.mybatis.entity.DataScope; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; -import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dao.StaffRoleDao; import com.epmet.dto.StaffRoleDTO; -import com.epmet.dto.form.CommonUserFormDTO; -import com.epmet.dto.form.CustomerStaffRoleListFormDTO; -import com.epmet.dto.form.RoleStaffIdFormDTO; -import com.epmet.dto.form.RolesUsersListFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.StaffRoleEntity; +import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.service.StaffRoleService; -import org.apache.commons.lang3.StringUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; /** * 工作人员-角色关系表 @@ -48,61 +47,12 @@ import java.util.*; * @author generator generator@elink-cn.com * @since v1.0.0 2020-04-22 */ +@Slf4j @Service public class StaffRoleServiceImpl extends BaseServiceImpl implements StaffRoleService { - @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, StaffRoleDTO.class); - } - - @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); - - return ConvertUtils.sourceToTarget(entityList, StaffRoleDTO.class); - } - - private QueryWrapper getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); - - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); - - return wrapper; - } - - @Override - public StaffRoleDTO get(String id) { - StaffRoleEntity entity = baseDao.selectById(id); - return ConvertUtils.sourceToTarget(entity, StaffRoleDTO.class); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void save(StaffRoleDTO dto) { - StaffRoleEntity entity = ConvertUtils.sourceToTarget(dto, StaffRoleEntity.class); - insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(StaffRoleDTO dto) { - StaffRoleEntity entity = ConvertUtils.sourceToTarget(dto, StaffRoleEntity.class); - updateById(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(String[] ids) { - // 逻辑删除(@TableLogic 注解) - baseDao.deleteBatchIds(Arrays.asList(ids)); - } - + @Autowired + private GovOrgOpenFeignClient govOrgOpenFeignClient; /** * 查询具有某角色的staff列表 * @param roleKey @@ -209,4 +159,47 @@ public class StaffRoleServiceImpl extends BaseServiceImpl getGridStaffList(GridStaffFormDTO formDTO) { + //有这些条件 优先查询用户信息 + List staffList = baseDao.getStaffList(formDTO); + + if (CollectionUtils.isEmpty(staffList)){ + log.warn("getGridStaffList getStaffList return empty,param:{}", JSON.toJSONString(formDTO)); + return new PageData<>(null,NumConstant.ZERO); + } + //继续查询 在网格里的人 + Result> staffGridResult = govOrgOpenFeignClient.getStaffGridList(formDTO.getOrgId(),formDTO.getOrgType()); + if (staffGridResult == null || !staffGridResult.success() || CollectionUtils.isEmpty(staffGridResult.getData())){ + log.warn("getGridStaffList getStaffGridList return empty,param orgId:{},orgType:{}",formDTO.getOrgId(),formDTO.getOrgType()); + return new PageData<>(null,NumConstant.ZERO); + } + Map> userGridListMap = staffGridResult.getData().stream() + .collect(Collectors.groupingBy(CustomerStaffGridResultDTO::getUserId)); + List result = new ArrayList<>(); + Integer offset = formDTO.getOffset(); + Integer pageSize = formDTO.getPageSize(); + + AtomicInteger count = new AtomicInteger(); + staffList.forEach(staff->{ + List dtoList = userGridListMap.get(staff.getUserId()); + if (dtoList == null){ + return; + } + + dtoList.forEach(grid-> { + CustomerGridStaffResultDTO staffNew = ConvertUtils.sourceToTarget(staff, CustomerGridStaffResultDTO.class); + staffNew.setGridId(grid.getGridId()); + staffNew.setGridName(grid.getGridName()); + staffNew.setAgencyId(grid.getAgencyId()); + if (count.intValue() >= offset && result.size() < pageSize) { + result.add(staffNew); + } + count.getAndIncrement(); + }); + + }); + return new PageData<>(result,result.size()); + } + } 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 edb8b4e4a4..d1c5f61d94 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 @@ -271,5 +271,34 @@ ORDER BY sr.staff_id, gsr.role_key +