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

fix order

release_toaliyun_real
xiaohanzi 4 лет назад
Родитель
Сommit
9a2a1ca9c8
2 измененных файлов: 44 добавлений и 20 удалений
  1. +10
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java
  2. +34
    -20
      mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java

+ 10
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java Просмотреть файл

@@ -340,5 +340,15 @@ public class WxCoupon extends TenantEntity {
}
return false;
}
public boolean oneNumberOneOrder() {
if (type == null) {
return true;
}
if (type.intValue() == EnumCouponType.COUPON_DISTRIBUTION.getCode().intValue()) {
return false;
}
return true;
}

}

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

@@ -1984,26 +1984,40 @@ public class WxOrderServiceImpl implements WxOrderService {
for (int i = 0 ; i < orderSave.size(); i ++) {
OrderComposeSaveDto orderdto = orderSave.get(i);
// 是否砍价
boolean isPress = orderdto.getSignleOrder().getPress() != null ? orderdto.getSignleOrder().getPress() : false;
WxOrder order = null;
if (checkCouponIsFree(orderdto.getWxCoupon())) {
// 免费券
order = proxy.saveFreeOrderForCoupon(composeOrder,user, orderdto.getWxCoupon(),orderdto.getCount(), orderdto.getSignleOrder().getCouponChannelId(), orderdto.getSignleOrder().getFormId(), null,payWay);
if (order != null) {
// 6. 下订单完成,发送内部消息
// 下订单完成,发送内部消息
try {
proxy.sendOrderSuccessActionMsg(order);
} catch (Exception e) {
logger.error("内部消息发送失败: " + e.getMessage(),e);
throw new MallinkException(ErrorCode.MSG_INSIDE_ERROR);
}
}
} else {
// 有价券
order = proxy.saveNoFreeOrderForCoupon(composeOrder,user, orderdto.getWxCoupon(),orderdto.getCount(), orderdto.getSignleOrder().getCouponChannelId(), isPress, orderdto.getSignleOrder().getOrderGroupId(), orderdto.getSignleOrder().getFormId());
}
//券是一个数量一个订单, 实物是一个产品一个订单
int totalOrderCount = 1;
if (orderdto.getWxCoupon().oneNumberOneOrder()) {
totalOrderCount = orderdto.getCount();
}
int perCouponNumber = 1;
if (totalOrderCount==1) {
perCouponNumber = orderdto.getCount();
}
for (int j =0 ; j < totalOrderCount ; j ++) {
// 是否砍价
boolean isPress = orderdto.getSignleOrder().getPress() != null ? orderdto.getSignleOrder().getPress() : false;
WxOrder order = null;
if (checkCouponIsFree(orderdto.getWxCoupon())) {
// 免费券
order = proxy.saveFreeOrderForCoupon(composeOrder,user, orderdto.getWxCoupon(),perCouponNumber, orderdto.getSignleOrder().getCouponChannelId(), orderdto.getSignleOrder().getFormId(), null,payWay);
if (order != null) {
// 6. 下订单完成,发送内部消息
// 下订单完成,发送内部消息
try {
proxy.sendOrderSuccessActionMsg(order);
} catch (Exception e) {
logger.error("内部消息发送失败: " + e.getMessage(),e);
throw new MallinkException(ErrorCode.MSG_INSIDE_ERROR);
}
}
} else {
// 有价券
order = proxy.saveNoFreeOrderForCoupon(composeOrder,user, orderdto.getWxCoupon(),perCouponNumber, orderdto.getSignleOrder().getCouponChannelId(), isPress, orderdto.getSignleOrder().getOrderGroupId(), orderdto.getSignleOrder().getFormId());
}
}
// couponActionLog
// try {
// wxCouponActionLogService.addOne(order, order.getProductId(), order.getOrderNumber(), EnumCouponSendSendType.ACTIVE.getCode(), orderdto.getSignleOrder().getCouponChannelId(),0L);


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