| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- package com.lianda.backend.controller;
- import com.lianda.backend.annotation.RequirePermission;
- import com.lianda.backend.dto.PageResponse;
- import com.lianda.backend.dto.UserCreateDTO;
- import com.lianda.backend.dto.UserDTO;
- import com.lianda.backend.dto.UserQueryDTO;
- import com.lianda.backend.dto.UserSaveDTO;
- import com.lianda.backend.model.SysDictionaryItem;
- import com.lianda.backend.service.UserService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.http.HttpStatus;
- import org.springframework.http.ResponseEntity;
- import org.springframework.web.bind.annotation.*;
- import javax.validation.Valid;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- @RestController
- @RequestMapping("/user")
- public class UserController {
-
- @Autowired
- private UserService userService;
-
- /**
- * 查询用户列表
- *
- * @param queryDTO 查询条件
- * @return 分页结果
- */
- @GetMapping("/list")
- @RequirePermission("0101")
- public ResponseEntity<Map<String, Object>> getUsers(UserQueryDTO queryDTO) {
- PageResponse<UserDTO> users = userService.queryUsers(queryDTO);
- Map<String, Object> response = new HashMap<>();
- response.put("success", true);
- response.put("data", users);
- return new ResponseEntity<>(response, HttpStatus.OK);
- }
-
- /**
- * 获取所有状态列表
- *
- * @return 状态列表
- */
- @GetMapping("/record-status")
- @RequirePermission("010102")
- public ResponseEntity<List<SysDictionaryItem>> getRecordStatus() {
- List<SysDictionaryItem> recordStatusList = userService.getRecordStatusList();
- return new ResponseEntity<>(recordStatusList, HttpStatus.OK);
- }
-
- /**
- * 保存用户(新增或修改)
- *
- * @param userSaveDTO 用户保存DTO
- * @return 保存后的用户DTO
- */
- @PostMapping("/save")
- @RequirePermission("0104")
- public ResponseEntity<Map<String, Object>> saveUser(@Valid @RequestBody UserSaveDTO userSaveDTO) {
- try {
- UserDTO userDTO = userService.saveUser(userSaveDTO);
- Map<String, Object> response = new HashMap<>();
- response.put("success", true);
- response.put("message", userSaveDTO.getId() == null || userSaveDTO.getId().isEmpty() ? "用户创建成功" : "用户更新成功");
- response.put("data", userDTO);
- return new ResponseEntity<>(response, HttpStatus.OK);
- } catch (Exception e) {
- Map<String, Object> response = new HashMap<>();
- response.put("success", false);
- response.put("message", userSaveDTO.getId() == null || userSaveDTO.getId().isEmpty() ? "用户创建失败:" + e.getMessage() : "用户更新失败:" + e.getMessage());
- return new ResponseEntity<>(response, HttpStatus.INTERNAL_SERVER_ERROR);
- }
- }
-
- /**
- * 删除用户
- *
- * @param userIds 用户ID列表
- * @return 操作结果
- */
- @DeleteMapping("/delete")
- @RequirePermission("0102")
- public ResponseEntity<Map<String, Object>> deleteUsers(@RequestBody List<String> userIds) {
- if (userIds == null || userIds.isEmpty()) {
- Map<String, Object> response = new HashMap<>();
- response.put("success", false);
- response.put("message", "用户ID不能为空");
- return new ResponseEntity<>(response, HttpStatus.BAD_REQUEST);
- }
-
- try {
- userService.deleteUsers(userIds);
- Map<String, Object> response = new HashMap<>();
- response.put("success", true);
- response.put("message", "删除成功");
- response.put("deletedCount", userIds.size());
- return new ResponseEntity<>(response, HttpStatus.OK);
- } catch (Exception e) {
- Map<String, Object> response = new HashMap<>();
- response.put("success", false);
- response.put("message", "删除失败:" + e.getMessage());
- return new ResponseEntity<>(response, HttpStatus.INTERNAL_SERVER_ERROR);
- }
- }
-
- /**
- * 重置用户密码
- *
- * @param userId 用户ID
- * @param newPassword 新密码
- * @return 操作结果
- */
- @PostMapping("/reset-password")
- @RequirePermission("0103")
- public ResponseEntity<Map<String, Object>> resetPassword(@RequestBody Map<String, String> request) {
- String userId = request.get("userId");
- String newPassword = request.get("newPassword");
-
- if (userId == null || userId.isEmpty()) {
- Map<String, Object> response = new HashMap<>();
- response.put("success", false);
- response.put("message", "用户ID不能为空");
- return new ResponseEntity<>(response, HttpStatus.BAD_REQUEST);
- }
-
- if (newPassword == null || newPassword.isEmpty()) {
- Map<String, Object> response = new HashMap<>();
- response.put("success", false);
- response.put("message", "新密码不能为空");
- return new ResponseEntity<>(response, HttpStatus.BAD_REQUEST);
- }
-
- try {
- userService.resetPassword(userId, newPassword);
- Map<String, Object> response = new HashMap<>();
- response.put("success", true);
- response.put("message", "密码重置成功");
- return new ResponseEntity<>(response, HttpStatus.OK);
- } catch (Exception e) {
- Map<String, Object> response = new HashMap<>();
- response.put("success", false);
- response.put("message", "密码重置失败:" + e.getMessage());
- return new ResponseEntity<>(response, HttpStatus.INTERNAL_SERVER_ERROR);
- }
- }
- }
|