diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcHistoryOrderMapper.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcHistoryOrderMapper.java index f0aff6a8..21a2d58d 100644 --- a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcHistoryOrderMapper.java +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcHistoryOrderMapper.java @@ -14,9 +14,11 @@ import java.util.Map; */ public interface XhpcHistoryOrderMapper { - List selectUnsyncOrderList(@Param("limit") Integer limit); + List selectUnsyncOrderList(); - int selectUnsyncOrderListCount(); + String selectSyncedOrderIds(); + + int selectUnsyncOrderListCount(@Param("endTime")String endTime); int updateStatusBatchByOrderIds(@Param("orderIds") String orderIds, @Param("status") Integer status); diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/task/SyncHistoryOrderTask.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/task/SyncHistoryOrderTask.java index 27f6540f..96be0f40 100644 --- a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/task/SyncHistoryOrderTask.java +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/task/SyncHistoryOrderTask.java @@ -5,16 +5,14 @@ import com.xhpc.activity.domain.XhpcClearingHistoryOrderDomain; import com.xhpc.activity.domain.XhpcHistoryOrderDomain; import com.xhpc.activity.mapper.XhpcClearingHistoryOrderMapper; import com.xhpc.activity.mapper.XhpcHistoryOrderMapper; -import com.xhpc.common.core.utils.DateUtils; +import com.xhpc.common.core.utils.StringUtils; import com.xhpc.common.core.utils.bean.BeanUtils; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.GetMapping; import javax.annotation.Resource; import java.util.ArrayList; -import java.util.Date; import java.util.List; @@ -34,35 +32,40 @@ public class SyncHistoryOrderTask { */ @Scheduled(cron = "0 0 0/1 * * ?") @Transactional - void ExpiredTenantStatusTask(){ + void ExpiredTenantStatusTask() { System.out.println(" ============== 自动同步订单到清分 开始 =========================="); try { - int orderTotal = historyOrderMapper.selectUnsyncOrderListCount(); - int oneTimeCount = 1000; - System.out.println("总共查询到未清分审核订单记录:" + orderTotal); + String syncedOrderIds = historyOrderMapper.selectSyncedOrderIds(); + if (StringUtils.isNotEmpty(syncedOrderIds)) { + historyOrderMapper.updateStatusBatchByOrderIds(syncedOrderIds, 3); + } + + boolean isFinish = false; int count = 0; - while (orderTotal > 0){ - List unClearingDomainList = historyOrderMapper.selectUnsyncOrderList(oneTimeCount); + while (!isFinish) { + List unClearingDomainList = historyOrderMapper.selectUnsyncOrderList(); + if (unClearingDomainList.size() > 0) { + List clearingHistoryOrderDomainList = new ArrayList<>(); + StringBuilder orderIds = new StringBuilder(); + for (XhpcHistoryOrderDomain domain : unClearingDomainList) { + XhpcClearingHistoryOrderDomain clearingDomain = new XhpcClearingHistoryOrderDomain(); - List clearingHistoryOrderDomainList = new ArrayList<>(); - StringBuilder orderIds = new StringBuilder(); - for (XhpcHistoryOrderDomain domain : unClearingDomainList){ - XhpcClearingHistoryOrderDomain clearingDomain = new XhpcClearingHistoryOrderDomain(); - - BeanUtils.copyProperties(domain, clearingDomain); - clearingDomain.setClearingOrderId(domain.getHistoryOrderId()); - clearingDomain.setCheckStatus(0); - clearingHistoryOrderDomainList.add(clearingDomain); - orderIds.append(",").append(domain.getHistoryOrderId()); + BeanUtils.copyProperties(domain, clearingDomain); + clearingDomain.setClearingOrderId(domain.getHistoryOrderId()); + clearingDomain.setCheckStatus(0); + clearingHistoryOrderDomainList.add(clearingDomain); + orderIds.append(",").append(domain.getHistoryOrderId()); + } + clearingHistoryOrderMapper.insertBatch(clearingHistoryOrderDomainList); + historyOrderMapper.updateStatusBatchByOrderIds(orderIds.toString(), 3); + } else { + isFinish = true; } - clearingHistoryOrderMapper.insertBatch(clearingHistoryOrderDomainList); - historyOrderMapper.updateStatusBatchByOrderIds(orderIds.toString(), 3); - orderTotal = orderTotal - oneTimeCount; count ++; - System.out.println(" ============== 自动同步订单到清分 第"+count+"次循环结束,"+ DateUtils.parseDateToStr(new Date()) + " =========================="); - } - System.out.println(" ============== 自动同步订单到清分,结束 =========================="); - } catch (Exception e){ + count += unClearingDomainList.size(); + } + System.out.println(" ============== 自动同步订单到清分,结束; 总计同步数量:" + count + " =========================="); + } catch (Exception e) { System.out.println(" ============= 同步异常 ============"); e.printStackTrace(); } diff --git a/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcHistoryOrderMapper.xml b/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcHistoryOrderMapper.xml index e544c136..088f20fe 100644 --- a/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcHistoryOrderMapper.xml +++ b/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcHistoryOrderMapper.xml @@ -76,21 +76,6 @@ ho.charging_mode, ho.internet_degree_commission, ho.`source`, ho.tenant_id, ho.activity_power_price_total, ho.activity_service_price_total, ho.activity_total_price - - - + + + + + + +