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

fix:积分订单查询自己的df表而不是store的df表

dengweize 5 дней назад
Родитель
Сommit
8585f13909

+ 31 - 6
fs-service/src/main/java/com/fs/erp/service/impl/DfOrderServiceImpl.java

@@ -1356,7 +1356,7 @@ public class DfOrderServiceImpl implements IErpOrderService {
         if (fsIntegralOrder == null) {
             return null;
         }
-        Long dfAccountId = getSFAccountIndex(fsIntegralOrder.getOrderId());
+        Long dfAccountId = getSFAccountIndexIntegral(fsIntegralOrder.getOrderId());
         //1.获取请求参数
         ExternalOrderRequestVo vo = getCreateOrderRequestParam(order, fsIntegralOrder, dfAccountId);
         if (vo == null) {
@@ -1827,6 +1827,29 @@ public class DfOrderServiceImpl implements IErpOrderService {
         }
     }
 
+    private Long getSFAccountIndexIntegral(Long orderId) {
+        List<FsDfAccount> fsDfAccounts = fsDfAccountMapper.selectFsDfAccountList(null);
+        if (orderId != null) {
+            //查询是否选择erp账户
+            FsIntegralOrderDf temp = integralOrderDfMapper.selectById(orderId);
+            if (temp != null) {
+                if (fsDfAccounts != null && !fsDfAccounts.isEmpty()) {
+                    for (FsDfAccount fsDfAccount : fsDfAccounts) {
+                        if (temp.getLoginAccount().equals(fsDfAccount.getLoginAccount())) {
+                            return fsDfAccount.getId();
+                        }
+                    }
+                }
+                return null;
+            }
+        }
+        if (fsDfAccounts != null && !fsDfAccounts.isEmpty()) {
+            return fsDfAccounts.get(0).getId();
+        } else {
+            return null;
+        }
+    }
+
     private void getOrderResult(Map<String, Object> map, Long dfAccountId) {
         try {
             String status = map.get("exInterfaceType").toString();
@@ -2014,11 +2037,13 @@ public class DfOrderServiceImpl implements IErpOrderService {
     private void rollBackIntegralOrder(String orderNumber, String failMsg){
         //积分的回退不用修改扩展id,定时任务准备使用df表的ispush字段来查询
         FsIntegralOrderDf df = integralOrderDfMapper.selectOne(Wrappers.<FsIntegralOrderDf>lambdaQuery().eq(FsIntegralOrderDf::getOrderCode, orderNumber));
-        df.setStatus(0); //回到默认
-        df.setFailMsg(failMsg); //失败消息
-        df.setUpdateTime(LocalDateTime.now());
-        df.setIsPush(0);
-        integralOrderDfMapper.updateById(df);
+        FsIntegralOrderDf df1 = new FsIntegralOrderDf();
+        df1.setOrderId(df.getOrderId());
+        df1.setStatus(0); //回到默认
+        df1.setFailMsg(failMsg); //失败消息
+        df1.setUpdateTime(LocalDateTime.now());
+        df1.setIsPush(0);
+        integralOrderDfMapper.updateById(df1);
         log.info("{}订单获取运单失败,失败信息为:{}", orderNumber,failMsg);
     }