From 3982a2c9309ea993907483a5e50a87e4b867b49a Mon Sep 17 00:00:00 2001 From: zhao <2796247050@qq.com> Date: Tue, 23 Jul 2024 14:20:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B4=AD=E7=89=A9=E8=BD=A6?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TShoppingTrolleyController.java | 10 ++++++-- .../maku/maku/service/TShoppingTrolleyService.java | 2 +- .../service/impl/TShoppingTrolleyServiceImpl.java | 30 +++++++++++++--------- 3 files changed, 27 insertions(+), 15 deletions(-) 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; } - } +} + +