Просмотр исходного кода

fix order

release_toaliyun_real
xiaohanzi 4 лет назад
Родитель
Сommit
c041f696b9
8 измененных файлов: 30 добавлений и 37 удалений
  1. +1
    -0
      mallinkCApi/src/main/java/com/iformall/controller/WxPressOrderController.java
  2. +4
    -20
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java
  3. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java
  4. +4
    -6
      mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java
  5. +1
    -1
      mallinkService/src/main/java/com/iformall/service/order/OrderAdapterService.java
  6. +9
    -7
      mallinkService/src/main/java/com/iformall/service/order/impl/SingleOrderAdapterService.java
  7. +2
    -2
      mallinkService/src/main/java/com/iformall/service/order/impl/batch/BaseBatchOrderAdapterService.java
  8. +8
    -0
      mallinkService/src/main/java/com/iformall/service/order/util/OrderHelper.java

+ 1
- 0
mallinkCApi/src/main/java/com/iformall/controller/WxPressOrderController.java Просмотреть файл

@@ -223,6 +223,7 @@ public class WxPressOrderController extends BaseController {
orderUpdatePress.updateTenantInfo(order);
// 保存订单
wxOrderService.saveOrUpdate(orderUpdatePress);
// 发送砍价成功消息
if(index.equals(wxCouponCVo.getPressLimitNum())) {
wxOrderPressService.sendPressComplateMsg(orderUpdatePress);


+ 4
- 20
mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java Просмотреть файл

@@ -769,9 +769,8 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
Integer realSubsidyFee = subsidyNum - iSubChargeFee;

WxOrder order = wxOrderMapper.selectById(couponOrder.getOrderId(), couponOrder.getTenantId());
WxComposeChildOrderPrice price = orderAdapterService.getChildOrderPrice(coupon, false, order.getOrderGroupId(), order.getCouponNumber());
int iPriceChargeFee = OrderHelper.getMallCharge(price.getRealPayMent(), payAccount);
Integer realPayment = price.getRealPayMent() - iPriceChargeFee;
int iPriceChargeFee = OrderHelper.getMallCharge(coupon.getSalePrice(), payAccount);
Integer realPayment = coupon.getSalePrice() - iPriceChargeFee;

WxMerchantSubsidy merchantSubsidy = new WxMerchantSubsidy();
merchantSubsidy.setId(idWorker.nextId());
@@ -781,8 +780,8 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
merchantSubsidy.setMerchantId(merchantId);
merchantSubsidy.setCouponOrderId(couponOrder.getId());
merchantSubsidy.setCouponType(couponOrder.getCouponType());
merchantSubsidy.setOrderPayment(price.getRealPayMent());
merchantSubsidy.setReceiverPayment(price.getRealPayMent());
merchantSubsidy.setOrderPayment(coupon.getPrice());
merchantSubsidy.setReceiverPayment(coupon.getSalePrice());
merchantSubsidy.setRealPayment(realPayment);
merchantSubsidy.setSubsidy(subsidyNum);
merchantSubsidy.setRealSubsidy(realSubsidyFee);
@@ -1526,21 +1525,6 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
payOrder.setShare(EnumPayShare.NO.getCode());
}
//设置子订单分账金额
Map<String,WxComposeChildOrderShare> childShares = new HashMap<String,WxComposeChildOrderShare>();
OrderAdapterService orderAdapterService = orderFactory.getOrderAdapterService(composeOrder.getComposeOrderType());
List<WxOrder> orderList = orderAdapterService.getChildOrders(composeOrder, appInfo.getTenantId());
if (null != orderList && orderList.size() > 0) {
for (WxOrder o : orderList) {
WxCoupon coupon = wxCouponMapper.selectById(o.getProductId(), appInfo.getTenantId());
WxComposeChildOrderPrice price = orderAdapterService.getChildOrderPrice(coupon, false, o.getOrderGroupId(), o.getCouponNumber());
int orderMallCharge = OrderHelper.getMallCharge(price.getRealPayMent(), payAccount);
Integer orderShareAmount = price.getRealPayMent() - orderMallCharge;
Integer orderRateAmount = PayUtils.getPayRate(price.getRealPayMent(), payAccount.getRealRate(), true);
childShares.put(String.valueOf(o.getId()), new WxComposeChildOrderShare(price.getRealPayMent(), orderShareAmount, orderRateAmount));
}
payOrder.setChildOrderShare(JSON.toJSONString(childShares));
}
}
payOrder.setPayFrom(EnumPayFrom.INSIDE_B.getCode());
payOrder.setPosPayOrderId(couponOrder.getId());


+ 1
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java Просмотреть файл

