From 7681022977c03b78db170378223fe53fa9726574 Mon Sep 17 00:00:00 2001 From: FatttSnake Date: Sun, 4 Jun 2023 17:07:08 +0800 Subject: [PATCH] Added modify self staff api --- .../pinnacle/controller/StaffController.java | 16 ++++++++++++++++ .../cfive/pinnacle/service/IStaffService.java | 2 ++ .../service/impl/StaffServiceImpl.java | 18 ++++++++++++++++++ 3 files changed, 36 insertions(+) diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/StaffController.java b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/StaffController.java index dbd5e2b..613c030 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/StaffController.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/StaffController.java @@ -1,10 +1,13 @@ package com.cfive.pinnacle.controller; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.cfive.pinnacle.entity.Staff; import com.cfive.pinnacle.entity.common.ResponseCode; import com.cfive.pinnacle.entity.common.ResponseResult; import com.cfive.pinnacle.entity.permission.User; import com.cfive.pinnacle.service.IStaffService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -19,6 +22,7 @@ import org.springframework.web.bind.annotation.*; */ @RestController @RequestMapping("/staff") +@Tag(name = "员工信息", description = "员工信息相关接口") public class StaffController { private IStaffService staffService; @@ -27,12 +31,14 @@ public class StaffController { this.staffService = staffService; } + @Operation(summary = "获取员工信息") @GetMapping @PreAuthorize("hasAnyAuthority('staff:manege:get', 'staff:admin:get')") public ResponseResult> getAllStaff(Long currentPage, Long pageSize, Integer searchType, String searchInput, Integer searchGender, String searchBirthFrom, String searchBirthTo, Integer searchRegex) { return ResponseResult.databaseSelectSuccess(staffService.getAllStaff(currentPage, pageSize, searchType, searchInput, searchGender, searchBirthFrom, searchBirthTo, searchRegex)); } + @Operation(summary = "修改员工信息") @PutMapping @PreAuthorize("hasAnyAuthority('staff:manege:modify', 'staff:admin:modify')") public ResponseResult modifyStaff(@RequestBody User user) { @@ -42,4 +48,14 @@ public class StaffController { return ResponseResult.build(ResponseCode.DATABASE_SAVE_ERROR, "error", null); } } + + @Operation(summary = "修改档案信息") + @PutMapping("self") + public ResponseResult modifySelf(@RequestBody Staff staff) { + if (staffService.modifySelf(staff)) { + return ResponseResult.databaseUpdateSuccess(null); + } else { + return ResponseResult.build(ResponseCode.DATABASE_SAVE_ERROR, "error", null); + } + } } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/IStaffService.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/IStaffService.java index 224dde0..c9cbf78 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/IStaffService.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/IStaffService.java @@ -17,4 +17,6 @@ public interface IStaffService extends IService { IPage getAllStaff(Long currentPage, Long pageSize, Integer searchType, String searchInput, Integer searchGender, String searchBirthFrom, String searchBirthTo, Integer searchRegex); boolean modifyStaff(User user); + + boolean modifySelf(Staff staff); } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/StaffServiceImpl.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/StaffServiceImpl.java index 85aa379..f2ca960 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/StaffServiceImpl.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/StaffServiceImpl.java @@ -48,6 +48,7 @@ public class StaffServiceImpl extends ServiceImpl implements userIPage = PageDTO.of(currentPage, pageSize); } searchInput = searchInput.trim(); + return staffMapper.getAllStaff(userIPage, departmentId, searchType, searchInput, searchGender, searchBirthFrom, searchBirthTo, searchRegex); } @@ -71,6 +72,23 @@ public class StaffServiceImpl extends ServiceImpl implements } user.setDepartmentId(departmentId); userMapper.updateById(user); + + return true; + } + + @Override + public boolean modifySelf(Staff staff) { + User user = WebUtil.getLoginUser().getUser(); + Staff oldStaff = user.getStaff(); + staff.setUserId(user.getId()); + if (oldStaff == null) { + staff.setId(null); + staffMapper.insert(staff); + } else { + staff.setId(oldStaff.getId()); + staffMapper.updateById(staff); + } + return true; } }