From 4a8411147f0341005f746148fdaac64014f65813 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 17 七月 2025 09:04:12 +0800
Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

---
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/util/GovernmentCloudTask.java |  406 ++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 242 insertions(+), 164 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 0832909..1f199f6 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;
@@ -290,70 +275,94 @@
             if (!appCoupons.isEmpty()) {
                 log.info("用户优惠券"+appCoupons.size());
                 // 将id 设置为null
-                appCoupons.forEach(appCoupon -> appCoupon.setId(null));
-                appCouponService.saveBatch(appCoupons);
+                log.info("策略"+appCoupons.size());
+                // 分批插入数据 每次最多700条
+                for (int i = 0; i < appCoupons.size(); i += 700) {
+                    appCouponService.saveOrUpdateBatch(appCoupons.subList(i, Math.min(i + 700, appCoupons.size())));
+                }
             }
             List<TAppUser> appUsers = data.getAppUsers();
             if (!appUsers.isEmpty()) {
                 log.info("用户"+appUsers.size());
-                appUsers.forEach(appCoupon -> appCoupon.setId(null));
 
-                appUserService.saveBatch(appUsers);
+                // 分批插入数据 每次最多700条
+                for (int i = 0; i < appUsers.size(); i += 700) {
+                    appUserService.saveOrUpdateBatch(appUsers.subList(i, Math.min(i + 700, appUsers.size())));
+                }
             }
             List<TAppUserAddress> appUserAddresses = data.getAppUserAddresses();
             if (!appUserAddresses.isEmpty()) {
                 log.info("用户地址"+appUserAddresses.size());
-                appUserAddresses.forEach(appCoupon -> appCoupon.setId(null));
 
-                appUserAddressService.saveBatch(appUserAddresses);
+                // 分批插入数据 每次最多700条
+                for (int i = 0; i < appUserAddresses.size(); i += 700) {
+                    appUserAddressService.saveOrUpdateBatch(appUserAddresses.subList(i, Math.min(i + 700, appUserAddresses.size())));
+                }
             }
             List<TAppUserCar> appUserCars = data.getAppUserCars();
             if (!appUserCars.isEmpty()) {
                 log.info("用户车辆"+appUserCars.size());
-                appUserCars.forEach(appCoupon -> appCoupon.setId(null));
-                appUserCarService.saveBatch(appUserCars);
+                appUserCarService.saveOrUpdateBatch(appUserCars);
+                // 分批插入数据 每次最多700条
+                for (int i = 0; i < appUserCars.size(); i += 700) {
+                    appUserCarService.saveOrUpdateBatch(appUserCars.subList(i, Math.min(i + 700, appUserCars.size())));
+                }
             }
             List<TAppUserIntegralChange> appUserIntegralChanges = data.getAppUserIntegralChanges();
             if (!appUserIntegralChanges.isEmpty()) {
                 log.info("用户积分变动"+appUserIntegralChanges.size());
-                appUserIntegralChanges.forEach(appCoupon -> appCoupon.setId(null));
 
-                appUserIntegralChangeService.saveBatch(appUserIntegralChanges);
+                // 分批插入数据 每次最多700条
+                for (int i = 0; i < appUserIntegralChanges.size(); i += 700) {
+                    appUserIntegralChangeService.saveOrUpdateBatch(appUserIntegralChanges.subList(i, Math.min(i + 700, appUserIntegralChanges.size())));
+                }
             }
             List<TAppUserSign> appUserSigns = data.getAppUserSigns();
             if (!appUserSigns.isEmpty()) {
                 log.info("用户签到"+appUserSigns.size());
-                appUserSigns.forEach(appCoupon -> appCoupon.setId(null));
 
-                appUserSignService.saveBatch(appUserSigns);
+                // 分批插入数据 每次最多700条
+                for (int i = 0; i < appUserSigns.size(); i += 700) {
+                    appUserSignService.saveOrUpdateBatch(appUserSigns.subList(i, Math.min(i + 700, appUserSigns.size())));
+                }
             }
             List<TAppUserTag> appUserTags = data.getAppUserTags();
             if (!appUserTags.isEmpty()) {
                 log.info("用户标签"+appUserTags.size());
-                appUserTags.forEach(appCoupon -> appCoupon.setId(null));
 
-                appUserTagService.saveBatch(appUserTags);
+
+                // 分批插入数据 每次最多700条
+                for (int i = 0; i < appUserTags.size(); i += 700) {
+                    appUserTagService.saveOrUpdateBatch(appUserTags.subList(i, Math.min(i + 700, appUserTags.size())));
+                }
             }
             List<TAppUserVipDetail> appUserVipDetails = data.getAppUserVipDetails();
             if (!appUserVipDetails.isEmpty()) {
                 log.info("用户会员明细"+appUserVipDetails.size());
-                appUserVipDetails.forEach(appCoupon -> appCoupon.setId(null));
 
-                appUserVipDetailService.saveBatch(appUserVipDetails);
+
+                // 分批插入数据 每次最多700条
+                for (int i = 0; i < appUserVipDetails.size(); i += 700) {
+                    appUserVipDetailService.saveOrUpdateBatch(appUserVipDetails.subList(i, Math.min(i + 700, appUserVipDetails.size())));
+                }
             }
             List<TInviteUser> inviteUsers = data.getInviteUsers();
             if (!inviteUsers.isEmpty()) {
                 log.info("邀请用户"+inviteUsers.size());
-                inviteUsers.forEach(appCoupon -> appCoupon.setId(null));
 
-                inviteUserService.saveBatch(inviteUsers);
+                // 分批插入数据 每次最多700条
+                for (int i = 0; i < inviteUsers.size(); i += 700) {
+                    inviteUserService.saveOrUpdateBatch(inviteUsers.subList(i, Math.min(i + 700, inviteUsers.size())));
+                }
             }
             List<TInvoiceInformation> invoiceInformations = data.getInvoiceInformations();
             if (!invoiceInformations.isEmpty()) {
                 log.info("开票"+invoiceInformations.size());
-                invoiceInformations.forEach(appCoupon -> appCoupon.setId(null));
 
-                tInvoiceInformationService.saveBatch(invoiceInformations);
+                // 分批插入数据 每次最多700条
+                for (int i = 0; i < invoiceInformations.size(); i += 700) {
+                    tInvoiceInformationService.saveOrUpdateBatch(invoiceInformations.subList(i, Math.min(i + 700, invoiceInformations.size())));
+                }
             }
         }
         // chargingPile服务
