更新了商品类别
This commit is contained in:
parent
562ac2af62
commit
f951a9b652
src
main/java/com/cultural/heritage
controller/order
service/good
test/java/com/cultural/heritage/test
|
@ -76,7 +76,7 @@ public class OrderController {
|
||||||
*/
|
*/
|
||||||
@PostMapping("/add/cart")
|
@PostMapping("/add/cart")
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Operation(summary = "用户通过购物车创建订单", description = "参数:")
|
@Operation(summary = "用户通过购物车创建订单", description = "参数:购物车订单创建请求体,权限:所有人,方法名:addCartOrder")
|
||||||
public BaseResponse<Long> addCartOrder(@RequestBody CartOrderAddRequest cartOrderAddRequest, HttpServletRequest request) {
|
public BaseResponse<Long> addCartOrder(@RequestBody CartOrderAddRequest cartOrderAddRequest, HttpServletRequest request) {
|
||||||
if (cartOrderAddRequest == null) {
|
if (cartOrderAddRequest == null) {
|
||||||
throw new BusinessException(ErrorCode.PARAMS_ERROR);
|
throw new BusinessException(ErrorCode.PARAMS_ERROR);
|
||||||
|
@ -86,15 +86,14 @@ public class OrderController {
|
||||||
Long userId = loginUser.getId();
|
Long userId = loginUser.getId();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 封装成订单创建请求体
|
// 封装成订单创建请求体
|
||||||
OrderMainInfoAddRequest orderMainInfoAddRequest = new OrderMainInfoAddRequest();
|
OrderMainInfoAddRequest orderMainInfoAddRequest = new OrderMainInfoAddRequest();
|
||||||
BeanUtils.copyProperties(cartOrderAddRequest, orderMainInfoAddRequest);
|
BeanUtils.copyProperties(cartOrderAddRequest, orderMainInfoAddRequest);
|
||||||
|
|
||||||
// 校验购物车数据是否准确
|
// 校验购物车数据是否准确
|
||||||
List<CartOrderItemAddRequest> cartOrderItemAddRequestList = cartOrderAddRequest.getCartOrderItemAddRequestList();
|
List<CartOrderItemAddRequest> cartOrderItemAddRequestList = cartOrderAddRequest.getCartOrderItemAddRequestList();
|
||||||
|
boolean isAccurate = cartRecordService.validIsConsistent(cartOrderItemAddRequestList);
|
||||||
|
ThrowUtils.throwIf(!isAccurate, ErrorCode.SYSTEM_ERROR, "当前购物车中的某些商品已下架或者库存不足,无法生成订单");
|
||||||
// 获取购物车id列表
|
// 获取购物车id列表
|
||||||
List<Long> cartIds = cartOrderItemAddRequestList.stream().map(CartOrderItemAddRequest::getCartRecordId).toList();
|
List<Long> cartIds = cartOrderItemAddRequestList.stream().map(CartOrderItemAddRequest::getCartRecordId).toList();
|
||||||
// 根据id列表获取购物车商品信息
|
// 根据id列表获取购物车商品信息
|
||||||
|
|
|
@ -31,7 +31,7 @@ public interface CartRecordService extends IService<CartRecord> {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据购物车订单明细列表校验购物车商品项的准确性
|
* 在提交订单页校验购物车商品项的准确性
|
||||||
*/
|
*/
|
||||||
boolean validIsConsistent(List<CartOrderItemAddRequest> cartOrderItemAddRequestList);
|
boolean validIsConsistent(List<CartOrderItemAddRequest> cartOrderItemAddRequestList);
|
||||||
|
|
||||||
|
|
|
@ -175,11 +175,30 @@ public class CartRecordServiceImpl extends ServiceImpl<CartRecordMapper, CartRec
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据购物车订单明细列表校验购物车商品项的准确性
|
* 在提交订单页校验购物车商品项的准确性
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean validIsConsistent(List<CartOrderItemAddRequest> cartOrderItemAddRequestList) {
|
public boolean validIsConsistent(List<CartOrderItemAddRequest> cartOrderItemAddRequestList) {
|
||||||
return false;
|
|
||||||
|
// 封装map集合(键:购物车id, 值:购买数量)
|
||||||
|
Map<Long, Integer> map = new HashMap<>();
|
||||||
|
for (CartOrderItemAddRequest cartOrderItemAddRequest : cartOrderItemAddRequestList) {
|
||||||
|
Long cartRecordId = cartOrderItemAddRequest.getCartRecordId();
|
||||||
|
Integer quantity = cartOrderItemAddRequest.getQuantity();
|
||||||
|
map.put(cartRecordId, quantity);
|
||||||
|
}
|
||||||
|
// 修改购物车商品项的购买数量
|
||||||
|
List<Long> cartRecordIds = cartOrderItemAddRequestList.stream().map(CartOrderItemAddRequest::getCartRecordId).toList();
|
||||||
|
QueryWrapper<CartRecord> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.in("id", cartRecordIds);
|
||||||
|
List<CartRecord> cartRecordList = this.list(queryWrapper);
|
||||||
|
for (CartRecord cartRecord : cartRecordList) {
|
||||||
|
Long id = cartRecord.getId();
|
||||||
|
Integer quantity = map.get(id);
|
||||||
|
cartRecord.setQuantity(quantity);
|
||||||
|
}
|
||||||
|
List<Long> cartIds = getInvalidCartIds(cartRecordList);
|
||||||
|
return cartIds.isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
package com.cultural.heritage.test;
|
package com.cultural.heritage.test;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class A {
|
public class A {
|
||||||
|
|
||||||
public Long num = 10L;
|
public static void main(String[] args) {
|
||||||
|
List<String> list = new ArrayList<>();
|
||||||
|
System.out.println(list.isEmpty());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user