Pu Zhibing
8 天以前 4a8411147f0341005f746148fdaac64014f65813
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/util/GovernmentCloudTask.java
@@ -1,6 +1,74 @@
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.order.api.model.AccountingStrategyDetailOrder;
import com.ruoyi.order.api.model.TOrderInvoice;
import com.ruoyi.order.api.model.TChargingOrderAccountingStrategy;
import com.ruoyi.order.api.model.TExchangeOrder;
import com.ruoyi.order.api.model.TOrderEvaluate;
import com.ruoyi.order.api.model.TSettlementConfirm;
import com.ruoyi.order.api.model.TVipOrder;
import com.ruoyi.order.api.model.TVipOrderRefund;
import com.ruoyi.order.api.model.AccountingStrategyOrder;
import com.ruoyi.order.api.model.TOrderInvoiceDetail;
import com.ruoyi.order.api.model.TChargingOrder;
import com.ruoyi.order.api.model.TChargingOrderRefund;
import com.ruoyi.order.api.model.TGrantVip;
import com.ruoyi.order.api.model.TOrderEvaluateTag;
import com.ruoyi.order.api.model.TOrderAppeal;
import com.ruoyi.order.api.model.TShoppingOrder;
import com.ruoyi.order.api.model.TShoppingOrderRefund;
import com.ruoyi.order.api.model.TChargingBill;
import com.ruoyi.chargingPile.api.model.TVehicleRamp;
import com.ruoyi.chargingPile.api.model.TParkingLot;
import com.ruoyi.chargingPile.api.model.TSiteMenu;
import com.ruoyi.chargingPile.api.model.TParkingRecord;
import com.ruoyi.chargingPile.api.model.TAccountingStrategy;
import com.ruoyi.chargingPile.api.model.TFaultMessage;
import com.ruoyi.chargingPile.api.model.TAccountingStrategyDetail;
import com.ruoyi.chargingPile.api.model.TPartnerSite;
import com.ruoyi.chargingPile.api.model.TApplyChargingPile;
import com.ruoyi.chargingPile.api.model.TChargingPileNotification;
import com.ruoyi.chargingPile.api.model.TMonitoringEquipment;
import com.ruoyi.chargingPile.api.model.Site;
import com.ruoyi.chargingPile.api.model.TRepair;
import com.ruoyi.chargingPile.api.model.Partner;
import com.ruoyi.chargingPile.api.model.TCarport;
import com.ruoyi.chargingPile.api.model.TChargingGun;
import com.ruoyi.account.api.model.TAppUserSign;
import java.util.List;
import com.ruoyi.account.api.model.TAppUserVipDetail;
import com.ruoyi.account.api.model.TInvoiceInformation;
import com.ruoyi.account.api.model.TAppCoupon;
import com.ruoyi.account.api.model.TAppUserCar;
import com.ruoyi.account.api.model.TAppUser;
import com.ruoyi.account.api.model.TInviteUser;
import com.ruoyi.account.api.model.TAppUserAddress;
import com.ruoyi.account.api.model.TAppUserIntegralChange;
import com.ruoyi.account.api.model.TAppUserTag;
import com.ruoyi.account.api.vo.GovernmentCloudAccountVO;
import com.ruoyi.chargingPile.api.feignClient.JianGuanChargingPileClient;
import com.ruoyi.chargingPile.api.model.TChargingPile;
import com.ruoyi.chargingPile.api.vo.GovernmentCloudChargingPileVO;
import com.ruoyi.jianguan.service.*;
import com.ruoyi.order.api.feignClient.JianGuanOrderClient;
import com.ruoyi.order.api.vo.GovernmentCloudOrderVO;
import com.ruoyi.other.api.feignClient.JianGuanOtherClient;
import com.ruoyi.other.api.vo.GovernmentCloudOtherVO;
import com.ruoyi.system.api.feignClient.JianGuanSystemClient;
import com.ruoyi.system.api.vo.GovernmentCloudSystemVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@@ -13,261 +81,752 @@
 * @date 2023/7/11 8:39
 */
