|
@@ -394,4 +394,129 @@ class CartsApiServiceImpl implements CartsServiceI {
|
|
|
|
|
|
|
|
return new CartsListResponse(cartsResponseList, sum.toPlainString());
|
|
return new CartsListResponse(cartsResponseList, sum.toPlainString());
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public CartsListResponse addCnt(UserContext userContext, CartsRequest request) {
|
|
|
|
|
+
|
|
|
|
|
+ SysUser currentUser = userContext.getCurrentUser();
|
|
|
|
|
+ Long userId = currentUser.getUserId();
|
|
|
|
|
+
|
|
|
|
|
+ Carts updCarts = cartsMapper.selectCartsById(request.getId());
|
|
|
|
|
+// if (updCarts.getQuantity() < 9) {
|
|
|
|
|
+ updCarts.setQuantity(updCarts.getQuantity() + 1);
|
|
|
|
|
+ updCarts.setUpdateUser(userContext.getCurrentUser().getUserId().toString());
|
|
|
|
|
+ updCarts.setUpdateTime(DateUtils.getNowDate());
|
|
|
|
|
+ cartsMapper.updateCarts(updCarts);
|
|
|
|
|
+// }
|
|
|
|
|
+
|
|
|
|
|
+ Carts cond = new Carts();
|
|
|
|
|
+ cond.setUserId(userId);
|
|
|
|
|
+ cond.setDelFlag(EDelFlag.NO.getVal());
|
|
|
|
|
+
|
|
|
|
|
+ List<Carts> exiCarts = cartsMapper.selectCartsList(cond);
|
|
|
|
|
+ List<CartsResponse> cartsResponseList = new ArrayList<>();
|
|
|
|
|
+
|
|
|
|
|
+ BigDecimal sum = BigDecimal.ZERO;
|
|
|
|
|
+ for (Carts carts : exiCarts) {
|
|
|
|
|
+
|
|
|
|
|
+ MerchantProd mercProd = wxApiProductMapper.selectMerchantProdByMercProdId(carts.getMercProdId());
|
|
|
|
|
+
|
|
|
|
|
+ ProdAttrPrice condPrice = new ProdAttrPrice();
|
|
|
|
|
+ condPrice.setProdAttrId(carts.getProdAttrId());
|
|
|
|
|
+ condPrice.setSellerId(mercProd.getMercId());
|
|
|
|
|
+ condPrice.setProdId(mercProd.getProdId());
|
|
|
|
|
+ condPrice.setBuyerRoleKey(ERoleKey.CUSTOMER.getCode());
|
|
|
|
|
+
|
|
|
|
|
+ List<ProdAttrPrice> priceList = prodAttrPriceMapper.selectProdAttrPriceList(condPrice);
|
|
|
|
|
+
|
|
|
|
|
+ CartsResponse cartsResponse = new CartsResponse();
|
|
|
|
|
+
|
|
|
|
|
+ if (StringUtils.isNotEmpty(priceList)) {
|
|
|
|
|
+ sum = sum.add(new BigDecimal(carts.getQuantity()).multiply(RMBUtil.fenToYuan(priceList.get(0).getPrice())));
|
|
|
|
|
+ cartsResponse.setPrice(RMBUtil.fenToYuan(priceList.get(0).getPrice()));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ cartsResponse.setId(carts.getId());
|
|
|
|
|
+ cartsResponse.setUserId(userId);
|
|
|
|
|
+ cartsResponse.setMercProdId(carts.getMercProdId());
|
|
|
|
|
+ cartsResponse.setProdAttrId(carts.getProdAttrId());
|
|
|
|
|
+ cartsResponse.setProdName(wxApiProductMapper.selectProdById(mercProd.getProdId()).getProdName());
|
|
|
|
|
+ cartsResponse.setProdAttrName(wxApiProductMapper.selectProdAttrByProdAttrId(carts.getProdAttrId()).getAttrName());
|
|
|
|
|
+ cartsResponse.setQuantity(carts.getQuantity());
|
|
|
|
|
+ cartsResponse.setCheckFlag(carts.getCheckFlag());
|
|
|
|
|
+
|
|
|
|
|
+ ProdPic condPic = new ProdPic();
|
|
|
|
|
+ condPic.setProdId(mercProd.getProdId());
|
|
|
|
|
+ condPic.setDelFlag(EDelFlag.NO.getVal());
|
|
|
|
|
+
|
|
|
|
|
+ List<ProdPic> picList = prodPicServiceImpl.selectProdPicList(condPic);
|
|
|
|
|
+ cartsResponse.setProdPicList(picList);
|
|
|
|
|
+ cartsResponseList.add(cartsResponse);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return new CartsListResponse(cartsResponseList, sum.toPlainString());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public CartsListResponse subCnt(UserContext userContext, CartsRequest request) {
|
|
|
|
|
+
|
|
|
|
|
+ SysUser currentUser = userContext.getCurrentUser();
|
|
|
|
|
+ Long userId = currentUser.getUserId();
|
|
|
|
|
+
|
|
|
|
|
+ Carts updCarts = cartsMapper.selectCartsById(request.getId());
|
|
|
|
|
+
|
|
|
|
|
+ if (updCarts.getQuantity() > 1) {
|
|
|
|
|
+ updCarts.setQuantity(updCarts.getQuantity() - 1);
|
|
|
|
|
+ updCarts.setUpdateUser(userContext.getCurrentUser().getUserId().toString());
|
|
|
|
|
+ updCarts.setUpdateTime(DateUtils.getNowDate());
|
|
|
|
|
+ cartsMapper.updateCarts(updCarts);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ Carts cond = new Carts();
|
|
|
|
|
+ cond.setUserId(userId);
|
|
|
|
|
+ cond.setDelFlag(EDelFlag.NO.getVal());
|
|
|
|
|
+
|
|
|
|
|
+ List<Carts> exiCarts = cartsMapper.selectCartsList(cond);
|
|
|
|
|
+ List<CartsResponse> cartsResponseList = new ArrayList<>();
|
|
|
|
|
+
|
|
|
|
|
+ BigDecimal sum = BigDecimal.ZERO;
|
|
|
|
|
+ for (Carts carts : exiCarts) {
|
|
|
|
|
+
|
|
|
|
|
+ MerchantProd mercProd = wxApiProductMapper.selectMerchantProdByMercProdId(carts.getMercProdId());
|
|
|
|
|
+
|
|
|
|
|
+ ProdAttrPrice condPrice = new ProdAttrPrice();
|
|
|
|
|
+ condPrice.setProdAttrId(carts.getProdAttrId());
|
|
|
|
|
+ condPrice.setSellerId(mercProd.getMercId());
|
|
|
|
|
+ condPrice.setProdId(mercProd.getProdId());
|
|
|
|
|
+ condPrice.setBuyerRoleKey(ERoleKey.CUSTOMER.getCode());
|
|
|
|
|
+
|
|
|
|
|
+ List<ProdAttrPrice> priceList = prodAttrPriceMapper.selectProdAttrPriceList(condPrice);
|
|
|
|
|
+
|
|
|
|
|
+ CartsResponse cartsResponse = new CartsResponse();
|
|
|
|
|
+
|
|
|
|
|
+ if (StringUtils.isNotEmpty(priceList)) {
|
|
|
|
|
+ sum = sum.add(new BigDecimal(carts.getQuantity()).multiply(RMBUtil.fenToYuan(priceList.get(0).getPrice())));
|
|
|
|
|
+ cartsResponse.setPrice(RMBUtil.fenToYuan(priceList.get(0).getPrice()));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ cartsResponse.setId(carts.getId());
|
|
|
|
|
+ cartsResponse.setUserId(userId);
|
|
|
|
|
+ cartsResponse.setMercProdId(carts.getMercProdId());
|
|
|
|
|
+ cartsResponse.setProdAttrId(carts.getProdAttrId());
|
|
|
|
|
+ cartsResponse.setProdName(wxApiProductMapper.selectProdById(mercProd.getProdId()).getProdName());
|
|
|
|
|
+ cartsResponse.setProdAttrName(wxApiProductMapper.selectProdAttrByProdAttrId(carts.getProdAttrId()).getAttrName());
|
|
|
|
|
+ cartsResponse.setQuantity(carts.getQuantity());
|
|
|
|
|
+ cartsResponse.setCheckFlag(carts.getCheckFlag());
|
|
|
|
|
+
|
|
|
|
|
+ ProdPic condPic = new ProdPic();
|
|
|
|
|
+ condPic.setProdId(mercProd.getProdId());
|
|
|
|
|
+ condPic.setDelFlag(EDelFlag.NO.getVal());
|
|
|
|
|
+
|
|
|
|
|
+ List<ProdPic> picList = prodPicServiceImpl.selectProdPicList(condPic);
|
|
|
|
|
+ cartsResponse.setProdPicList(picList);
|
|
|
|
|
+ cartsResponseList.add(cartsResponse);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return new CartsListResponse(cartsResponseList, sum.toPlainString());
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|