From a0070809b2344266608de9f8c9ac5c8ce1c31a8c Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期三, 16 七月 2025 20:59:55 +0800 Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile into dev --- ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/util/GovernmentCloudTask.java | 254 +++++++++++++++++++++++++++++++++++--------------- 1 files changed, 177 insertions(+), 77 deletions(-) diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/util/GovernmentCloudTask.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/util/GovernmentCloudTask.java index ffadd44..7548617 100644 --- a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/util/GovernmentCloudTask.java +++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/util/GovernmentCloudTask.java @@ -1,26 +1,11 @@ package com.ruoyi.jianguan.util; import com.ruoyi.account.api.factory.JianGuanAccountFallbackFactory; import com.ruoyi.account.api.feignClient.JianGuanAccountClient; +import com.ruoyi.other.api.domain.*; import com.ruoyi.system.api.domain.SysRole; import com.ruoyi.system.api.domain.SysLoginLog; import com.ruoyi.system.api.domain.SysOperLog; import com.ruoyi.system.api.domain.SysUser; - -import com.ruoyi.other.api.domain.TEnterpriseUserApplication; -import com.ruoyi.other.api.domain.THtml; -import com.ruoyi.other.api.domain.TCoupon; -import com.ruoyi.other.api.domain.TSystemConfiguration; -import com.ruoyi.other.api.domain.TVip; -import com.ruoyi.other.api.domain.Operator; -import com.ruoyi.other.api.domain.TGoods; -import com.ruoyi.other.api.domain.TInvoiceType; -import com.ruoyi.other.api.domain.TIntegralRule; -import com.ruoyi.other.api.domain.TActivity; -import com.ruoyi.other.api.domain.TAdvertising; -import com.ruoyi.other.api.domain.TCompany; -import com.ruoyi.other.api.domain.TEvaluationTag; -import com.ruoyi.other.api.domain.TNotice; -import com.ruoyi.other.api.domain.TUserTag; import com.ruoyi.order.api.model.AccountingStrategyDetailOrder; import com.ruoyi.order.api.model.TOrderInvoice; @@ -366,88 +351,125 @@ List<TAccountingStrategy> accountingStrategies = data1.getAccountingStrategies(); if (!accountingStrategies.isEmpty()) { log.info("策略"+accountingStrategies.size()); - - accountingStrategyService.saveOrUpdateBatch(accountingStrategies); + // 分批插入数据 每次最多700条 + for (int i = 0; i < accountingStrategies.size(); i += 700) { + accountingStrategyService.saveOrUpdateBatch(accountingStrategies.subList(i, Math.min(i + 700, accountingStrategies.size()))); + } } List<TAccountingStrategyDetail> accountingStrategyDetails = data1.getAccountingStrategyDetails(); if (!accountingStrategyDetails.isEmpty()) { log.info("策略明细"+accountingStrategyDetails.size()); - - accountingStrategyDetailService.saveOrUpdateBatch(accountingStrategyDetails); + for (int i = 0; i < accountingStrategies.size(); i += 700) { + accountingStrategyDetailService.saveOrUpdateBatch(accountingStrategyDetails.subList(i, Math.min(i + 700, accountingStrategyDetails.size()))); + } } List<TApplyChargingPile> applyChargingPiles = data1.getApplyChargingPiles(); if (!applyChargingPiles.isEmpty()) { log.info("申请充电桩"+applyChargingPiles.size()); - - applyChargingPileService.saveOrUpdateBatch(applyChargingPiles); + // 分批插入数据 每次最多700条 + for (int i = 0; i < applyChargingPiles.size(); i += 700) { + applyChargingPileService.saveOrUpdateBatch(applyChargingPiles.subList(i, Math.min(i + 700, applyChargingPiles.size()))); + } } List<TCarport> carports = data1.getCarports(); if (!carports.isEmpty()) { log.info("停车场"+carports.size()); - - carportService.saveOrUpdateBatch(carports); + // 分批插入数据 每次最多700条 + for (int i = 0; i < carports.size(); i += 700) { + carportService.saveOrUpdateBatch(carports.subList(i, Math.min(i + 700, carports.size()))); + } } List<TChargingGun> chargingGuns = data1.getChargingGuns(); if (!chargingGuns.isEmpty()) { log.info("充电枪"+chargingGuns.size()); + // 分批插入数据 每次最多700条 + for (int i = 0; i < chargingGuns.size(); i += 700) { + chargingGunService.saveOrUpdateBatch(chargingGuns.subList(i, Math.min(i + 700, chargingGuns.size()))); + } chargingGunService.saveOrUpdateBatch(chargingGuns); } List<TChargingPile> chargingPiles = data1.getChargingPiles(); if (!chargingPiles.isEmpty()) { log.info("充电桩"+chargingPiles.size()); + // 分批插入数据 每次最多700条 + for (int i = 0; i < chargingPiles.size(); i += 700) { + chargingPileService.saveOrUpdateBatch(chargingPiles.subList(i, Math.min(i + 700, chargingPiles.size()))); + } - chargingPileService.saveOrUpdateBatch(chargingPiles); } List<TChargingPileNotification> chargingPileNotifications = data1.getChargingPileNotifications(); if (!chargingPileNotifications.isEmpty()) { - log.info("通知"+chargingPileNotifications.size()); - - chargingPileNotificationService.saveOrUpdateBatch(chargingPileNotifications); + log.info("充电桩通知"+chargingPileNotifications.size()); + // 分批插入数据 每次最多700条 + for (int i = 0; i < chargingPileNotifications.size(); i += 700) { + chargingPileNotificationService.saveOrUpdateBatch(chargingPileNotifications.subList(i, Math.min(i + 700, chargingPileNotifications.size()))); + } } List<TFaultMessage> faultMessages = data1.getFaultMessages(); if (!faultMessages.isEmpty()) { log.info("故障"+faultMessages.size()); - - faultMessageService.saveOrUpdateBatch(faultMessages); + // 分批插入数据 每次最多700条 + for (int i = 0; i < faultMessages.size(); i += 700) { + faultMessageService.saveOrUpdateBatch(faultMessages.subList(i, Math.min(i + 700, faultMessages.size()))); + } } List<TMonitoringEquipment> monitoringEquipments = data1.getMonitoringEquipments(); if (!monitoringEquipments.isEmpty()) { log.info("监控设备"+monitoringEquipments.size()); + // 分批插入数据 每次最多700条 + for (int i = 0; i < monitoringEquipments.size(); i += 700) { + monitoringEquipmentService.saveOrUpdateBatch(monitoringEquipments.subList(i, Math.min(i + 700, monitoringEquipments.size()))); - monitoringEquipmentService.saveOrUpdateBatch(monitoringEquipments); + } } List<TParkingLot> parkingLots = data1.getParkingLots(); if (!parkingLots.isEmpty()) { log.info("停车场"+parkingLots.size()); - - parkingLotService.saveOrUpdateBatch(parkingLots); + // 分批插入数据 每次最多700条 + for (int i = 0; i < parkingLots.size(); i += 700) { + parkingLotService.saveOrUpdateBatch(parkingLots.subList(i, Math.min(i + 700, parkingLots.size()))); + } } List<TParkingRecord> parkingRecords = data1.getParkingRecords(); if (!parkingRecords.isEmpty()) { log.info("停车记录"+parkingRecords.size()); - - parkingRecordService.saveOrUpdateBatch(parkingRecords); + // 分批插入数据 每次最多700条 + for (int i = 0; i < parkingRecords.size(); i += 700) { + parkingRecordService.saveOrUpdateBatch(parkingRecords.subList(i, Math.min(i + 700, parkingRecords.size()))); + } } -// List<TPartnerSite> partnerSites = data1.getPartnerSites(); -// if (!partnerSites.isEmpty()) { -// partnerSiteService.saveOrUpdateBatch(partnerSites); -// } + List<TPartnerSite> partnerSites = data1.getPartnerSites(); + if (partnerSites!=null&&!partnerSites.isEmpty()) { + log.info("合作商站点"+parkingRecords.size()); + // 分批插入数据 每次最多700条 + for (int i = 0; i < partnerSites.size(); i += 700) { + partnerSiteService.saveOrUpdateBatch(partnerSites.subList(i, Math.min(i + 700, partnerSites.size()))); + } + } List<TRepair> repairs = data1.getRepairs(); if (!repairs.isEmpty()) { log.info("报修"+repairs.size()); - - repairService.saveOrUpdateBatch(repairs); + // 分批插入数据 每次最多700条 + for (int i = 0; i < repairs.size(); i += 700) { + repairService.saveOrUpdateBatch(repairs.subList(i, Math.min(i + 700, repairs.size()))); + } } -// List<TSiteMenu> siteMenus = data1.getSiteMenus(); -// if (!siteMenus.isEmpty()) { -// siteMenuService.saveOrUpdateBatch(siteMenus); -// } + List<TSiteMenu> siteMenus = data1.getSiteMenus(); + if (siteMenus!=null&&!siteMenus.isEmpty()) { + log.info("站点菜单"+repairs.size()); + // 分批插入数据 每次最多700条 + for (int i = 0; i < siteMenus.size(); i += 700) { + siteMenuService.saveOrUpdateBatch(siteMenus.subList(i, Math.min(i + 700, siteMenus.size()))); + } + } List<TVehicleRamp> vehicleRamps = data1.getVehicleRamps(); if (!vehicleRamps.isEmpty()) { log.info("车道"+vehicleRamps.size()); - - vehicleRampService.saveOrUpdateBatch(vehicleRamps); + // 分批插入数据 每次最多700条 + for (int i = 0; i < vehicleRamps.size(); i += 700) { + vehicleRampService.saveOrUpdateBatch(vehicleRamps.subList(i, Math.min(i + 700, vehicleRamps.size()))); + } } } //order服务 @@ -457,110 +479,160 @@ List<AccountingStrategyDetailOrder> accountingStrategyDetailOrders = data2.getAccountingStrategyDetailOrders(); if (!accountingStrategyDetailOrders.isEmpty()) { log.info("订单明细策略"+accountingStrategyDetailOrders.size()); - - accountingStrategyDetailOrderService.saveOrUpdateBatch(accountingStrategyDetailOrders); + // 分批插入数据 每次最多700条 + for (int i = 0; i < accountingStrategyDetailOrders.size(); i += 700) { + accountingStrategyDetailOrderService.saveOrUpdateBatch(accountingStrategyDetailOrders.subList(i, Math.min(i + 700, accountingStrategyDetailOrders.size()))); + } } List<AccountingStrategyOrder> accountingStrategyOrders = data2.getAccountingStrategyOrders(); if (!accountingStrategyOrders.isEmpty()) { log.info("订单策略"+accountingStrategyOrders.size()); - - accountingStrategyOrderService.saveOrUpdateBatch(accountingStrategyOrders); + // 分批插入数据 每次最多700条 + int size = 700; + for (int i = 0; i < accountingStrategyOrders.size(); i += size) { + List<AccountingStrategyOrder> subList = accountingStrategyOrders.subList(i, Math.min(i + size, accountingStrategyOrders.size())); + accountingStrategyOrderService.saveOrUpdateBatch(subList); + } } List<TChargingBill> chargingBills = data2.getChargingBills(); if (!chargingBills.isEmpty()) { log.info("账单"+chargingBills.size()); + // 分批插入数据 每次最多700条 + // 分批插入数据 每次最多700条 + for (int i = 0; i < chargingBills.size(); i += 700) { + chargingBillService.saveOrUpdateBatch(chargingBills.subList(i, Math.min(i + 700, chargingBills.size()))); + } - chargingBillService.saveOrUpdateBatch(chargingBills); } List<TChargingOrder> chargingOrders = data2.getChargingOrders(); if (!chargingOrders.isEmpty()) { log.info("充电订单"+chargingOrders.size()); - - chargingOrderService.saveOrUpdateBatch(chargingOrders); + // 分批插入数据 每次最多700条 + for (int i = 0; i < chargingOrders.size(); i += 700) { + chargingOrderService.saveOrUpdateBatch(chargingOrders.subList(i, Math.min(i + 700, chargingOrders.size()))); + } } List<TChargingOrderAccountingStrategy> chargingOrderAccountingStrategies = data2.getChargingOrderAccountingStrategies(); if (!chargingOrderAccountingStrategies.isEmpty()) { log.info("充电订单策略"+chargingOrderAccountingStrategies.size()); - - chargingOrderAccountingStrategyService.saveOrUpdateBatch(chargingOrderAccountingStrategies); + // 分批插入数据 每次最多700条 + for (int i = 0; i < chargingOrderAccountingStrategies.size(); i += 700) { + chargingOrderAccountingStrategyService.saveOrUpdateBatch(chargingOrderAccountingStrategies.subList(i, Math.min(i + 700, chargingOrderAccountingStrategies.size()))); + } } List<TChargingOrderRefund> chargingOrderRefunds = data2.getChargingOrderRefunds(); if (!chargingOrderRefunds.isEmpty()) { log.info("充电订单退款"+chargingOrderRefunds.size()); - chargingOrderRefundService.saveOrUpdateBatch(chargingOrderRefunds); + // 分批插入数据 每次最多700条 + for (int i = 0; i < chargingOrderRefunds.size(); i += 700) { + chargingOrderRefundService.saveOrUpdateBatch(chargingOrderRefunds.subList(i, Math.min(i + 700, chargingOrderRefunds.size()))); + } } List<TExchangeOrder> exchangeOrders = data2.getExchangeOrders(); if (!exchangeOrders.isEmpty()) { log.info("兑换订单"+exchangeOrders.size()); - exchangeOrderService.saveOrUpdateBatch(exchangeOrders); + // 分批插入数据 每次最多700条 + for (int i = 0; i < exchangeOrders.size(); i += 700) { + exchangeOrderService.saveOrUpdateBatch(exchangeOrders.subList(i, Math.min(i + 700, exchangeOrders.size()))); + } } List<TGrantVip> grantVips = data2.getGrantVips(); if (!grantVips.isEmpty()) { log.info("赠送vip"+grantVips.size()); - grantVipService.saveOrUpdateBatch(grantVips); + // 分批插入数据 每次最多700条 + for (int i = 0; i < grantVips.size(); i += 700) { + grantVipService.saveOrUpdateBatch(grantVips.subList(i, Math.min(i + 700, grantVips.size()))); + } } List<TOrderAppeal> orderAppeals = data2.getOrderAppeals(); if (!orderAppeals.isEmpty()) { log.info("订单申诉"+orderAppeals.size()); - orderAppealService.saveOrUpdateBatch(orderAppeals); + // 分批插入数据 每次最多700条 + for (int i = 0; i < orderAppeals.size(); i += 700) { + orderAppealService.saveOrUpdateBatch(orderAppeals.subList(i, Math.min(i + 700, orderAppeals.size()))); + } } List<TOrderEvaluate> orderEvaluates = data2.getOrderEvaluates(); if (!orderEvaluates.isEmpty()) { log.info("订单评价"+orderEvaluates.size()); - orderEvaluateService.saveOrUpdateBatch(orderEvaluates); + // 分批插入数据 每次最多700条 + for (int i = 0; i < orderEvaluates.size(); i += 700) { + orderEvaluateService.saveOrUpdateBatch(orderEvaluates.subList(i, Math.min(i + 700, orderEvaluates.size()))); + } } List<TOrderEvaluateTag> orderEvaluateTags = data2.getOrderEvaluateTags(); if (!orderEvaluateTags.isEmpty()) { log.info("订单评价标签"+orderEvaluateTags.size()); - - orderEvaluateTagService.saveOrUpdateBatch(orderEvaluateTags); + // 分批插入数据 每次最多700条 + for (int i = 0; i < orderEvaluateTags.size(); i += 700) { + orderEvaluateTagService.saveOrUpdateBatch(orderEvaluateTags.subList(i, Math.min(i + 700, orderEvaluateTags.size()))); + } } List<TOrderInvoice> orderInvoices = data2.getOrderInvoices(); if (!orderInvoices.isEmpty()) { log.info("订单开票"+orderInvoices.size()); - orderInvoiceService.saveOrUpdateBatch(orderInvoices); + // 分批插入数据 每次最多700条 + for (int i = 0; i < orderInvoices.size(); i += 700) { + orderInvoiceService.saveOrUpdateBatch(orderInvoices.subList(i, Math.min(i + 700, orderInvoices.size()))); + } } List<TOrderInvoiceDetail> orderInvoiceDetails = data2.getOrderInvoiceDetails(); if (!orderInvoiceDetails.isEmpty()) { log.info("订单开票明细"+orderInvoiceDetails.size()); - - orderInvoiceDetailService.saveOrUpdateBatch(orderInvoiceDetails); + // 分批插入数据 每次最多700条 + for (int i = 0; i < orderInvoiceDetails.size(); i += 700) { + orderInvoiceDetailService.saveOrUpdateBatch(orderInvoiceDetails.subList(i, Math.min(i + 700, orderInvoiceDetails.size()))); + } } List<TSettlementConfirm> settlementConfirms = data2.getSettlementConfirms(); if (!settlementConfirms.isEmpty()) { log.info("账单结算"+settlementConfirms.size()); - settlementConfirmService.saveOrUpdateBatch(settlementConfirms); + // 分批插入数据 每次最多700条 + for (int i = 0; i < settlementConfirms.size(); i += 700) { + settlementConfirmService.saveOrUpdateBatch(settlementConfirms.subList(i, Math.min(i + 700, settlementConfirms.size()))); + } } List<TShoppingOrder> shoppingOrders = data2.getShoppingOrders(); if (!shoppingOrders.isEmpty()) { log.info("购物订单"+shoppingOrders.size()); - shoppingOrderService.saveOrUpdateBatch(shoppingOrders); + // 分批插入数据 每次最多700条 + for (int i = 0; i < shoppingOrders.size(); i += 700) { + shoppingOrderService.saveOrUpdateBatch(shoppingOrders.subList(i, Math.min(i + 700, shoppingOrders.size()))); + } } List<TShoppingOrderRefund> shoppingOrderRefunds = data2.getShoppingOrderRefunds(); if (!shoppingOrderRefunds.isEmpty()) { log.info("购物订单退款"+shoppingOrderRefunds.size()); - - shoppingOrderRefundService.saveOrUpdateBatch(shoppingOrderRefunds); + // 分批插入数据 每次最多700条 + for (int i = 0; i < shoppingOrderRefunds.size(); i += 700) { + shoppingOrderRefundService.saveOrUpdateBatch(shoppingOrderRefunds.subList(i, Math.min(i + 700, shoppingOrderRefunds.size()))); + } } List<TVipOrder> vipOrders = data2.getVipOrders(); if (!vipOrders.isEmpty()) { log.info("会员订单"+vipOrders.size()); - vipOrderService.saveOrUpdateBatch(vipOrders); + // 分批插入数据 每次最多700条 + for (int i = 0; i < vipOrders.size(); i += 700) { + vipOrderService.saveOrUpdateBatch(vipOrders.subList(i, Math.min(i + 700, vipOrders.size()))); + } } List<TVipOrderRefund> vipOrderRefunds = data2.getVipOrderRefunds(); if (!vipOrderRefunds.isEmpty()) { log.info("会员订单退款"+vipOrderRefunds); - vipOrderRefundService.saveOrUpdateBatch(vipOrderRefunds); + // 分批插入数据 每次最多700条 + for (int i = 0; i < vipOrderRefunds.size(); i += 700) { + vipOrderRefundService.saveOrUpdateBatch(vipOrderRefunds.subList(i, Math.min(i + 700, vipOrderRefunds.size()))); + } } } // other服务 @@ -637,8 +709,10 @@ List<TNotice> notices = data3.getNotices(); if (!notices.isEmpty()) { log.info("通知"+notices.size()); - - noticeService.saveOrUpdateBatch(notices); + // 分批插入数据 每次最多700条 + for (int i = 0; i < notices.size(); i += 700) { + noticeService.saveOrUpdateBatch(notices.subList(i, Math.min(i + 700, notices.size()))); + } } List<TSystemConfiguration> systemConfigurations = data3.getSystemConfigurations(); if (!systemConfigurations.isEmpty()) { @@ -650,13 +724,33 @@ if (!userTags.isEmpty()) { log.info("用户标签"+userTags.size()); - userTagService.saveOrUpdateBatch(userTags); + // 分批插入数据 每次最多700条 + for (int i = 0; i < userTags.size(); i += 700) { + userTagService.saveOrUpdateBatch(userTags.subList(i, Math.min(i + 700, userTags.size()))); + } } List<TVip> vips = data3.getVips(); if (!vips.isEmpty()) { log.info("会员"+vips.size()); vipService.saveOrUpdateBatch(vips); + } + List<TUserSite> userSites = data3.getUserSites(); + if (userSites!=null&&!userSites.isEmpty()) { + log.info("用户站点"+userSites.size()); + + // 分批插入数据 每次最多700条 + for (int i = 0; i < userTags.size(); i += 700) { + userSiteService.saveOrUpdateBatch(userSites.subList(i, Math.min(i + 700, userSites.size()))); + } + } + List<TRoleSite> roleSites = data3.getRoleSites(); + if (roleSites!=null&&!userSites.isEmpty()) { + log.info("角色站点"+userSites.size()); + // 分批插入数据 每次最多700条 + for (int i = 0; i < roleSites.size(); i += 700) { + roleSiteService.saveOrUpdateBatch(roleSites.subList(i, Math.min(i + 700, roleSites.size()))); + } } } GovernmentCloudSystemVO data4 = jianGuanSystemClient.listAll().getData(); @@ -667,13 +761,19 @@ if (!loginLogs.isEmpty()) { log.info("登录日志"+loginLogs.size()); - sysLoginLogService.saveOrUpdateBatch(loginLogs); + // 分批插入数据 每次最多700条 + for (int i = 0; i < loginLogs.size(); i += 700) { + sysLoginLogService.saveOrUpdateBatch(loginLogs.subList(i, Math.min(i + 700, loginLogs.size()))); + } } List<SysOperLog> sysOperLogs = data4.getSysOperLogs(); if (!sysOperLogs.isEmpty()) { log.info("操作日志"+sysOperLogs.size()); - sysOperLogService.saveOrUpdateBatch(sysOperLogs); + // 分批插入数据 每次最多700条 + for (int i = 0; i < sysOperLogs.size(); i += 700) { + sysOperLogService.saveOrUpdateBatch(sysOperLogs.subList(i, Math.min(i + 700, sysOperLogs.size()))); + } } List<SysRole> sysRoles = data4.getSysRoles(); if (!sysRoles.isEmpty()) { -- Gitblit v1.7.1