Browse Source

对历史遗留运单定时处理

xusonglin 5 years ago
parent
commit
69726708fb

+ 3 - 0
src/main/java/com/jkcredit/invoice/hub/mapper/CarFreeCarrierBillStartMapper.java

@@ -27,6 +27,9 @@ public interface CarFreeCarrierBillStartMapper extends BaseMapper<CarFreeCarrier
     // 查询状态为已结束和开票中运单的历史运单
     // 查询状态为已结束和开票中运单的历史运单
     List<CarFreeCarrierBillStartPo> getHistoryBills();
     List<CarFreeCarrierBillStartPo> getHistoryBills();
 
 
+    // 查询状态为空的运单(状态为空为老平台遗留数据,通过此项目接口上传的运单状态不为空)
+    List<CarFreeCarrierBillStartPo> getBillsWithoutIsHistoryFlag();
+
     // 查询未被查询过的运单编号
     // 查询未被查询过的运单编号
     List<String> getNoSearchNums(String userId);
     List<String> getNoSearchNums(String userId);
 
 

+ 3 - 0
src/main/java/com/jkcredit/invoice/hub/service/carFreeCarrierBillStart/CarFreeCarrierBillStartService.java

@@ -33,4 +33,7 @@ public interface CarFreeCarrierBillStartService {
     List<String> getNoSearchNums(String userId);
     List<String> getNoSearchNums(String userId);
 
 
     IPage<BillRecordVo> getBillRecord(Page page, BillRecordDto dto);
     IPage<BillRecordVo> getBillRecord(Page page, BillRecordDto dto);
+
+    // 查询状态为空的运单(状态为空为老平台遗留数据,通过此项目接口上传的运单状态不为空)
+    List<CarFreeCarrierBillStartPo> getBillsWithoutIsHistoryFlag();
 }
 }

+ 11 - 0
src/main/java/com/jkcredit/invoice/hub/service/carFreeCarrierBillStart/CarFreeCarrierBillStartServiceImpl.java

@@ -151,4 +151,15 @@ public class CarFreeCarrierBillStartServiceImpl extends BaseService implements C
         // 将数据库存储的decimal转double
         // 将数据库存储的decimal转double
         return vo;
         return vo;
     }
     }
+
+    @Override
+    public List<CarFreeCarrierBillStartPo> getBillsWithoutIsHistoryFlag() {
+        try {
+            List<CarFreeCarrierBillStartPo> billStartPoList = mapper.getBillsWithoutIsHistoryFlag();
+            return billStartPoList;
+        } catch (Exception e) {
+            log.error("运单查询失败,失败原因:{}", e.getMessage());
+            throw new ServiceException("运单查询失败");
+        }
+    }
 }
 }

+ 21 - 3
src/main/java/com/jkcredit/invoice/hub/task/WayBillTask.java

@@ -24,7 +24,8 @@ public class WayBillTask {
     @Autowired
     @Autowired
     ApiCarFreeChargeService chargeService;
     ApiCarFreeChargeService chargeService;
 
 
-    @Scheduled(cron = "0 1/3 * * * ?", zone = "Asia/Shanghai")
+    // 实时运单
+    @Scheduled(cron = "0 0 23 * * ?", zone = "Asia/Shanghai")
     public void realTimeWayBill() {
     public void realTimeWayBill() {
         // 查询实时订单,且状态为已结束和开票中
         // 查询实时订单,且状态为已结束和开票中
         // 调用运单查询发票接口
         // 调用运单查询发票接口
@@ -38,9 +39,10 @@ public class WayBillTask {
         }
         }
     }
     }
 
 
-    @Scheduled(cron = "0 1/3 * * * ?", zone = "Asia/Shanghai")
+    // 历史运单
+    @Scheduled(cron = "0 0 * * * ?", zone = "Asia/Shanghai")
     public void historyWayBill() {
     public void historyWayBill() {
-        // 查询实时订单,且状态为已结束和开票中
+        // 查询历史订单,且状态为已结束和开票中
         // 调用运单查询发票接口
         // 调用运单查询发票接口
         // 解析结果
         // 解析结果
         // 如果result不为[],则将结果入库
         // 如果result不为[],则将结果入库
@@ -51,4 +53,20 @@ public class WayBillTask {
             chargeService.charge(po);
             chargeService.charge(po);
         }
         }
     }
     }
+
+    // // 查询状态为空的运单(状态为空为老平台遗留数据,通过此项目接口上传的运单状态不为空),is_history为空则不能区分是历史运单还是实时运单
+    @Scheduled(cron = "0 0 0/2 * * ?", zone = "Asia/Shanghai")
+//    @Scheduled(cron = "0 1/3 * * * ?", zone = "Asia/Shanghai")
+    public void billsWithoutIsHistoryFlag() {
+        // 查询实时/历史订单,且状态为已结束和开票中
+        // 调用运单查询发票接口
+        // 解析结果
+        // 如果result不为[],则将结果入库
+        // 根据返回transationID去重
+        // 每一条放入消息队列,计费
+        List<CarFreeCarrierBillStartPo> startPoList = startService.getBillsWithoutIsHistoryFlag();
+        for (CarFreeCarrierBillStartPo po : startPoList) {
+            chargeService.charge(po);
+        }
+    }
 }
 }

+ 4 - 0
src/main/resources/mapper/CarFreeCarrierBillStartMapper.xml

@@ -73,4 +73,8 @@
             </if>
             </if>
         </where>
         </where>
     </select>
     </select>
+
+    <select id="getBillsWithoutIsHistoryFlag" resultMap="baseResultMap">
+        select * from h_car_free_carrier_bill_start where activated = 1 and is_history is null and (status = 2 or status = 4)
+    </select>
 </mapper>
 </mapper>