Merge branch 'master' of http://47.96.1.176:3000/work/book-api
This commit is contained in:
commit
06f3fc385c
|
@ -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);
|
||||
|
|
|
@ -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<PageResult<TShoppingTrolleyVO>> page(@ParameterObject @Valid TShoppingTrolleyQuery query){
|
||||
|
@ -112,8 +87,38 @@ 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("加入购物车成功");
|
||||
}
|
||||
@GetMapping("/myshop")
|
||||
@Operation(summary = "我的购物车")
|
||||
public Result<List<TShoppingTrolleyEntity>> 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<TShoppingTrolleyEntity> list = tShoppingTrolleyService.myshop(userId);
|
||||
return Result.ok(list);
|
||||
}
|
||||
@DeleteMapping("/clean")
|
||||
@Operation(summary = "清空购物车")
|
||||
public Result<String> 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("清空购物车成功");
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
|
|
|
@ -28,5 +28,9 @@ public interface TShoppingTrolleyService extends BaseService<TShoppingTrolleyEnt
|
|||
void save(Integer userId, Integer bookId, Date date);
|
||||
|
||||
|
||||
TShoppingTrolleyEntity add(TShoppingTrolleyEntity entity);
|
||||
TShoppingTrolleyEntity add(Integer userId, Integer bookId);
|
||||
|
||||
List<TShoppingTrolleyEntity> myshop(Integer userId);
|
||||
|
||||
void clean(Integer userId);
|
||||
}
|
|
@ -71,6 +71,7 @@ public class TBookCollectionServiceImpl extends BaseServiceImpl<TBookCollectionD
|
|||
entity.setUserId(userId);
|
||||
entity.setBookId(bookId);
|
||||
entity.setCreateTime(currentTime);
|
||||
entity.setStatus(1);
|
||||
this.save(entity);
|
||||
|
||||
}
|
||||
|
@ -80,7 +81,6 @@ public class TBookCollectionServiceImpl extends BaseServiceImpl<TBookCollectionD
|
|||
LambdaQueryWrapper<TBookCollectionEntity> 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<TBookCollectionD
|
|||
LambdaQueryWrapper<TBookCollectionEntity> wrapper = Wrappers.lambdaQuery();
|
||||
wrapper.eq(TBookCollectionEntity::getBookId, bookId);
|
||||
wrapper.eq(TBookCollectionEntity::getUserId, userId);
|
||||
wrapper.eq(TBookCollectionEntity::getStatus, 1);
|
||||
return baseMapper.selectCount(wrapper) > 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -79,29 +79,49 @@ 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;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TShoppingTrolleyEntity> myshop(Integer userId) {
|
||||
LambdaQueryWrapper<TShoppingTrolleyEntity> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(TShoppingTrolleyEntity::getUserId, userId);
|
||||
return baseMapper.selectList(queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clean(Integer userId) {
|
||||
LambdaQueryWrapper<TShoppingTrolleyEntity> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(TShoppingTrolleyEntity::getUserId, userId);
|
||||
baseMapper.delete(queryWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -26,8 +26,6 @@ public class TBookCommentVO implements Serializable {
|
|||
|
||||
private String comment;
|
||||
|
||||
private Integer parentId;
|
||||
|
||||
@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
|
||||
private Date createTime;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user