ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/JianGuanSystemFallbackFactory.java
New file @@ -0,0 +1,30 @@ package com.ruoyi.system.api.factory; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.feignClient.JianGuanSystemClient; import com.ruoyi.system.api.vo.GovernmentCloudSystemVO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; /** * * @author ruoyi */ @Component public class JianGuanSystemFallbackFactory implements org.springframework.cloud.openfeign.FallbackFactory<JianGuanSystemClient> { private static final Logger log = LoggerFactory.getLogger(JianGuanSystemClient.class); @Override public JianGuanSystemClient create(Throwable throwable) { log.error("政务云查询数据接口:{}", throwable.getMessage()); return new JianGuanSystemClient() { @Override public R<GovernmentCloudSystemVO> listAll() { return R.fail("政务云查询数据接口System:" + throwable.getMessage()); } }; } } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/JianGuanSystemClient.java
New file @@ -0,0 +1,22 @@ package com.ruoyi.system.api.feignClient; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.factory.JianGuanSystemFallbackFactory; import com.ruoyi.system.api.vo.GovernmentCloudSystemVO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; /** * @author zhibing.pu * @Date 2024/9/4 17:54 */ @FeignClient(contextId = "JianGuanSystemClient", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = JianGuanSystemFallbackFactory.class) public interface JianGuanSystemClient { /** * 政务云查询数据接口 * @return */ @PostMapping("/governmentCloudSystem/listAll") R<GovernmentCloudSystemVO> listAll(); } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/vo/GovernmentCloudSystemVO.java
New file @@ -0,0 +1,36 @@ package com.ruoyi.system.api.vo; import com.ruoyi.system.api.domain.SysLoginLog; import com.ruoyi.system.api.domain.SysOperLog; import com.ruoyi.system.api.domain.SysRole; import com.ruoyi.system.api.domain.SysUser; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.expression.spel.ast.Operator; import java.util.List; @Data @ApiModel(value = "GovernmentCloudSystemVO对象",description = "System政务云上传数据VO") public class GovernmentCloudSystemVO { @ApiModelProperty(value = "登录日志") private List<SysLoginLog> loginLogs; @ApiModelProperty(value = "操作日志") private List<SysOperLog> sysOperLogs; @ApiModelProperty(value = "角色") private List<SysRole> sysRoles; @ApiModelProperty(value = "系统用户") private List<SysUser> sysUsers; } ruoyi-api/ruoyi-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -5,3 +5,4 @@ com.ruoyi.system.api.factory.SysRoleFallbackFactory com.ruoyi.system.api.factory.SysLoginLogFallbackFactory com.ruoyi.system.api.factory.SysUserRoleFallbackFactory com.ruoyi.system.api.factory.JianGuanSystemFallbackFactory ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/GovernmentCloudSystemController.java
New file @@ -0,0 +1,65 @@ package com.ruoyi.system.controller; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.SysLoginLog; import com.ruoyi.system.api.domain.SysOperLog; import com.ruoyi.system.api.domain.SysRole; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.vo.GovernmentCloudSystemVO; import com.ruoyi.system.service.ISysLoginLogService; import com.ruoyi.system.service.ISysOperLogService; import com.ruoyi.system.service.ISysRoleService; import com.ruoyi.system.service.ISysUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.time.LocalDateTime; import java.util.List; /** * <p> * 前端控制器 * </p> * * @author luodangjia * @since 2024-08-06 */ @RestController @RequestMapping("/governmentCloudSystem") public class GovernmentCloudSystemController { @Autowired private ISysLoginLogService sysLoginLogService; @Autowired private ISysOperLogService sysOperLogService; @Autowired private ISysRoleService sysRoleService; @Autowired private ISysUserService sysUserService; /** * 政务云查询数据接口 * @return */ @PostMapping("/listAll") R<GovernmentCloudSystemVO> listAll() { LocalDateTime end = LocalDateTime.now(); LocalDateTime start = LocalDateTime.now().minusDays(1); GovernmentCloudSystemVO governmentCloudAccountVO = new GovernmentCloudSystemVO(); List<SysLoginLog> list1 = sysLoginLogService.lambdaQuery().between(SysLoginLog::getCreateTime, start, end).list(); List<SysOperLog> list2 = sysOperLogService.lambdaQuery().between(SysOperLog::getOperTime, start, end).list(); List<SysRole> list3 = sysRoleService.lambdaQuery().between(SysRole::getCreateTime, start, end).list(); List<SysUser> list4 = sysUserService.lambdaQuery().between(SysUser::getCreateTime, start, end).list(); governmentCloudAccountVO.setLoginLogs(list1); governmentCloudAccountVO.setSysOperLogs(list2); governmentCloudAccountVO.setSysRoles(list3); governmentCloudAccountVO.setSysUsers(list4); return R.ok(governmentCloudAccountVO); } } ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/util/GovernmentCloudTask.java
@@ -1,4 +1,8 @@ package com.ruoyi.jianguan.util; 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; @@ -75,6 +79,8 @@ 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 org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -265,6 +271,8 @@ private JianGuanOrderClient jianGuanOrderClient; @Resource private JianGuanOtherClient jianGuanOtherClient; @Resource private JianGuanSystemClient jianGuanSystemClient; // 每天早上9点执行的定时任务 @Scheduled(cron = "0 0 9 * * ?") @@ -465,15 +473,10 @@ } // other服务 GovernmentCloudOtherVO data3 = jianGuanOtherClient.listAll().getData(); if (data3 != null) { List<Operator> operators = data3.getOperators(); if (!operators.isEmpty()) { try { operatorService.saveBatch(operators); }catch (Exception e){ } operatorService.saveOrUpdateBatch(operators); } List<TActivity> activities = data3.getActivities(); if (!activities.isEmpty()) { @@ -505,7 +508,7 @@ } List<THtml> htmls = data3.getHtmls(); if (!htmls.isEmpty()) { htmlService.saveBatch(htmls); htmlService.saveOrUpdateBatch(htmls); } List<TIntegralRule> integralRules = data3.getIntegralRules(); if (!integralRules.isEmpty()) { @@ -521,7 +524,7 @@ } List<TSystemConfiguration> systemConfigurations = data3.getSystemConfigurations(); if (!systemConfigurations.isEmpty()) { systemConfigurationService.saveBatch(systemConfigurations); systemConfigurationService.saveOrUpdateBatch(systemConfigurations); } List<TUserTag> userTags = data3.getUserTags(); if (!userTags.isEmpty()) { @@ -532,87 +535,24 @@ vipService.saveBatch(vips); } } // 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 GovernmentCloudSystemVO data4 = jianGuanSystemClient.listAll().getData(); if (data4 != null) { List<SysLoginLog> loginLogs = data4.getLoginLogs(); if (!loginLogs.isEmpty()) { sysLoginLogService.saveBatch(loginLogs); } List<SysOperLog> sysOperLogs = data4.getSysOperLogs(); if (!sysOperLogs.isEmpty()) { sysOperLogService.saveBatch(sysOperLogs); } List<SysRole> sysRoles = data4.getSysRoles(); if (!sysRoles.isEmpty()) { sysRoleService.saveBatch(sysRoles); } List<SysUser> sysUsers = data4.getSysUsers(); if (!sysUsers.isEmpty()) { sysUserService.saveBatch(sysUsers); } } } } ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GovernmentCloudOtherController.java
@@ -7,6 +7,7 @@ import com.ruoyi.other.api.domain.*; import com.ruoyi.other.api.vo.GovernmentCloudOtherVO; import com.ruoyi.other.service.*; import com.ruoyi.system.api.domain.SysLoginLog; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -63,6 +64,7 @@ /** * 政务云查询数据接口 * @return @@ -74,38 +76,38 @@ GovernmentCloudOtherVO governmentCloudAccountVO = new GovernmentCloudOtherVO(); // List<Operator> list1 = operatorService.lambdaQuery().between(Operator::getCreateTime, start, end).list(); // List<TActivity> list2 = activityService.lambdaQuery().between(TActivity::getCreateTime, start, end).list(); // List<TAdvertising> list3 = advertisingService.lambdaQuery().between(TAdvertising::getCreateTime, start, end).list(); // List<TCompany> list4 = companyService.lambdaQuery().between(TCompany::getCreateTime, start, end).list(); // List<TCoupon> list5 = couponService.lambdaQuery().between(TCoupon::getCreateTime, start, end).list(); // List<TEnterpriseUserApplication> list6 = enterpriseUserApplicationService.lambdaQuery().between(TEnterpriseUserApplication::getCreateTime, start, end).list(); // List<TEvaluationTag> list7 = evaluationTagService.lambdaQuery().between(TEvaluationTag::getCreateTime, start, end).list(); // List<TGoods> list8 = goodsService.lambdaQuery().between(TGoods::getCreateTime, start, end).list(); // List<THtml> list9 = htmlService.lambdaQuery().between(THtml::getCreateTime, start, end).list(); // List<TIntegralRule> list10 = integralRuleService.lambdaQuery().between(TIntegralRule::getCreateTime, start, end).list(); // List<TInvoiceType> list11 = invoiceTypeService.lambdaQuery().between(TInvoiceType::getCreateTime, start, end).list(); // List<TNotice> list12 = noticeService.lambdaQuery().between(TNotice::getCreateTime, start, end).list(); //// List<TRoleSite> list13 = roleSiteService.lambdaQuery().between(TRoleSite::getCreateTime, start, end).list(); // List<TSystemConfiguration> list14 = systemConfigurationService.lambdaQuery().between(TSystemConfiguration::getCreateTime, start, end).list(); //// List<TUserSite> list15 = userSiteService.lambdaQuery().between(TUserSite::getCreateTime, start, end).list(); // List<TUserTag> list16 = userTagService.lambdaQuery().between(TUserTag::getCreateTime, start, end).list(); // List<TVip> list17 = vipService.lambdaQuery().between(TVip::getCreateTime, start, end).list(); // governmentCloudAccountVO.setOperators(list1); // governmentCloudAccountVO.setActivities(list2); // governmentCloudAccountVO.setAdvertisings(list3); // governmentCloudAccountVO.setCompanies(list4); // governmentCloudAccountVO.setCoupons(list5); // governmentCloudAccountVO.setEnterpriseUserApplications(list6); // governmentCloudAccountVO.setEvaluationTags(list7); // governmentCloudAccountVO.setGoods(list8); // governmentCloudAccountVO.setHtmls(list9); // governmentCloudAccountVO.setIntegralRules(list10); // governmentCloudAccountVO.setInvoiceTypes(list11); // governmentCloudAccountVO.setNotices(list12); // governmentCloudAccountVO.setSystemConfigurations(list14); // governmentCloudAccountVO.setUserTags(list16); // governmentCloudAccountVO.setVips(list17); List<Operator> list1 = operatorService.lambdaQuery().list(); List<TActivity> list2 = activityService.lambdaQuery().between(TActivity::getCreateTime, start, end).list(); List<TAdvertising> list3 = advertisingService.lambdaQuery().between(TAdvertising::getCreateTime, start, end).list(); List<TCompany> list4 = companyService.lambdaQuery().between(TCompany::getCreateTime, start, end).list(); List<TCoupon> list5 = couponService.lambdaQuery().between(TCoupon::getCreateTime, start, end).list(); List<TEnterpriseUserApplication> list6 = enterpriseUserApplicationService.lambdaQuery().between(TEnterpriseUserApplication::getCreateTime, start, end).list(); List<TEvaluationTag> list7 = evaluationTagService.lambdaQuery().between(TEvaluationTag::getCreateTime, start, end).list(); List<TGoods> list8 = goodsService.lambdaQuery().between(TGoods::getCreateTime, start, end).list(); List<THtml> list9 = htmlService.lambdaQuery().list(); List<TIntegralRule> list10 = integralRuleService.lambdaQuery().list(); List<TInvoiceType> list11 = invoiceTypeService.lambdaQuery().between(TInvoiceType::getCreateTime, start, end).list(); List<TNotice> list12 = noticeService.lambdaQuery().between(TNotice::getCreateTime, start, end).list(); // List<TRoleSite> list13 = roleSiteService.lambdaQuery().between(TRoleSite::getCreateTime, start, end).list(); List<TSystemConfiguration> list14 = systemConfigurationService.lambdaQuery().list(); // List<TUserSite> list15 = userSiteService.lambdaQuery().between(TUserSite::getCreateTime, start, end).list(); List<TUserTag> list16 = userTagService.lambdaQuery().between(TUserTag::getCreateTime, start, end).list(); List<TVip> list17 = vipService.lambdaQuery().between(TVip::getCreateTime, start, end).list(); governmentCloudAccountVO.setOperators(list1); governmentCloudAccountVO.setActivities(list2); governmentCloudAccountVO.setAdvertisings(list3); governmentCloudAccountVO.setCompanies(list4); governmentCloudAccountVO.setCoupons(list5); governmentCloudAccountVO.setEnterpriseUserApplications(list6); governmentCloudAccountVO.setEvaluationTags(list7); governmentCloudAccountVO.setGoods(list8); governmentCloudAccountVO.setHtmls(list9); governmentCloudAccountVO.setIntegralRules(list10); governmentCloudAccountVO.setInvoiceTypes(list11); governmentCloudAccountVO.setNotices(list12); governmentCloudAccountVO.setSystemConfigurations(list14); governmentCloudAccountVO.setUserTags(list16); governmentCloudAccountVO.setVips(list17); return R.ok(governmentCloudAccountVO); }