package com.mzl.flower.web.system;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.mzl.flower.base.BaseController;
|
import com.mzl.flower.base.R;
|
import com.mzl.flower.base.ReturnDataDTO;
|
import com.mzl.flower.constant.Constants;
|
import com.mzl.flower.dto.request.system.CreateUserDTO;
|
import com.mzl.flower.dto.request.system.ResetUserPasswordDTO;
|
import com.mzl.flower.dto.request.system.SearchUserDTO;
|
import com.mzl.flower.dto.request.system.UpdateUserDTO;
|
import com.mzl.flower.dto.response.system.UserDetailsDTO;
|
import com.mzl.flower.dto.response.system.UserListDTO;
|
import com.mzl.flower.service.system.UserService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.http.ResponseEntity;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@RestController
|
@RequestMapping("/api/user")
|
@Api(value = "用户管理", tags = "用户管理")
|
@Validated
|
public class UserController extends BaseController {
|
@Autowired
|
private UserService userService;
|
|
@GetMapping("/list")
|
@ApiOperation(value = "查询管理用户列表")
|
public ResponseEntity<ReturnDataDTO<Page<UserListDTO>>> searchUser(@ModelAttribute SearchUserDTO dto, Page page) {
|
List<String> userTypes = new ArrayList<>();
|
userTypes.add(Constants.USER_TYPE.admin.name());
|
dto.setUserTypes(userTypes);
|
return returnData(R.SUCCESS.getCode(), userService.searchUser(dto, page));
|
}
|
|
@PostMapping("/list/new")
|
@ApiOperation(value = "新增管理用户")
|
public ResponseEntity<ReturnDataDTO> addUser(@RequestBody CreateUserDTO dto) {
|
dto.setType(Constants.USER_TYPE.admin.name());
|
userService.addUser(dto);
|
return returnData(R.SUCCESS.getCode(), null);
|
}
|
|
@PostMapping("/list/edit")
|
@ApiOperation(value = "更新管理用户")
|
public ResponseEntity<ReturnDataDTO> updateUser(@RequestBody UpdateUserDTO dto) {
|
userService.updateUser(dto);
|
return returnData(R.SUCCESS.getCode(), null);
|
}
|
|
@GetMapping("/list/view")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "String", paramType = "query")
|
})
|
@ApiOperation(value = "查询管理用户详情")
|
public ResponseEntity<ReturnDataDTO<UserDetailsDTO>> getUser(String id) {
|
return returnData(R.SUCCESS.getCode(), userService.getUserDetail(id));
|
}
|
|
@GetMapping("/list/delete")
|
@ApiOperation(value = "删除用户")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "String", paramType = "query")
|
})
|
public ResponseEntity<ReturnDataDTO> deleteUser(String id) {
|
userService.deleteUser(id);
|
return returnData(R.SUCCESS.getCode(), null);
|
}
|
|
@PostMapping("/reset/password")
|
@ApiOperation(value = "重设密码")
|
public ResponseEntity<ReturnDataDTO> resetUserPassword(@RequestBody ResetUserPasswordDTO dto) {
|
userService.resetUserPassword(dto);
|
return returnData(R.SUCCESS.getCode(), null);
|
}
|
|
@PostMapping("/disable/{id}")
|
@ApiOperation(value = "禁用用户")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "String", paramType = "path")
|
})
|
public ResponseEntity<ReturnDataDTO> disableUser(@PathVariable String id) {
|
userService.setUserStatus(id, Constants.STATUS_INACTIVE);
|
return returnData(R.SUCCESS.getCode(), null);
|
}
|
|
@PostMapping("/enable/{id}")
|
@ApiOperation(value = "启用用户")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "String", paramType = "path")
|
})
|
public ResponseEntity<ReturnDataDTO> enableUser(@PathVariable String id) {
|
userService.setUserStatus(id, Constants.STATUS_ACTIVE);
|
return returnData(R.SUCCESS.getCode(), null);
|
}
|
|
}
|