package com.jiagutech.ams.controller; import cn.dev33.satoken.stp.StpUtil; import com.jiagutech.ams.constant.UserConstants; import com.jiagutech.ams.model.LoginUser; import com.jiagutech.ams.model.common.PageRequest; import com.jiagutech.ams.model.common.PageResult; import com.jiagutech.ams.model.common.R; import com.jiagutech.ams.model.request.LoginRequest; import com.jiagutech.ams.model.request.PageUserRequest; import com.jiagutech.ams.model.request.UserFarmerRequest; import com.jiagutech.ams.model.request.UserRequest; import com.jiagutech.ams.model.response.LoginResponse; import com.jiagutech.ams.model.UserDetail; import com.jiagutech.ams.service.UserService; import com.jiagutech.ams.utils.LoginUtil; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; /** * @ClassName UserController * @author: zhangyeguang * @create: 2024-08-30 15:11 * @Version 1.0 * @description: **/ @RestController @RequestMapping("/user") @RequiredArgsConstructor @Tag(name = "用户", description = "用户管理") public class UserController { private final UserService userService; @Operation(summary = "登录接口") @PostMapping("/login") public R login(@Validated @RequestBody LoginRequest loginBody) { LoginResponse loginVo = userService.login(loginBody); return R.ok(loginVo); } @Operation(summary = "添加用户") @PostMapping("/add") public R add(@Validated @RequestBody UserRequest user) { userService.addUser(user); return R.ok(); } @Operation(summary = "获取用户登陆信息") @GetMapping("/getUserInfo") public R getUserInfo() { return R.ok(LoginUtil.getLoginUser()); } @Operation(summary = "获取用户详情") @GetMapping("/getUserDetail") public R getUserDetail(@RequestParam(value = "userId", required = false) Long userId, @RequestParam(value = "phone", required = false) String phone) { return R.ok(userService.getUserDetail(userId, phone)); } @Operation(summary = "更新用户信息") @PutMapping("/update") public R updateUser(@Validated @RequestBody UserRequest user) { userService.updateUser(user); return R.ok(); } @Operation(summary = "更新农户人员信息") @PutMapping("/updateFarmer") public R updateFarmerUser(@Validated @RequestBody UserFarmerRequest user) { userService.updateFarmerUser(user); return R.ok(); } @Operation(summary = "分页获取用户列表") @PostMapping("/page") public R> getUserList(@RequestBody PageRequest pageRequest) { return R.ok(userService.getUserPage(pageRequest)); } @Operation(summary = "根据区域码获取农户列表") @GetMapping("/listFarmerByRegionCode") public R> getAllFarmersByRegionCode(@RequestParam(value = "regionCode") Long regionCode, @RequestParam(value = "nickName", required = false) String nickName) { return R.ok(userService.getAllFarmersByRegionCode(regionCode,nickName)); } }