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.
		
		
		
		
		
			
		
			
				
					
					
						
							349 lines
						
					
					
						
							12 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							349 lines
						
					
					
						
							12 KiB
						
					
					
				
								/**
							 | 
						|
								 * Copyright 2018 人人开源 https://www.renren.io
							 | 
						|
								 * <p>
							 | 
						|
								 * This program is free software: you can redistribute it and/or modify
							 | 
						|
								 * it under the terms of the GNU General Public License as published by
							 | 
						|
								 * the Free Software Foundation, either version 3 of the License, or
							 | 
						|
								 * (at your option) any later version.
							 | 
						|
								 * <p>
							 | 
						|
								 * This program is distributed in the hope that it will be useful,
							 | 
						|
								 * but WITHOUT ANY WARRANTY; without even the implied warranty of
							 | 
						|
								 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
							 | 
						|
								 * GNU General Public License for more details.
							 | 
						|
								 * <p>
							 | 
						|
								 * You should have received a copy of the GNU General Public License
							 | 
						|
								 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
							 | 
						|
								 */
							 | 
						|
								
							 | 
						|
								package com.epmet.controller;
							 | 
						|
								
							 | 
						|
								import com.epmet.commons.tools.page.PageData;
							 | 
						|
								import com.epmet.commons.tools.utils.ExcelUtils;
							 | 
						|
								import com.epmet.commons.tools.utils.Result;
							 | 
						|
								import com.epmet.commons.tools.validator.AssertUtils;
							 | 
						|
								import com.epmet.commons.tools.validator.ValidatorUtils;
							 | 
						|
								import com.epmet.commons.tools.validator.group.AddGroup;
							 | 
						|
								import com.epmet.commons.tools.validator.group.DefaultGroup;
							 | 
						|
								import com.epmet.commons.tools.validator.group.UpdateGroup;
							 | 
						|
								import com.epmet.dto.*;
							 | 
						|
								import com.epmet.dto.form.*;
							 | 
						|
								import com.epmet.dto.result.*;
							 | 
						|
								import com.epmet.excel.CustomerStaffExcel;
							 | 
						|
								import com.epmet.service.CustomerStaffService;
							 | 
						|
								import org.springframework.beans.factory.annotation.Autowired;
							 | 
						|
								import org.springframework.web.bind.annotation.*;
							 | 
						|
								
							 | 
						|
								import javax.servlet.http.HttpServletResponse;
							 | 
						|
								import java.util.List;
							 | 
						|
								import java.util.Map;
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								/**
							 | 
						|
								 * 政府工作人员表
							 | 
						|
								 *
							 | 
						|
								 * @author generator generator@elink-cn.com
							 | 
						|
								 * @since v1.0.0 2020-04-18
							 | 
						|
								 */
							 | 
						|
								@RestController
							 | 
						|
								@RequestMapping("customerstaff")
							 | 
						|
								public class CustomerStaffController {
							 | 
						|
								
							 | 
						|
								    @Autowired
							 | 
						|
								    private CustomerStaffService customerStaffService;
							 | 
						|
								
							 | 
						|
								    @GetMapping("page")
							 | 
						|
								    public Result<PageData<CustomerStaffDTO>> page(@RequestParam Map<String, Object> params) {
							 | 
						|
								        PageData<CustomerStaffDTO> page = customerStaffService.page(params);
							 | 
						|
								        return new Result<PageData<CustomerStaffDTO>>().ok(page);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    @GetMapping("{id}")
							 | 
						|
								    public Result<CustomerStaffDTO> get(@PathVariable("id") String id) {
							 | 
						|
								        CustomerStaffDTO data = customerStaffService.get(id);
							 | 
						|
								        return new Result<CustomerStaffDTO>().ok(data);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    @PostMapping
							 | 
						|
								    public Result save(@RequestBody CustomerStaffDTO dto) {
							 | 
						|
								        //效验数据
							 | 
						|
								        ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
							 | 
						|
								        customerStaffService.save(dto);
							 | 
						|
								        return new Result();
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    @PutMapping
							 | 
						|
								    public Result update(@RequestBody CustomerStaffDTO dto) {
							 | 
						|
								        //效验数据
							 | 
						|
								        ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
							 | 
						|
								        customerStaffService.update(dto);
							 | 
						|
								        return new Result();
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    @DeleteMapping
							 | 
						|
								    public Result delete(@RequestBody String[] ids) {
							 | 
						|
								        //效验数据
							 | 
						|
								        AssertUtils.isArrayEmpty(ids, "id");
							 | 
						|
								        customerStaffService.delete(ids);
							 | 
						|
								        return new Result();
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    @GetMapping("export")
							 | 
						|
								    public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
							 | 
						|
								        List<CustomerStaffDTO> list = customerStaffService.list(params);
							 | 
						|
								        ExcelUtils.exportExcelToTarget(response, null, list, CustomerStaffExcel.class);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * @param mobile 手机号
							 | 
						|
								     * @return com.epmet.commons.tools.utils.Result
							 | 
						|
								     * @Author yinzuomei
							 | 
						|
								     * @Description 根据手机号查询政府端工作人员基本信息,校验用户是否存在
							 | 
						|
								     * @Date 2020/4/18 14:07
							 | 
						|
								     **/
							 | 
						|
								    @GetMapping(value = "getcustsomerstaffbyphone/{mobile}")
							 | 
						|
								    public Result<List<CustomerStaffDTO>> getCustsomerStaffByPhone(@PathVariable("mobile") String mobile) {
							 | 
						|
								        return customerStaffService.getCustsomerStaffByPhone(mobile);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * @param formDTO
							 | 
						|
								     * @return com.epmet.commons.tools.utils.Result<com.epmet.dto.CustomerStaffDTO>
							 | 
						|
								     * @Author yinzuomei
							 | 
						|
								     * @Description 根据手机号+客户id获取工作人员基本信息
							 | 
						|
								     * @Date 2020/4/20 14:04
							 | 
						|
								     **/
							 | 
						|
								    @PostMapping(value = "getcustomerstaffinfo")
							 | 
						|
								    public Result<CustomerStaffDTO> getCustomerStaffInfo(@RequestBody CustomerStaffFormDTO formDTO) {
							 | 
						|
								        ValidatorUtils.validateEntity(formDTO);
							 | 
						|
								        return customerStaffService.getCustomerStaffInfo(formDTO);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * 根据userId查询网格下用户信息
							 | 
						|
								     * @param customerStaffGridDTOS
							 | 
						|
								     * @return
							 | 
						|
								     */
							 | 
						|
								    @PostMapping(value = "selectstaffgridlistbyuserid")
							 | 
						|
								    public Result<List<StaffGridListDTO>> selectStaffGridListByUserId(@RequestBody List<UserIdAndPidDTO> customerStaffGridDTOS){
							 | 
						|
								        Result<List<StaffGridListDTO>> listResult = customerStaffService.selectStaffGridListByUserId(customerStaffGridDTOS);
							 | 
						|
								        return listResult;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * 根据用户ID获取工作人员基本信息
							 | 
						|
								     *
							 | 
						|
								     * @param formDTO
							 | 
						|
								     * @return com.epmet.commons.tools.utils.Result<com.epmet.dto.CustomerStaffDTO>
							 | 
						|
								     * @author zhaoqifeng
							 | 
						|
								     * @date 2020/4/22 10:05
							 | 
						|
								     **/
							 | 
						|
								    @PostMapping(value = "getstaffinfobyuserid")
							 | 
						|
								    public Result<CustomerStaffDTO> getCustomerStaffInfoByUserId(@RequestBody CustomerStaffDTO formDTO) {
							 | 
						|
								        return customerStaffService.getCustomerStaffInfoByUserId(formDTO);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * 组织首页-工作人员列表
							 | 
						|
								     * @param fromDTO
							 | 
						|
								     * @return
							 | 
						|
								     */
							 | 
						|
								    @PostMapping("staffsinagency")
							 | 
						|
								    public Result<List<StaffInfoResultDTO>> getStaffInfoForHome(@RequestBody StaffsInAgencyFromDTO fromDTO) {
							 | 
						|
								        return customerStaffService.getStaffInfoForHome(fromDTO);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * 工作人员列表
							 | 
						|
								     * @param fromDTO
							 | 
						|
								     * @return
							 | 
						|
								     */
							 | 
						|
								    @PostMapping("stafflist")
							 | 
						|
								    public Result<List<StaffInfoResultDTO>> getStaffList(@RequestBody StaffsInAgencyFromDTO fromDTO) {
							 | 
						|
								        return customerStaffService.getStaffList(fromDTO);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * 查询网格下未被禁用人员
							 | 
						|
								     * @param  userIdDTO
							 | 
						|
								     * @auther zxc
							 | 
						|
								     */
							 | 
						|
								    @PostMapping(value = "selectgridstaffcountbyuserid")
							 | 
						|
								    public Result<GridStaffCountDTO> selectGridStaffCountByUserId(@RequestBody List<UserIdDTO> userIdDTO){
							 | 
						|
								        return customerStaffService.selectGridStaffCountByUserId(userIdDTO);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * 人员添加页面初始化
							 | 
						|
								     *
							 | 
						|
								     * @param fromDTO 参数
							 | 
						|
								     * @return Result<StaffInitResultDTO>
							 | 
						|
								     */
							 | 
						|
								    @PostMapping("rolelist")
							 | 
						|
								    public Result<List<RoleInfoResultDTO>> addStaffInit(@RequestBody StaffInfoFromDTO fromDTO){
							 | 
						|
								        return customerStaffService.addStaffInit(fromDTO);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * 人员编辑页面初始化
							 | 
						|
								     *
							 | 
						|
								     * @param fromDTO 参数
							 | 
						|
								     * @return Result<StaffInitResultDTO>
							 | 
						|
								     */
							 | 
						|
								    @PostMapping("editstaffinit")
							 | 
						|
								    public Result<StaffInitResultDTO> editStaffInit(@RequestBody StaffInfoFromDTO fromDTO){
							 | 
						|
								        return customerStaffService.editStaffInit(fromDTO);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * 人员添加
							 | 
						|
								     *
							 | 
						|
								     * @param fromDTO 参数
							 | 
						|
								     * @return Result
							 | 
						|
								     */
							 | 
						|
								    @PostMapping("addstaff")
							 | 
						|
								    public Result<CustomerStaffDTO> addStaff(@RequestBody StaffSubmitFromDTO fromDTO){
							 | 
						|
								        return customerStaffService.addStaff(fromDTO);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * 人员编辑
							 | 
						|
								     *
							 | 
						|
								     * @param fromDTO 参数
							 | 
						|
								     * @return Result
							 | 
						|
								     */
							 | 
						|
								    @PostMapping("editstaff")
							 | 
						|
								    public Result editStaff(@RequestBody StaffSubmitFromDTO fromDTO){
							 | 
						|
								        return customerStaffService.editStaff(fromDTO);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * 人员详情
							 | 
						|
								     *
							 | 
						|
								     * @param fromDTO 参数
							 | 
						|
								     * @return Result<StaffDetailResultDTO>
							 | 
						|
								     */
							 | 
						|
								    @PostMapping("staffdetail")
							 | 
						|
								    public Result<StaffDetailResultDTO> getStaffDetail(@RequestBody StaffInfoFromDTO fromDTO){
							 | 
						|
								        return customerStaffService.getStaffDetail(fromDTO);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * 人员禁用
							 | 
						|
								     *
							 | 
						|
								     * @param fromDTO 参数
							 | 
						|
								     * @return Result
							 | 
						|
								     */
							 | 
						|
								    @PostMapping("disabledstaff")
							 | 
						|
								    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(@RequestBody 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);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * @param staffIdList
							 | 
						|
								     * @return
							 | 
						|
								     * @Author sun
							 | 
						|
								     * @Description 根据staffId集合查询工作人员基础信息
							 | 
						|
								     **/
							 | 
						|
								    @PostMapping(value = "getcustomerstafflist")
							 | 
						|
								    public Result<CustomerStaffListResultDTO> getCustomerStaffList(@RequestBody List<String> staffIdList){
							 | 
						|
								        return new Result<CustomerStaffListResultDTO>().ok(customerStaffService.getCustomerStaffList(staffIdList));
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * @param staffId
							 | 
						|
								     * @return
							 | 
						|
								     * @Author sun
							 | 
						|
								     * @Description 根据staffId查询工作人员基本信息
							 | 
						|
								     **/
							 | 
						|
								    @PostMapping(value = "getcustomerstaff/{staffId}")
							 | 
						|
								    public Result<CustomerStaffDTO> getCustomerStaff(@PathVariable("staffId") String staffId){
							 | 
						|
								        return new Result<CustomerStaffDTO>().ok(customerStaffService.getCustomerStaff(staffId));
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * @return com.epmet.commons.tools.utils.Result
							 | 
						|
								     * @param staffResetPwFormDTO
							 | 
						|
								     * @author yinzuomei
							 | 
						|
								     * @description 工作端,修改工作人员密码
							 | 
						|
								     * @Date 2020/7/1 10:39
							 | 
						|
								     **/
							 | 
						|
								    @PostMapping("resetstaffpassword")
							 | 
						|
								    public Result resetStaffPassword(@RequestBody StaffResetPwFormDTO staffResetPwFormDTO){
							 | 
						|
								        ValidatorUtils.validateEntity(staffResetPwFormDTO,StaffResetPwFormDTO.AddUserShowGroup.class,StaffResetPwFormDTO.AddUserInternalGroup.class);
							 | 
						|
								        customerStaffService.resetStaffPassword(staffResetPwFormDTO);
							 | 
						|
								        return new Result();
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * @Description 得到工组人员的头像、名称、所属机关名称
							 | 
						|
								     * @param userId
							 | 
						|
								     * @return
							 | 
						|
								     * @author wangc
							 | 
						|
								     * @date 2020.07.27 14:45
							 | 
						|
								     **/
							 | 
						|
								    @PostMapping("staffmsg")
							 | 
						|
								    public Result<StaffEtAgencyResultDTO> staffMsg(@RequestBody IssueInitiatorFormDTO userId){
							 | 
						|
								        ValidatorUtils.validateEntity(userId, IssueInitiatorFormDTO.UserIdGroup.class);
							 | 
						|
								        return new Result<StaffEtAgencyResultDTO>().ok(customerStaffService.getStaffMsg(userId));
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * @param formDTO
							 | 
						|
								     * @return
							 | 
						|
								     * @Author sun
							 | 
						|
								     * @Description 根据客户ID、手机号查询政府端工作人员基本信息,校验用户是否存在
							 | 
						|
								     **/
							 | 
						|
								    @GetMapping(value = "getCustsomerStaffByIdAndPhone")
							 | 
						|
								    public Result<List<CustomerStaffDTO>> getCustsomerStaffByIdAndPhone(@RequestBody ThirdCustomerStaffFormDTO formDTO) {
							 | 
						|
								        return new Result<List<CustomerStaffDTO>>().ok(customerStaffService.getCustsomerStaffByIdAndPhone(formDTO));
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * @Description  查询工作人员的信息
							 | 
						|
								     * @param formDTO
							 | 
						|
								     * @author zxc
							 | 
						|
								     * @date 2020/8/13 1:45 下午
							 | 
						|
								     */
							 | 
						|
								    @PostMapping("getstaffinfolist")
							 | 
						|
								    public Result<List<StaffSinGridResultDTO>> getStaffInfoList(@RequestBody UserIdsFormDTO formDTO){
							 | 
						|
								        ValidatorUtils.validateEntity(formDTO);
							 | 
						|
								        return new Result<List<StaffSinGridResultDTO>>().ok(customerStaffService.getStaffInfoList(formDTO));
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * @Description 查找工作人员的信息 - 对外开放接口
							 | 
						|
								     * @param staffParam
							 | 
						|
								     * @return
							 | 
						|
								     * @author wangc
							 | 
						|
								     * @date 2020.08.17 10:30
							 | 
						|
								     **/
							 | 
						|
								    @PostMapping("extstaffinfo")
							 | 
						|
								    public Result<ExtStaffInfoResultDTO> extStaffInfo(CommonStaffIdFormDTO staffParam){
							 | 
						|
								        ValidatorUtils.validateEntity(staffParam, CommonStaffIdFormDTO.StaffIdGroup.class);
							 | 
						|
								        return new Result<ExtStaffInfoResultDTO>().ok(customerStaffService.extStaffInfo(staffParam));
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 |