diff --git a/maku-server/src/main/java/net/maku/maku/controller/TShoppingTrolleyController.java b/maku-server/src/main/java/net/maku/maku/controller/TShoppingTrolleyController.java index 65f0753..d5534a7 100644 --- a/maku-server/src/main/java/net/maku/maku/controller/TShoppingTrolleyController.java +++ b/maku-server/src/main/java/net/maku/maku/controller/TShoppingTrolleyController.java @@ -112,8 +112,14 @@ public class TShoppingTrolleyController { } @PostMapping("/add") @Operation(summary = "添加购物车") - public Result add(@RequestBody TShoppingTrolleyEntity entity){ - tShoppingTrolleyService.add(entity); + public Result 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("加入购物车成功"); } } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/service/TShoppingTrolleyService.java b/maku-server/src/main/java/net/maku/maku/service/TShoppingTrolleyService.java index 012b86c..1c4f6d0 100644 --- a/maku-server/src/main/java/net/maku/maku/service/TShoppingTrolleyService.java +++ b/maku-server/src/main/java/net/maku/maku/service/TShoppingTrolleyService.java @@ -28,5 +28,5 @@ public interface TShoppingTrolleyService extends BaseService 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; } - } +} + +