Commit 02c613b9 by 孙昱

sunyu::update::update api about queryCartInfoByUser

parent e075d22e
...@@ -19,6 +19,7 @@ import cn.freemud.service.impl.FullSubtractionActivityServiceImpl; ...@@ -19,6 +19,7 @@ import cn.freemud.service.impl.FullSubtractionActivityServiceImpl;
import cn.freemud.service.impl.mcoffee.calculation.CalculationServiceImpl; import cn.freemud.service.impl.mcoffee.calculation.CalculationServiceImpl;
import cn.freemud.service.impl.mcoffee.calculation.CouponDiscountCalculation; import cn.freemud.service.impl.mcoffee.calculation.CouponDiscountCalculation;
import cn.freemud.service.impl.mcoffee.entity.CopyShoppingCartRequestVo; import cn.freemud.service.impl.mcoffee.entity.CopyShoppingCartRequestVo;
import cn.freemud.service.impl.mcoffee.entity.CouponAvailableReq;
import cn.freemud.service.impl.mcoffee.entity.MCoffeeAddGoodsRequestVo; import cn.freemud.service.impl.mcoffee.entity.MCoffeeAddGoodsRequestVo;
import cn.freemud.service.impl.mcoffee.entity.SwitchShoppingCartRequestVo; import cn.freemud.service.impl.mcoffee.entity.SwitchShoppingCartRequestVo;
import cn.freemud.service.thirdparty.CustomerApplicationClient; import cn.freemud.service.thirdparty.CustomerApplicationClient;
...@@ -317,9 +318,10 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -317,9 +318,10 @@ public class ShoppingCartMCoffeeServiceImpl {
public BaseResponse getCartInfoByUser(QueryCartInfoRequestVo requestVo){ public BaseResponse getCartInfoByUser(QueryCartInfoRequestVo requestVo){
// 获取购物车商品 // 获取购物车商品?
List<CartGoods> cartGoodsList = assortmentSdkService.getShoppingCartForCoupon(requestVo.getPartnerId(), requestVo.getStoreId(), requestVo.getUserId(), "", shoppingCartBaseService); List<CartGoods> cartGoodsList = assortmentSdkService.getShoppingCartForCoupon(requestVo.getPartnerId(), requestVo.getStoreId(), requestVo.getUserId(), "", shoppingCartBaseService);
return ResponseUtil.success(cartGoodsList); List<CouponAvailableReq> resList = couponDiscountCalculation.buildAvailableCoupons(requestVo,cartGoodsList);
return ResponseUtil.success(resList);
} }
......
...@@ -323,6 +323,53 @@ public class CouponDiscountCalculation { ...@@ -323,6 +323,53 @@ public class CouponDiscountCalculation {
} }
public List<CouponAvailableReq> buildAvailableCoupons(QueryCartInfoRequestVo requestVo,List<CartGoods> cartGoods){
List<CouponAvailableReq> resList = new ArrayList<>();
CouponAvailableReq res = new CouponAvailableReq();
res.setProviderId(requestVo.getPartnerId());
res.setMerchantId(requestVo.getPartnerId());
res.setStoreId(requestVo.getStoreId());
List<String> couponList = new ArrayList<>();
res.setChannelIdList(commonService.getOrgCodes(requestVo.getPartnerId(), requestVo.getStoreId()));
List<CouponProductVo> productList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(cartGoods)) {
cartGoods.forEach(cartGood -> {
if (StringUtils.isNotEmpty(cartGood.getCouponCode())) {
couponList.add(cartGood.getCouponCode());
res.setCouponCodes(couponList);
}
if (CollectionUtils.isNotEmpty(cartGood.getProductComboList())) {
cartGood.getProductComboList().forEach(comboxGoods -> {
CouponProductVo couponProductVo = new CouponProductVo();
couponProductVo.setAmount(Integer.valueOf(comboxGoods.getAmount().toString()));
couponProductVo.setKeyProductCode(comboxGoods.getCustomerCode());
couponProductVo.setQuantity(comboxGoods.getQty());
couponProductVo.setProductId(comboxGoods.getGoodsId());
couponProductVo.setCategoryCode(null);
productList.add(couponProductVo);
});
}
if (CollectionUtils.isNotEmpty(cartGood.getProductGroupList())) {
cartGood.getProductGroupList().forEach(comboxGoods -> {
CouponProductVo couponProductVo = new CouponProductVo();
couponProductVo.setAmount(Integer.valueOf(comboxGoods.getAmount().toString()));
couponProductVo.setKeyProductCode(comboxGoods.getCustomerCode());
couponProductVo.setQuantity(comboxGoods.getQty());
couponProductVo.setProductId(comboxGoods.getGoodsId());
couponProductVo.setCategoryCode(null);
productList.add(couponProductVo);
});
}
});
res.setProductList(productList);
Long totalAmount = createProductRequest(cartGoods, productList);
res.setTotalAmount(Integer.valueOf(totalAmount.toString()));
resList.add(res);
}
return resList;
}
// public String getAppSecret(String partnerId) { // public String getAppSecret(String partnerId) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment