Browse Source

Merge remote-tracking branch 'origin/dev_govorg' into dev_govorg

# Conflicts:
#	epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/DepartmentController.java
#	epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/DepartmentService.java
#	epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/DepartmentServiceImpl.java
master
wxz 5 years ago
parent
commit
a94e444182
  1. 1
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/StaffAgencyController.java
  2. 2
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
  3. 29
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CommonAgencyIdFormDTO.java
  4. 30
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CommonDepartmentFormDTO.java
  5. 35
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CommonDepartmentStaffInfoFormDTO.java
  6. 29
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CommonGridIdFormDTO.java
  7. 35
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CommonGridStaffInfoFormDTO.java
  8. 38
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CommonGridStaffListFromDTO.java
  9. 1
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CustomerGridFormDTO.java
  10. 32
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridBaseInfoResultDTO.java
  11. 31
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridListInfoResultDTO.java
  12. 5
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerStaffAgencyController.java
  13. 38
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/DepartmentController.java
  14. 85
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java
  15. 19
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
  16. 23
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java
  17. 24
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffGridDao.java
  18. 24
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
  19. 15
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java
  20. 44
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java
  21. 21
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffAgencyService.java
  22. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffGridService.java
  23. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/DepartmentService.java
  24. 186
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
  25. 66
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffAgencyServiceImpl.java
  26. 14
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffGridServiceImpl.java
  27. 42
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/DepartmentServiceImpl.java
  28. 35
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/util/ModuleConstant.java
  29. 30
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml
  30. 58
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml
  31. 45
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffGridDao.xml
  32. 29
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CommonUserFormDTO.java
  33. 30
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CommonUserIdListFormDTO.java
  34. 36
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CommonStaffInfoResultDTO.java
  35. 32
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/StaffRolesResultDTO.java
  36. 18
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserInfoOnEnterGridResultDTO.java
  37. 39
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java
  38. 15
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java
  39. 11
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java
  40. 11
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java
  41. 17
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java
  42. 12
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java
  43. 17
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java
  44. 15
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java
  45. 20
      epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml
  46. 31
      epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml

1
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/StaffAgencyController.java

@ -96,4 +96,5 @@ public class StaffAgencyController {
return staffAgencyService.getLatestGrid(latestGridFormDTO);
}
}

2
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java

@ -18,6 +18,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.List;
/**
* @Description

29
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CommonAgencyIdFormDTO.java

@ -0,0 +1,29 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description
* @ClassName CommonAgencyIdFormDTO
* @Author wangc
* @date 2020.04.23 14:37
*/
@Data
public class CommonAgencyIdFormDTO implements Serializable {
private static final long serialVersionUID = -4634394162176710898L;
/**
* 机构Id
* */
@NotBlank(message = "机构Id不可为空")
private String agencyId;
/**
* 用户Id(政府工作人员)
* */
@NotBlank(message = "用户Id不能为空")
private String userId;
}

30
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CommonDepartmentFormDTO.java

@ -0,0 +1,30 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description
* @ClassName CommonDepartmentFormDTO
* @Author wangc
* @date 2020.04.26 16:21
*/
@Data
public class CommonDepartmentFormDTO implements Serializable {
private static final long serialVersionUID = -7557299771900280575L;
/**
* 部门Id
* */
@NotBlank(message = "部门Id不能为空")
private String departmentId;
/**
* 用户Id
* */
@NotBlank(message = "用户Id不能为空")
private String userId;
}

35
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CommonDepartmentStaffInfoFormDTO.java

@ -0,0 +1,35 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description
* @ClassName CommonDepartmentStaffInfoFormDTO
* @Author wangc
* @date 2020.04.26 16:52
*/
@Data
public class CommonDepartmentStaffInfoFormDTO implements Serializable {
private static final long serialVersionUID = 2895745833519899428L;
/**
* 部门Id
* */
@NotBlank(message = "部门Id")
private String departmentId;
/**
* 工作人员Id
* */
@NotBlank(message = "工作人员Id不能为空")
private String staffId;
/**
* 用户Id
* */
@NotBlank(message = "用户Id不能为空")
private String userId;
}

29
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CommonGridIdFormDTO.java

@ -0,0 +1,29 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description
* @ClassName CommonGridIdFormDTO
* @Author wangc
* @date 2020.04.24 14:17
*/
@Data
public class CommonGridIdFormDTO implements Serializable {
private static final long serialVersionUID = 2496019865436084805L;
/**
* 网格Id
* */
@NotBlank(message = "网格Id不能为空")
private String gridId;
/**
* 用户Id
* */
@NotBlank(message = "用户Id不能为空")
private String userId;
}

35
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CommonGridStaffInfoFormDTO.java

@ -0,0 +1,35 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 通用的网格工作人员入参DTO 包含网格Id和用户Id
* @ClassName CommonGridStaffInfoFormDTO
* @Author wangc
* @date 2020.04.26 09:38
*/
@Data
public class CommonGridStaffInfoFormDTO implements Serializable{
private static final long serialVersionUID = 6345334778886091374L;
/**
* 网格Id
* */
@NotBlank(message = "网格Id不能为空")
private String gridId;
/**
* 员工Id
* */
@NotBlank(message = "工作人员Id不能为空")
private String staffId;
/**
* 当前操作人
* */
@NotBlank(message = "用户Id不能为空")
private String userId;
}

38
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CommonGridStaffListFromDTO.java

@ -0,0 +1,38 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* @Description 通用的网格工作人员列表入参DTO 包含网格Id和用户Id集合
* @ClassName CommonGridStaffListFromDTO
* @Author wangc
* @date 2020.04.26 09:38
*/
@Data
public class CommonGridStaffListFromDTO implements Serializable{
private static final long serialVersionUID = -5753128515827497700L;
/**
* 网格Id
* */
@NotBlank(message = "网格Id不能为空")
private String gridId;
/**
* 员工Id列表
* */
@NotBlank(message = "工作人员Id不能为空")
private List<String> selectedList;
/**
* 当前操作人
* */
@NotBlank(message = "用户Id不能为空")
private String userId;
}

1
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CustomerGridFormDTO.java

@ -38,5 +38,4 @@ public class CustomerGridFormDTO implements Serializable {
@NotBlank(message = "网格ID不能为空")
private String gridId;
}

32
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridBaseInfoResultDTO.java

@ -0,0 +1,32 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 网格基础信息DTO
* @ClassName GridBaseInfoResultDTO
* @Author wangc
* @date 2020.04.23 14:11
*/
@Data
public class GridBaseInfoResultDTO implements Serializable {
private static final long serialVersionUID = -5034984869469273329L;
/**
* 网格Id
* */
private String gridId;
/**
* 网格名称
* */
private String gridName;
/**
* 网格人数
* */
private Integer totalUser;
}

31
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridListInfoResultDTO.java

@ -0,0 +1,31 @@
package com.epmet.dto.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.RequiredArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @Description 网格列表信息
* @ClassName GridListInfoResultDTO
* @Author wangc
* @date 2020.04.23 14:21
*/
@Data
@AllArgsConstructor
public class GridListInfoResultDTO implements Serializable {
private static final long serialVersionUID = -5513674274570559283L;
/**
* 网格总数
* */
private Integer gridCount;
/**
* 网格信息列表
* */
private List<GridBaseInfoResultDTO> gridList;
}

5
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerStaffAgencyController.java

@ -17,7 +17,9 @@
package com.epmet.controller;
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.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
@ -27,6 +29,9 @@ import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.CustomerStaffAgencyDTO;
import com.epmet.dto.form.StaffsInAgencyFromDTO;
import com.epmet.dto.form.CommonGridIdFormDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.result.CommonStaffInfoResultDTO;
import com.epmet.dto.result.LatestCustomerResultDTO;
import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.excel.CustomerStaffAgencyExcel;

38
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/DepartmentController.java

@ -5,10 +5,9 @@ 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.form.*;
import com.epmet.dto.result.AddDepartmentResultDTO;
import com.epmet.dto.result.DepartmentDetailResultDTO;
import com.epmet.dto.result.DepartmentInAgencyResultDTO;
import com.epmet.dto.result.DepartmentListResultDTO;
import com.epmet.dto.result.*;
import com.epmet.service.CustomerStaffAgencyService;
import com.epmet.service.CustomerStaffAgencyService;
import com.epmet.service.DepartmentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -26,6 +25,8 @@ public class DepartmentController {
@Autowired
private DepartmentService departmentService;
@Autowired
private CustomerStaffAgencyService customerStaffAgencyService;
/**
* 添加部门人员
@ -110,6 +111,35 @@ public class DepartmentController {
return departmentService.departmentList(formDTO);
}
/**
* @Description 查询加入部门的可选人员列表
* @Param TokenDto
* @Param CommonDepartmentFormDTO
* @return Result<List<CommonStaffInfoResultDTO>>
* @Author wangc
* @Date 2020.04.26 16:47
**/
@PostMapping("selectablestaffs")
public Result<List<CommonStaffInfoResultDTO>> selectableStaffs(@LoginUser TokenDto tokenDto,@RequestBody CommonDepartmentFormDTO departmentFormDTO){
departmentFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(departmentFormDTO);
return customerStaffAgencyService.getSelectableDeptStaffs(departmentFormDTO);
}
/**
* @Description 移除部门人员
* @Param TokenDto
* @Param CommonDepartmentStaffInfoFormDTO
* @return Result
* @Author wangc
* @Date 2020.04.26 17:09
**/
public Result removeStaff(@LoginUser TokenDto tokenDto,@RequestBody CommonDepartmentStaffInfoFormDTO departmentStaffInfoFormDTO){
departmentStaffInfoFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(departmentStaffInfoFormDTO);
return departmentService.removeStaff(departmentStaffInfoFormDTO);
}
/**
* 根据StaffId查询所属部门列表
* @return

85
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java

@ -3,19 +3,23 @@ package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.AddGridFormDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.DeleteGridFormDTO;
import com.epmet.dto.form.EditGridFormDTO;
import com.epmet.dto.form.*;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.result.AddGridResultDTO;
import com.epmet.dto.result.CommonStaffInfoResultDTO;
import com.epmet.dto.result.GridBaseInfoResultDTO;
import com.epmet.dto.result.GridDetailResultDTO;
import com.epmet.dto.result.GridListInfoResultDTO;
import com.epmet.service.CustomerGridService;
import com.epmet.service.CustomerStaffAgencyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @Auther zxc
* @Create 2020-04-23 9:50
@ -26,6 +30,8 @@ public class GridController {
@Autowired
private CustomerGridService customerGridService;
@Autowired
private CustomerStaffAgencyService customerStaffAgencyService;
/**
* 获取网格详情
@ -64,4 +70,75 @@ public class GridController {
return customerGridService.deleteGrid(tokenDto,deleteGridFormDTO);
}
/**
* @Description 查找指定机构下的网格列表
* @Param CommonAgencyIdFormDTO -> agencyId
* @return Result<GridListInfoResultDTO>
* @Author wangc
* @Date 2020.04.23 14:45
**/
@PostMapping("gridlist")
public Result<GridListInfoResultDTO> gridList(@LoginUser TokenDto tokenDto,@RequestBody CommonAgencyIdFormDTO agencyFormDTO){
agencyFormDTO.setAgencyId(tokenDto.getUserId());
ValidatorUtils.validateEntity(agencyFormDTO);
return customerGridService.getGridListByAgency(agencyFormDTO);
}
/**
* @Description 查找指定机构下的全部网格列表
* @Param CommonAgencyIdFormDTO -> agencyId
* @return Result<GridListInfoResultDTO>
* @Author wangc
* @Date 2020.04.23 14:45
**/
@PostMapping("allgrids")
public Result<List<GridBaseInfoResultDTO>> allGrids(@LoginUser TokenDto tokenDto, @RequestBody CommonAgencyIdFormDTO agencyFormDTO){
agencyFormDTO.setAgencyId(tokenDto.getUserId());
ValidatorUtils.validateEntity(agencyFormDTO);
return customerGridService.getAllGridsByAgency(agencyFormDTO);
}
/**
* @Description 在给网格添加工作人员时查询当前机关下没有加入到此网格下的工作人员禁用的也不能选不显示
* @Param CommonGridIdFormDTO
* @return Result<List<CommonStaffInfoResultDTO>>
* @Author wangc
* @Date 2020.04.24 14:14
**/
@PostMapping("selectablestaffs")
public Result<List<CommonStaffInfoResultDTO>> selectableStaffs(@LoginUser TokenDto tokenDto, @RequestBody CommonGridIdFormDTO gridIdFormDTO){
gridIdFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(gridIdFormDTO);
return customerStaffAgencyService.getSelectableStaffs(gridIdFormDTO);
}
/**
* @Description 添加网格工作人员 批量
* @Param tokenDto
* @Param CommonGridStaffListFromDTO
* @return Result
* @Author wangc
* @Date 2020.04.26 15:36
**/
@PostMapping("addgridstaffs")
public Result addGridStaffs(@LoginUser TokenDto tokenDto, @RequestBody CommonGridStaffListFromDTO commonGridStaffListFromDTO){
commonGridStaffListFromDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(tokenDto);
return customerGridService.addGridStaffs(commonGridStaffListFromDTO);
}
/**
* @Description 移除网格工作人员
* @Param tokenDto
* @Param CommonGridStaffInfoFormDTO
* @return Result
* @Author wangc
* @Date 2020.04.26 15:36
**/
@PostMapping("removegridstaff")
public Result removeGridStaff(@LoginUser TokenDto tokenDto, @RequestBody CommonGridStaffInfoFormDTO commonGridStaffInfoFormDTO){
commonGridStaffInfoFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(tokenDto);
return customerGridService.removeGridStaff(commonGridStaffInfoFormDTO);
}
}

19
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java

@ -29,6 +29,7 @@ import com.epmet.dto.result.AddGridResultDTO;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;
import com.epmet.dto.result.CustomerGridForStrangerResultDTO;
import com.epmet.dto.result.GridDetailResultDTO;
import com.epmet.dto.result.GridBaseInfoResultDTO;
import com.epmet.entity.CustomerGridEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -133,4 +134,22 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
List<UserIdDTO> selectUserIdByGrid(@Param("gridId")String gridId);
/**
* @Description 得到当前机构的网格总数
* @Param agencyId(String) 对应CUSTOMER_GRID中的PID字段
* @return int
* @Author wangc
* @Date 2020.04.23 15:05
**/
int selectGridCountByAgencyId(@Param("agencyId") String agencyId);
/**
* @Description 得到当前机构的网格详情列表
* @Param agencyId(String) 对应CUSTOMER_GRID中的PID字段
* @return List<GridBaseInfoResultDTO> -> GridBaseInfoResultDTO :: getGridId :: getGridName :: getTotalUser
* @Author wangc
* @Date 2020.04.23 15:30
**/
List<GridBaseInfoResultDTO> selectGridListByAgencyId(@Param("agencyId")String agencyId,@Param("pageSize")Integer pageSize);
}

23
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java

