|
@@ -624,6 +624,47 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
|
|
|
// return R.error();
|
|
// return R.error();
|
|
|
//
|
|
//
|
|
|
// }
|
|
// }
|
|
|
|
|
+ private void createOmsOrderCall(LiveOrder inOrder) throws ParseException {
|
|
|
|
|
+ LiveOrder order = liveOrderMapper.selectLiveOrderByOrderId(String.valueOf(inOrder.getOrderId()));
|
|
|
|
|
+ LiveOrderPayment liveOrderPayment = liveOrderPaymentMapper.selectByBuissnessId(order.getOrderId());
|
|
|
|
|
+ if (liveOrderPayment == null) {
|
|
|
|
|
+ log.info("订单:{},未找到支付信息,不进行推送", order.getOrderCode());
|
|
|
|
|
+ return ;
|
|
|
|
|
+ }
|
|
|
|
|
+ FsSysConfig erpConfig = configUtil.generateStructConfigByKey(SysConfigEnum.HIS_CONFIG.getKey(), FsSysConfig.class);
|
|
|
|
|
+ List<Long> noErpCompany = erpConfig.getNoErpCompany();
|
|
|
|
|
+ if (noErpCompany != null && noErpCompany.contains(order.getCompanyId())) {
|
|
|
|
|
+ log.info("订单:{},相关公司不推送erp", order.getOrderCode());
|
|
|
|
|
+ return ;
|
|
|
|
|
+ }
|
|
|
|
|
+ IErpOrderService erpOrderService = getErpService();
|
|
|
|
|
+ if (erpOrderService == null) {
|
|
|
|
|
+ log.info("未启用erp");
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!StringUtils.isEmpty(order.getExtendOrderId()) && order.getStatus() != 1) {
|
|
|
|
|
+ return ;
|
|
|
|
|
+ }
|
|
|
|
|
+ if(order.getUserName() == null || StringUtils.isEmpty(order.getUserName())) return;
|
|
|
|
|
+ ErpOrder erpOrder = getErpOrder(order);
|
|
|
|
|
+ if(erpOrder == null ){
|
|
|
|
|
+ log.info("组合码为空,订单ID:" + order.getOrderCode());
|
|
|
|
|
+ return ;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (erpOrderService == jSTOrderService) {
|
|
|
|
|
+ erpOrder.setShop_code(erpConfig.getErpJstShopCode());
|
|
|
|
|
+ }
|
|
|
|
|
+ ErpOrderResponse response = erpOrderService.addLiveOrder(erpOrder);
|
|
|
|
|
+
|
|
|
|
|
+ //写入日志
|
|
|
|
|
+ log.info("ErpCreate:" + order.getOrderCode() + ":" + JSONUtil.toJsonStr(response));
|
|
|
|
|
+ //支付成功后 将订单号写入待发货的REDIS中
|
|
|
|
|
+ redisCache.setCacheObject(DELIVERY + ":" + response.getCode(), order.getOrderCode());
|
|
|
|
|
+ //写入外部订单号
|
|
|
|
|
+ order.setExtendOrderId(response.getCode());
|
|
|
|
|
+ liveOrderMapper.updateLiveOrder(order);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional(rollbackFor = Throwable.class,propagation = Propagation.REQUIRED)
|
|
@Transactional(rollbackFor = Throwable.class,propagation = Propagation.REQUIRED)
|
|
@@ -687,6 +728,7 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
|
|
|
order.setPayTime(LocalDateTime.now());
|
|
order.setPayTime(LocalDateTime.now());
|
|
|
order.setIsPay("1");
|
|
order.setIsPay("1");
|
|
|
baseMapper.updateLiveOrder(order);
|
|
baseMapper.updateLiveOrder(order);
|
|
|
|
|
+ this.createOmsOrderCall(order);
|
|
|
return "SUCCESS";
|
|
return "SUCCESS";
|
|
|
}catch (Exception e){
|
|
}catch (Exception e){
|
|
|
log.info("支付错误:"+e.getMessage());
|
|
log.info("支付错误:"+e.getMessage());
|
|
@@ -1504,6 +1546,11 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
|
|
|
@Override
|
|
@Override
|
|
|
public R createOmsOrder(Long orderId) throws ParseException {
|
|
public R createOmsOrder(Long orderId) throws ParseException {
|
|
|
LiveOrder order = liveOrderMapper.selectLiveOrderByOrderId(String.valueOf(orderId));
|
|
LiveOrder order = liveOrderMapper.selectLiveOrderByOrderId(String.valueOf(orderId));
|
|
|
|
|
+ LiveOrderPayment liveOrderPayment = liveOrderPaymentMapper.selectByBuissnessId(orderId);
|
|
|
|
|
+ if (liveOrderPayment == null) {
|
|
|
|
|
+ log.info("订单:{},未找到支付信息", order.getOrderCode());
|
|
|
|
|
+ return R.error("订单:" + order.getOrderCode() + ",未找到支付信息");
|
|
|
|
|
+ }
|
|
|
FsSysConfig erpConfig = configUtil.generateStructConfigByKey(SysConfigEnum.HIS_CONFIG.getKey(), FsSysConfig.class);
|
|
FsSysConfig erpConfig = configUtil.generateStructConfigByKey(SysConfigEnum.HIS_CONFIG.getKey(), FsSysConfig.class);
|
|
|
List<Long> noErpCompany = erpConfig.getNoErpCompany();
|
|
List<Long> noErpCompany = erpConfig.getNoErpCompany();
|
|
|
if (noErpCompany != null && noErpCompany.contains(order.getCompanyId())) {
|
|
if (noErpCompany != null && noErpCompany.contains(order.getCompanyId())) {
|