用户模块
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
package com.greenorange.promotion.controller.user;
|
||||
|
||||
import com.auth0.jwt.interfaces.DecodedJWT;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.greenorange.promotion.annotation.RequiresPermission;
|
||||
@ -16,15 +17,19 @@ import com.greenorange.promotion.model.dto.CommonRequest;
|
||||
import com.greenorange.promotion.model.dto.CommonStringRequest;
|
||||
import com.greenorange.promotion.model.dto.user.*;
|
||||
import com.greenorange.promotion.model.entity.UserInfo;
|
||||
import com.greenorange.promotion.model.entity.UserMainInfo;
|
||||
import com.greenorange.promotion.model.vo.user.UserInfoVO;
|
||||
import com.greenorange.promotion.model.vo.userMainInfo.UserMainInfoVO;
|
||||
import com.greenorange.promotion.service.common.CommonService;
|
||||
import com.greenorange.promotion.service.user.UserInfoService;
|
||||
import com.greenorange.promotion.service.user.UserMainInfoService;
|
||||
import com.greenorange.promotion.utils.JWTUtils;
|
||||
import com.greenorange.promotion.utils.RegexUtils;
|
||||
import com.greenorange.promotion.utils.SendSmsUtil;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -48,6 +53,10 @@ public class UserInfoController {
|
||||
private UserInfoService userInfoService;
|
||||
|
||||
|
||||
@Resource
|
||||
private UserMainInfoService userMainInfoService;
|
||||
|
||||
|
||||
@Resource
|
||||
private CommonService commonService;
|
||||
|
||||
@ -75,6 +84,21 @@ public class UserInfoController {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 小程序端用户根据id获取上级邀请码
|
||||
* @param commonRequest 用户id
|
||||
* @return 上级邀请码
|
||||
*/
|
||||
@PostMapping("inviteCode")
|
||||
@Operation(summary = "小程序端用户根据id获取上级邀请码", description = "参数:用户id,权限:管理员(boss, admin),方法名:getParentUserInviteCode")
|
||||
@SysLog(title = "用户管理", content = "小程序端用户根据id获取上级邀请码")
|
||||
public BaseResponse<String> getParentUserInviteCode(@Valid @RequestBody CommonRequest commonRequest) {
|
||||
Long id = commonRequest.getId();
|
||||
UserInfo userInfo = userInfoService.getById(id);
|
||||
return ResultUtils.success(userInfo.getInvitationCode());
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 小程序端用户注册
|
||||
@ -120,19 +144,75 @@ public class UserInfoController {
|
||||
|
||||
|
||||
/**
|
||||
* 小程序用户重置密码
|
||||
* 小程序用户重置密码(外部)
|
||||
* @param userInfoResetRequest 小程序用户密码重置请求体
|
||||
* @return 是否重置成功
|
||||
*/
|
||||
@PostMapping("mini/reset/pwd")
|
||||
@Operation(summary = "小程序用户重置密码", description = "参数:小程序用户密码重置请求体,权限:管理员(boss, admin),方法名:userInfoMiniResetPwd")
|
||||
@SysLog(title = "用户管理", content = "小程序端用户重置密码")
|
||||
public BaseResponse<Boolean> userInfoMiniResetPwd(@Valid @RequestBody UserInfoResetRequest userInfoResetRequest) {
|
||||
@PostMapping("mini/out/reset/pwd")
|
||||
@Operation(summary = "小程序用户重置密码(外部)", description = "参数:小程序用户密码重置请求体,权限:管理员(boss, admin),方法名:userInfoMiniOuterResetPwd")
|
||||
@SysLog(title = "用户管理", content = "小程序用户重置密码(外部)")
|
||||
public BaseResponse<Boolean> userInfoMiniOuterResetPwd(@Valid @RequestBody UserInfoResetRequest userInfoResetRequest) {
|
||||
userInfoService.userInfoMiniResetPwd(userInfoResetRequest);
|
||||
return ResultUtils.success(true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 小程序用户重置密码(内部)
|
||||
* @param userInfoResetRequest 小程序用户密码重置请求体
|
||||
* @return 是否重置成功
|
||||
*/
|
||||
@PostMapping("mini/in/reset/pwd")
|
||||
@Operation(summary = "小程序用户重置密码(内部)", description = "参数:小程序用户密码重置请求体,权限:管理员(boss, admin),方法名:userInfoMiniInnerResetPwd")
|
||||
@RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE)
|
||||
@SysLog(title = "用户管理", content = "小程序用户重置密码(内部)")
|
||||
public BaseResponse<Boolean> userInfoMiniInnerResetPwd(@Valid @RequestBody UserInfoResetRequest userInfoResetRequest) {
|
||||
userInfoService.userInfoMiniResetPwd(userInfoResetRequest);
|
||||
return ResultUtils.success(true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 小程序端用户根据jwt获取用户信息
|
||||
* @return 用户信息
|
||||
*/
|
||||
@GetMapping("get/jwt")
|
||||
@Operation(summary = "小程序端用户根据jwt获取用户信息", description = "参数:无,权限:管理员(boss, admin),方法名:getMiniUserInfoByJWT")
|
||||
@RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE)
|
||||
@SysLog(title = "用户管理", content = "小程序端用户根据jwt获取用户信息")
|
||||
public BaseResponse<UserInfoVO> getMiniUserInfoByJWT(HttpServletRequest request) {
|
||||
String userAccount = (String) request.getAttribute("userAccount");
|
||||
LambdaQueryWrapper<UserInfo> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(UserInfo::getUserAccount, userAccount);
|
||||
UserInfo userInfo = userInfoService.getOne(lambdaQueryWrapper);
|
||||
UserInfoVO userInfoVO = commonService.copyProperties(userInfo, UserInfoVO.class);
|
||||
return ResultUtils.success(userInfoVO);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 小程序端用户根据jwt获取用户主要信息
|
||||
* @return 用户信息
|
||||
*/
|
||||
@GetMapping("get/main/jwt")
|
||||
@Operation(summary = "小程序端用户根据jwt获取用户主要信息", description = "参数:无,权限:管理员(boss, admin),方法名:getMiniUserInfoByJWT")
|
||||
@RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE)
|
||||
@SysLog(title = "用户管理", content = "小程序端用户根据jwt获取用户主要信息")
|
||||
public BaseResponse<UserMainInfoVO> getMiniUserMainInfoByJWT(HttpServletRequest request) {
|
||||
String userAccount = (String) request.getAttribute("userAccount");
|
||||
LambdaQueryWrapper<UserInfo> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(UserInfo::getUserAccount, userAccount);
|
||||
UserInfo userInfo = userInfoService.getOne(lambdaQueryWrapper);
|
||||
|
||||
Long id = userInfo.getId();
|
||||
LambdaQueryWrapper<UserMainInfo> userMainInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
userMainInfoLambdaQueryWrapper.eq(UserMainInfo::getUserId, id);
|
||||
UserMainInfo userMainInfo = userMainInfoService.getOne(userMainInfoLambdaQueryWrapper);
|
||||
UserMainInfoVO userMainInfoVO = commonService.copyProperties(userMainInfo, UserMainInfoVO.class);
|
||||
return ResultUtils.success(userMainInfoVO);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user