@ -19,8 +19,12 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.CustomerStaffAgencyDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.entity.CustomerStaffAgencyEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.List;
@ -46,5 +50,22 @@ public interface CustomerStaffAgencyDao extends BaseDao<CustomerStaffAgencyEntit
* @return
*/
List<CustomerStaffAgencyDTO> selectCustomerStaffAgencyList(String agencyId);
/**
* @Description 返回给定网格Id所属的机构下未加入该网格的工作人员Id(禁用未知)
* @Param gridId (String)
* @return List<String> UserId列表
* @Author wangc
* @Date 2020.04.24 14:01
**/
List<String> getSelectableStaffsForGrid(@Param("gridId") String gridId);
/**
* @Description 查询当前网格所属机构下的不在此部门的工作人员Id(禁用未知)
* @Param gridId (String)
* @return List<String> UserId列表
* @Author wangc
* @Date 2020.04.26 16:33
**/
List<String> getSelectableStaffsForDept(@Param("departmentId") String departmentId);
}

24
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffGridDao.java

@ -19,9 +19,15 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.form.LatestGridFormDTO;
import com.epmet.entity.CustomerStaffGridEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* 网格人员关系表
@ -41,4 +47,22 @@ public interface CustomerStaffGridDao extends BaseDao<CustomerStaffGridEntity> {
**/
CustomerGridDTO selectStaffGridOrderByGridName(LatestGridFormDTO latestGridFormDTO);
/**
* @Description 校验用户是否已加入当前网格
* @Param userIds
* @Param gridId
* @return Set<String>
* @Author wangc
* @Date 2020.04.26 14:08
**/
Set<String> distinctGridStaffs(@Param("userIds")List<String> userIds, @Param("gridId")String gridId);
/**
* @Description 批量插入网格工作人员
* @Param List<CustomerStaffGridDTO>
* @return
* @Author wangc
* @Date 2020.04.26 14:57
**/
void insertBatch(List<CustomerStaffGridDTO> list);
}

24
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java

@ -15,6 +15,11 @@ import com.epmet.dto.result.DepartInStaffListResultDTO;
import com.epmet.dto.result.StaffDetailResultDTO;
import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.dto.result.StaffInitResultDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.StaffGridListDTO;
import com.epmet.feign.fallback.EpmetUserFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
@ -142,4 +147,23 @@ public interface EpmetUserFeignClient {
@PostMapping("/epmetuser/customerstaff/selectcustomeridbyuserid")
Result<List<CustomerIdDTO>> selectCustomerIdByUserId(AddDepartmentStaffFormDTO addDepartmentStaffFormDTO);
/**
* @Description 通过userId列表查询未被禁用的用户信息
* @Param CommonUserIdListFormDTO :: getUserIdList
* @return Result<List<CommonStaffInfoResultDTO>>
* @Author wangc
* @Date 2020.04.24 15:44
**/
@PostMapping("/epmetuser/customerstaff/enabestaffmsglist")
Result<List<CommonStaffInfoResultDTO>> enableStaffMsgList(CommonUserIdListFormDTO userIdList);
/**
* @Description 查询一个员工在指定客户下的角色
* @Param CommonUserFormDTO
* @return Result<StaffRolesResultDTO>
* @Author wangc
* @Date 2020.04.26 13:08
**/
@PostMapping("/epmetuser/staffrole/getcustomerstaffroles")
Result<StaffRolesResultDTO> getCustomerStaffRoles(CommonUserFormDTO commonUserFormDTO);
}

15
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java

@ -16,6 +16,11 @@ import com.epmet.dto.result.DepartInStaffListResultDTO;
import com.epmet.dto.result.StaffDetailResultDTO;
import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.dto.result.StaffInitResultDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.StaffGridListDTO;
import com.epmet.feign.EpmetUserFeignClient;
import org.springframework.stereotype.Component;
@ -91,4 +96,14 @@ public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "selectCustomerIdByUserId", addDepartmentStaffFormDTO);
}
@Override
public Result<List<CommonStaffInfoResultDTO>> enableStaffMsgList(CommonUserIdListFormDTO userIdList) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "enableStaffMsgList", userIdList);
}
@Override
public Result<StaffRolesResultDTO> getCustomerStaffRoles(CommonUserFormDTO commonUserFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getCustomerStaffRoles", commonUserFormDTO);
}
}

44
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java

@ -25,9 +25,10 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.AddGridResultDTO;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;
import com.epmet.dto.result.CustomerGridForStrangerResultDTO;
import com.epmet.dto.result.GridDetailResultDTO;
import com.epmet.dto.form.CommonAgencyIdFormDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.ListCustomerGridFormDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerGridEntity;
import org.springframework.web.bind.annotation.RequestBody;
@ -153,4 +154,41 @@ public interface CustomerGridService extends BaseService<CustomerGridEntity> {
* @return
*/
Result deleteGrid(TokenDto tokenDto,DeleteGridFormDTO deleteGridFormDTO);
/**
* @Description 查找指定机构下的网格列表 对应接口:/gov/org/grid/gridlist
* @Param CommonAgencyIdFormDTO -> agencyId
* @return Result<GridListInfoResultDTO>
* @Author wangc
* @Date 2020.04.23 14:45
**/
Result<GridListInfoResultDTO> getGridListByAgency(CommonAgencyIdFormDTO agencyFormDTO);
/**
* @Description 查找指定机构下的全部网格列表 对应接口:/gov/org/grid/allgrids
* @Param CommonAgencyIdFormDTO -> agencyId
* @return Result<List<GridBaseInfoResultDTO>>
* @Author wangc
* @Date 2020.04.24 17:16
**/
Result<List<GridBaseInfoResultDTO>> getAllGridsByAgency(CommonAgencyIdFormDTO agencyFormDTO);
/**
* @Description 移除网格工作人员
* @Param CommonGridStaffInfoFormDTO
* @return Result
* @Author wangc
* @Date 2020.04.26 09:48
**/
Result removeGridStaff(CommonGridStaffInfoFormDTO staffInfoFormDTO);
/**
* @Description 批量添加网格工作人员
* @Param CommonGridStaffListFromDTO
* @return Result
* @Author wangc
* @Date 2020.04.26 09:50
**/
Result addGridStaffs(CommonGridStaffListFromDTO staffListFormDTO);
}

21
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffAgencyService.java

@ -21,7 +21,10 @@ 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.CustomerStaffAgencyDTO;
import com.epmet.dto.form.CommonDepartmentFormDTO;
import com.epmet.dto.form.StaffsInAgencyFromDTO;
import com.epmet.dto.form.CommonGridIdFormDTO;
import com.epmet.dto.result.CommonStaffInfoResultDTO;
import com.epmet.dto.result.LatestCustomerResultDTO;
import com.epmet.entity.CustomerStaffAgencyEntity;
@ -112,4 +115,22 @@ public interface CustomerStaffAgencyService extends BaseService<CustomerStaffAge
Result<List<CustomerStaffAgencyDTO>> getCustomerStaffAgencyList(StaffsInAgencyFromDTO fromDTO);
/**
* @Description 获取添加网格成员的可选人员列表
* @Param CommonGridIdFormDTO
* @return com.epmet.dto.result.CommonStaffInfoResultDTO[epmet-user-client]
* @Author wangc
* @Date 2020.04.23 16:15
**/
Result<List<CommonStaffInfoResultDTO>> getSelectableStaffs(CommonGridIdFormDTO gridIdFormDTO);
/**
* @Description 获取添加部门成员的可选人员列表
* @Param CommonDepartmentFormDTO
* @return com.epmet.dto.result.CommonStaffInfoResultDTO[epmet-user-client]
* @Author wangc
* @Date 2020.04.26 16:37
**/
Result<List<CommonStaffInfoResultDTO>> getSelectableDeptStaffs(CommonDepartmentFormDTO departmentFormDTO);
}

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffGridService.java

@ -21,7 +21,9 @@ 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.CustomerStaffGridDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.LatestGridFormDTO;
import com.epmet.dto.result.CommonStaffInfoResultDTO;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;
import com.epmet.entity.CustomerStaffGridEntity;

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/DepartmentService.java

