feat(新增): 更新购物车商品选中状态
Signed-off-by: bunny <1319900154@qq.com>
This commit is contained in:
parent
cd1b13900e
commit
1dc696935d
|
@ -43,9 +43,9 @@ public class CartController {
|
|||
|
||||
@Operation(summary = "更新购物车商品选中状态")
|
||||
@GetMapping("/auth/checkCart/{skuId}/{isChecked}")
|
||||
public Result checkCart(@Parameter(name = "skuId", description = "商品skuId", required = true) @PathVariable(value = "skuId") Long skuId,
|
||||
@Parameter(name = "isChecked", description = "是否选中 1:选中 0:取消选中", required = true) @PathVariable(value = "isChecked") Integer isChecked) {
|
||||
public Result<String> checkCart(@Parameter(name = "skuId", description = "商品skuId", required = true) @PathVariable(value = "skuId") Long skuId,
|
||||
@Parameter(name = "isChecked", description = "是否选中 1:选中 0:取消选中", required = true) @PathVariable(value = "isChecked") Integer isChecked) {
|
||||
cartService.checkCart(skuId, isChecked);
|
||||
return Result.build(null, ResultCodeEnum.SUCCESS);
|
||||
return Result.success();
|
||||
}
|
||||
}
|
|
@ -26,4 +26,12 @@ public interface CartService {
|
|||
* @param skuId 商品的ID值
|
||||
*/
|
||||
void deleteCart(Long skuId);
|
||||
|
||||
/**
|
||||
* 更新购物车商品选中状态
|
||||
*
|
||||
* @param skuId 商品的ID值
|
||||
* @param isChecked 是否选中
|
||||
*/
|
||||
void checkCart(Long skuId, Integer isChecked);
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@ import org.springframework.stereotype.Service;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
|
@ -103,4 +104,25 @@ public class CartServiceImpl implements CartService {
|
|||
// 获取缓存对象
|
||||
redisTemplate.opsForHash().delete(cartKey, String.valueOf(skuId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新购物车商品选中状态
|
||||
*
|
||||
* @param skuId 商品的ID值
|
||||
* @param isChecked 是否选中
|
||||
*/
|
||||
@Override
|
||||
public void checkCart(Long skuId, Integer isChecked) {
|
||||
// 获取当前登录的用户数据
|
||||
Long userId = BaseContext.getUserInfo().getId();
|
||||
String cartKey = userId.toString();
|
||||
|
||||
Boolean hasKey = redisTemplate.opsForHash().hasKey(cartKey, String.valueOf(skuId));
|
||||
if (hasKey) {
|
||||
String cartInfoJSON = Objects.requireNonNull(redisTemplate.opsForHash().get(cartKey, String.valueOf(skuId))).toString();
|
||||
CartInfo cartInfo = JSON.parseObject(cartInfoJSON, CartInfo.class);
|
||||
cartInfo.setIsChecked(isChecked);
|
||||
redisTemplate.opsForHash().put(cartKey, String.valueOf(skuId), JSON.toJSONString(cartInfo));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue