增加美甲师认证审核逻辑

修改了管理员修改美甲师信息时空字符串会覆盖原来信息的问题
This commit is contained in:
gaomusan 2024-12-11 10:27:12 +08:00
parent 7e0de7039e
commit 5dffc7aee1
14 changed files with 112 additions and 93 deletions

View File

@ -148,7 +148,6 @@ create table if not exists cart
index idx_businessId (businessId)
) comment '购物车表' collate = utf8mb4_unicode_ci;
-- 美甲师表
create table if not exists manicurist
(
id BIGINT AUTO_INCREMENT COMMENT '美甲师唯一标识(主键,自增)' PRIMARY KEY,
@ -165,6 +164,7 @@ create table if not exists manicurist
salary DECIMAL(10, 2) comment '美甲师的基本薪资',
manStatus int DEFAULT 0 comment '美甲师状态 0 表示正常 1 表示禁用',
isDelete TINYINT DEFAULT 0 comment '逻辑删除标志0 表示未删除1 表示已删除',
auditStatus TINYINT DEFAULT 0 comment '审核状态0-待审核1-审核通过2-审核不通过',
createTime DATETIME DEFAULT CURRENT_TIMESTAMP not null comment '记录创建时间',
updateTime DATETIME DEFAULT CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '记录更新时间',
INDEX idx_userId (userId)

View File

@ -37,7 +37,7 @@ import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
import static com.cj.jiaqingjiayi.contant.UserConstant.USER_LOGIN_STATE;
@Api(tags = "支付宝接口")

View File

@ -8,13 +8,16 @@ import com.cj.jiaqingjiayi.common.ResultUtils;
import com.cj.jiaqingjiayi.exception.BusinessException;
import com.cj.jiaqingjiayi.exception.ThrowUtils;
import com.cj.jiaqingjiayi.model.domain.Cart;
import com.cj.jiaqingjiayi.model.domain.Commodities;
import com.cj.jiaqingjiayi.model.domain.User;
import com.cj.jiaqingjiayi.model.request.cart.CartAddRequest;
import com.cj.jiaqingjiayi.model.request.cart.CartDeleteRequest;
import com.cj.jiaqingjiayi.model.request.cart.CartQueryRequest;
import com.cj.jiaqingjiayi.model.request.cart.CartUpdateRequest;
import com.cj.jiaqingjiayi.model.vo.CartVO;
import com.cj.jiaqingjiayi.model.vo.CommoditiesVO;
import com.cj.jiaqingjiayi.service.CartService;
import com.cj.jiaqingjiayi.service.CommoditiesService;
import com.cj.jiaqingjiayi.service.UserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -45,6 +48,9 @@ public class CartController {
@Resource
private UserService userService;
@Resource
private CommoditiesService commoditiesService;
/**
* 添加进购物车
* @param cartAddRequest 添加请求
@ -54,7 +60,7 @@ public class CartController {
@ApiOperation(value = "添加购物车")
@PostMapping("/add")
@Transactional(rollbackFor = Exception.class)
public BaseResponse<Long> addCart (@RequestBody CartAddRequest cartAddRequest, HttpServletRequest request) {
public BaseResponse<CartVO> addCart (@RequestBody CartAddRequest cartAddRequest, HttpServletRequest request) {
if (cartAddRequest == null) {
throw new BusinessException(ErrorCode.PARAMS_ERROR);
}
@ -62,8 +68,16 @@ public class CartController {
//校验
cartService.validCart(cartAddRequest);
//添加商品到购物车
Long cart = cartService.addCart(cartAddRequest, request);
return ResultUtils.success(cart);
Cart cart = cartService.addCart(cartAddRequest, request);
CartVO cartVO = new CartVO();
BeanUtils.copyProperties(cart, cartVO);
Long commoditiesId = cartVO.getCommoditiesId();
Commodities commodities = commoditiesService.getById(commoditiesId);
List<CommoditiesVO> commoditiesList = new ArrayList<>();
CommoditiesVO commoditiesVO = commoditiesService.getCommoditiesVO(commodities);
commoditiesList.add(commoditiesVO);
cartVO.setCommoditiesVO(commoditiesList);
return ResultUtils.success(cartVO);
}
/**

View File

@ -214,6 +214,7 @@ public class CommoditiesController {
ThrowUtils.throwIf(id < 0, ErrorCode.NULL_ERROR);
Commodities byId = commoditiesService.getById(id);
CommoditiesVO commoditiesVO = commoditiesService.getCommoditiesVO(byId);
ThrowUtils.throwIf(commoditiesVO == null, ErrorCode.NULL_ERROR, "不存在该商品");
return ResultUtils.success(commoditiesVO);
}

View File

@ -1,6 +1,7 @@
package com.cj.jiaqingjiayi.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.cj.jiaqingjiayi.common.BaseResponse;
import com.cj.jiaqingjiayi.common.ErrorCode;
import com.cj.jiaqingjiayi.common.ResultUtils;
@ -11,6 +12,7 @@ import com.cj.jiaqingjiayi.model.request.manicurist.*;
import com.cj.jiaqingjiayi.model.vo.ManicuristVO;
import com.cj.jiaqingjiayi.service.ManicuristService;
import com.cj.jiaqingjiayi.service.UserService;
import com.cj.jiaqingjiayi.utils.BeanCopyUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@ -136,12 +138,15 @@ public class ManicuristController {
manicuristService.validManBus(manicuristUpdateRequest.getBusinessId());
}
BeanUtils.copyProperties(manicuristUpdateRequest, manicurist);
BeanCopyUtils.copyPropertiesIgnoreEmpty(manicuristUpdateRequest, manicurist);
//校验一下
manicuristService.validManicurist(manicurist, false);
boolean result = manicuristService.updateById(manicurist);
UpdateWrapper<Manicurist> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("id", manicurist.getId());
boolean result = manicuristService.update(manicurist,updateWrapper);
ThrowUtils.throwIf(!result, ErrorCode.OPERATION_ERROR);
return ResultUtils.success(true, "修改成功");
}

View File

@ -70,6 +70,11 @@ public class Manicurist implements Serializable {
*/
private BigDecimal salary;
/**
* 审核状态0-待审核1-审核通过2-审核不通过
*/
private Integer auditStatus;
/**
* 逻辑删除标志0 表示未删除1 表示已删除
*/

View File

@ -64,6 +64,11 @@ public class ManicuristUpdateRequest implements Serializable {
*/
private BigDecimal salary;
/**
* 审核状态0-待审核1-审核通过2-审核不通过
*/
private Integer auditStatus;
/**
* 美甲师头像的存储路径或链接
*/

View File

@ -1,11 +1,13 @@
package com.cj.jiaqingjiayi.model.vo;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cj.jiaqingjiayi.model.request.order.OrderItemsAddRequest;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* 购物车表
@ -49,6 +51,8 @@ public class CartVO implements Serializable {
*/
private String selectedOptions;
private List<CommoditiesVO> commoditiesVO;
@Serial
private static final long serialVersionUID = 1L;
}

View File

@ -20,7 +20,7 @@ public interface CartService extends IService<Cart> {
/**
* 添加商品
*/
Long addCart (CartAddRequest cartAddRequest, HttpServletRequest request);
Cart addCart (CartAddRequest cartAddRequest, HttpServletRequest request);
/**
* 更新购物车商品

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.cj.jiaqingjiayi.model.domain.*;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cj.jiaqingjiayi.model.request.manicurist.ManicuristQueryRequest;
import com.cj.jiaqingjiayi.model.request.manicurist.ManicuristUpdateRequest;
import com.cj.jiaqingjiayi.model.vo.ManicuristVO;
import java.util.List;
@ -37,6 +38,9 @@ public interface ManicuristService extends IService<Manicurist> {
//检验商家是否存在
void validManBus(Long businessId);
/**
* 删除美甲师
*/
void deleteMan(long id);
/**
@ -49,8 +53,8 @@ public interface ManicuristService extends IService<Manicurist> {
*/
List<ManicuristVO> getManicuristVO(List<Manicurist> manicuristList);
// /**
// * 获取查询条件
// */
// QueryWrapper<Manicurist> getQueryWrapper(ManicuristQueryRequest manicuristQueryRequest);
/**
* 获取查询条件
*/
QueryWrapper<Manicurist> getQueryWrapper(ManicuristUpdateRequest manicuristUpdateRequest);
}

View File

@ -71,13 +71,12 @@ public class CartServiceImpl extends ServiceImpl<CartMapper, Cart>
}
@Override
public Long addCart(CartAddRequest cartAddRequest, HttpServletRequest request) {
// System.out.println("request11111111111111111111111111111:" + request.getSession().getAttribute(USER_LOGIN_STATE));
public Cart addCart(CartAddRequest cartAddRequest, HttpServletRequest request) {
User loginUser = userService.getLoginUser(request);
// System.out.println("request22222222222222222222222:" + request.getSession().getAttribute(USER_LOGIN_STATE));
Long userId = loginUser.getId();
Long businessId = cartAddRequest.getBusinessId();
Long commoditiesId = cartAddRequest.getCommoditiesId();
Integer quantity = cartAddRequest.getQuantity();
//计算商品价格
Commodities commodities = commoditiesService.getById(commoditiesId);
BigDecimal price = new BigDecimal(String.valueOf(commodities.getCommoditiesPrice()));
@ -86,11 +85,11 @@ public class CartServiceImpl extends ServiceImpl<CartMapper, Cart>
cart.setBusinessId(businessId);
cart.setUserId(userId);
cart.setPrice(price);
cart.setQuantity(quantity);
cart.setCommoditiesId(commoditiesId);
boolean save = this.save(cart);
ThrowUtils.throwIf(!save, ErrorCode.OPERATION_ERROR);
return cart.getId();
return cart;
}
@Override
@ -104,7 +103,7 @@ public class CartServiceImpl extends ServiceImpl<CartMapper, Cart>
//检验该购物车是否为登录用户的
Cart cartId =this.getById(id);
Long cartUserId = cartId.getUserId();
if (userId.equals(cartUserId)) {
if (!userId.equals(cartUserId)) {
throw new BusinessException(ErrorCode.PARAMS_ERROR,"无法操作该购物车");
}
Commodities commodities = commoditiesService.getById(commoditiesId);

View File

@ -8,6 +8,7 @@ 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.ManicuristQueryRequest;
import com.cj.jiaqingjiayi.model.request.manicurist.ManicuristUpdateRequest;
import com.cj.jiaqingjiayi.model.vo.ManicuristVO;
import com.cj.jiaqingjiayi.service.*;
import com.cj.jiaqingjiayi.mapper.ManicuristMapper;
@ -83,7 +84,7 @@ public class ManicuristServiceImpl extends ServiceImpl<ManicuristMapper, Manicur
manicurist.setUserId(userId);
//更改用户权限为美甲师
loginUser.setUserRole(3);
// loginUser.setUserRole(3);
//往user表中补充美甲师信息
loginUser.setUsername(manicurist.getManicuristName());
@ -219,78 +220,58 @@ public class ManicuristServiceImpl extends ServiceImpl<ManicuristMapper, Manicur
return manicuristList.stream().map(this::getManicuristVO).collect(Collectors.toList());
}
// @Override
// public QueryWrapper<Manicurist> getQueryWrapper(ManicuristQueryRequest manicuristQueryRequest) {
// if (manicuristQueryRequest == null) {
// throw new BusinessException(ErrorCode.PARAMS_ERROR, "请求参数为空");
// }
//
//
// Long id = manicuristQueryRequest.getId();
// Long userId = manicuristQueryRequest.getUserId();
// Long businessId = manicuristQueryRequest.getBusinessId();
// String manicuristName = manicuristQueryRequest.getManicuristName();
// Integer gender = manicuristQueryRequest.getGender();
// String Phone = manicuristQueryRequest.getPhone();
// String email = manicuristQueryRequest.getEmail();
// Date employment_date = manicuristQueryRequest.getEmployment_date();
// String specialties = manicuristQueryRequest.getSpecialties();
// BigDecimal rating = manicuristQueryRequest.getRating();
// BigDecimal salary = manicuristQueryRequest.getSalary();
//
//
// QueryWrapper<Manicurist> queryWrapper = new QueryWrapper<>();
// if (ObjectUtils.isNotEmpty(id)) {
// queryWrapper.eq("id", id);
// }
//
// if (ObjectUtils.isNotEmpty(userId)) {
// queryWrapper.eq("userId", userId);
// }
//
// if (ObjectUtils.isNotEmpty(businessId)) {
// queryWrapper.eq("businessId", businessId);
// }
//
// if (ObjectUtils.isNotEmpty(manicuristName)) {
// queryWrapper.eq("manicuristName", manicuristName);
// }
//
// if (ObjectUtils.isNotEmpty(gender)) {
// queryWrapper.eq( "gender", gender);
// }
//
// if (ObjectUtils.isNotEmpty(Phone)) {
// queryWrapper.eq( "Phone", Phone);
// }
//
// if (ObjectUtils.isNotEmpty(email)) {
// queryWrapper.eq( "email", email);
// }
//
// if (ObjectUtils.isNotEmpty(employment_date)) {
// queryWrapper.like( "employment_date", employment_date);
// }
//
// if (ObjectUtils.isNotEmpty(specialties)) {
// queryWrapper.like( "specialties", specialties);
// }
//
// if (ObjectUtils.isNotEmpty(rating)) {
// queryWrapper.like( "rating", rating);
// }
//
// if (ObjectUtils.isNotEmpty(salary)) {
// queryWrapper.like( "salary", salary);
// }
//
// String sortField = manicuristQueryRequest.getSortField();
// String sortOrder = manicuristQueryRequest.getSortOrder();
// queryWrapper.orderBy(SqlUtils.validSortField(sortField), sortOrder.equals(CommonConstant.SORT_ORDER_ASC),
// sortField);
//
// return queryWrapper;
// }
@Override
public QueryWrapper<Manicurist> getQueryWrapper(ManicuristUpdateRequest manicuristUpdateRequest) {
if (manicuristUpdateRequest == null) {
throw new BusinessException(ErrorCode.PARAMS_ERROR, "请求参数为空");
}
Long businessId = manicuristUpdateRequest.getBusinessId();
String manicuristName = manicuristUpdateRequest.getManicuristName();
Integer gender = manicuristUpdateRequest.getGender();
String Phone = manicuristUpdateRequest.getPhone();
String email = manicuristUpdateRequest.getEmail();
Date employment_date = manicuristUpdateRequest.getEmployment_date();
String specialties = manicuristUpdateRequest.getSpecialties();
BigDecimal salary = manicuristUpdateRequest.getSalary();
QueryWrapper<Manicurist> queryWrapper = new QueryWrapper<>();
if (ObjectUtils.isNotEmpty(businessId)) {
queryWrapper.eq("businessId", businessId);
}
if (ObjectUtils.isNotEmpty(manicuristName)) {
queryWrapper.eq("manicuristName", manicuristName);
}
if (ObjectUtils.isNotEmpty(gender)) {
queryWrapper.eq( "gender", gender);
}
if (ObjectUtils.isNotEmpty(Phone)) {
queryWrapper.eq( "Phone", Phone);
}
if (ObjectUtils.isNotEmpty(email)) {
queryWrapper.eq( "email", email);
}
if (ObjectUtils.isNotEmpty(employment_date)) {
queryWrapper.like( "employment_date", employment_date);
}
if (ObjectUtils.isNotEmpty(specialties)) {
queryWrapper.like( "specialties", specialties);
}
if (ObjectUtils.isNotEmpty(salary)) {
queryWrapper.like( "salary", salary);
}
return queryWrapper;
}
}

View File

@ -181,7 +181,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User>
@Override
public User getLoginUser(HttpServletRequest request) {
Object userObj = request.getSession().getAttribute(USER_LOGIN_STATE);
System.out.println("request11111111111111111111111111111:" + request.getSession().getAttribute(USER_LOGIN_STATE));
User currentUser = (User) userObj;
if(currentUser == null){

View File

@ -20,6 +20,7 @@
<result property="createTime" column="createTime" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="updateTime" jdbcType="TIMESTAMP"/>
<result property="manicuristAvatar" column="manicuristAvatar" jdbcType="VARCHAR"/>
<result property="auditStatus" column="auditStatus" jdbcType="TINYINT"/>
</resultMap>
<sql id="Base_Column_List">
@ -27,6 +28,7 @@
gender,phone,email,
employment_date,specialties,rating,
salary,isDelete,createTime,
updateTime,manicuristAvatar,businessId
updateTime,manicuristAvatar,businessId,
auditStatus
</sql>
</mapper>