|
@@ -153,7 +153,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|
|
userOrderPaymentService.saveOrUpdate(userOrderPayment);
|
|
|
|
|
|
return feignMecCreateOrder(order.getCouponId(), oldOrderNo, orderSn, null, detail.getMemberId().intValue(), detail.getTotalAmount(),
|
|
|
- JSON.toJSONString(detail));
|
|
|
+ JSON.toJSONString(detail),detail.getPayType() == 3);
|
|
|
} else {
|
|
|
throw new BizException("订单信息获取失败");
|
|
|
}
|
|
@@ -203,11 +203,12 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|
|
if (!hasStock(cartPromotionItemList)) {
|
|
|
Asserts.fail("库存不足,无法下单");
|
|
|
}
|
|
|
-
|
|
|
+ BigDecimal couponAmount = BigDecimal.ZERO;
|
|
|
BigDecimal amount = calcTotalAmount(orderItemList);
|
|
|
- Map data = feignMecCouponAmount(orderParam.getCouponId(), orderParam.getOrderAmount());
|
|
|
-
|
|
|
- BigDecimal couponAmount = MapUtil.get(data, "mallCouponAmount", BigDecimal.class);
|
|
|
+ if (!StringUtil.isEmpty(orderParam.getCouponId())) {
|
|
|
+ Map data = feignMecCouponAmount(orderParam.getCouponId(), amount);
|
|
|
+ couponAmount = MapUtil.get(data, "mallCouponAmount", BigDecimal.class);
|
|
|
+ }
|
|
|
if (couponAmount == null) {
|
|
|
couponAmount = BigDecimal.ZERO;
|
|
|
}
|
|
@@ -298,8 +299,12 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|
|
order.setMemberId(currentMember.getId());
|
|
|
order.setCreateTime(new Date());
|
|
|
order.setMemberUsername(currentMember.getUsername());
|
|
|
- //支付方式:0->未支付;1->支付宝;2->微信
|
|
|
- order.setPayType(orderParam.getPayType());
|
|
|
+ //支付方式:0->未支付;1->支付宝;2->微信 3:余额
|
|
|
+ if (orderParam.isUseBalance()) {
|
|
|
+ order.setPayType(3);
|
|
|
+ } else {
|
|
|
+ order.setPayType(orderParam.getPayType());
|
|
|
+ }
|
|
|
//订单来源:0->PC订单;1->app订单
|
|
|
order.setSourceType(1);
|
|
|
//订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单 6 -> 未支付
|
|
@@ -377,9 +382,9 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|
|
// 生成订单
|
|
|
// 保存商品信息到管乐迷
|
|
|
OmsOrderDetail detail = detail(order.getOrderSn());
|
|
|
- data = feignMecCreateOrder(orderParam.getCouponId(),orderParam.getOrderNo(), orderSn,
|
|
|
+ Map data = feignMecCreateOrder(orderParam.getCouponId(),orderParam.getOrderNo(), orderSn,
|
|
|
orderParam.getTeacherId()==null?null:orderParam.getTeacherId().intValue(),
|
|
|
- currentMember.getId().intValue(), amount,JSON.toJSONString(detail));
|
|
|
+ currentMember.getId().intValue(), amount,JSON.toJSONString(detail),orderParam.isUseBalance());
|
|
|
if ("1".equals(MapUtil.getStr(data, "tradeState"))) {
|
|
|
paySuccess(order.getId(),order.getPayType());
|
|
|
order.setStatus(1);
|
|
@@ -404,11 +409,13 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|
|
return mapHttpResponseResult.getData();
|
|
|
}
|
|
|
|
|
|
- private Map feignMecCreateOrder(String couponId, String oldOrderNo, String orderSn, Integer teacherId, Integer userId, BigDecimal amount, String orderDetail) {
|
|
|
+ private Map feignMecCreateOrder(String couponId, String oldOrderNo, String orderSn, Integer teacherId, Integer userId,
|
|
|
+ BigDecimal amount, String orderDetail,boolean useBalance) {
|
|
|
// 远程调用管乐迷订单记录
|
|
|
MallCreateOrderModel model = new MallCreateOrderModel();
|
|
|
model.setAmount(amount);
|
|
|
model.setOrderNo(orderSn);
|
|
|
+ model.setUseBalance(useBalance);
|
|
|
model.setUserId(userId);
|
|
|
model.setCouponIdList(StringUtil.toIntegerList(couponId));
|
|
|
model.setOldOrderNo(oldOrderNo);
|