@ -87,6 +87,15 @@ public interface DepartmentService {
*/
Result addDepartmentStaff(TokenDto tokenDto,AddDepartmentStaffFormDTO addDepartmentStaffFormDTO);
/**
* @Description 部门人员移除
* @Param CommonDepartmentStaffInfoFormDTO
* @return Result
* @Author wangc
* @Date 2020.04.26 16:57
**/
Result removeStaff(CommonDepartmentStaffInfoFormDTO departmentStaffInfoFormDTO);
/**
* 根据StaffId查询所属部门列表
* @param staffId

186
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java

@ -22,30 +22,39 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
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.constant.NumConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.CustomerGridDao;
import com.epmet.dao.CustomerStaffGridDao;
import com.epmet.dto.*;
import com.epmet.dto.form.*;
import com.epmet.dto.result.AddGridResultDTO;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;
import com.epmet.dto.result.CustomerGridForStrangerResultDTO;
import com.epmet.dto.result.GridDetailResultDTO;
import com.epmet.dto.result.*;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.StaffGridListDTO;
import com.epmet.dto.form.CommonAgencyIdFormDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.ListCustomerGridFormDTO;
import com.epmet.entity.CustomerGridEntity;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.redis.CustomerGridRedis;
import com.epmet.service.CustomerGridService;
import com.epmet.service.CustomerStaffGridService;
import com.epmet.util.ModuleConstant;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.stream.Collectors;
/**
* 客户网格表
@ -54,12 +63,18 @@ import java.util.*;
* @since v1.0.0 2020-03-16
*/
@Service
@Slf4j
public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, CustomerGridEntity> implements CustomerGridService {
private static final Logger logger = LoggerFactory.getLogger(CustomerGridServiceImpl.class);
@Autowired
private CustomerGridRedis customerGridRedis;
@Autowired
private EpmetUserFeignClient epmetUserFeignClient;
@Autowired
private CustomerStaffGridService customerStaffGridService;
@Autowired
private CustomerStaffGridDao customerStaffGridDao;
@Override
public PageData<CustomerGridDTO> page(Map<String, Object> params) {
@ -242,4 +257,163 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
return new Result();
}
/**
* @Description 查找指定机构下的网格列表,按照创建时间倒叙取前十个
* @Param CommonAgencyIdFormDTO
* @return Result<GridListInfoResultDTO>
* @Author wangc
* @Date 2020.04.23 14:45
**/
@Override
public Result<GridListInfoResultDTO> getGridListByAgency(CommonAgencyIdFormDTO agencyFormDTO) {
//1.查当前机构下网格总数
int gridCount = baseDao.selectGridCountByAgencyId(agencyFormDTO.getAgencyId());
//2.查当前机构下每个网格的详情,按照创建时间倒叙取前十个
List<GridBaseInfoResultDTO> gridList = baseDao.selectGridListByAgencyId(agencyFormDTO.getAgencyId(), NumConstant.TEN);
//3.封装结果
GridListInfoResultDTO resultData = new GridListInfoResultDTO(gridCount,gridList);
return new Result<GridListInfoResultDTO>().ok(resultData);
}
/**
* @Description 查找指定机构下的全部网格列表
* @Param CommonAgencyIdFormDTO -> agencyId
* @return Result<List<GridBaseInfoResultDTO>>
* @Author wangc
* @Date 2020.04.24 17:16
**/
@Override
public Result<List<GridBaseInfoResultDTO>> getAllGridsByAgency(CommonAgencyIdFormDTO agencyFormDTO) {
return new Result<List<GridBaseInfoResultDTO>>().ok(baseDao.selectGridListByAgencyId(agencyFormDTO.getAgencyId(),null));
}
/**
* @Description 移除网格工作人员
* @Param CommonGridStaffInfoFormDTO
* @return Result
* @Author wangc
* @Date 2020.04.26 09:48
**/
@Override
public Result removeGridStaff(CommonGridStaffInfoFormDTO staffInfoFormDTO) {
Result<CustomerGridEntity> authResult = authenticateManager(staffInfoFormDTO.getGridId(),staffInfoFormDTO.getUserId());
if(authResult.success()){
//3.移除操作
//3.1 人员剔除
CustomerStaffGridDTO staff = new CustomerStaffGridDTO();
staff.setUserId(staffInfoFormDTO.getStaffId());
staff.setGridId(staffInfoFormDTO.getGridId());
staff.setUpdatedBy(staffInfoFormDTO.getUserId());
staff.setDelFlag(NumConstant.ONE);
customerStaffGridService.update(staff);
//3.2 人数减一
CustomerGridDTO grid = new CustomerGridDTO();
grid.setId(authResult.getData().getId());
grid.setUpdatedBy(staffInfoFormDTO.getUserId());
grid.setTotalUser(authResult.getData().getTotalUser() == null || authResult.getData().getTotalUser() <= 0
? 0 : (authResult.getData().getTotalUser() - 1));
update(grid);
}
return new Result().error();
}
/**
* @Description 批量添加网格工作人员
* @Param CommonGridStaffListFromDTO
* @return Result
* @Author wangc
* @Date 2020.04.26 09:50
**/
@Override
public Result addGridStaffs(CommonGridStaffListFromDTO staffListFormDTO) {
//1.校验管理员权限
Result<CustomerGridEntity> authResult = authenticateManager(staffListFormDTO.getGridId(),staffListFormDTO.getUserId());
if(authResult.success()){
//2.校验人员重复信息,剔除重复人员
Set<String> existedStaffIds =
customerStaffGridDao.distinctGridStaffs(staffListFormDTO.getSelectedList(),staffListFormDTO.getGridId());
Set<String> staffIds = new HashSet<>(staffListFormDTO.getSelectedList());
staffIds.removeAll(existedStaffIds);
//3.校验人员是否被禁用
Result<List<CommonStaffInfoResultDTO>> staffsFeignResult =
epmetUserFeignClient.enableStaffMsgList(new CommonUserIdListFormDTO(
new ArrayList<>(staffIds),
authResult.getData().getCustomerId()
));
if(staffsFeignResult.success() && null != staffsFeignResult.getData() && staffsFeignResult.getData().size() > 0){
//4.添加
List<String> validStaffIds =
staffsFeignResult.getData()
.stream()
.map(CommonStaffInfoResultDTO::getStaffId)
.collect(Collectors.toList());
List<CustomerStaffGridDTO> staffs2Insert = new LinkedList<>();
for(String id : validStaffIds){
CustomerStaffGridDTO staff2Insert = new CustomerStaffGridDTO();
staff2Insert.setUserId(id);
staff2Insert.setGridId(staffListFormDTO.getGridId());
staff2Insert.setCustomerId(authResult.getData().getCustomerId());
staff2Insert.setCreatedBy(staffListFormDTO.getUserId());
staff2Insert.setUpdatedBy(staffListFormDTO.getUserId());
staffs2Insert.add(staff2Insert);
}
//4.1 批量新增网格工作人员
customerStaffGridDao.insertBatch(staffs2Insert);
CustomerGridDTO grid2Update = new CustomerGridDTO();
grid2Update.setId(staffListFormDTO.getGridId());
grid2Update.setUpdatedBy(staffListFormDTO.getUserId());
grid2Update.setTotalUser(
null == authResult.getData().getTotalUser() ?
validStaffIds.size() : authResult.getData().getTotalUser() + validStaffIds.size()
);
//4.2 更新网格人数
update(grid2Update);
return new Result();
}
}
return new Result().error();
}
/**
* @Description 对管理员身份进行权鉴
* @Param
* @return
* @Author wangc
* @Date 2020.04.26 13:44
**/
private Result<CustomerGridEntity> authenticateManager(String gridId,String userId){
//1.查询网格相关信息
CustomerGridEntity gridMsg =
baseDao.selectById(gridId);
//2.校验权限
if(null != gridMsg && StringUtils.isNotBlank(gridMsg.getId()) && StringUtils.equals(gridMsg.getDelFlag(),NumConstant.ZERO_STR)){
CommonUserFormDTO userParam = new CommonUserFormDTO();
userParam.setCustomerId(gridMsg.getCustomerId());
userParam.setUserId(userId);
Result<StaffRolesResultDTO> staffFeignResult =
epmetUserFeignClient.getCustomerStaffRoles(userParam);
StaffRolesResultDTO resultData = staffFeignResult.getData();
if(staffFeignResult.success() && null != resultData && StringUtils.isNotBlank(resultData.getStaffId())){
if(null != resultData.getRoleList()
&& StringUtils.equals(ModuleConstant.ENABLE,resultData.getEnableFlag())
&& resultData.getRoleList().size() > 0
&& resultData.getRoleList().contains(ModuleConstant.MANAGER)){
return new Result<CustomerGridEntity>().ok(gridMsg);
}else{
log.error(ModuleConstant.NO_AUTH_OR_DISABLE);
}
}else{
log.error(ModuleConstant.STAFF_INFO_NOT_FOUND);
}
}else{
log.error(ModuleConstant.GRID_INFO_NOT_FOUND);
}
return new Result<CustomerGridEntity>().error();
}
}

66
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffAgencyServiceImpl.java

@ -20,34 +20,36 @@ package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
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.constant.FieldConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.CustomerStaffAgencyDao;
import com.epmet.dto.CustomerDTO;
import com.epmet.dto.CustomerStaffAgencyDTO;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.*;
import com.epmet.dto.form.CommonDepartmentFormDTO;
import com.epmet.dto.form.CommonUserIdListFormDTO;
import com.epmet.dto.form.StaffsInAgencyFromDTO;
import com.epmet.dto.form.CommonGridIdFormDTO;
import com.epmet.dto.result.CommonStaffInfoResultDTO;
import com.epmet.dto.result.LatestCustomerResultDTO;
import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.dto.result.StaffsInAgencyResultDTO;
import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.entity.CustomerStaffAgencyEntity;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.OperCrmFeignClient;
import com.epmet.redis.CustomerStaffAgencyRedis;
import com.epmet.service.CustomerAgencyService;
import com.epmet.service.CustomerDepartmentService;
import com.epmet.service.CustomerGridService;
import com.epmet.service.CustomerStaffAgencyService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 人员-机关单位关系表
@ -66,6 +68,10 @@ public class CustomerStaffAgencyServiceImpl extends BaseServiceImpl<CustomerStaf
private OperCrmFeignClient operCrmFeignClient;
@Autowired
private CustomerAgencyService customerAgencyService;
@Autowired
private CustomerGridService customerGridService;
@Autowired
private CustomerDepartmentService customerDepartmentService;
@Override
public PageData<CustomerStaffAgencyDTO> page(Map<String, Object> params) {
@ -148,4 +154,50 @@ public class CustomerStaffAgencyServiceImpl extends BaseServiceImpl<CustomerStaf
return new Result<List<CustomerStaffAgencyDTO>>().ok(customerStaffAgencyList);
}
/**
* @Description 获取添加网格成员的可选人员列表先在本服务下查询userId然后调用EpmetUserFeign校验账户是否被禁用使用EpmetUser服务的DTO作为返回参数
* @Param CustomerGridFormDTO -> gridId
* @return Result<List<CommonStaffInfoResultDTO>> -> CommonStaffInfoResultDTO [epmet-user-client]
* @Author wangc
* @Date 2020.04.23 16:28
**/
@Override
public Result<List<CommonStaffInfoResultDTO>> getSelectableStaffs(CommonGridIdFormDTO customerGridFormDTO) {
//1.去数据库查询是此网格所属机构且不在此网格下的工作人员,这里无法确认是否被禁用
List<String> userId = baseDao.getSelectableStaffsForGrid(customerGridFormDTO.getGridId());
//2.去用户服务下拿取用户基本信息,并校验工作人员身份是否被禁用
if(null != userId && userId.size() >= NumConstant.ONE){
CustomerGridDTO gridMsg =
customerGridService.get(customerGridFormDTO.getGridId());
if(null != gridMsg && StringUtils.isNotBlank(gridMsg.getId())){
//直接返回结果
return epmetUserFeignClient.enableStaffMsgList(new CommonUserIdListFormDTO(userId,gridMsg.getCustomerId()));
}
}
return new Result<List<CommonStaffInfoResultDTO>>().ok(new ArrayList<>());
}
/**
* @Description 获取添加部门成员的可选人员列表
* @Param CommonDepartmentFormDTO
* @return com.epmet.dto.result.CommonStaffInfoResultDTO[epmet-user-client]
* @Author wangc
* @Date 2020.04.26 16:37
**/
@Override
public Result<List<CommonStaffInfoResultDTO>> getSelectableDeptStaffs(CommonDepartmentFormDTO departmentFormDTO) {
//1.去数据库查询是此网格所属机构且不在此网格下的工作人员,这里无法确认是否被禁用
List<String> userId = baseDao.getSelectableStaffsForDept(departmentFormDTO.getDepartmentId());
//2.去用户服务下拿取用户基本信息,并校验工作人员身份是否被禁用
if(null != userId && userId.size() >= NumConstant.ONE){
CustomerDepartmentDTO deptMsg =
customerDepartmentService.get(departmentFormDTO.getDepartmentId());
if(null != deptMsg && StringUtils.isNotBlank(deptMsg.getId())){
//直接返回结果
return epmetUserFeignClient.enableStaffMsgList(new CommonUserIdListFormDTO(userId,deptMsg.getCustomerId()));
}
}
return new Result<List<CommonStaffInfoResultDTO>>().ok(new ArrayList<>());
}
}

