|
@@ -311,6 +311,29 @@ public class LhbOrderServiceImpl extends MPJBaseServiceImpl<LhbOrderMapper, LhbO
|
|
|
if (query != null && PayStatusCommEnum.TRADE_SUCCESS == query.getTradeStatus() ) {
|
|
|
order.setStatus( OrderStatusEnum.PAY.getCode());
|
|
|
order.setPayTime(LocalDateTime.now());
|
|
|
+ order.setPayTradeNo(query.getTradeNo());
|
|
|
+
|
|
|
+ LhbGoods goods = goodsService.getById(order.getGoodsId());
|
|
|
+ LhbGoodsSku goodsSku = goodsSkuService.getById(order.getSkuId());
|
|
|
+ List<LhbGoodsActivities> activities = goodsActivitiesService.list(Wrappers.lambdaQuery(LhbGoodsActivities.class).eq(LhbGoodsActivities::getSkuId, goodsSku.getId()));
|
|
|
+ //三方下单
|
|
|
+ OrderSubmitReq req = OrderSubmitReq.builder()
|
|
|
+ .goodsId(goods.getExternalId())
|
|
|
+ .goodsSkuId(goodsSku.getExternalSkuId())
|
|
|
+ .offerCodes(!activities.isEmpty() ? activities.stream().map(LhbGoodsActivities::getActivityCode).collect(Collectors.joining(",")) : "")
|
|
|
+ .payMoney("0")
|
|
|
+ .number(order.getMakeMobile())
|
|
|
+ .custName(order.getCustName())
|
|
|
+ .contNumber(order.getContMobile())
|
|
|
+ .idenNr(order.getIdCard())
|
|
|
+ .receiveName(order.getCustName())
|
|
|
+ .receiveMobile(order.getContMobile())
|
|
|
+ .receiveAddress(order.getAddress())
|
|
|
+ .area(order.getArea())
|
|
|
+ .preNumber(Boolean.FALSE)
|
|
|
+ .regionId(order.getRegionId()).build();
|
|
|
+ String orderId = channelFactory.getChannel(order.getIfCode()).orderSubmit(req);
|
|
|
+ order.setOutOrderSn(orderId);
|
|
|
}
|
|
|
}catch (Exception e){
|
|
|
log.error("查询微信订单失败", e);
|
|
@@ -360,8 +383,8 @@ public class LhbOrderServiceImpl extends MPJBaseServiceImpl<LhbOrderMapper, LhbO
|
|
|
}
|
|
|
RefundRequest req = RefundRequest.builder().refundReason(param.getRemark())
|
|
|
.outTradeNo(order.getOrderSn())
|
|
|
- .refundFee(param.getRefundPrice().doubleValue())
|
|
|
- .totalFee(order.getServerFee().doubleValue())
|
|
|
+ .refundFee(NumberUtil.div(param.getRefundPrice().doubleValue(), 100))
|
|
|
+ .totalFee(NumberUtil.div(order.getServerFee().doubleValue(), 100))
|
|
|
.outRefundNo(CommonConstants.REFUND_ORDER_PREFIX + IdUtil.getSnowflakeNextIdStr())
|
|
|
.payTypeEnum(PayPlatformEnum.WX).build();
|
|
|
RefundResponse refund = paymentFactory.getPayService(PayPlatformEnum.WX.getType()).refund(req);
|