@@ -2133,7 +2133,7 @@ public class WxOrderServiceImpl implements WxOrderService {
// 4. 保存订单
Long orderNumber;
// 4.1 券价格
WxComposeChildOrderPrice price = orderFactory.getOrderAdapterService(composeOrder.getComposeOrderType()).getChildOrderPrice(coupon, isPress, orderGroupId, couponNumber);
WxComposeChildOrderPrice price = orderFactory.getOrderAdapterService(composeOrder.getComposeOrderType()).getChildCouponOrderPrice(coupon, isPress, orderGroupId, couponNumber);
Integer orderStatus = OrderHelper.getOrderStatusWxCoupon(coupon, orderGroupId);



+ 4
- 6
mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java Просмотреть файл

@@ -392,12 +392,10 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
List<WxOrder> orderList = orderAdapterService.getChildOrders(composeOrder, appInfo.getTenantId());
if(null != orderList && orderList.size() > 0) {
for (WxOrder o : orderList) {
WxCoupon coupon = wxCouponMapper.selectById(o.getProductId(), appInfo.getTenantId());
WxComposeChildOrderPrice price = orderAdapterService.getChildOrderPrice(coupon, false, o.getOrderGroupId(), o.getCouponNumber());
int orderMallCharge = OrderHelper.getMallCharge(price.getRealPayMent(), payAccount);
Integer orderShareAmount = price.getRealPayMent() - orderMallCharge;
Integer orderRateAmount = OrderHelper.getRateAmount(price.getRealPayMent(),orderMallCharge, payAccount);
childShares.put(String.valueOf(o.getId()), new WxComposeChildOrderShare(price.getRealPayMent(), orderShareAmount, orderRateAmount));
int orderMallCharge = OrderHelper.getMallCharge(o.getPayment(), payAccount);
Integer orderShareAmount = o.getPayment() - orderMallCharge;
Integer orderRateAmount = OrderHelper.getRateAmount(o.getPayment(),orderMallCharge, payAccount);
childShares.put(String.valueOf(o.getId()), new WxComposeChildOrderShare(o.getPayment(), orderShareAmount, orderRateAmount));
}
record.setChildOrderShare(JSON.toJSONString(childShares));
}


+ 1
- 1
mallinkService/src/main/java/com/iformall/service/order/OrderAdapterService.java Просмотреть файл

@@ -37,7 +37,7 @@ public interface OrderAdapterService {
* @param coupon
* @return
*/
WxComposeChildOrderPrice getChildOrderPrice(WxCoupon coupon,boolean isPress,Long orderGroupId,Integer couponNumber);
WxComposeChildOrderPrice getChildCouponOrderPrice(WxCoupon coupon,boolean isPress,Long orderGroupId,Integer couponNumber);
/**
* 计算每一个子订单的补贴


+ 9
- 7
mallinkService/src/main/java/com/iformall/service/order/impl/SingleOrderAdapterService.java Просмотреть файл

@@ -41,6 +41,7 @@ public class SingleOrderAdapterService implements OrderAdapterService {
public boolean isOneNumberOneOrder() {
return true;
}

@Override
public WxComposeOrder getComposeOrder(Long mainOrderId, String tenantId) {
@@ -49,6 +50,14 @@ public class SingleOrderAdapterService implements OrderAdapterService {
corder.setSingleOrder(wxOrder);
return corder;
}
@Override
public WxComposeChildOrderPrice getChildCouponOrderPrice(WxCoupon coupon, boolean isPress, Long orderGroupId,
Integer couponNumber) {
Integer perPrice = OrderHelper.getCouponPerPayment(coupon, isPress, orderGroupId);
return new WxComposeChildOrderPrice(perPrice, couponNumber, coupon.getId());
}

@Override
public List<WxOrder> getChildOrders(WxComposeOrder composeOrder, String tenantId) {
@@ -65,13 +74,6 @@ public class SingleOrderAdapterService implements OrderAdapterService {
wxOrderMapper.updateCUserId(order);
}

@Override
public WxComposeChildOrderPrice getChildOrderPrice(WxCoupon coupon, boolean isPress, Long orderGroupId,
Integer couponNumber) {
Integer perPrice = OrderHelper.getCouponPerPayment(coupon, isPress, orderGroupId);
return new WxComposeChildOrderPrice(perPrice, couponNumber, coupon.getId());
}

@Override
public Integer calcuteChildOrderSubsidy(WxCoupon coupon) {
return coupon.getSubsidyNum();


+ 2
- 2
mallinkService/src/main/java/com/iformall/service/order/impl/batch/BaseBatchOrderAdapterService.java Просмотреть файл

@@ -39,7 +39,7 @@ public abstract class BaseBatchOrderAdapterService implements OrderAdapterServic
WxOrderMapper wxOrderMapper;

@Override
public WxComposeChildOrderPrice getChildOrderPrice(WxCoupon coupon,boolean isPress,Long orderGroupId,Integer couponNumber) {
public WxComposeChildOrderPrice getChildCouponOrderPrice(WxCoupon coupon,boolean isPress,Long orderGroupId,Integer couponNumber) {
Integer perPrice = OrderHelper.getCouponPerPayment(coupon, isPress, orderGroupId);
return new WxComposeChildOrderPrice(perPrice, couponNumber, coupon.getId());
}
@@ -53,7 +53,7 @@ public abstract class BaseBatchOrderAdapterService implements OrderAdapterServic
int payment = 0;
for (OrderComposeSaveDto ocsd : orderSave) {
boolean isPress = ocsd.getSignleOrder().isPressOrder();
WxComposeChildOrderPrice price = getChildOrderPrice(ocsd.getWxCoupon(), isPress, ocsd.getSignleOrder().getOrderGroupId(), ocsd.getCount());
WxComposeChildOrderPrice price = getChildCouponOrderPrice(ocsd.getWxCoupon(), isPress, ocsd.getSignleOrder().getOrderGroupId(), ocsd.getCount());
payment = payment+price.getRealPayMent();
}
order.setPayment(payment);


+ 8
- 0
mallinkService/src/main/java/com/iformall/service/order/util/OrderHelper.java Просмотреть файл

@@ -8,6 +8,14 @@ import com.iformall.utils.PayUtils;

public class OrderHelper {

/**
* 砍价初始金额是price, 砍价完成会更新成salePrice
*
* @param coupon
* @param isPress
* @param orderGroupId
* @return
*/
public static int getCouponPerPayment(WxCoupon coupon,boolean isPress,Long orderGroupId) {
// 4.1 券价格
int payment = coupon.getSalePrice();


Загрузка…
Отмена
Сохранить