14
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffGridServiceImpl.java

@ -27,9 +27,12 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.CustomerStaffGridDao;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.LatestGridFormDTO;
import com.epmet.dto.result.CommonStaffInfoResultDTO;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;
import com.epmet.entity.CustomerStaffGridEntity;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.redis.CustomerStaffGridRedis;
import com.epmet.service.CustomerStaffGridService;
import org.apache.commons.lang3.StringUtils;
@ -53,6 +56,9 @@ public class CustomerStaffGridServiceImpl extends BaseServiceImpl<CustomerStaffG
@Autowired
private CustomerStaffGridRedis customerStaffGridRedis;
@Autowired
private EpmetUserFeignClient epmetUserFeignClient;
@Override
public PageData<CustomerStaffGridDTO> page(Map<String, Object> params) {
IPage<CustomerStaffGridEntity> page = baseDao.selectPage(
@ -105,6 +111,13 @@ public class CustomerStaffGridServiceImpl extends BaseServiceImpl<CustomerStaffG
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* @Description 查询指定客户下一个用户所在的网格按照网格名称升序排序取第一个
* @Param LatestGridFormDTO -> customerId ; staffId
* @return CustomerGridDTO
* @Author wangc
* @Date 2020.04.23 09:11
**/
@Override
public Result<CustomerGridByUserIdResultDTO> getStaffGridOrderByGridName(LatestGridFormDTO latestGridFormDTO) {
CustomerGridDTO grid = baseDao.selectStaffGridOrderByGridName(latestGridFormDTO);
@ -114,5 +127,4 @@ public class CustomerStaffGridServiceImpl extends BaseServiceImpl<CustomerStaffG
result.setAgencyId(grid.getPid());
return new Result<CustomerGridByUserIdResultDTO>().ok(result);
}
}

42
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/DepartmentServiceImpl.java

@ -28,6 +28,8 @@ import com.epmet.dao.CustomerAgencyDao;
import com.epmet.dao.CustomerDepartmentDao;
import com.epmet.dao.CustomerStaffDepartmentDao;
import com.epmet.dto.CustomerIdDTO;
import com.epmet.dto.CustomerDepartmentDTO;
import com.epmet.dto.CustomerStaffDepartmentDTO;
import com.epmet.dto.StaffRoleDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
@ -35,8 +37,11 @@ import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.entity.CustomerDepartmentEntity;
import com.epmet.entity.CustomerStaffDepartmentEntity;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.service.CustomerDepartmentService;
import com.epmet.service.CustomerStaffDepartmentService;
import com.epmet.service.DepartmentService;
import com.epmet.util.ModuleConstant;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -60,8 +65,12 @@ public class DepartmentServiceImpl implements DepartmentService {
@Autowired
private CustomerDepartmentDao customerDepartmentDao;
@Autowired
private CustomerDepartmentService customerDepartmentService;
@Autowired
private CustomerStaffDepartmentDao customerStaffDepartmentDao;
@Autowired
private CustomerStaffDepartmentService customerStaffDepartmentService;
@Autowired
private EpmetUserFeignClient epmetUserFeignClient;
/**
@ -227,6 +236,39 @@ public class DepartmentServiceImpl implements DepartmentService {
return new Result();
}
/**
* @Description 部门人员移除
* @Param CommonDepartmentStaffInfoFormDTO
* @return Result
* @Author wangc
* @Date 2020.04.26 16:57
**/
@Override
public Result removeStaff(CommonDepartmentStaffInfoFormDTO departmentStaffInfoFormDTO) {
//1.剔除工作人员
CustomerStaffDepartmentDTO staff = new CustomerStaffDepartmentDTO();
staff.setUserId(departmentStaffInfoFormDTO.getStaffId());
staff.setDepartmentId(departmentStaffInfoFormDTO.getDepartmentId());
staff.setUpdatedBy(departmentStaffInfoFormDTO.getUserId());
staff.setDelFlag(NumConstant.ONE_STR);
customerStaffDepartmentService.update(staff);
//2.部门人数减一
CustomerDepartmentDTO dept =
customerDepartmentService.get(departmentStaffInfoFormDTO.getDepartmentId());
if(null != dept && StringUtils.isNotBlank(dept.getId())){
CustomerDepartmentDTO dept2Update = new CustomerDepartmentDTO();
dept2Update.setId(dept.getId());
dept2Update.setTotalUser(null == dept.getTotalUser() || dept.getTotalUser() == 0
? 0 : dept.getTotalUser() - NumConstant.ONE);
dept2Update.setUpdatedBy(departmentStaffInfoFormDTO.getUserId());
customerDepartmentService.update(dept2Update);
return new Result();
}
log.warn(ModuleConstant.DEPT_INFO_NOT_FOUND);
return new Result().error();
}
@Override
public List<DepartmentListResultDTO> listDepartmentListByStaffId(String staffId) {
return customerDepartmentDao.listDepartmentListByStaffId(staffId);

35
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/util/ModuleConstant.java

@ -18,4 +18,39 @@ public interface ModuleConstant {
* tokenDto不能为null userId不能为空
*/
String USER_NOT_NULL="用户信息不能为空";
/**
* 用户未被禁用标识
* */
String ENABLE = "enable";
/**
* 用户被禁用标识
* */
String DISABLE = "disable";
/**
* 管理员角色名称
* */
String MANAGER = "管理员";
/**
* 操作者账号失效或没有相应权限
* */
String NO_AUTH_OR_DISABLE = "操作者账号失效或没有相应权限,终止操作。";
/**
* 查询操作者身份信息失败
* */
String STAFF_INFO_NOT_FOUND = "查询操作者身份信息失败,终止操作。";
/**
* 网格信息有误
* */
String GRID_INFO_NOT_FOUND = "网格信息有误,终止操作。";
/**
* 找不到相关部门信息
* */
String DEPT_INFO_NOT_FOUND = "找不到相关部门信息";
}

30
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml

@ -206,4 +206,34 @@
AND del_flag = 0
</select>
<!-- 得到当前机构的网格总数 -->
<select id="selectGridCountByAgencyId" parameterType="string" resultType="int">
SELECT
COUNT( 0 )
FROM
CUSTOMER_GRID
WHERE
DEL_FLAG = '0'
AND
PID = #{agencyId}
</select>
<!-- 得到当前机构的网格列表 -->
<select id="selectGridListByAgencyId" resultType="com.epmet.dto.result.GridBaseInfoResultDTO">
SELECT
ID AS grdiId,
GRID_NAME,
TOTAL_USER
FROM
CUSTOMER_GRID
<where>
DEL_FLAG = '0'
AND PID = #{agencyId}
ORDER BY CREATED_TIME DESC
<if test="null != pageSize and pageSize > 0">
LIMIT #{pageSize}
</if>
</where>
</select>
</mapper>

58
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml

@ -39,4 +39,62 @@
AND AGENCY_ID =#{agencyId}
</select>
<!-- 查询当前网格所属机构下的不在此网格的工作人员Id -->
<select id="getSelectableStaffsForGrid" parameterType="string" resultType="string">
SELECT
agency.USER_ID
FROM
CUSTOMER_STAFF_AGENCY agency
WHERE
agency.DEL_FLAG = '0'
AND agency.AGENCY_ID = (
SELECT
PID
FROM
CUSTOMER_GRID
WHERE
DEL_FLAG = '0'
AND ID = #{gridId})
AND agency.USER_ID NOT IN (
SELECT
grid2.USER_ID
FROM
CUSTOMER_STAFF_GRID
WHERE
DEL_FLAG = '0'
AND
GRID_ID = #{gridId} )
</select>
<!-- 查询当前部门所属机构下的不在此部门的工作人员Id -->
<select id="getSelectableStaffsForDept" parameterType="string" resultType="string">
SELECT
agency.USER_ID
FROM
CUSTOMER_STAFF_AGENCY agency
WHERE
agency.DEL_FLAG = '0'
AND agency.AGENCY_ID = (
SELECT
AGENCY_ID
FROM
CUSTOMER_DEPARTMENT
WHERE
DEL_FLAG = '0'
AND ID = #{departmentId})
AND agency.USER_ID NOT IN (
SELECT
USER_ID
FROM
CUSTOMER_STAFF_DEPARTMENT
WHERE
DEL_FLAG = '0'
AND
DEPARTMENT_ID = #{departmentId} )
</select>
</mapper>

45
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffGridDao.xml

@ -41,4 +41,49 @@
LIMIT 1
</select>
<!-- 校验用户是否已加入当前网格 -->
<select id="distinctGridStaffs" resultType="string">
SELECT
USER_ID
FROM
CUSTOMER_STAFF_GRID
WHERE
DEL_FLAG = '0'
AND GRID_ID = #{gird}
<foreach collection="userIds" item="userId" open="AND USER_ID IN (" separator="," close=")">
#{userId}
</foreach>
</select>
<!-- 批量插入网格工作人员 -->
<insert id="insertBatch" parameterType="java.util.List">
insert into customer_staff_grid
(
id,
user_id,
grid_id,
customer_id,
del_flag,
revision,
created_by,
created_time,
updated_by,
updated_time
) values
<foreach collection="list" item="item" index="index" separator=",">
(
(SELECT REPLACE(UUID(), '-', '') AS id),
#{item.userId},
#{item.gridId},
#{item.customerId},
'0',
0,
#{item.createdBy},
now(),
#{item.updatedBy},
now()
)
</foreach>
</insert>
</mapper>

29
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CommonUserFormDTO.java

@ -0,0 +1,29 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 通用的用户Id入参
* @ClassName CommonUserFormDTO
* @Author wangc
* @date 2020.04.26 10:53
*/
@Data
public class CommonUserFormDTO implements Serializable{
private static final long serialVersionUID = -7994579456530273809L;
/**
* 用户Id
* */
@NotBlank(message = "用户Id不能为空")
private String userId;
/**
* 客户Id
* */
@NotBlank(message = "客户Id不能为空")
private String customerId;
}

30
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CommonUserIdListFormDTO.java

@ -0,0 +1,30 @@
package com.epmet.dto.form;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* @Description 通用用户Id列表参数DTO
* @ClassName CommonUserIdListFormDTO
* @Author wangc
* @date 2020.04.24 15:42
*/
@Data
@AllArgsConstructor
public class CommonUserIdListFormDTO implements Serializable{
private static final long serialVersionUID = -7045691156972928671L;
/**
* 用户列表
* */
@NotBlank(message = "用户列表不能为空")
private List<String> userIdList;
@NotBlank(message = "客户Id不能为空")
private String customerId;
}

36
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CommonStaffInfoResultDTO.java

@ -0,0 +1,36 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 通用工作人员信息DTO
* @ClassName CommonStaffInfoResultDTO
* @Author wangc
* @date 2020.04.23 16:16
*/
@Data
public class CommonStaffInfoResultDTO implements Serializable {
private static final long serialVersionUID = 4174593133225057232L;
/**
* 工作人员用户Id
* */
private String staffId;
/**
* 工作人员用户头像
* */
private String staffHeadPhoto;
/**
* 工作人员用户显示昵称
* */
private String staffName;
/**
* 性别 1男2女0未知
* */
private Integer gender;
}

32
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/StaffRolesResultDTO.java

@ -0,0 +1,32 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 通用的员工角色返参
* @ClassName StaffRolesResultDTO
* @Author wangc
* @date 2020.04.26 10:29
*/
@Data
public class StaffRolesResultDTO implements Serializable {
private static final long serialVersionUID = -2049883620062097446L;
/**
* 员工Id
* */
private String staffId;
/**
* 角色列表
* */
private List<String> roleList;
/**
* 是否被禁用 未禁用enable,已禁用disabled
* */
private String enableFlag;
}

18
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserInfoOnEnterGridResultDTO.java

@ -15,16 +15,34 @@ import java.util.List;
public class UserInfoOnEnterGridResultDTO implements Serializable{
private static final long serialVersionUID = 1L;
/**
* 当前客户Id
* */
private String currentCustomerId;
/**
* 当前网格Id
* */
private String currentGridId;
/**
* 当前网格名称
* */
private String currentGridName;
/**
* 用户昵称
* */
private String nickname;
/**
* 用户头像
* */
private String userHeadPhoto;
/**
* 用户身份列表
* */
private List<String> userRoleList;
}

39
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java

@ -35,6 +35,11 @@ import com.epmet.dto.result.DepartInStaffListResultDTO;
import com.epmet.dto.result.StaffDetailResultDTO;
import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.dto.result.StaffInitResultDTO;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.StaffGridListDTO;
import com.epmet.dto.form.CustomerStaffFormDTO;
import com.epmet.dto.result.CommonStaffInfoResultDTO;
import com.epmet.excel.CustomerStaffExcel;
import com.epmet.service.CustomerStaffService;
import org.springframework.beans.factory.annotation.Autowired;
@ -179,16 +184,6 @@ public class CustomerStaffController {
return customerStaffService.selectGridStaffCountByUserId(userIdDTO);
}
/**
* @param fromDTO
* @return
* @Author sun
* @Description 根据客户Id及userId集合查询用户基本信息
*/
@PostMapping("getdepartmentstafflist")
public Result<List<DepartInStaffListResultDTO>> getDepartmentStaffList(@RequestBody DepartmentInStaffFormDTO fromDTO) {
return customerStaffService.getDepartmentStaffList(fromDTO);
}
@PostMapping(value = "selectcustomeridbyuserid")
public Result<List<CustomerIdDTO>> selectCustomerIdByUserId(@RequestBody AddDepartmentStaffFormDTO addDepartmentStaffFormDTO){
@ -260,4 +255,28 @@ public class CustomerStaffController {
public Result disabledStaff(@RequestBody StaffInfoFromDTO fromDTO){
return customerStaffService.disabledStaff(fromDTO);
}
/**
* @param fromDTO
* @return
* @Author sun
* @Description 根据客户Id及userId集合查询用户基本信息
*/
@PostMapping("getdepartmentstafflist")
public Result<List<DepartInStaffListResultDTO>> getDepartmentStaffList(DepartmentInStaffFormDTO fromDTO) {
return customerStaffService.getDepartmentStaffList(fromDTO);
}
/**
* @Description 通过userId列表查询未被禁用的用户信息
* @Param CommonUserIdListFormDTO :: getUserIdList
* @return Result<List<CommonStaffInfoResultDTO>>
* @Author wangc
* @Date 2020.04.24 15:44
**/
@PostMapping(value = "enabestaffmsglist")
public Result<List<CommonStaffInfoResultDTO>> enableStaffMsgList(@RequestBody CommonUserIdListFormDTO userIdList){
ValidatorUtils.validateEntity(userIdList);
return customerStaffService.getEnableStaffMsgList(userIdList);
}
}

15
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java

@ -5,8 +5,10 @@ import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.GovStaffRoleDTO;
import com.epmet.dto.form.CommonUserFormDTO;
import com.epmet.dto.form.StaffRoleFormDTO;
import com.epmet.dto.result.GovStaffRoleResultDTO;
import com.epmet.dto.result.StaffRolesResultDTO;
import com.epmet.entity.GovStaffRoleEntity;
import com.epmet.service.GovStaffRoleService;
import com.epmet.service.StaffRoleService;
@ -17,6 +19,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
@ -71,4 +74,16 @@ public class StaffRoleController {
return new Result<List<GovStaffRoleResultDTO>>().ok(staffRoleDTOS);
}
/**
* @Description 查询一个员工在指定客户下的角色
* @Param CommonUserFormDTO
* @return Result<StaffRolesResultDTO>
* @Author wangc
* @Date 2020.04.26 13:06
**/
@PostMapping("getcustomerstaffroles")
public Result<StaffRolesResultDTO> getCustomerStaffRoles(@RequestBody CommonUserFormDTO commonUserFormDTO){
ValidatorUtils.validateEntity(commonUserFormDTO);
return staffRoleService.getStaffRoles(commonUserFormDTO);
}
}

11
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java

@ -23,8 +23,10 @@ import com.epmet.dto.*;
import com.epmet.dto.form.*;
import com.epmet.dto.result.DepartInStaffListResultDTO;
import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.dto.result.CommonStaffInfoResultDTO;
import com.epmet.entity.CustomerStaffEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -119,4 +121,13 @@ public interface CustomerStaffDao extends BaseDao<CustomerStaffEntity> {
* @auther zxc
*/
List<CustomerIdDTO> selectCustomerIdByUserId(AddDepartmentStaffFormDTO departmentStaffFormDTO);
/**
* @Description 根据UserId列表查询用信息过滤掉被禁用的包含未激活的
* @Param List<String>
* @return List<CommonStaffInfoResultDTO>
* @Author wangc
* @Date 2020.04.24 15:34
**/
List<CommonStaffInfoResultDTO> selectEnableStaffMsg(@Param("userIds") List<String> userIds,@Param("customerId")String customerId);
}

11
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java

@ -20,7 +20,9 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.commons.mybatis.entity.DataScope;
import com.epmet.dto.StaffRoleDTO;
import com.epmet.dto.form.CommonUserFormDTO;
import com.epmet.dto.result.GovStaffRoleResultDTO;
import com.epmet.dto.result.StaffRolesResultDTO;
import com.epmet.entity.StaffRoleEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -52,4 +54,13 @@ public interface StaffRoleDao extends BaseDao<StaffRoleEntity> {
*/
boolean delStaffRoles(StaffRoleDTO dto);
/**
* @Description 得到指定客户下的某个用户的全部角色
* @Param getCustomerId :: getUserId
* @return StaffRolesResultDTO
* @Author wangc
* @Date 2020.04.26 11:01
**/
StaffRolesResultDTO getStaffRoles(CommonUserFormDTO commonUserFormDTO);
}

17
epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java

@ -25,10 +25,18 @@ import com.epmet.dto.form.*;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.StaffGridListDTO;
import com.epmet.dto.form.CommonUserIdListFormDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.CustomerStaffFormDTO;
import com.epmet.dto.form.StaffInfoFromDTO;
import com.epmet.dto.form.StaffSubmitFromDTO;
import com.epmet.dto.form.DepartmentInStaffFormDTO;
import com.epmet.dto.form.StaffsInAgencyFromDTO;
import com.epmet.dto.result.StaffDetailResultDTO;
import com.epmet.dto.result.DepartInStaffListResultDTO;
import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.dto.result.StaffInitResultDTO;
import com.epmet.dto.result.CommonStaffInfoResultDTO;
import com.epmet.entity.CustomerStaffEntity;
import java.util.List;
@ -220,4 +228,13 @@ public interface CustomerStaffService extends BaseService<CustomerStaffEntity> {
* @auther: zxc
*/
Result<List<CustomerIdDTO>> selectCustomerIdByUserId(AddDepartmentStaffFormDTO addDepartmentStaffFormDTO);
/**
* @Description 通过userId列表查询未被禁用的用户信息
* @Param CommonUserIdListFormDTO :: getUserIdList
* @return Result<List<CommonStaffInfoResultDTO>>
* @Author wangc
* @Date 2020.04.24 15:44
**/
Result<List<CommonStaffInfoResultDTO>> getEnableStaffMsgList(CommonUserIdListFormDTO userIdList);
}

12
epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java

@ -20,8 +20,11 @@ package com.epmet.service;
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.StaffRoleDTO;
import com.epmet.dto.form.CommonUserFormDTO;
import com.epmet.dto.result.GovStaffRoleResultDTO;
import com.epmet.dto.result.StaffRolesResultDTO;
import com.epmet.entity.StaffRoleEntity;
import java.util.List;
@ -108,4 +111,13 @@ public interface StaffRoleService extends BaseService<StaffRoleEntity> {
* @param dto
*/
void clearStaffRoles(StaffRoleDTO dto);
/**
* @Description 得到某一个员工在一个客户下的所有角色
* @Param CommonUserFormDTO :: getUserId :: getCustomerId
* @return Result<StaffRolesResultDTO>
* @Author wangc
* @Date 2020.04.26 10:59
**/
Result<StaffRolesResultDTO> getStaffRoles(CommonUserFormDTO userParam);
}

17
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java

@ -44,6 +44,11 @@ import com.epmet.dto.result.DepartInStaffListResultDTO;
import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.dto.result.StaffInitResultDTO;
import com.epmet.dto.result.StaffRoleResultDTO;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.StaffGridListDTO;
import com.epmet.dto.form.CustomerStaffFormDTO;
import com.epmet.dto.result.CommonStaffInfoResultDTO;
import com.epmet.entity.CustomerStaffEntity;
import com.epmet.entity.GovStaffRoleEntity;
import com.epmet.entity.StaffRoleEntity;
@ -398,4 +403,16 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl<CustomerStaffDao,
return new Result<List<CustomerIdDTO>>().ok(baseDao.selectCustomerIdByUserId(addDepartmentStaffFormDTO));
}
/**
* @Description 通过userId列表查询未被禁用的用户信息
* @Param CommonUserIdListFormDTO :: getUserIdList
* @return Result<List<CommonStaffInfoResultDTO>>
* @Author wangc
* @Date 2020.04.24 15:44
**/
@Override
public Result<List<CommonStaffInfoResultDTO>> getEnableStaffMsgList(CommonUserIdListFormDTO userIdList) {
return new Result<List<CommonStaffInfoResultDTO>>().ok(baseDao.selectEnableStaffMsg(userIdList.getUserIdList(),userIdList.getCustomerId()));
}
}

15
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java

@ -25,9 +25,12 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
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.result.GovStaffRoleResultDTO;
import com.epmet.dto.result.StaffRolesResultDTO;
import com.epmet.entity.StaffRoleEntity;
import com.epmet.redis.StaffRoleRedis;
import com.epmet.service.StaffRoleService;
@ -122,4 +125,16 @@ public class StaffRoleServiceImpl extends BaseServiceImpl<StaffRoleDao, StaffRol
baseDao.delStaffRoles(dto);
}
/**
* @Description 得到某一个员工在一个客户下的所有角色
* @Param CommonUserFormDTO :: getUserId :: getCustomerId
* @return Result<StaffRolesResultDTO>
* @Author wangc
* @Date 2020.04.26 10:59
**/
@Override
public Result<StaffRolesResultDTO> getStaffRoles(CommonUserFormDTO userParam) {
return new Result<StaffRolesResultDTO>().ok(baseDao.getStaffRoles(userParam));
}
}

20
epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml

@ -174,4 +174,24 @@
AND del_flag = 0
AND enable_flag = 'enable'
</select>
<!-- 根据UserId列表查询用户Id、头像、昵称,过滤掉被禁用的,包含未激活的-->
<select id="selectEnableStaffMsg" resultType="com.epmet.dto.result.CommonStaffInfoResultDTO">
SELECT
USER_ID AS staffId,
REAL_NAME AS staffName,
HEAD_PHOTO AS staffHeadPhoto ,
GENDER
FROM
CUSTOMER_STAFF
WHERE
DEL_FLAG = '0'
AND
CUSTOMER_ID = #{customerId}
AND
ENABLE_FLAG = 'enable'
<foreach collection="userIds" item="userId" open="AND USER_ID IN (" separator="," close=")">
#{userId}
</foreach>
</select>
</mapper>

31
epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml

@ -35,4 +35,35 @@
r.ROLE_KEY = #{roleKey}
AND sr.ORG_ID = #{orgId}
</select>
<!-- StaffRolesResultDTO的映射结果集 -->
<resultMap id="staffRolesResultMap" type="com.epmet.dto.result.StaffRolesResultDTO">
<id property="staffId" column="USER_ID"/>
<result property="enableFlag" column="ENABLE_FLAG"/>
<collection property="roleList" ofType="java.lang.String">
<constructor>
<arg column="ROLE_NAME"/>
</constructor>
</collection>
</resultMap>
<!-- 得到指定客户下的某个用户的全部角色 -->
<select id="getStaffRoles" parameterType="com.epmet.dto.form.CommonUserFormDTO" resultMap="staffRolesResultMap">
SELECT
staff.USER_ID,
staff.ENABLE_FLAG,
rolename.ROLE_NAME
FROM
STAFF_ROLE role
LEFT JOIN CUSTOMER_STAFF staff ON ( role.STAFF_ID = staff.USER_ID )
LEFT JOIN GOV_STAFF_ROLE rolename ON ( role.ROLE_ID = rolename.ID )
WHERE
role.DEL_FLAG = '0'
AND staff.DEL_FLAG = '0'
AND rolename.DEL_FLAG = '0'
AND staff.ID = #{userId}
AND staff.CUSTOMER_ID = #{customerId}
</select>
</mapper>
Loading…
Cancel
Save