增加了美甲师认证接口,简化管理员检验的代码,将美甲师添加的逻辑代码放在了比较合理的位置

This commit is contained in:
gaomusan 2024-10-17 10:52:45 +08:00
parent 4f3e4e7271
commit 4213a256e2
10 changed files with 102 additions and 39 deletions

View File

@ -115,7 +115,7 @@ public class CartController {
}
Long businessId = cartQueryRequest.getId();
User loginUser = userService.getLogingUser(request);
User loginUser = userService.getLoginUser(request);
Long userId = loginUser.getId();
LambdaQueryWrapper<Cart> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Cart::getBusinessId, businessId);
@ -132,7 +132,7 @@ public class CartController {
*/
@PostMapping("/selectByUserId")
public BaseResponse<List<CartVO>> selectByUserId (HttpServletRequest request) {
User loginUser = userService.getLogingUser(request);
User loginUser = userService.getLoginUser(request);
Long userId = loginUser.getId();
LambdaQueryWrapper<Cart> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Cart::getUserId, userId);
@ -155,7 +155,7 @@ public class CartController {
}
Long businessId = cartQueryRequest.getId();
User loginUser = userService.getLogingUser(request);
User loginUser = userService.getLoginUser(request);
Long userId = loginUser.getId();
LambdaQueryWrapper<Cart> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Cart::getBusinessId, businessId);
@ -173,7 +173,7 @@ public class CartController {
*/
@PostMapping("/empty/user")
public BaseResponse<Boolean> emptyUserCart(HttpServletRequest request) {
User loginUser = userService.getLogingUser(request);
User loginUser = userService.getLoginUser(request);
Long userId = loginUser.getId();
LambdaQueryWrapper<Cart> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Cart::getUserId, userId);

View File

@ -6,6 +6,7 @@ import com.cj.jiaqingjiayi.common.ResultUtils;
import com.cj.jiaqingjiayi.exception.BusinessException;
import com.cj.jiaqingjiayi.exception.ThrowUtils;
import com.cj.jiaqingjiayi.model.domain.*;
import com.cj.jiaqingjiayi.model.request.manicurist.AdminManicuristAddRequest;
import com.cj.jiaqingjiayi.model.request.manicurist.ManicuristAddRequest;
import com.cj.jiaqingjiayi.model.request.manicurist.ManicuristUpdateRequest;
import com.cj.jiaqingjiayi.model.request.manicurist.MyManicuristUpdateRequest;
@ -13,6 +14,7 @@ import com.cj.jiaqingjiayi.service.ManicuristService;
import com.cj.jiaqingjiayi.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.DigestUtils;
import org.springframework.web.bind.annotation.*;
@ -36,43 +38,57 @@ public class ManicuristController {
/**
* 添加美甲师
* @param manicuristAddRequest
* 添加美甲师(管理员)
* @param adminManicuristAddRequest
* @return
*/
@PostMapping("/add")
public BaseResponse<Long> addManicurist(@RequestBody ManicuristAddRequest manicuristAddRequest,HttpServletRequest request) {
@PostMapping("/adminAdd")
@Transactional(rollbackFor = Exception.class)
public BaseResponse<Long> AdminAddManicurist(@RequestBody AdminManicuristAddRequest adminManicuristAddRequest, HttpServletRequest request) {
//判断是否为管理员
userService.isAdmin(request);
ThrowUtils.throwIf(manicuristAddRequest == null, ErrorCode.PARAMS_ERROR);
ThrowUtils.throwIf(adminManicuristAddRequest == null, ErrorCode.PARAMS_ERROR);
User user = new User();
BeanUtils.copyProperties(manicuristAddRequest, user);
BeanUtils.copyProperties(adminManicuristAddRequest, user);
Manicurist manicurist = new Manicurist();
BeanUtils.copyProperties(manicuristAddRequest, manicurist);
BeanUtils.copyProperties(adminManicuristAddRequest, manicurist);
ManicuristAuth manicuristAuth = new ManicuristAuth();
BeanUtils.copyProperties(manicuristAddRequest, manicuristAuth);
BeanUtils.copyProperties(adminManicuristAddRequest, manicuristAuth);
//对每个应该校验的业务进行校验
manicuristService.validUser(user, true);
manicuristService.validManicurist(manicurist, true);
manicuristService.validManicuristAuth(manicuristAuth, true);
//加密
String encryptPassword = DigestUtils.md5DigestAsHex((USER_SALT + user.getUserPassword()).getBytes());
user.setUserPassword(encryptPassword);
//插入到表中
manicuristService.adminAddManicurist(user, manicurist, manicuristAuth);
//更改用户权限为美甲师
user.setUserRole(3);
return ResultUtils.success(manicurist.getId(),"添加美甲师成功");
}
//往user表中补充美甲师信息
user.setUsername(manicurist.getName());
user.setAvatarUrl(manicurist.getManicuristAvatar());
user.setPhone(manicurist.getPhone());
/**
* 认证成为美甲师
* @param manicuristAddRequest
* @return
*/
@PostMapping("/add")
public BaseResponse<Long> addManicurist(@RequestBody ManicuristAddRequest manicuristAddRequest, HttpServletRequest request) {
ThrowUtils.throwIf(manicuristAddRequest == null, ErrorCode.PARAMS_ERROR);
//获取登录的用户
User loginUser = userService.getLoginUser(request);
Manicurist manicurist = new Manicurist();
BeanUtils.copyProperties(manicuristAddRequest, manicurist);
ManicuristAuth manicuristAuth = new ManicuristAuth();
BeanUtils.copyProperties(manicuristAddRequest, manicuristAuth);
manicuristService.validManicurist(manicurist, true);
manicuristService.validManicuristAuth(manicuristAuth, true);
//插入到表中
manicuristService.addManicurist(user, manicurist, manicuristAuth);
manicuristService.addManicurist(loginUser, manicurist, manicuristAuth);
return ResultUtils.success(manicurist.getId(),"添加美甲师成功");
}
@ -126,7 +142,7 @@ public class ManicuristController {
public BaseResponse<Boolean> MyUpdateManicurist(@RequestBody MyManicuristUpdateRequest myUpdateRequest, HttpServletRequest request){
ThrowUtils.throwIf(myUpdateRequest == null, ErrorCode.NULL_ERROR);
User logingUser = userService.getLogingUser(request);
User logingUser = userService.getLoginUser(request);
Manicurist manicuristLog = manicuristService.getById(logingUser);
Long manId = manicuristLog.getId();

View File

@ -211,7 +211,7 @@ public class UserController {
@GetMapping("/current")
public BaseResponse<LoginUserVO> getLoginUser(HttpServletRequest request){
//获取登录态
User user = userService.getLogingUser(request);
User user = userService.getLoginUser(request);
return ResultUtils.success(userService.getLoginUserVO(user));
}
@ -337,7 +337,7 @@ public class UserController {
if(userUpdateMyRequest == null){
throw new BusinessException(ErrorCode.PARAMS_ERROR);
}
User logingUser = userService.getLogingUser(request);
User logingUser = userService.getLoginUser(request);
User user = new User();
BeanUtils.copyProperties(userUpdateMyRequest, user);
user.setId(logingUser.getId());

View File

@ -1,16 +1,13 @@
package com.cj.jiaqingjiayi.model.request.manicurist;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class ManicuristAddRequest implements Serializable {
public class AdminManicuristAddRequest implements Serializable {
@Serial
private static final long serialVersionUID = -1651547088747557889L;
/**

View File

@ -14,12 +14,20 @@ import com.cj.jiaqingjiayi.model.request.manicurist.ManicuristQueryRequest;
public interface ManicuristService extends IService<Manicurist> {
/**
* 添加美甲师和商家的账户以及填充认证信息
* 添加美甲师和认证信息(管理员)
* @param user
* @param manicurist
* @param manicuristAuth
*/
void addManicurist(User user, Manicurist manicurist, ManicuristAuth manicuristAuth);
void adminAddManicurist(User user, Manicurist manicurist, ManicuristAuth manicuristAuth);
/**
* 添加美甲师和认证信息
* @param loginUser
* @param manicurist
* @param manicuristAuth
*/
void addManicurist(User loginUser, Manicurist manicurist, ManicuristAuth manicuristAuth);
/**
*校验

View File

@ -53,7 +53,7 @@ public interface UserService extends IService<User> {
* @param request
* @return
*/
User getLogingUser(HttpServletRequest request);
User getLoginUser(HttpServletRequest request);
/**
* 用户修改密码

View File

@ -197,7 +197,7 @@ public class BusinessServiceImpl extends ServiceImpl<BusinessMapper, Business>
@Override
public Business getLoginBusiness(HttpServletRequest request) {
User loginUser = userService.getLogingUser(request);
User loginUser = userService.getLoginUser(request);
QueryWrapper<Business> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("userId",loginUser.getId());
Business business = this.getOne(queryWrapper);

View File

@ -68,7 +68,7 @@ public class CartServiceImpl extends ServiceImpl<CartMapper, Cart>
@Override
public Long addCart(CartAddRequest cartAddRequest, HttpServletRequest request) {
User loginUser = userService.getLogingUser(request);
User loginUser = userService.getLoginUser(request);
Long userId = loginUser.getId();
Long businessId = cartAddRequest.getBusinessId();
Long commoditiesId = cartAddRequest.getCommoditiesId();
@ -89,7 +89,7 @@ public class CartServiceImpl extends ServiceImpl<CartMapper, Cart>
@Override
public Boolean updateCart(CartUpdateRequest cartUpdateRequest, HttpServletRequest request) {
User loginUser = userService.getLogingUser(request);
User loginUser = userService.getLoginUser(request);
Long userId = loginUser.getId();
Long commoditiesId = cartUpdateRequest.getCommoditiesId();
String selectedOptions = cartUpdateRequest.getSelectedOptions();
@ -121,7 +121,7 @@ public class CartServiceImpl extends ServiceImpl<CartMapper, Cart>
@Override
public Boolean deleteCart(Long cartId, HttpServletRequest request) {
User loginUser = userService.getLogingUser(request);
User loginUser = userService.getLoginUser(request);
Long userId = loginUser.getId();
Cart cart = this.getById(cartId);
Long cartUserId = cart.getUserId();

View File

@ -17,11 +17,15 @@ import lombok.Data;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.DigestUtils;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Date;
import static com.cj.jiaqingjiayi.contant.UserConstant.USER_SALT;
/**
* @author 高木
* @description 针对表manicurist(美甲师表)的数据库操作Service实现
@ -41,7 +45,19 @@ public class ManicuristServiceImpl extends ServiceImpl<ManicuristMapper, Manicur
private ManicuristAuthService manicuristAuthService;
@Override
public void addManicurist(User user, Manicurist manicurist, ManicuristAuth manicuristAuth) {
@Transactional(rollbackFor = Exception.class)
public void adminAddManicurist(User user, Manicurist manicurist, ManicuristAuth manicuristAuth) {
//加密
String encryptPassword = DigestUtils.md5DigestAsHex((USER_SALT + user.getUserPassword()).getBytes());
user.setUserPassword(encryptPassword);
//往user表中补充美甲师信息
user.setUsername(manicurist.getName());
user.setAvatarUrl(manicurist.getManicuristAvatar());
user.setPhone(manicurist.getPhone());
//更改用户权限为美甲师
user.setUserRole(3);
boolean save = userService.save(user);
ThrowUtils.throwIf(!save, ErrorCode.OPERATION_ERROR, "添加美甲师失败");
@ -55,6 +71,32 @@ public class ManicuristServiceImpl extends ServiceImpl<ManicuristMapper, Manicur
ThrowUtils.throwIf(!save2, ErrorCode.OPERATION_ERROR, "添加美甲师认证信息失败");
}
@Override
@Transactional(rollbackFor = Exception.class)
public void addManicurist(User loginUser, Manicurist manicurist, ManicuristAuth manicuristAuth) {
//美甲师绑定user
Long userId = loginUser.getId();
manicurist.setUserId(userId);
//更改用户权限为美甲师
loginUser.setUserRole(3);
//往user表中补充美甲师信息
loginUser.setUsername(manicurist.getName());
loginUser.setAvatarUrl(manicurist.getManicuristAvatar());
loginUser.setPhone(manicurist.getPhone());
boolean save = userService.updateById(loginUser);
ThrowUtils.throwIf(!save, ErrorCode.OPERATION_ERROR, "绑定失败");
boolean save1 = this.save(manicurist);
ThrowUtils.throwIf(!save1, ErrorCode.OPERATION_ERROR, "绑定id失败");
//添加认证信息
manicuristAuth.setArtistId(manicurist.getId());
boolean save2 = manicuristAuthService.save(manicuristAuth);
ThrowUtils.throwIf(!save2, ErrorCode.OPERATION_ERROR, "添加美甲师认证信息失败");
}
@Override
public void validUser(User user, boolean add) {
ThrowUtils.throwIf(user == null , ErrorCode.NULL_ERROR);

View File

@ -185,7 +185,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User>
* @return
*/
@Override
public User getLogingUser(HttpServletRequest request) {
public User getLoginUser(HttpServletRequest request) {
Object userObj = request.getSession().getAttribute(USER_LOGIN_STATE);
User currentUser = (User) userObj;
@ -213,7 +213,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User>
/**
* 判断用户是否存在
*/
User logingUser = getLogingUser(request);
User logingUser = getLoginUser(request);
Long userId = logingUser.getId();
if(userId < 0 || userId == null){
throw new BusinessException(ErrorCode.PARAMS_ERROR, "用户不存在");