增加美甲师认证审核逻辑

修改了管理员修改美甲师信息时空字符串会覆盖原来信息的问题
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) index idx_businessId (businessId)
) comment '购物车表' collate = utf8mb4_unicode_ci; ) comment '购物车表' collate = utf8mb4_unicode_ci;
-- 美甲师表
create table if not exists manicurist create table if not exists manicurist
( (
id BIGINT AUTO_INCREMENT COMMENT '美甲师唯一标识(主键,自增)' PRIMARY KEY, id BIGINT AUTO_INCREMENT COMMENT '美甲师唯一标识(主键,自增)' PRIMARY KEY,
@ -165,6 +164,7 @@ create table if not exists manicurist
salary DECIMAL(10, 2) comment '美甲师的基本薪资', salary DECIMAL(10, 2) comment '美甲师的基本薪资',
manStatus int DEFAULT 0 comment '美甲师状态 0 表示正常 1 表示禁用', manStatus int DEFAULT 0 comment '美甲师状态 0 表示正常 1 表示禁用',
isDelete TINYINT 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 '记录创建时间', createTime DATETIME DEFAULT CURRENT_TIMESTAMP not null comment '记录创建时间',
updateTime DATETIME DEFAULT CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '记录更新时间', updateTime DATETIME DEFAULT CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '记录更新时间',
INDEX idx_userId (userId) INDEX idx_userId (userId)

View File

@ -37,7 +37,7 @@ import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.util.*; import java.util.*;
import static com.cj.jiaqingjiayi.contant.UserConstant.USER_LOGIN_STATE;
@Api(tags = "支付宝接口") @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.BusinessException;
import com.cj.jiaqingjiayi.exception.ThrowUtils; import com.cj.jiaqingjiayi.exception.ThrowUtils;
import com.cj.jiaqingjiayi.model.domain.Cart; 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.domain.User;
import com.cj.jiaqingjiayi.model.request.cart.CartAddRequest; import com.cj.jiaqingjiayi.model.request.cart.CartAddRequest;
import com.cj.jiaqingjiayi.model.request.cart.CartDeleteRequest; import com.cj.jiaqingjiayi.model.request.cart.CartDeleteRequest;
import com.cj.jiaqingjiayi.model.request.cart.CartQueryRequest; import com.cj.jiaqingjiayi.model.request.cart.CartQueryRequest;
import com.cj.jiaqingjiayi.model.request.cart.CartUpdateRequest; import com.cj.jiaqingjiayi.model.request.cart.CartUpdateRequest;
import com.cj.jiaqingjiayi.model.vo.CartVO; 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.CartService;
import com.cj.jiaqingjiayi.service.CommoditiesService;
import com.cj.jiaqingjiayi.service.UserService; import com.cj.jiaqingjiayi.service.UserService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -45,6 +48,9 @@ public class CartController {
@Resource @Resource
private UserService userService; private UserService userService;
@Resource
private CommoditiesService commoditiesService;
/** /**
* 添加进购物车 * 添加进购物车
* @param cartAddRequest 添加请求 * @param cartAddRequest 添加请求
@ -54,7 +60,7 @@ public class CartController {
@ApiOperation(value = "添加购物车") @ApiOperation(value = "添加购物车")
@PostMapping("/add") @PostMapping("/add")
@Transactional(rollbackFor = Exception.class) @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) { if (cartAddRequest == null) {
throw new BusinessException(ErrorCode.PARAMS_ERROR); throw new BusinessException(ErrorCode.PARAMS_ERROR);
} }
@ -62,8 +68,16 @@ public class CartController {
//校验 //校验
cartService.validCart(cartAddRequest); cartService.validCart(cartAddRequest);
//添加商品到购物车 //添加商品到购物车
Long cart = cartService.addCart(cartAddRequest, request); Cart cart = cartService.addCart(cartAddRequest, request);
return ResultUtils.success(cart); 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); ThrowUtils.throwIf(id < 0, ErrorCode.NULL_ERROR);
Commodities byId = commoditiesService.getById(id); Commodities byId = commoditiesService.getById(id);
CommoditiesVO commoditiesVO = commoditiesService.getCommoditiesVO(byId); CommoditiesVO commoditiesVO = commoditiesService.getCommoditiesVO(byId);
ThrowUtils.throwIf(commoditiesVO == null, ErrorCode.NULL_ERROR, "不存在该商品");
return ResultUtils.success(commoditiesVO); return ResultUtils.success(commoditiesVO);
} }

View File

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

View File

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

View File

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

View File

@ -1,11 +1,13 @@
package com.cj.jiaqingjiayi.model.vo; package com.cj.jiaqingjiayi.model.vo;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.cj.jiaqingjiayi.model.request.order.OrderItemsAddRequest;
import lombok.Data; import lombok.Data;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List;
/** /**
* 购物车表 * 购物车表
@ -49,6 +51,8 @@ public class CartVO implements Serializable {
*/ */
private String selectedOptions; private String selectedOptions;
private List<CommoditiesVO> commoditiesVO;
@Serial @Serial
private static final long serialVersionUID = 1L; 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.cj.jiaqingjiayi.model.domain.*;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.cj.jiaqingjiayi.model.request.manicurist.ManicuristQueryRequest; 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.model.vo.ManicuristVO;
import java.util.List; import java.util.List;
@ -37,6 +38,9 @@ public interface ManicuristService extends IService<Manicurist> {
//检验商家是否存在 //检验商家是否存在
void validManBus(Long businessId); void validManBus(Long businessId);
/**
* 删除美甲师
*/
void deleteMan(long id); void deleteMan(long id);
/** /**
@ -49,8 +53,8 @@ public interface ManicuristService extends IService<Manicurist> {
*/ */
List<ManicuristVO> getManicuristVO(List<Manicurist> manicuristList); 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 @Override
public Long addCart(CartAddRequest cartAddRequest, HttpServletRequest request) { public Cart addCart(CartAddRequest cartAddRequest, HttpServletRequest request) {
// System.out.println("request11111111111111111111111111111:" + request.getSession().getAttribute(USER_LOGIN_STATE));
User loginUser = userService.getLoginUser(request); User loginUser = userService.getLoginUser(request);
// System.out.println("request22222222222222222222222:" + request.getSession().getAttribute(USER_LOGIN_STATE));
Long userId = loginUser.getId(); Long userId = loginUser.getId();
Long businessId = cartAddRequest.getBusinessId(); Long businessId = cartAddRequest.getBusinessId();
Long commoditiesId = cartAddRequest.getCommoditiesId(); Long commoditiesId = cartAddRequest.getCommoditiesId();
Integer quantity = cartAddRequest.getQuantity();
//计算商品价格 //计算商品价格
Commodities commodities = commoditiesService.getById(commoditiesId); Commodities commodities = commoditiesService.getById(commoditiesId);
BigDecimal price = new BigDecimal(String.valueOf(commodities.getCommoditiesPrice())); BigDecimal price = new BigDecimal(String.valueOf(commodities.getCommoditiesPrice()));
@ -86,11 +85,11 @@ public class CartServiceImpl extends ServiceImpl<CartMapper, Cart>
cart.setBusinessId(businessId); cart.setBusinessId(businessId);
cart.setUserId(userId); cart.setUserId(userId);
cart.setPrice(price); cart.setPrice(price);
cart.setQuantity(quantity);
cart.setCommoditiesId(commoditiesId); cart.setCommoditiesId(commoditiesId);
boolean save = this.save(cart); boolean save = this.save(cart);
ThrowUtils.throwIf(!save, ErrorCode.OPERATION_ERROR); ThrowUtils.throwIf(!save, ErrorCode.OPERATION_ERROR);
return cart;
return cart.getId();
} }
@Override @Override
@ -104,7 +103,7 @@ public class CartServiceImpl extends ServiceImpl<CartMapper, Cart>
//检验该购物车是否为登录用户的 //检验该购物车是否为登录用户的
Cart cartId =this.getById(id); Cart cartId =this.getById(id);
Long cartUserId = cartId.getUserId(); Long cartUserId = cartId.getUserId();
if (userId.equals(cartUserId)) { if (!userId.equals(cartUserId)) {
throw new BusinessException(ErrorCode.PARAMS_ERROR,"无法操作该购物车"); throw new BusinessException(ErrorCode.PARAMS_ERROR,"无法操作该购物车");
} }
Commodities commodities = commoditiesService.getById(commoditiesId); 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.exception.ThrowUtils;
import com.cj.jiaqingjiayi.model.domain.*; import com.cj.jiaqingjiayi.model.domain.*;
import com.cj.jiaqingjiayi.model.request.manicurist.ManicuristQueryRequest; 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.model.vo.ManicuristVO;
import com.cj.jiaqingjiayi.service.*; import com.cj.jiaqingjiayi.service.*;
import com.cj.jiaqingjiayi.mapper.ManicuristMapper; import com.cj.jiaqingjiayi.mapper.ManicuristMapper;
@ -83,7 +84,7 @@ public class ManicuristServiceImpl extends ServiceImpl<ManicuristMapper, Manicur
manicurist.setUserId(userId); manicurist.setUserId(userId);
//更改用户权限为美甲师 //更改用户权限为美甲师
loginUser.setUserRole(3); // loginUser.setUserRole(3);
//往user表中补充美甲师信息 //往user表中补充美甲师信息
loginUser.setUsername(manicurist.getManicuristName()); loginUser.setUsername(manicurist.getManicuristName());
@ -219,78 +220,58 @@ public class ManicuristServiceImpl extends ServiceImpl<ManicuristMapper, Manicur
return manicuristList.stream().map(this::getManicuristVO).collect(Collectors.toList()); return manicuristList.stream().map(this::getManicuristVO).collect(Collectors.toList());
} }
// @Override @Override
// public QueryWrapper<Manicurist> getQueryWrapper(ManicuristQueryRequest manicuristQueryRequest) { public QueryWrapper<Manicurist> getQueryWrapper(ManicuristUpdateRequest manicuristUpdateRequest) {
// if (manicuristQueryRequest == null) { if (manicuristUpdateRequest == null) {
// throw new BusinessException(ErrorCode.PARAMS_ERROR, "请求参数为空"); throw new BusinessException(ErrorCode.PARAMS_ERROR, "请求参数为空");
// } }
//
// Long businessId = manicuristUpdateRequest.getBusinessId();
// Long id = manicuristQueryRequest.getId(); String manicuristName = manicuristUpdateRequest.getManicuristName();
// Long userId = manicuristQueryRequest.getUserId(); Integer gender = manicuristUpdateRequest.getGender();
// Long businessId = manicuristQueryRequest.getBusinessId(); String Phone = manicuristUpdateRequest.getPhone();
// String manicuristName = manicuristQueryRequest.getManicuristName(); String email = manicuristUpdateRequest.getEmail();
// Integer gender = manicuristQueryRequest.getGender(); Date employment_date = manicuristUpdateRequest.getEmployment_date();
// String Phone = manicuristQueryRequest.getPhone(); String specialties = manicuristUpdateRequest.getSpecialties();
// String email = manicuristQueryRequest.getEmail(); BigDecimal salary = manicuristUpdateRequest.getSalary();
// Date employment_date = manicuristQueryRequest.getEmployment_date();
// String specialties = manicuristQueryRequest.getSpecialties();
// BigDecimal rating = manicuristQueryRequest.getRating(); QueryWrapper<Manicurist> queryWrapper = new QueryWrapper<>();
// BigDecimal salary = manicuristQueryRequest.getSalary();
// if (ObjectUtils.isNotEmpty(businessId)) {
// queryWrapper.eq("businessId", businessId);
// QueryWrapper<Manicurist> queryWrapper = new QueryWrapper<>(); }
// if (ObjectUtils.isNotEmpty(id)) {
// queryWrapper.eq("id", id); if (ObjectUtils.isNotEmpty(manicuristName)) {
// } queryWrapper.eq("manicuristName", manicuristName);
// }
// if (ObjectUtils.isNotEmpty(userId)) {
// queryWrapper.eq("userId", userId); if (ObjectUtils.isNotEmpty(gender)) {
// } queryWrapper.eq( "gender", gender);
// }
// if (ObjectUtils.isNotEmpty(businessId)) {
// queryWrapper.eq("businessId", businessId); if (ObjectUtils.isNotEmpty(Phone)) {
// } queryWrapper.eq( "Phone", Phone);
// }
// if (ObjectUtils.isNotEmpty(manicuristName)) {
// queryWrapper.eq("manicuristName", manicuristName); if (ObjectUtils.isNotEmpty(email)) {
// } queryWrapper.eq( "email", email);
// }
// if (ObjectUtils.isNotEmpty(gender)) {
// queryWrapper.eq( "gender", gender); if (ObjectUtils.isNotEmpty(employment_date)) {
// } queryWrapper.like( "employment_date", employment_date);
// }
// if (ObjectUtils.isNotEmpty(Phone)) {
// queryWrapper.eq( "Phone", Phone); if (ObjectUtils.isNotEmpty(specialties)) {
// } queryWrapper.like( "specialties", specialties);
// }
// if (ObjectUtils.isNotEmpty(email)) {
// queryWrapper.eq( "email", email); if (ObjectUtils.isNotEmpty(salary)) {
// } queryWrapper.like( "salary", salary);
// }
// if (ObjectUtils.isNotEmpty(employment_date)) {
// queryWrapper.like( "employment_date", employment_date); return queryWrapper;
// } }
//
// 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;
// }
} }

View File

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

View File

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