修改购物车功能

This commit is contained in:
zhao 2024-07-23 14:20:18 +08:00
parent b250a8a8d3
commit 3982a2c930
3 changed files with 27 additions and 15 deletions

View File

@ -112,8 +112,14 @@ public class TShoppingTrolleyController {
} }
@PostMapping("/add") @PostMapping("/add")
@Operation(summary = "添加购物车") @Operation(summary = "添加购物车")
public Result<String> add(@RequestBody TShoppingTrolleyEntity entity){ public Result<String> add(HttpServletRequest request, @RequestParam Integer bookId){
tShoppingTrolleyService.add(entity); 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("加入购物车成功"); return Result.ok("加入购物车成功");
} }
} }

View File

@ -28,5 +28,5 @@ public interface TShoppingTrolleyService extends BaseService<TShoppingTrolleyEnt
void save(Integer userId, Integer bookId, Date date); void save(Integer userId, Integer bookId, Date date);
TShoppingTrolleyEntity add(TShoppingTrolleyEntity entity); TShoppingTrolleyEntity add(Integer userId, Integer bookId);
} }

View File

@ -79,28 +79,34 @@ public class TShoppingTrolleyServiceImpl extends BaseServiceImpl<TShoppingTrolle
} }
@Override @Override
public TShoppingTrolleyEntity add(TShoppingTrolleyEntity entity) { public TShoppingTrolleyEntity add(Integer userId, Integer bookId) {
LambdaQueryWrapper<TShoppingTrolleyEntity> queryWrapper = new LambdaQueryWrapper<>(); 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); TShoppingTrolleyEntity existingEntity = baseMapper.selectOne(queryWrapper);
if (existingEntity != null) { if (existingEntity != null) {
// 如果购物车中已存在该记录则增加数量
Integer number = existingEntity.getNumber(); Integer number = existingEntity.getNumber();
if (number != null) { //为空+1不为空为1
existingEntity.setNumber(number + 1); existingEntity.setNumber(number != null ? number + 1 : 1);
} else {
existingEntity.setNumber(1);
}
baseMapper.updateById(existingEntity); baseMapper.updateById(existingEntity);
return existingEntity;
} else { } else {
// 如果购物车中不存在该记录则创建新记录
TShoppingTrolleyEntity newEntity = new TShoppingTrolleyEntity(); TShoppingTrolleyEntity newEntity = new TShoppingTrolleyEntity();
newEntity.setUserId(entity.getUserId()); newEntity.setUserId(userId);
newEntity.setNumber(1); newEntity.setBookId(bookId);
newEntity.setNumber(1); // 初始数量为1
baseMapper.insert(newEntity); baseMapper.insert(newEntity);
return newEntity; existingEntity = newEntity; // 返回新创建的实体
} }
return existingEntity;
} }
} }