|
|
|
package com.epmet.controller;
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
|
import com.epmet.commons.mybatis.entity.DataScope;
|
|
|
|
import com.epmet.commons.tools.utils.Result;
|
|
|
|
import com.epmet.commons.tools.validator.ValidatorUtils;
|
|
|
|
import com.epmet.dto.GovStaffRoleDTO;
|
|
|
|
import com.epmet.dto.form.CommonUserFormDTO;
|
|
|
|
import com.epmet.dto.form.CustomerRoleFormDTO;
|
|
|
|
import com.epmet.dto.form.RolesUsersListFormDTO;
|
|
|
|
import com.epmet.dto.form.StaffRoleFormDTO;
|
|
|
|
import com.epmet.dto.result.CustomerStaffRoleResultDTO;
|
|
|
|
import com.epmet.dto.form.*;
|
|
|
|
import com.epmet.dto.result.CustomerStaffRoleListResultDTO;
|
|
|
|
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;
|
|
|
|
import oracle.jdbc.proxy.annotation.Post;
|
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.HashMap;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return 工作人员相关api
|
|
|
|
* @Author wxz
|
|
|
|
* @Description
|
|
|
|
* @Date 2020/4/22 22:44
|
|
|
|
**/
|
|
|
|
@RestController
|
|
|
|
@RequestMapping("staffrole")
|
|
|
|
public class StaffRoleController {
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
private GovStaffRoleService govStaffRoleService;
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
private StaffRoleService staffRoleService;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 查询工作人员具有的角色列表
|
|
|
|
*
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@PostMapping("staffroles")
|
|
|
|
public Result<List<GovStaffRoleDTO>> getRolesOfStaff(@RequestBody StaffRoleFormDTO staffRoleFormDTO) {
|
|
|
|
ValidatorUtils.validateEntity(staffRoleFormDTO, StaffRoleFormDTO.GetRolesOfStaff.class);
|
|
|
|
String staffId = staffRoleFormDTO.getStaffId();
|
|
|
|
String orgId = staffRoleFormDTO.getOrgId();
|
|
|
|
List<GovStaffRoleEntity> staffRoleEntities = govStaffRoleService.listRolesByStaffId(staffId, orgId);
|
|
|
|
List<GovStaffRoleDTO> staffRoleDTOS = new ArrayList<>();
|
|
|
|
staffRoleEntities.forEach(role -> {
|
|
|
|
GovStaffRoleDTO dto = new GovStaffRoleDTO();
|
|
|
|
BeanUtils.copyProperties(role, dto);
|
|
|
|
staffRoleDTOS.add(dto);
|
|
|
|
});
|
|
|
|
return new Result<List<GovStaffRoleDTO>>().ok(staffRoleDTOS);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 查询拥有指定角色的用户列表
|
|
|
|
*
|
|
|
|
* @param staffRoleFormDTO
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@PostMapping("staffsinrole")
|
|
|
|
//@RequirePermission(requirePermission = RequirePermissionEnum.ORG_STAFF_LIST)
|
|
|
|
public Result<List<GovStaffRoleResultDTO>> getStaffsInRole(@RequestBody StaffRoleFormDTO staffRoleFormDTO) {
|
|
|
|
ValidatorUtils.validateEntity(staffRoleFormDTO, StaffRoleFormDTO.GetStaffsInRole.class);
|
|
|
|
String roleKey = staffRoleFormDTO.getRoleKey();
|
|
|
|
String orgId = staffRoleFormDTO.getOrgId();
|
|
|
|
List<GovStaffRoleResultDTO> staffRoleDTOS = staffRoleService.listStaffsInRole(roleKey, orgId, DataScope.getDefault());
|
|
|
|
return new Result<List<GovStaffRoleResultDTO>>().ok(staffRoleDTOS);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 一次性查询多个机构下,指定角色的用户列表
|
|
|
|
* @param staffRoleFormDTO
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@PostMapping("staffsinroleoforgs")
|
|
|
|
public Result<Map<String, List<GovStaffRoleResultDTO>>> getStaffsInRoleOfOrgs(@RequestBody StaffRoleFormDTO staffRoleFormDTO) {
|
|
|
|
HashMap<String, List<GovStaffRoleResultDTO>> resultMap = new HashMap<>();
|
|
|
|
ValidatorUtils.validateEntity(staffRoleFormDTO, StaffRoleFormDTO.GetStaffsInRoleOrOrgs.class);
|
|
|
|
List<String> orgIds = staffRoleFormDTO.getOrgIds();
|
|
|
|
if (!CollectionUtil.isEmpty(orgIds)) {
|
|
|
|
for (String orgId : orgIds) {
|
|
|
|
List<GovStaffRoleResultDTO> staffRole = staffRoleService.listStaffsInRole(staffRoleFormDTO.getRoleKey(), orgId, DataScope.getDefault());
|
|
|
|
resultMap.put(orgId, staffRole);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return new Result<Map<String, List<GovStaffRoleResultDTO>>>().ok(resultMap);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return Result<StaffRolesResultDTO>
|
|
|
|
* @Description 查询一个员工在指定客户下的角色
|
|
|
|
* @Param CommonUserFormDTO
|
|
|
|
* @Author wangc
|
|
|
|
* @Date 2020.04.26 13:06
|
|
|
|
**/
|
|
|
|
@PostMapping("getcustomerstaffroles")
|
|
|
|
//@RequirePermission(requirePermission = RequirePermissionEnum.ORG_STAFF_LIST)
|
|
|
|
public Result<StaffRolesResultDTO> getCustomerStaffRoles(@RequestBody CommonUserFormDTO commonUserFormDTO) {
|
|
|
|
ValidatorUtils.validateEntity(commonUserFormDTO);
|
|
|
|
return staffRoleService.getStaffRoles(commonUserFormDTO);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param rolesUsersListFormDTO
|
|
|
|
* @Description 查找具有特定角色的人员Id(可用)
|
|
|
|
* @author wangc
|
|
|
|
* @date 2020.04.29 23:49
|
|
|
|
**/
|
|
|
|
@PostMapping("specificrolesstaffs")
|
|
|
|
public Result<List<String>> specificRolesStaffs(@RequestBody RolesUsersListFormDTO rolesUsersListFormDTO) {
|
|
|
|
return staffRoleService.getSpecificRolesStaffs(rolesUsersListFormDTO);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 为客户初始化政府端工作人员角色
|
|
|
|
* @param customerId
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@PostMapping("initrolesforcustomer/{customerId}")
|
|
|
|
public Result initGovStaffRolesForCustomer(@PathVariable String customerId) {
|
|
|
|
govStaffRoleService.initGovStaffRolesForCustomer(customerId);
|
|
|
|
return new Result();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 根据客户ID和角色key查询角色信息
|
|
|
|
* @param form
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@PostMapping("roleofcustomer")
|
|
|
|
public Result<GovStaffRoleDTO> getRoleOfCustomer(@RequestBody CustomerRoleFormDTO form) {
|
|
|
|
ValidatorUtils.validateEntity(form, CustomerRoleFormDTO.GetRoleByCustomerAndKey.class);
|
|
|
|
GovStaffRoleDTO role = govStaffRoleService.getRoleByCustomerIdAndRoleKey(form.getCustomerId(), form.getRoleKey());
|
|
|
|
return new Result<GovStaffRoleDTO>().ok(role);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @Description 根据客户Id和staffId查询一个员工在指定客户下的角色列表
|
|
|
|
* @Author sun
|
|
|
|
**/
|
|
|
|
@PostMapping("getcustomerstaffrolelist")
|
|
|
|
public Result<List<CustomerStaffRoleListResultDTO>> getCustomerStaffRoleList(@RequestBody CustomerStaffRoleListFormDTO formDTO) {
|
|
|
|
ValidatorUtils.validateEntity(formDTO);
|
|
|
|
return new Result<List<CustomerStaffRoleListResultDTO>>().ok(staffRoleService.getCustomerStaffRoleList(formDTO));
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 根据staffId查询人员拥有的所有角色信息
|
|
|
|
* @author zhaoqifeng
|
|
|
|
* @date 2020/6/2 16:11
|
|
|
|
* @param staffId
|
|
|
|
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.CustomerStaffRoleResultDTO>>
|
|
|
|
*/
|
|
|
|
@PostMapping("staffroles/{staffId}")
|
|
|
|
public Result<List<CustomerStaffRoleResultDTO>> getStaffRoles(@PathVariable String staffId) {
|
|
|
|
return new Result<List<CustomerStaffRoleResultDTO>>().ok(staffRoleService.getStaffRoles(staffId));
|
|
|
|
}
|
|
|
|
}
|