package cc.mrbird.febs.server.hr.controller; import cc.mrbird.febs.common.core.entity.system.Dept; import cc.mrbird.febs.common.core.entity.system.SystemUser; import cc.mrbird.febs.server.hr.entity.EmpBaseInfo; import cc.mrbird.febs.server.hr.feign.IRemoteDeptService; import cc.mrbird.febs.server.hr.feign.IRemoteUserService; import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; import cc.mrbird.febs.common.core.entity.FebsResponse; import cc.mrbird.febs.common.core.entity.QueryRequest; import cc.mrbird.febs.common.core.exception.FebsException; import cc.mrbird.febs.common.core.utils.FebsUtil; import lombok.extern.slf4j.Slf4j; import lombok.RequiredArgsConstructor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.Map; /** * name:EmpBaseInfo * package:cc.mrbird.febs.server.hr.controller * description:控制器 * * @author luoyibo * @date 2021-01-30 08:04:50 * @since JDK1.8 */ @Slf4j @Validated @RestController @RequestMapping("empBaseInfo") @RequiredArgsConstructor public class EmpBaseInfoController { private final IEmpBaseInfoService empBaseInfoService; private final IRemoteUserService remoteUserService; private final IRemoteDeptService remoteDeptService; @GetMapping @PreAuthorize("hasAuthority('empBaseinfo:list')") public FebsResponse getAllEmpBaseInfos(EmpBaseInfo empBaseinfo) { return new FebsResponse().data(empBaseInfoService.findEmpBaseInfos(empBaseinfo)); } @GetMapping("list") @PreAuthorize("hasAuthority('empBaseinfo:list')") public FebsResponse empBaseInfoList(QueryRequest request, EmpBaseInfo empBaseinfo) { Map dataTable = FebsUtil.getDataTable(this.empBaseInfoService.findEmpBaseInfos(request, empBaseinfo)); return new FebsResponse().data(dataTable); } @PostMapping @PreAuthorize("hasAuthority('empBaseinfo:add')") public void addEmpBaseInfo(@Valid EmpBaseInfo empBaseinfo) throws FebsException { try { this.empBaseInfoService.createEmpBaseInfo(empBaseinfo); } catch (Exception e) { String message = "新增员工基本信息失败"; log.error(message, e); throw new FebsException(message); } } @DeleteMapping @PreAuthorize("hasAuthority('empBaseinfo:delete')") public void deleteEmpBaseInfo(EmpBaseInfo empBaseinfo) throws FebsException { try { this.empBaseInfoService.deleteEmpBaseInfo(empBaseinfo); } catch (Exception e) { String message = "删除员工基本信息失败"; log.error(message, e); throw new FebsException(message); } } @DeleteMapping("{ids}") @PreAuthorize("hasAuthority('empBaseinfo:delete')") public void logicDeleteEmpBaseInfo(@PathVariable("ids") String ids) throws FebsException { try { this.empBaseInfoService.logicDelEmpBaseInfo(ids); } catch (Exception e) { String message = "逻辑员工基本信息删除失败"; log.error(message, e); throw new FebsException(message); } } @PutMapping @PreAuthorize("hasAuthority('empBaseinfo:update')") public void updateEmpBaseInfo(EmpBaseInfo empBaseinfo) throws FebsException { try { this.empBaseInfoService.updateEmpBaseInfo(empBaseinfo); } catch (Exception e) { String message = "修改失败"; log.error(message, e); throw new FebsException(message); } } @GetMapping("user/list") public FebsResponse getRemoteUserList(QueryRequest request, SystemUser user) { return remoteUserService.userList(request, user); } @GetMapping("dept/list") public FebsResponse getRemoteDeptList(QueryRequest request, Dept dept) { return remoteDeptService.deptList(request, dept); } }