@@ -364,115 +373,143 @@
             List<Partner> partners = data1.getPartners();
             if (!partners.isEmpty()) {
                 log.info("合作商"+partners.size());
-                partners.forEach(appCoupon -> appCoupon.setId(null));
 
-                partnerService.saveBatch(partners);
+                // 分批插入数据 每次最多700条
+                for (int i = 0; i < partners.size(); i += 700) {
+                    partnerService.saveOrUpdateBatch(partners.subList(i, Math.min(i + 700, partners.size())));
+                }
             }
             List<Site> sites = data1.getSites();
             if (!sites.isEmpty()) {
                 log.info("站点"+sites.size());
-                sites.forEach(appCoupon -> appCoupon.setId(null));
 
-                siteService.saveBatch(sites);
+                // 分批插入数据 每次最多700条
+                for (int i = 0; i < sites.size(); i += 700) {
+                    siteService.saveOrUpdateBatch(sites.subList(i, Math.min(i + 700, sites.size())));
+                }
             }
             List<TAccountingStrategy> accountingStrategies = data1.getAccountingStrategies();
             if (!accountingStrategies.isEmpty()) {
                 log.info("策略"+accountingStrategies.size());
-                accountingStrategies.forEach(appCoupon -> appCoupon.setId(null));
-
-                accountingStrategyService.saveBatch(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());
-                accountingStrategyDetails.forEach(appCoupon -> appCoupon.setId(null));
-
-                accountingStrategyDetailService.saveBatch(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());
-                applyChargingPiles.forEach(appCoupon -> appCoupon.setId(null));
-
-                applyChargingPileService.saveBatch(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());
-                carports.forEach(appCoupon -> appCoupon.setId(null));
-
-                carportService.saveBatch(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());
-                chargingGuns.forEach(appCoupon -> appCoupon.setId(null));
+                // 分批插入数据 每次最多700条
+                for (int i = 0; i < chargingGuns.size(); i += 700) {
+                    chargingGunService.saveOrUpdateBatch(chargingGuns.subList(i, Math.min(i + 700, chargingGuns.size())));
+                }
 
-                chargingGunService.saveBatch(chargingGuns);
+                chargingGunService.saveOrUpdateBatch(chargingGuns);
             }
             List<TChargingPile> chargingPiles = data1.getChargingPiles();
             if (!chargingPiles.isEmpty()) {
                 log.info("充电桩"+chargingPiles.size());
-                chargingPiles.forEach(appCoupon -> appCoupon.setId(null));
+                // 分批插入数据 每次最多700条
+                for (int i = 0; i < chargingPiles.size(); i += 700) {
+                    chargingPileService.saveOrUpdateBatch(chargingPiles.subList(i, Math.min(i + 700, chargingPiles.size())));
+                }
 
-                chargingPileService.saveBatch(chargingPiles);
             }
             List<TChargingPileNotification> chargingPileNotifications = data1.getChargingPileNotifications();
             if (!chargingPileNotifications.isEmpty()) {
-                log.info("通知"+chargingPileNotifications.size());
-                chargingPileNotifications.forEach(appCoupon -> appCoupon.setId(null));
-
-                chargingPileNotificationService.saveBatch(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());
-                faultMessages.forEach(appCoupon -> appCoupon.setId(null));
-
-                faultMessageService.saveBatch(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());
-                monitoringEquipments.forEach(appCoupon -> appCoupon.setId(null));
+                // 分批插入数据 每次最多700条
+                for (int i = 0; i < monitoringEquipments.size(); i += 700) {
+                    monitoringEquipmentService.saveOrUpdateBatch(monitoringEquipments.subList(i, Math.min(i + 700, monitoringEquipments.size())));
 
-                monitoringEquipmentService.saveBatch(monitoringEquipments);
+                }
             }
             List<TParkingLot> parkingLots = data1.getParkingLots();
             if (!parkingLots.isEmpty()) {
                 log.info("停车场"+parkingLots.size());
-                parkingLots.forEach(appCoupon -> appCoupon.setId(null));
-
-                parkingLotService.saveBatch(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());
-                parkingRecords.forEach(appCoupon -> appCoupon.setId(null));
-
-                parkingRecordService.saveBatch(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.saveBatch(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());
-                repairs.forEach(appCoupon -> appCoupon.setId(null));
-
-                repairService.saveBatch(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.saveBatch(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());
-                vehicleRamps.forEach(appCoupon -> appCoupon.setId(null));
-
-                vehicleRampService.saveBatch(vehicleRamps);
+                // 分批插入数据 每次最多700条
+                for (int i = 0; i < vehicleRamps.size(); i += 700) {
+                    vehicleRampService.saveOrUpdateBatch(vehicleRamps.subList(i, Math.min(i + 700, vehicleRamps.size())));
+                }
             }
         }
         //order服务
@@ -482,128 +519,160 @@
             List<AccountingStrategyDetailOrder> accountingStrategyDetailOrders = data2.getAccountingStrategyDetailOrders();
             if (!accountingStrategyDetailOrders.isEmpty()) {
                 log.info("订单明细策略"+accountingStrategyDetailOrders.size());
-                accountingStrategyDetailOrders.forEach(appCoupon -> appCoupon.setId(null));
-
-                accountingStrategyDetailOrderService.saveBatch(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());
-                accountingStrategyOrders.forEach(appCoupon -> appCoupon.setId(null));
-
-                accountingStrategyOrderService.saveBatch(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());
-                chargingBills.forEach(appCoupon -> appCoupon.setId(null));
+                // 分批插入数据 每次最多700条
+                // 分批插入数据 每次最多700条
+                for (int i = 0; i < chargingBills.size(); i += 700) {
+                    chargingBillService.saveOrUpdateBatch(chargingBills.subList(i, Math.min(i + 700, chargingBills.size())));
+                }
 
-                chargingBillService.saveBatch(chargingBills);
             }
             List<TChargingOrder> chargingOrders = data2.getChargingOrders();
             if (!chargingOrders.isEmpty()) {
                 log.info("充电订单"+chargingOrders.size());
-                chargingOrders.forEach(appCoupon -> appCoupon.setId(null));
-
-                chargingOrderService.saveBatch(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());
-                chargingOrderAccountingStrategies.forEach(appCoupon -> appCoupon.setId(null));
-
-                chargingOrderAccountingStrategyService.saveBatch(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());
-                chargingOrderRefunds.forEach(appCoupon -> appCoupon.setId(null));
 
-                chargingOrderRefundService.saveBatch(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());
-                exchangeOrders.forEach(appCoupon -> appCoupon.setId(null));
 
-                exchangeOrderService.saveBatch(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());
-                grantVips.forEach(appCoupon -> appCoupon.setId(null));
 
-                grantVipService.saveBatch(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());
-                orderAppeals.forEach(appCoupon -> appCoupon.setId(null));
 
-                orderAppealService.saveBatch(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());
-                orderEvaluates.forEach(appCoupon -> appCoupon.setId(null));
 
-                orderEvaluateService.saveBatch(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());
-                orderEvaluateTags.forEach(appCoupon -> appCoupon.setId(null));
-
-                orderEvaluateTagService.saveBatch(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());
-                orderInvoices.forEach(appCoupon -> appCoupon.setId(null));
 
-                orderInvoiceService.saveBatch(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());
-                orderInvoiceDetails.forEach(appCoupon -> appCoupon.setId(null));
-
-                orderInvoiceDetailService.saveBatch(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());
-                settlementConfirms.forEach(appCoupon -> appCoupon.setId(null));
 
-                settlementConfirmService.saveBatch(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());
-                shoppingOrders.forEach(appCoupon -> appCoupon.setId(null));
 
-                shoppingOrderService.saveBatch(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());
-                shoppingOrderRefunds.forEach(appCoupon -> appCoupon.setId(null));
-
-                shoppingOrderRefundService.saveBatch(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());
-                vipOrders.forEach(appCoupon -> appCoupon.setId(null));
 
-                vipOrderService.saveBatch(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);
-                vipOrderRefunds.forEach(appCoupon -> appCoupon.setId(null));
 
-                vipOrderRefundService.saveBatch(vipOrderRefunds);
+                // 分批插入数据 每次最多700条
+                for (int i = 0; i < vipOrderRefunds.size(); i += 700) {
+                    vipOrderRefundService.saveOrUpdateBatch(vipOrderRefunds.subList(i, Math.min(i + 700, vipOrderRefunds.size())));
+                }
             }
         }
         // other服务
