| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- package com.aijiuyi.admin.controller;
- import com.aijiuyi.admin.common.annotation.Log;
- import com.aijiuyi.admin.common.entity.Result;
- import com.aijiuyi.admin.common.enums.OperationType;
- import com.aijiuyi.admin.controller.dto.AppUserQueryDTO;
- import com.aijiuyi.admin.entity.AppUser;
- import com.aijiuyi.admin.service.AppUserService;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import java.util.List;
- /**
- * 应用用户管理 Controller(管理员后台)
- * 提供应用用户的增删改查和状态管理接口
- */
- @RestController
- @RequestMapping("/user/app")
- public class AppUserController {
- @Autowired
- private AppUserService appUserService;
- /**
- * 获取应用用户选项列表(用于方案创作人选择框)
- * 返回所有启用状态的用户,前端根据 userType 区分角色
- *
- * @param userType 可选过滤:1=普通用户,2=专家,3=管理员;null=全部
- * @return 用户列表(id + nickname + username + userType)
- */
- @GetMapping("/list")
- @Log(value = "获取用户选项列表", module = "用户管理", operationType = OperationType.QUERY)
- public Result<List<AppUser>> list(@RequestParam(required = false) Integer userType) {
- LambdaQueryWrapper<AppUser> wrapper = new LambdaQueryWrapper<AppUser>()
- .eq(AppUser::getStatus, 1)
- .eq(userType != null, AppUser::getUserType, userType)
- .select(AppUser::getId, AppUser::getNickname, AppUser::getUsername, AppUser::getUserType)
- .orderByAsc(AppUser::getUserType)
- .orderByAsc(AppUser::getId);
- return Result.success(appUserService.list(wrapper));
- }
- /**
- * 分页查询应用用户列表
- *
- * @param queryDTO 查询条件
- * @return 分页结果
- */
- @GetMapping("/page")
- @Log(value = "查询应用用户列表", module = "用户管理", operationType = OperationType.QUERY)
- public Result<IPage<AppUser>> page(AppUserQueryDTO queryDTO) {
- return Result.success(appUserService.pageList(queryDTO));
- }
- /**
- * 查询应用用户详情
- *
- * @param id 用户ID
- * @return 用户详情
- */
- @GetMapping("/{id}")
- @Log(value = "查询应用用户详情", module = "用户管理", operationType = OperationType.QUERY)
- public Result<AppUser> getById(@PathVariable Long id) {
- return Result.success(appUserService.getById(id));
- }
- /**
- * 新增应用用户
- *
- * @param appUser 用户信息
- * @return 操作结果
- */
- @PostMapping
- @Log(value = "新增应用用户", module = "用户管理", operationType = OperationType.INSERT)
- public Result<Void> add(@RequestBody AppUser appUser) {
- appUserService.addUser(appUser);
- return Result.success();
- }
- /**
- * 修改应用用户
- *
- * @param appUser 用户信息
- * @return 操作结果
- */
- @PutMapping
- @Log(value = "修改应用用户", module = "用户管理", operationType = OperationType.UPDATE)
- public Result<Void> update(@RequestBody AppUser appUser) {
- appUserService.updateUser(appUser);
- return Result.success();
- }
- /**
- * 删除应用用户(逻辑删除)
- *
- * @param id 用户ID
- * @return 操作结果
- */
- @DeleteMapping("/{id}")
- @Log(value = "删除应用用户", module = "用户管理", operationType = OperationType.DELETE)
- public Result<Void> delete(@PathVariable Long id) {
- appUserService.deleteUser(id);
- return Result.success();
- }
- /**
- * 修改应用用户状态(禁用/启用)
- *
- * @param id 用户ID
- * @param status 目标状态:1=启用,0=禁用
- * @return 操作结果
- */
- @PutMapping("/{id}/status")
- @Log(value = "修改应用用户状态", module = "用户管理", operationType = OperationType.UPDATE)
- public Result<Void> updateStatus(@PathVariable Long id, @RequestParam Integer status) {
- appUserService.updateStatus(id, status);
- return Result.success();
- }
- }
|