查看购物车和清空购物车功能

This commit is contained in:
zhao 2024-07-23 15:50:02 +08:00
parent 7571d13450
commit 39c69b53b9
3 changed files with 42 additions and 25 deletions

View File

@ -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){
@ -122,4 +97,28 @@ public class TShoppingTrolleyController {
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("清空购物车成功");
}
}

View File

@ -29,4 +29,8 @@ public interface TShoppingTrolleyService extends BaseService<TShoppingTrolleyEnt
TShoppingTrolleyEntity add(Integer userId, Integer bookId);
List<TShoppingTrolleyEntity> myshop(Integer userId);
void clean(Integer userId);
}

View File

@ -104,6 +104,20 @@ public class TShoppingTrolleyServiceImpl extends BaseServiceImpl<TShoppingTrolle
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);
}
}