@@ -614,107 +683,114 @@
             List<Operator> operators = data3.getOperators();
             if (!operators.isEmpty()) {
                 log.info("运营商"+operators.size());
-                operators.forEach(appCoupon -> appCoupon.setId(null));
 
                 operatorService.saveOrUpdateBatch(operators);
             }
             List<TActivity> activities = data3.getActivities();
             if (!activities.isEmpty()) {
                 log.info("活动"+activities.size());
-                activities.forEach(appCoupon -> appCoupon.setId(null));
 
-                activityService.saveBatch(activities);
+                activityService.saveOrUpdateBatch(activities);
             }
             List<TAdvertising> advertisings = data3.getAdvertisings();
             if (!advertisings.isEmpty()) {
                 log.info("广告"+advertisings.size());
-                advertisings.forEach(appCoupon -> appCoupon.setId(null));
 
-                advertisingService.saveBatch(advertisings);
+                advertisingService.saveOrUpdateBatch(advertisings);
             }
             List<TCompany> companies = data3.getCompanies();
             if (!companies.isEmpty()) {
                 log.info("公司"+companies.size());
-                companies.forEach(appCoupon -> appCoupon.setId(null));
 
-                companyService.saveBatch(companies);
+                companyService.saveOrUpdateBatch(companies);
             }
             List<TCoupon> coupons = data3.getCoupons();
             if (!coupons.isEmpty()) {
                 log.info("优惠券"+coupons.size());
-                coupons.forEach(appCoupon -> appCoupon.setId(null));
 
-                couponService.saveBatch(coupons);
+                couponService.saveOrUpdateBatch(coupons);
             }
             List<TEnterpriseUserApplication> enterpriseUserApplications = data3.getEnterpriseUserApplications();
             if (!enterpriseUserApplications.isEmpty()) {
                 log.info("公司申请"+enterpriseUserApplications.size());
-                enterpriseUserApplications.forEach(appCoupon -> appCoupon.setId(null));
 
-                enterpriseUserApplicationService.saveBatch(enterpriseUserApplications);
+                enterpriseUserApplicationService.saveOrUpdateBatch(enterpriseUserApplications);
             }
             List<TEvaluationTag> evaluationTags = data3.getEvaluationTags();
             if (!evaluationTags.isEmpty()) {
                 log.info("评价标签"+evaluationTags.size());
-                evaluationTags.forEach(appCoupon -> appCoupon.setId(null));
 
-                evaluationTagService.saveBatch(evaluationTags);
+                evaluationTagService.saveOrUpdateBatch(evaluationTags);
             }
             List<TGoods> goods = data3.getGoods();
             if (!goods.isEmpty()) {
                 log.info("商品"+goods.size());
-                goods.forEach(appCoupon -> appCoupon.setId(null));
 
-                goodsService.saveBatch(goods);
+                goodsService.saveOrUpdateBatch(goods);
             }
             List<THtml> htmls = data3.getHtmls();
             if (!htmls.isEmpty()) {
                 log.info("html"+htmls.size());
-                htmls.forEach(appCoupon -> appCoupon.setId(null));
 
                 htmlService.saveOrUpdateBatch(htmls);
             }
             List<TIntegralRule> integralRules = data3.getIntegralRules();
             if (!integralRules.isEmpty()) {
                 log.info("积分规则"+integralRules.size());
-                integralRules.forEach(appCoupon -> appCoupon.setId(null));
 
-                integralRuleService.saveBatch(integralRules);
+                integralRuleService.saveOrUpdateBatch(integralRules);
             }
             List<TInvoiceType> invoiceTypes = data3.getInvoiceTypes();
             if (!invoiceTypes.isEmpty()) {
                 log.info("开票类型"+invoiceTypes.size());
-                invoiceTypes.forEach(appCoupon -> appCoupon.setId(null));
 
-                invoiceTypeService.saveBatch(invoiceTypes);
+                invoiceTypeService.saveOrUpdateBatch(invoiceTypes);
             }
             List<TNotice> notices = data3.getNotices();
             if (!notices.isEmpty()) {
                 log.info("通知"+notices.size());
-                notices.forEach(appCoupon -> appCoupon.setId(null));
-
-                noticeService.saveBatch(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()) {
                 log.info("系统设置"+systemConfigurations.size());
-                systemConfigurations.forEach(appCoupon -> appCoupon.setId(null));
 
                 systemConfigurationService.saveOrUpdateBatch(systemConfigurations);
             }
             List<TUserTag> userTags = data3.getUserTags();
             if (!userTags.isEmpty()) {
                 log.info("用户标签"+userTags.size());
-                userTags.forEach(appCoupon -> appCoupon.setId(null));
 
-                userTagService.saveBatch(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());
-                vips.forEach(appCoupon -> appCoupon.setId(null));
 
-                vipService.saveBatch(vips);
+                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();
@@ -724,30 +800,32 @@
             List<SysLoginLog> loginLogs = data4.getLoginLogs();
             if (!loginLogs.isEmpty()) {
                 log.info("登录日志"+loginLogs.size());
-                loginLogs.forEach(appCoupon -> appCoupon.setId(null));
 
-                sysLoginLogService.saveBatch(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());
-                sysOperLogs.forEach(appCoupon -> appCoupon.setOperIp(null));
 
-                sysOperLogService.saveBatch(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()) {
                 log.info("角色"+sysRoles.size());
-                sysRoles.forEach(appCoupon -> appCoupon.setRoleId(null));
 
-                sysRoleService.saveBatch(sysRoles);
+                sysRoleService.saveOrUpdateBatch(sysRoles);
             }
             List<SysUser> sysUsers = data4.getSysUsers();
             if (!sysUsers.isEmpty()) {
                 log.info("系统用户"+sysUsers.size());
-                sysUsers.forEach(appCoupon -> appCoupon.setUserId(null));
 
-                sysUserService.saveBatch(sysUsers);
+                sysUserService.saveOrUpdateBatch(sysUsers);
             }
         }
     }

--
Gitblit v1.7.1