修改购物车功能

This commit is contained in:
zhao 2024-07-23 14:20:18 +08:00
parent b250a8a8d3
commit 3982a2c930
3 changed files with 27 additions and 15 deletions

View File

@ -112,8 +112,14 @@ public class TShoppingTrolleyController {
}
@PostMapping("/add")
@Operation(summary = "添加购物车")
public Result<String> add(@RequestBody TShoppingTrolleyEntity entity){
tShoppingTrolleyService.add(entity);
public Result<String> add(HttpServletRequest request, @RequestParam Integer bookId){
String token = request.getHeader("token");
TUserEntity user = (TUserEntity) redisCache.get(token);
if(ObjectUtils.isNull(user)){
throw new ServerException(ErrorCode.REFRESH_TOKEN_INVALID);
}
Integer userId=user.getId();
tShoppingTrolleyService.add(userId,bookId);
return Result.ok("加入购物车成功");
}
}

View File

@ -28,5 +28,5 @@ public interface TShoppingTrolleyService extends BaseService<TShoppingTrolleyEnt
void save(Integer userId, Integer bookId, Date date);
TShoppingTrolleyEntity add(TShoppingTrolleyEntity entity);
TShoppingTrolleyEntity add(Integer userId, Integer bookId);
}

View File

@ -79,28 +79,34 @@ public class TShoppingTrolleyServiceImpl extends BaseServiceImpl<TShoppingTrolle
}
@Override
public TShoppingTrolleyEntity add(TShoppingTrolleyEntity entity) {
public TShoppingTrolleyEntity add(Integer userId, Integer bookId) {
LambdaQueryWrapper<TShoppingTrolleyEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(TShoppingTrolleyEntity::getUserId, entity.getUserId());
queryWrapper.eq(TShoppingTrolleyEntity::getUserId, userId);
queryWrapper.eq(TShoppingTrolleyEntity::getBookId, bookId);
TShoppingTrolleyEntity existingEntity = baseMapper.selectOne(queryWrapper);
if (existingEntity != null) {
// 如果购物车中已存在该记录则增加数量
Integer number = existingEntity.getNumber();
if (number != null) {
existingEntity.setNumber(number + 1);
} else {
existingEntity.setNumber(1);
}
//为空+1不为空为1
existingEntity.setNumber(number != null ? number + 1 : 1);
baseMapper.updateById(existingEntity);
return existingEntity;
} else {
// 如果购物车中不存在该记录则创建新记录
TShoppingTrolleyEntity newEntity = new TShoppingTrolleyEntity();
newEntity.setUserId(entity.getUserId());
newEntity.setNumber(1);
newEntity.setUserId(userId);
newEntity.setBookId(bookId);
newEntity.setNumber(1); // 初始数量为1
baseMapper.insert(newEntity);
return newEntity;
existingEntity = newEntity; // 返回新创建的实体
}
return existingEntity;
}
}
}