forked from rongchao/epmet-cloud-rizhao
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							145 lines
						
					
					
						
							5.6 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							145 lines
						
					
					
						
							5.6 KiB
						
					
					
				
								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.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);
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 |