Commit 10a4dd09 by 徐康

套餐价格不计算

parent 93bdac7a
...@@ -2822,7 +2822,7 @@ public class OrderSdkAdapter { ...@@ -2822,7 +2822,7 @@ public class OrderSdkAdapter {
Long setmealTotalSettlementPrice = 0L; Long setmealTotalSettlementPrice = 0L;
for (CreateOrderProductRequest createOrderProductRequest : product.getComboProduct()) { for (CreateOrderProductRequest createOrderProductRequest : product.getComboProduct()) {
// 删除的不计算在内 // 删除的不计算在内
if(createOrderProductRequest.getIsDeleted() != null && createOrderProductRequest.getIsDeleted()) { if(createOrderProductRequest.getIsDeleted() != null && createOrderProductRequest.getIsDeleted()) {
continue; continue;
} }
Long comboProductTotalDiscountAmount = createOrderProductRequest.getTotalDiscountAmount() == null ? 0L : createOrderProductRequest.getTotalDiscountAmount(); Long comboProductTotalDiscountAmount = createOrderProductRequest.getTotalDiscountAmount() == null ? 0L : createOrderProductRequest.getTotalDiscountAmount();
...@@ -2971,6 +2971,172 @@ public class OrderSdkAdapter { ...@@ -2971,6 +2971,172 @@ public class OrderSdkAdapter {
return orderItemCreateReq.getIsDeleted() ? 0 : totalOriginalProductAmount; return orderItemCreateReq.getIsDeleted() ? 0 : totalOriginalProductAmount;
} }
/**
* 更新当前商品行,订单商品明细和优惠明细
*
* @param orderItemList 订单商品明细
* @param orderSettlementCreateReqList 优惠明细
* @param product 当前商品行
* @param partnerId 商户号
* @param parentProductId 套餐父商品Id
* @return
*/
private Long updateMCCafeOrderItemAndSettlement(CreateOrderProductRequest productRequest, List<OrderItemCreateReq> orderItemList, List<OrderSettlementCreateReq> orderSettlementCreateReqList, CreateOrderProductRequest product, String partnerId, String parentProductId, Boolean isMaterial) {
OrderItemCreateReq orderItemCreateReq = new OrderItemCreateReq();
orderItemCreateReq.setId(product.getId());
orderItemCreateReq.setPartnerId(partnerId);
orderItemCreateReq.setProductName(product.getProductName());
orderItemCreateReq.setProductForeignName(product.getProductForeignName());
orderItemCreateReq.setProductId(product.getProductId());
orderItemCreateReq.setProductSpec(product.getSpecification());
orderItemCreateReq.setProductSpecName(product.getSpecificationName());
orderItemCreateReq.setProductForeignSpecName(product.getSpecificationForeignName());
orderItemCreateReq.setProductSeq(product.getOpid());
orderItemCreateReq.setProductQuantity(product.getNumber());
orderItemCreateReq.setProductPrice(product.getPrice());
orderItemCreateReq.setIsDeleted(product.getIsDeleted() == null ? false : product.getIsDeleted());
Long totalDiscountAmount = product.getTotalDiscountAmount() == null ? 0L : product.getTotalDiscountAmount();
product.setTotalDiscountAmount(totalDiscountAmount);
//总原价
Long totalOriginalProductAmount = product.getPrice() * product.getNumber();
/**
* 称重菜
* 如果没有称重重量视为0
*/
if (ProductTypeEnum.WEIGHT_PRODUCT.getCode().equals(product.getProductType())) {
Double weight = (product.getWeight() == null || product.getWeight() <= 0) ? 0 : product.getWeight();
Double weightPrice = product.getPrice() * weight;
Long settlementPrice = weightPrice == 0 ? 0 : weightPrice.longValue() - totalDiscountAmount;
orderItemCreateReq.setSalePrice(settlementPrice);
orderItemCreateReq.setSettlementPrice(settlementPrice);
totalOriginalProductAmount = weightPrice.longValue();
} else {
Long settlementPrice = product.getPrice() * product.getNumber() - totalDiscountAmount;
orderItemCreateReq.setSalePrice(settlementPrice / product.getNumber());
orderItemCreateReq.setSettlementPrice(settlementPrice);
}
orderItemCreateReq.setProductSharePrice(totalDiscountAmount / product.getNumber());
orderItemCreateReq.setProductUnit(product.getUnit());
//获取商品属性
OrderProductAddInfoDto addInfo = JSONObject.parseObject(product.getAddInfo(), OrderProductAddInfoDto.class);
if (addInfo !=null ) {
orderItemCreateReq.setProductProperty(addInfo.getAttributeNames());
orderItemCreateReq.setProductForeignProperty(addInfo.getAttributeForeignNames());
}
orderItemCreateReq.setProductPicUrl(product.getPicture());
orderItemCreateReq.setThirdProductId(product.getCustomerCode());
orderItemCreateReq.setProductCode(product.getProductCode());
orderItemCreateReq.setCategoryId(product.getCategoryId());
orderItemCreateReq.setCategoryName(product.getCategoryName());
//套餐商品
if (StringUtils.isNotEmpty(parentProductId)) {
orderItemCreateReq.setParentProductId(parentProductId); //套餐类商品父级商品id
}
orderItemCreateReq.setProductType(product.getProductType()); //套餐 type-6
orderItemCreateReq.setWeight(product.getWeight()); //重量
OrderProductAddInfoDto extInfo = new OrderProductAddInfoDto();
//设置是否为套餐商品
if (product.getIsFixedProduct() != null) {
extInfo.setIsFixedProduct(product.getIsFixedProduct());
}
//第三方商品规格id
if (StringUtils.isNotBlank(product.getThirdProductSpecId())) {
extInfo.setThirdProductSpecId(product.getThirdProductSpecId());
}
//第三方商品属性id
if (StringUtils.isNotBlank(product.getThirdProductPropertyId())) {
extInfo.setThirdProductPropertyId(product.getThirdProductPropertyId());
}
if (StringUtils.isNotBlank(product.getThirdCategoryId())){
extInfo.setThirdCategoryId(product.getThirdCategoryId());
}
if (StringUtils.isNotBlank(product.getClassificationId())){
extInfo.setThirdCensusCategoryId(product.getClassificationId());
extInfo.setThirdCensusCategoryName(product.getClassificationName());
}
if(CollectionUtils.isNotEmpty(product.getSpecialAttrs())) {
extInfo.setSpecialAttrs(product.getSpecialAttrs());
}
if (0 != product.getTax()){
extInfo.setTax(product.getTax());
}
if (StringUtils.isNotBlank(product.getTaxId())){
extInfo.setTaxId(product.getTaxId());
}
if (StringUtils.isNotBlank(product.getCardId())){
extInfo.setCardId(product.getCardId());
}
if (StringUtils.isNotBlank(product.getCardCode())){
extInfo.setCardCode(product.getCardCode());
}
if (StringUtils.isNotBlank(product.getSplitIndex())){
extInfo.setSplitIndex(product.getSplitIndex());
}
extInfo.setStapleFood(product.getStapleFood());
extInfo.setOriginalGoodsUid(product.getOriginalGoodsUid());
extInfo.setCartGoodsUid(product.getCartGoodsUid());
// todo 订单行扩展字段商品组
extInfo.setProductGroupList(product.getProductGroupList());
extInfo.setIsSendGoods(product.getIsSendGoods());
// 是否需要积分,农工商发送积分需要判断商品是否是送积分的商品
// 发积分的操作移到消费者,所以这个值需要保存下来
if(product.getNeedBonus() != null){
extInfo.setNeedBonus(product.getNeedBonus());
}
orderItemCreateReq.setExtInfo(JSONObject.toJSONString(extInfo));
// 拼单加购人信息 add by miaohui 2020.10.12 start
orderItemCreateReq.setUserId(productRequest.getUserId());
orderItemCreateReq.setOpenId(productRequest.getOpenId());
orderItemCreateReq.setNickName(productRequest.getNickName());
orderItemCreateReq.setPhotoUrl(productRequest.getPhotoUrl());
orderItemCreateReq.setPackPrice(productRequest.getPackPrice());
// 拼单加购人信息 add by miaohui 2020.10.12 end
orderItemList.add(orderItemCreateReq);
if (product.getTotalDiscountAmount() != null && product.getTotalDiscountAmount() > 0L && !isMaterial) {
//优惠信息转换
OrderSettlementCreateReq orderSettlementCreateReq = new OrderSettlementCreateReq();
orderSettlementCreateReq.setProductId(product.getSpecification());
orderSettlementCreateReq.setNumber(product.getNumber());
orderSettlementCreateReq.setProductSeq(product.getOpid());
orderSettlementCreateReq.setExternalObjectId(product.getDiscountId());
//商家优惠
orderSettlementCreateReq.setShopDiscountAmount(product.getTotalDiscountAmount());
//结算金额
orderSettlementCreateReq.setSettlementAmount(product.getTotalDiscountAmount());
//是否线上 false:不是 true:是
orderSettlementCreateReq.setIsOnline(true);
orderSettlementCreateReq.setSettlementType(0);
orderSettlementCreateReqList.add(orderSettlementCreateReq);
}
// 设置商品行优惠明细
if (CollectionUtils.isNotEmpty(product.getAccounts())) {
for (CreateOrderAccountRequest accountRequest : product.getAccounts()) {
//优惠信息转换
OrderSettlementCreateReq orderSettlementCreateReq = new OrderSettlementCreateReq();
orderSettlementCreateReq.setProductId(accountRequest.getProductId());
orderSettlementCreateReq.setNumber(accountRequest.getDiscountQty());
orderSettlementCreateReq.setProductSeq(product.getOpid());
orderSettlementCreateReq.setExternalObjectId(accountRequest.getAccountId());
//商家优惠
orderSettlementCreateReq.setShopDiscountAmount(accountRequest.getPrice());
//结算金额
orderSettlementCreateReq.setSettlementAmount(accountRequest.getPrice());
//是否线上 false:不是 true:是
orderSettlementCreateReq.setIsOnline(true);
orderSettlementCreateReq.setSettlementType(getDiscountType(accountRequest.getAccountType()));
orderSettlementCreateReq.setNote(accountRequest.getName());
orderSettlementCreateReq.setExtInfo(accountRequest.getAddInfo());
orderSettlementCreateReqList.add(orderSettlementCreateReq);
}
}
return orderItemCreateReq.getIsDeleted() ? 0 : totalOriginalProductAmount;
}
public GroupOrderClearReq convertAssortmentSdkUpdateOrderProductInfoRequestTo(AssortmentSdkUpdateOrderProductInfoRequest updateOrderProductInfoRequest) { public GroupOrderClearReq convertAssortmentSdkUpdateOrderProductInfoRequestTo(AssortmentSdkUpdateOrderProductInfoRequest updateOrderProductInfoRequest) {
GroupOrderClearReq groupOrderClearReq = new GroupOrderClearReq(); GroupOrderClearReq groupOrderClearReq = new GroupOrderClearReq();
groupOrderClearReq.setOrderClient(updateOrderProductInfoRequest.getOrderClient()); groupOrderClearReq.setOrderClient(updateOrderProductInfoRequest.getOrderClient());
......
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