@Component
@Slf4j
public class GovernmentCloudTask {
    @Resource
    private AccountingStrategyDetailOrderService    accountingStrategyDetailOrderService;
    private AccountingStrategyDetailOrderService accountingStrategyDetailOrderService;
    @Resource
    private AccountingStrategyOrderService          accountingStrategyOrderService;
    private AccountingStrategyOrderService accountingStrategyOrderService;
    @Resource
    private GenTableColumnService                   genTableColumnService;
    private GenTableColumnService genTableColumnService;
    @Resource
    private GenTableService                         genTableService;
    private GenTableService genTableService;
    @Resource
    private IPartnerService                         partnerService;
    private IPartnerService partnerService;
    @Resource
    private IRegionService                          regionService;
    private IRegionService regionService;
    @Resource
    private ISiteService                            siteService;
    private ISiteService siteService;
    @Resource
    private ISysConfigService                       sysConfigService;
    private ISysConfigService sysConfigService;
    @Resource
    private ISysDeptService                         deptService;
    private ISysDeptService deptService;
    @Resource
    private ISysDictDataService                     sysDictDataService;
    private ISysDictDataService sysDictDataService;
    @Resource
    private ISysDictTypeService                     sysDictTypeService;
    private ISysDictTypeService sysDictTypeService;
    @Resource
    private ISysLoginLogService                     sysLoginLogService;
    private ISysLoginLogService sysLoginLogService;
    @Resource
    private ISysMenuService                         sysMenuService;
    private ISysMenuService sysMenuService;
    @Resource
    private ISysNoticeService                       sysNoticeService;
    private ISysNoticeService sysNoticeService;
    @Resource
    private ISysOperLogService                      sysOperLogService;
    private ISysOperLogService sysOperLogService;
    @Resource
    private ISysPermissionService                   sysPermissionService;
    private ISysPermissionService sysPermissionService;
    @Resource
    private ISysPostService                         sysPostService;
    private ISysPostService sysPostService;
    @Resource
    private ISysRoleService                         sysRoleService;
    private ISysRoleService sysRoleService;
    @Resource
    private ISysUserOnlineService                   sysUserOnlineService;
    private ISysUserOnlineService sysUserOnlineService;
    @Resource
    private ISysUserRoleService                     sysUserRoleService;
    private ISysUserRoleService sysUserRoleService;
    @Resource
    private ISysUserService                         sysUserService;
    private ISysUserService sysUserService;
    @Resource
    private OperatorService                         operatorService;
    private OperatorService operatorService;
    @Resource
    private TAccountingStrategyDetailService        accountingStrategyDetailService;
    private TAccountingStrategyDetailService accountingStrategyDetailService;
    @Resource
    private TAccountingStrategyService              accountingStrategyService;
    private TAccountingStrategyService accountingStrategyService;
    @Resource
    private TActivityService                        activityService;
    private TActivityService activityService;
    @Resource
    private TAdvertisingService                     advertisingService;
    private TAdvertisingService advertisingService;
    @Resource
    private TAppCouponService                       appCouponService;
    private TAppCouponService appCouponService;
    @Resource
    private TApplyChargingPileService               applyChargingPileService;
    private TApplyChargingPileService applyChargingPileService;
    @Resource
    private TAppUserAddressService                  appUserAddressService;
    private TAppUserAddressService appUserAddressService;
    @Resource
    private TAppUserCarService                      appUserCarService;
    private TAppUserCarService appUserCarService;
    @Resource
    private TAppUserIntegralChangeService           appUserIntegralChangeService;
    private TAppUserIntegralChangeService appUserIntegralChangeService;
    @Resource
    private TAppUserService                         appUserService;
    private TAppUserService appUserService;
    @Resource
    private TAppUserSignService                     appUserSignService;
    private TAppUserSignService appUserSignService;
    @Resource
    private TAppUserTagService                      appUserTagService;
    private TAppUserTagService appUserTagService;
    @Resource
    private TAppUserVipDetailService                appUserVipDetailService;
    private TAppUserVipDetailService appUserVipDetailService;
    @Resource
    private TCarportService                         carportService;
    private TCarportService carportService;
    @Resource
    private TChargingBillService                    chargingBillService;
    private TChargingBillService chargingBillService;
    @Resource
    private TChargingGunService                     chargingGunService;
    private TChargingGunService chargingGunService;
    @Resource
    private TChargingOrderAccountingStrategyService chargingOrderAccountingStrategyService;
    @Resource
    private TChargingOrderRefundService             chargingOrderRefundService;
    private TChargingOrderRefundService chargingOrderRefundService;
    @Resource
    private TChargingOrderService                   chargingOrderService;
    private TChargingOrderService chargingOrderService;
    @Resource
    private TChargingPileNotificationService        chargingPileNotificationService;
    private TChargingPileNotificationService chargingPileNotificationService;
    @Resource
    private TChargingPileService                    chargingPileService;
    private TChargingPileService chargingPileService;
    @Resource
    private TCompanyService                         companyService;
    private TCompanyService companyService;
    @Resource
    private TCouponService                          couponService;
    private TCouponService couponService;
    @Resource
    private TEnterpriseUserApplicationService       enterpriseUserApplicationService;
    private TEnterpriseUserApplicationService enterpriseUserApplicationService;
    @Resource
    private TEvaluationTagService                   evaluationTagService;
    private TEvaluationTagService evaluationTagService;
    @Resource
    private TExchangeOrderService                   exchangeOrderService;
    private TExchangeOrderService exchangeOrderService;
    @Resource
    private TFaultMessageService                    faultMessageService;
    private TFaultMessageService faultMessageService;
    @Resource
    private TGoodsService                           goodsService;
    private TGoodsService goodsService;
    @Resource
    private TGrantVipService                        grantVipService;
    private TGrantVipService grantVipService;
    @Resource
    private THtmlService                            htmlService;
    private THtmlService htmlService;
    @Resource
    private TIntegralRuleService                    integralRuleService;
    private TIntegralRuleService integralRuleService;
    @Resource
    private TInviteUserService                      inviteUserService;
    private TInviteUserService inviteUserService;
    @Resource
    private TInvoiceInformationService              tInvoiceInformationService;
    private TInvoiceInformationService tInvoiceInformationService;
    @Resource
    private TInvoiceTypeService                     invoiceTypeService;
    private TInvoiceTypeService invoiceTypeService;
    @Resource
    private TMonitoringEquipmentService             monitoringEquipmentService;
    private TMonitoringEquipmentService monitoringEquipmentService;
    @Resource
    private TNoticeService                          noticeService;
    private TNoticeService noticeService;
    @Resource
    private TOrderAppealService                     orderAppealService;
    private TOrderAppealService orderAppealService;
    @Resource
    private TOrderEvaluateService                   orderEvaluateService;
    private TOrderEvaluateService orderEvaluateService;
    @Resource
    private TOrderEvaluateTagService                orderEvaluateTagService;
    private TOrderEvaluateTagService orderEvaluateTagService;
    @Resource
    private TOrderInvoiceDetailService              orderInvoiceDetailService;
    private TOrderInvoiceDetailService orderInvoiceDetailService;
    @Resource
    private TOrderInvoiceService                    orderInvoiceService;
    private TOrderInvoiceService orderInvoiceService;
    @Resource
    private TParkingLotService                      parkingLotService;
    private TParkingLotService parkingLotService;
    @Resource
    private TParkingRecordService                   parkingRecordService;
    private TParkingRecordService parkingRecordService;
    @Resource
    private TPartnerSiteService                     partnerSiteService;
    private TPartnerSiteService partnerSiteService;
    @Resource
    private TRepairService                          repairService;
    private TRepairService repairService;
    @Resource
    private TRoleSiteService                        roleSiteService;
    private TRoleSiteService roleSiteService;
    @Resource
    private TSettlementConfirmService               settlementConfirmService;
    private TSettlementConfirmService settlementConfirmService;
    @Resource
    private TShoppingOrderRefundService             shoppingOrderRefundService;
    private TShoppingOrderRefundService shoppingOrderRefundService;
    @Resource
    private TShoppingOrderService                   shoppingOrderService;
    private TShoppingOrderService shoppingOrderService;
    @Resource
    private TSiteMenuService                        siteMenuService;
    private TSiteMenuService siteMenuService;
    @Resource
    private TSystemConfigurationService             systemConfigurationService;
    private TSystemConfigurationService systemConfigurationService;
    @Resource
    private TUserSiteService                        userSiteService;
    private TUserSiteService userSiteService;
    @Resource
    private TUserTagService                         userTagService;
    private TUserTagService userTagService;
    @Resource
    private TVehicleRampService                     vehicleRampService;
    private TVehicleRampService vehicleRampService;
    @Resource
    private TVipOrderRefundService                  vipOrderRefundService;
    private TVipOrderRefundService vipOrderRefundService;
    @Resource
    private TVipOrderService                        vipOrderService;
    private TVipOrderService vipOrderService;
    @Resource
    private TVipService                             vipService;
    private TVipService vipService;
    // 每天早上9点执行的定时任务
    @Scheduled(cron = "0 0 9 * * ?")
    @Resource
    private JianGuanAccountClient jianGuanAccountClient;
    @Resource
    private JianGuanChargingPileClient jianGuanChargingPileClient;
    @Resource
    private JianGuanOrderClient jianGuanOrderClient;
    @Resource
    private JianGuanOtherClient jianGuanOtherClient;
    @Resource
    private JianGuanSystemClient  jianGuanSystemClient;
    // 每天下午3点执行的定时任务
    @Scheduled(fixedRate = 86400000)
    public void taskMonth() {
        LocalDateTime start = LocalDateTime.now();
        LocalDateTime end = LocalDateTime.now().minusDays(1);
//        accountingStrategyDetailOrderService
//                accountingStrategyOrderService
//        genTableColumnService
//                genTableService
//        partnerService
//                regionService
//        siteService
//                sysConfigService
//        deptService
//                sysDictDataService
//        sysDictTypeService
//                sysLoginLogService
//        sysMenuService
//                sysNoticeService
//        sysOperLogService
//                sysPermissionService
//        sysPostService
//                sysRoleService
//        sysUserOnlineService
//                sysUserRoleService
//        sysUserService
//                operatorService
//        accountingStrategyDetailService
//                accountingStrategyService
//        activityService
//                advertisingService
//        appCouponService
//                applyChargingPileService
//        appUserAddressService
//                appUserCarService
//        appUserIntegralChangeService
//                appUserService
//        appUserSignService
//                appUserTagService
//        appUserVipDetailService
//                carportService
//        chargingBillService
//                chargingGunService
//        chargingOrderAccountingStrategyService
//                chargingOrderRefundService
//        chargingOrderService
//                chargingPileNotificationService
//        chargingPileService
//                companyService
//        couponService
//                enterpriseUserApplicationService
//        evaluationTagService
//                exchangeOrderService
//        faultMessageService
//                goodsService
//        grantVipService
//                htmlService
//        integralRuleService
//                inviteUserService
//        tInvoiceInformationService
//                invoiceTypeService
//        monitoringEquipmentService
//                noticeService
//        orderAppealService
//                orderEvaluateService
//        orderEvaluateTagService
//                orderInvoiceDetailService
//        orderInvoiceService
//                parkingLotService
//        parkingRecordService
//                partnerSiteService
//        repairService
//                roleSiteService
//        settlementConfirmService
//                shoppingOrderRefundService
//        shoppingOrderService
//                siteMenuService
//        systemConfigurationService
//                userSiteService
//        userTagService
//                vehicleRampService
//        vipOrderRefundService
//                vipOrderService
//        vipService
        log.info("市政云传数据");
        // account服务
        GovernmentCloudAccountVO data = jianGuanAccountClient.listAll().getData();
        if (data != null) {
            log.info("Account");
            List<TAppCoupon> appCoupons = data.getAppCoupons();
            if (!appCoupons.isEmpty()) {
                log.info("用户优惠券"+appCoupons.size());
                // 将id 设置为null
                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());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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());
                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());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多700条
                for (int i = 0; i < invoiceInformations.size(); i += 700) {
                    tInvoiceInformationService.saveOrUpdateBatch(invoiceInformations.subList(i, Math.min(i + 700, invoiceInformations.size())));
                }
            }
        }
        // chargingPile服务
        GovernmentCloudChargingPileVO data1 = jianGuanChargingPileClient.listAll().getData();
        if (data1 != null) {
            log.info("chargingPile服务");
            List<Partner> partners = data1.getPartners();
            if (!partners.isEmpty()) {
                log.info("合作商"+partners.size());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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());
                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());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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())));
                }
            }
            List<TChargingPileNotification> chargingPileNotifications = data1.getChargingPileNotifications();
            if (!chargingPileNotifications.isEmpty()) {
                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());
                // 分批插入数据 每次最多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())));
                }
            }
            List<TParkingLot> parkingLots = data1.getParkingLots();
            if (!parkingLots.isEmpty()) {
                log.info("停车场"+parkingLots.size());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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!=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());
                // 分批插入数据 每次最多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!=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());
                // 分批插入数据 每次最多700条
                for (int i = 0; i < vehicleRamps.size(); i += 700) {
                    vehicleRampService.saveOrUpdateBatch(vehicleRamps.subList(i, Math.min(i + 700, vehicleRamps.size())));
                }
            }
        }
        //order服务
        GovernmentCloudOrderVO data2 = jianGuanOrderClient.listAll().getData();
        if (data2 != null) {
            log.info("Order服务");
            List<AccountingStrategyDetailOrder> accountingStrategyDetailOrders = data2.getAccountingStrategyDetailOrders();
            if (!accountingStrategyDetailOrders.isEmpty()) {
                log.info("订单明细策略"+accountingStrategyDetailOrders.size());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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())));
                }
            }
            List<TChargingOrder> chargingOrders = data2.getChargingOrders();
            if (!chargingOrders.isEmpty()) {
                log.info("充电订单"+chargingOrders.size());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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);
                // 分批插入数据 每次最多700条
                for (int i = 0; i < vipOrderRefunds.size(); i += 700) {
                    vipOrderRefundService.saveOrUpdateBatch(vipOrderRefunds.subList(i, Math.min(i + 700, vipOrderRefunds.size())));
                }
            }
        }
        // other服务
        GovernmentCloudOtherVO data3 = jianGuanOtherClient.listAll().getData();
        if (data3 != null) {
            log.info("other服务");
            List<Operator> operators = data3.getOperators();
            if (!operators.isEmpty()) {
                log.info("运营商"+operators.size());
                operatorService.saveOrUpdateBatch(operators);
            }
            List<TActivity> activities = data3.getActivities();
            if (!activities.isEmpty()) {
                log.info("活动"+activities.size());
                activityService.saveOrUpdateBatch(activities);
            }
            List<TAdvertising> advertisings = data3.getAdvertisings();
            if (!advertisings.isEmpty()) {
                log.info("广告"+advertisings.size());
                advertisingService.saveOrUpdateBatch(advertisings);
            }
            List<TCompany> companies = data3.getCompanies();
            if (!companies.isEmpty()) {
                log.info("公司"+companies.size());
                companyService.saveOrUpdateBatch(companies);
            }
            List<TCoupon> coupons = data3.getCoupons();
            if (!coupons.isEmpty()) {
                log.info("优惠券"+coupons.size());
                couponService.saveOrUpdateBatch(coupons);
            }
            List<TEnterpriseUserApplication> enterpriseUserApplications = data3.getEnterpriseUserApplications();
            if (!enterpriseUserApplications.isEmpty()) {
                log.info("公司申请"+enterpriseUserApplications.size());
                enterpriseUserApplicationService.saveOrUpdateBatch(enterpriseUserApplications);
            }
            List<TEvaluationTag> evaluationTags = data3.getEvaluationTags();
            if (!evaluationTags.isEmpty()) {
                log.info("评价标签"+evaluationTags.size());
                evaluationTagService.saveOrUpdateBatch(evaluationTags);
            }
            List<TGoods> goods = data3.getGoods();
            if (!goods.isEmpty()) {
                log.info("商品"+goods.size());
                goodsService.saveOrUpdateBatch(goods);
            }
            List<THtml> htmls = data3.getHtmls();
            if (!htmls.isEmpty()) {
                log.info("html"+htmls.size());
                htmlService.saveOrUpdateBatch(htmls);
            }
            List<TIntegralRule> integralRules = data3.getIntegralRules();
            if (!integralRules.isEmpty()) {
                log.info("积分规则"+integralRules.size());
                integralRuleService.saveOrUpdateBatch(integralRules);
            }
            List<TInvoiceType> invoiceTypes = data3.getInvoiceTypes();
            if (!invoiceTypes.isEmpty()) {
                log.info("开票类型"+invoiceTypes.size());
                invoiceTypeService.saveOrUpdateBatch(invoiceTypes);
            }
            List<TNotice> notices = data3.getNotices();
            if (!notices.isEmpty()) {
                log.info("通知"+notices.size());
                // 分批插入数据 每次最多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());
                systemConfigurationService.saveOrUpdateBatch(systemConfigurations);
            }
            List<TUserTag> userTags = data3.getUserTags();
            if (!userTags.isEmpty()) {
                log.info("用户标签"+userTags.size());
                // 分批插入数据 每次最多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();
        if (data4 != null) {
            log.info("System服务");
            List<SysLoginLog> loginLogs = data4.getLoginLogs();
            if (!loginLogs.isEmpty()) {
                log.info("登录日志"+loginLogs.size());
                // 分批插入数据 每次最多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());
                // 分批插入数据 每次最多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());
                sysRoleService.saveOrUpdateBatch(sysRoles);
            }
            List<SysUser> sysUsers = data4.getSysUsers();
            if (!sysUsers.isEmpty()) {
                log.info("系统用户"+sysUsers.size());
                sysUserService.saveOrUpdateBatch(sysUsers);
            }
        }
    }
}