diff --git a/jsowell-admin/src/test/java/SpringBootTestController.java b/jsowell-admin/src/test/java/SpringBootTestController.java index 9c1b3550f..b97e9a80a 100644 --- a/jsowell-admin/src/test/java/SpringBootTestController.java +++ b/jsowell-admin/src/test/java/SpringBootTestController.java @@ -35,7 +35,7 @@ import com.jsowell.common.util.*; import com.jsowell.common.util.Cp56Time2a.Cp56Time2aUtil; import com.jsowell.common.util.http.HttpUtils; import com.jsowell.common.util.id.IdUtils; -import com.jsowell.common.util.id.SnUtils; +import com.jsowell.pile.util.SnUtils; import com.jsowell.common.util.id.SnowflakeIdWorker; import com.jsowell.common.util.ip.AddressUtils; import com.jsowell.netty.handler.HeartbeatRequestHandler; diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 8c7d148df..0ef017b25 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -55,7 +55,6 @@ import org.apache.commons.collections4.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -92,12 +91,6 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { @Autowired private RedisCache redisCache; - @Value("${adapay.jsowell.appId}") - private String ADAPAY_APP_ID; - - @Value("${adapay.callback}") - private String ADAPAY_CALLBACK_URL; - @Autowired private WxAppletRemoteService wxAppletRemoteService; @@ -701,7 +694,10 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { dto.setOrderDetail(orderDetail); transactionService.doUpdateOrder(dto); - // 需要退款的情况 + // 订单支付结算 + orderPaymentSettlement(orderBasicInfo); + + // 退款逻辑/需要退款的情况 BigDecimal residue = orderBasicInfo.getRefundAmount(); if (residue.compareTo(BigDecimal.ZERO) > 0) { // 执行退款逻辑 @@ -733,6 +729,29 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { logger.info("结算订单end:{} OrderTransactionDTO:{}", orderBasicInfo.getOrderCode(), JSONObject.toJSONString(dto)); } + /** + * 订单分账逻辑 + * 订单结算完成,就执行分账 + * 清分账单生成逻辑改为当天第一笔结算后就新建,后面的产生的订单,追加更新 + */ + private OrderSettleResult orderPaymentSettlement(OrderBasicInfo orderBasicInfo) { + String appId = ""; + AdapayMemberAccount adapayMemberAccount = null; + OrderSettleResult orderSettleResult = null; + try { + if (OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue().equals(orderBasicInfo.getPayMode())) { + // 余额支付的订单 + orderSettleResult = doBalancePayment(orderBasicInfo, adapayMemberAccount, appId); + } else { + // 在线支付,进行支付确认分账 + orderSettleResult = doPaymentConfirm(orderBasicInfo, adapayMemberAccount, appId); + } + } catch (Exception e) { + logger.error("订单交易确认失败:{}", orderBasicInfo.getOrderCode(), e); + } + return orderSettleResult; + } + /** * 返回更新后的OrderBasicInfo对象 * 专用方法,其他地方如果要用请仔细检查