Commit f3356356 by 刘鹏飞

coco核销优惠券

parent 1a0ec19a
...@@ -149,7 +149,7 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService { ...@@ -149,7 +149,7 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService {
continue; continue;
} }
if(OrderAccountType.COUPON.getCode().equals(orderAccountType) && Objects.equals(orderSettlementInfo.get(0).getProductId(),0)){ if(OrderAccountType.COUPON.getCode().equals(orderAccountType) && "0".equals(orderSettlementInfo.get(0).getProductId())){
// 整单代金券,最后在计算 // 整单代金券,最后在计算
orderSettlementRemain.add(orderSettlementInfo.get(0)); orderSettlementRemain.add(orderSettlementInfo.get(0));
} }
...@@ -230,36 +230,22 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService { ...@@ -230,36 +230,22 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService {
// 订单号 // 订单号
couponCodeVerificationTransFull.setOrderNumber(orderBean.getOid()); couponCodeVerificationTransFull.setOrderNumber(orderBean.getOid());
List<CouponCodeVerificationProductDto> productsFull = new ArrayList<>(); List<CouponCodeVerificationProductDto> productsFull = new ArrayList<>();
Integer totalAmountFull = 0; Integer totalAmountOriFull = 0;
for(QueryOrdersResponseDto.DataBean.OrderBean.ProductBean pb : productList){ for(QueryOrdersResponseDto.DataBean.OrderBean.ProductBean pb : productList){
Long alreadyNum = collect.get(osr.getProductId()) == null ? 0L : collect.get(osr.getProductId()).getSum(); totalAmountOriFull = buidVerificationProduct(collect,osr,pb,productsFull,totalAmountOriFull);
Integer num = pb.getNumber(); // 小料商品也取出来
Integer remainNum = num - alreadyNum.intValue(); List<QueryOrdersResponseDto.DataBean.OrderBean.ProductBean> materialProducts = pb.getMaterialProduct();
if(Objects.equals(remainNum,0)){ if(materialProducts != null && !materialProducts.isEmpty()){
continue; for(QueryOrdersResponseDto.DataBean.OrderBean.ProductBean materialProduct : materialProducts){
totalAmountOriFull = buidVerificationProduct(collect,osr,materialProduct,productsFull,totalAmountOriFull);
}
} }
// 统计商品
CouponCodeVerificationProductDto couponCodeVerificationProductFull = new CouponCodeVerificationProductDto();
couponCodeVerificationProductFull.setConsume_num(remainNum);
couponCodeVerificationProductFull.setPID(osr.getProductId());
couponCodeVerificationProductFull.setSeq(osr.getProductSeq());
couponCodeVerificationProductFull.setProductName(pb.getProductName());
Integer price = pb.getPrice() == null ? 0 : pb.getPrice().intValue();
couponCodeVerificationProductFull.setInitPrice(price);
couponCodeVerificationProductFull.setNowPrice(price);
couponCodeVerificationProductFull.setPayMoney(price);
productsFull.add(couponCodeVerificationProductFull);
totalAmountFull = totalAmountFull + price * remainNum;
} }
couponCodeVerificationTransFull.setProducts(productsFull); couponCodeVerificationTransFull.setProducts(productsFull);
couponCodeVerificationTransFull.setAmountPaid(totalAmountFull); couponCodeVerificationTransFull.setAmountPaid(totalAmountOriFull);
couponCodeVerificationTransFull.setAmountRec(totalAmountFull); couponCodeVerificationTransFull.setAmountRec(totalAmountOriFull);
transactions.add(couponCodeVerificationTransFull); transactions.add(couponCodeVerificationTransFull);
} }
...@@ -293,4 +279,43 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService { ...@@ -293,4 +279,43 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService {
return ResponseUtil.success(); return ResponseUtil.success();
} }
/**
* 构建整单券的商品
* @param collect
* @param osr
* @param pb
* @param productsFull
* @param totalAmountOriFull
* @return
*/
public Integer buidVerificationProduct(Map<String, IntSummaryStatistics> collect,
OrderSettlementResp osr,
QueryOrdersResponseDto.DataBean.OrderBean.ProductBean pb,
List<CouponCodeVerificationProductDto> productsFull,
Integer totalAmountOriFull){
Long alreadyNum = collect.get(pb.getProductId()) == null ? 0L : collect.get(pb.getProductId()).getSum();
Integer num = pb.getNumber();
Integer remainNum = num - alreadyNum.intValue();
if(Objects.equals(remainNum,0)){
return totalAmountOriFull;
}
// 统计商品
CouponCodeVerificationProductDto couponCodeVerificationProductFull = new CouponCodeVerificationProductDto();
couponCodeVerificationProductFull.setConsume_num(remainNum);
couponCodeVerificationProductFull.setPID(pb.getProductId());
couponCodeVerificationProductFull.setSeq(pb.getSequence());
couponCodeVerificationProductFull.setProductName(pb.getProductName());
Integer price = pb.getPrice() == null ? 0 : pb.getPrice().intValue();
couponCodeVerificationProductFull.setInitPrice(price);
couponCodeVerificationProductFull.setNowPrice(price);
couponCodeVerificationProductFull.setPayMoney(price);
productsFull.add(couponCodeVerificationProductFull);
totalAmountOriFull = totalAmountOriFull + price * remainNum;
return totalAmountOriFull;
}
} }
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