vdi/nex-be/src/main/java/com/unisinsight/project/controller/UserController.java

118 lines
4.4 KiB
Java

package com.unisinsight.project.controller;
import cn.hutool.json.JSONUtil;
import com.unisinsight.project.entity.req.DeleteIdReq;
import com.unisinsight.project.entity.req.DeviceUserReq;
import com.unisinsight.project.entity.req.UserReq;
import com.unisinsight.project.entity.res.ImageRes;
import com.unisinsight.project.entity.res.PageResult;
import com.unisinsight.project.entity.res.UserRes;
import com.unisinsight.project.exception.BaseErrorCode;
import com.unisinsight.project.exception.Result;
import com.unisinsight.project.service.DeviceUserMappingService;
import com.unisinsight.project.service.UserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
/**
* @description: UserController
* @author: rdpnr_puzhi
* @create: 2025/08/06
*/
@Slf4j
@RestController
@RequestMapping("/api/nex/v1/user")
@Api(tags = "用户处理Controller")
public class UserController {
@Resource
private UserService userService;
@Resource
private DeviceUserMappingService deviceUserMappingService;
@ApiOperation(value = "用户新增")
@PostMapping("/add")
public Result<?> insertUser(@RequestBody UserReq userReq) {
if (Objects.isNull(userReq)) {
return Result.errorResult(BaseErrorCode.PARAMS_CHK_ERROR);
}
log.info("用户新增请求参数为:{}", JSONUtil.toJsonStr(userReq));
return userService.insert(userReq);
}
@ApiOperation(value = "用户修改")
@PostMapping("/update")
public Result<?> updateUser(@RequestBody UserReq userReq) {
if (Objects.isNull(userReq)) {
return Result.errorResult(BaseErrorCode.PARAMS_CHK_ERROR);
}
log.info("用户修改请求参数为:{}", JSONUtil.toJsonStr(userReq));
return userService.update(userReq);
}
@ApiOperation(value = "用户查询")
@PostMapping("/query")
public Result<?> queryUser(@RequestBody UserReq userReq) {
if (Objects.isNull(userReq)) {
return Result.errorResult(BaseErrorCode.PARAMS_CHK_ERROR);
}
log.info("用户查询请求参数为:{}", JSONUtil.toJsonStr(userReq));
return userService.query(userReq);
}
@ApiOperation(value = "用户删除")
@PostMapping("/delete")
public Result<?> deleteUser(@RequestBody DeleteIdReq deleteIdReq) {
if (Objects.isNull(deleteIdReq)) {
return Result.errorResult(BaseErrorCode.PARAMS_CHK_ERROR);
}
log.info("用户删除请求参数为:{}", JSONUtil.toJsonStr(deleteIdReq));
return userService.delete(deleteIdReq);
}
@ApiOperation(value = "分页查询用户")
@PostMapping("/select/page")
public Result<PageResult<UserRes>> selectPageUser(@RequestBody UserReq userReq) {
if (Objects.isNull(userReq)) {
return Result.errorResult(BaseErrorCode.PARAMS_CHK_ERROR);
}
log.info("分页查询用户请求参数为:{}", JSONUtil.toJsonStr(userReq));
return userService.selectPageUser(userReq);
}
@ApiOperation(value = "用户认证")
@PostMapping("/auth")
public Result<List<ImageRes>> authentication(@RequestParam("deviceId") String deviceId) {
if (Objects.isNull(deviceId)) {
return Result.errorResult(BaseErrorCode.PARAMS_CHK_ERROR);
}
log.info("用户认证请求参数为:{}", deviceId);
return Result.successResult();
}
@ApiOperation(value = "用户登录")
@PostMapping("/login")
public Result<?> loginUser(@RequestParam("deviceId") String deviceId,
@RequestParam("username") String username,
@RequestParam("password") String password) {
if (Objects.isNull(deviceId) || Objects.isNull(username) || Objects.isNull(password)) {
return Result.errorResult(BaseErrorCode.PARAMS_CHK_ERROR);
}
log.info("用户登录请求参数为,deviceId:{},username:{},password:{}", deviceId, username, password);
DeviceUserReq deviceUserReq = new DeviceUserReq();
deviceUserReq.setDeviceId(deviceId);
deviceUserReq.setUserName(username);
deviceUserReq.setPassword(password);
return deviceUserMappingService.loginUser(deviceUserReq);
}
}