diff --git a/maku-server/src/main/java/net/maku/maku/controller/TBookCollectionController.java b/maku-server/src/main/java/net/maku/maku/controller/TBookCollectionController.java index ec9f3cb..c022383 100644 --- a/maku-server/src/main/java/net/maku/maku/controller/TBookCollectionController.java +++ b/maku-server/src/main/java/net/maku/maku/controller/TBookCollectionController.java @@ -113,14 +113,10 @@ public class TBookCollectionController { } Integer userId = entity.getId(); // 直接使用已经获取的用户信息 - - // Check if the book has already been collected by the user boolean isBookAlreadyCollected = tBookCollectionService.isBookAlreadyCollected(userId, bookId); if (isBookAlreadyCollected) { return Result.error("该书已经收藏过,不能重复收藏"); } - - // If not already collected, proceed with saving the collection record LocalDateTime currentTime = LocalDateTime.now(); ZoneId zoneId = ZoneId.systemDefault(); ZonedDateTime zdt = currentTime.atZone(zoneId); 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..8386ab0 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 @@ -41,31 +41,6 @@ import java.util.List; public class TShoppingTrolleyController { private final RedisCache redisCache; private final TShoppingTrolleyService tShoppingTrolleyService; - @GetMapping("/aaa") - public Result setshoppingtrolly(HttpServletRequest request, @RequestParam Integer bookId) { - // 首先验证token的有效性,然后从Redis中获取用户信息 - String token = request.getHeader("token"); - TUserEntity entity = (TUserEntity) redisCache.get(token); - if(ObjectUtils.isNull(entity)){ - throw new ServerException(ErrorCode.REFRESH_TOKEN_INVALID); - } - - - TUserEntity tUserEntity = (TUserEntity) redisCache.get(token); - Integer userId=tUserEntity.getId(); - LocalDateTime currentTime = LocalDateTime.now(); - ZoneId zoneId = ZoneId.systemDefault(); - - //DATE没有时区二localDateTime有时区,为了将 LocalDateTime 转换为 Date,你需要指定一个时区,因为 Date 是基于UTC的 - // 将LocalDateTime转换为ZonedDateTime,然后转换为Instant,最后转换为Date - ZonedDateTime zdt = currentTime.atZone(zoneId); - Date date = Date.from(zdt.toInstant()); - tShoppingTrolleyService.save(userId,bookId,date); - return Result.ok("加入购物车成功"); - - } - - @GetMapping("page") @Operation(summary = "分页") public Result> page(@ParameterObject @Valid TShoppingTrolleyQuery query){ @@ -112,8 +87,38 @@ 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("加入购物车成功"); } + @GetMapping("/myshop") + @Operation(summary = "我的购物车") + public Result> myshop(HttpServletRequest request){ + 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(); + List list = tShoppingTrolleyService.myshop(userId); + return Result.ok(list); + } + @DeleteMapping("/clean") + @Operation(summary = "清空购物车") + public Result clean(HttpServletRequest request){ + 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.clean(userId); + return Result.ok("清空购物车成功"); + } } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/entity/TBookCommentEntity.java b/maku-server/src/main/java/net/maku/maku/entity/TBookCommentEntity.java index df2d490..154e04f 100644 --- a/maku-server/src/main/java/net/maku/maku/entity/TBookCommentEntity.java +++ b/maku-server/src/main/java/net/maku/maku/entity/TBookCommentEntity.java @@ -11,7 +11,6 @@ import java.util.Date; * @author 阿沐 babamu@126.com * @since 1.0.0 2024-07-16 */ - @Data @TableName("t_book_comment") public class TBookCommentEntity { @@ -24,8 +23,6 @@ public class TBookCommentEntity { private String comment; - private Integer parentId; - private Date createTime; private Date updateTime; 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..3545aef 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,9 @@ public interface TShoppingTrolleyService extends BaseService myshop(Integer userId); + + void clean(Integer userId); } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/service/impl/TBookCollectionServiceImpl.java b/maku-server/src/main/java/net/maku/maku/service/impl/TBookCollectionServiceImpl.java index 79b7856..2c8b940 100644 --- a/maku-server/src/main/java/net/maku/maku/service/impl/TBookCollectionServiceImpl.java +++ b/maku-server/src/main/java/net/maku/maku/service/impl/TBookCollectionServiceImpl.java @@ -71,6 +71,7 @@ public class TBookCollectionServiceImpl extends BaseServiceImpl wrapper = Wrappers.lambdaQuery(); wrapper.eq(TBookCollectionEntity::getBookId, bookId); wrapper.eq(TBookCollectionEntity::getUserId, userId); - return baseMapper.selectOne(wrapper); } @Override @@ -88,6 +88,7 @@ public class TBookCollectionServiceImpl extends BaseServiceImpl wrapper = Wrappers.lambdaQuery(); wrapper.eq(TBookCollectionEntity::getBookId, bookId); wrapper.eq(TBookCollectionEntity::getUserId, userId); + wrapper.eq(TBookCollectionEntity::getStatus, 1); return baseMapper.selectCount(wrapper) > 0; } } diff --git a/maku-server/src/main/java/net/maku/maku/service/impl/TShoppingTrolleyServiceImpl.java b/maku-server/src/main/java/net/maku/maku/service/impl/TShoppingTrolleyServiceImpl.java index 48d085e..0cf42f8 100644 --- a/maku-server/src/main/java/net/maku/maku/service/impl/TShoppingTrolleyServiceImpl.java +++ b/maku-server/src/main/java/net/maku/maku/service/impl/TShoppingTrolleyServiceImpl.java @@ -79,29 +79,49 @@ public class TShoppingTrolleyServiceImpl extends BaseServiceImpl 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; } + @Override + public List myshop(Integer userId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(TShoppingTrolleyEntity::getUserId, userId); + return baseMapper.selectList(queryWrapper); + } + + @Override + public void clean(Integer userId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(TShoppingTrolleyEntity::getUserId, userId); + baseMapper.delete(queryWrapper); + } +} + + + diff --git a/maku-server/src/main/java/net/maku/maku/vo/TBookCommentVO.java b/maku-server/src/main/java/net/maku/maku/vo/TBookCommentVO.java index d7f5b48..26af911 100644 --- a/maku-server/src/main/java/net/maku/maku/vo/TBookCommentVO.java +++ b/maku-server/src/main/java/net/maku/maku/vo/TBookCommentVO.java @@ -26,8 +26,6 @@ public class TBookCommentVO implements Serializable { private String comment; - private Integer parentId; - @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN) private Date createTime;