diff --git a/ad-distribute-starters/ad-distribute-starter-job/pom.xml b/ad-distribute-starters/ad-distribute-starter-job/pom.xml
index 572578f..5c3b158 100644
--- a/ad-distribute-starters/ad-distribute-starter-job/pom.xml
+++ b/ad-distribute-starters/ad-distribute-starter-job/pom.xml
@@ -16,19 +16,10 @@
8
-
- com.xuxueli
- xxl-job-core
-
-
- org.springframework.boot
- spring-boot-autoconfigure
-
-
- org.springframework.boot
- spring-boot-configuration-processor
- true
+ com.example
+ elastic-job-springboot-core
+ 3.0-SNAPSHOT
\ No newline at end of file
diff --git a/ad-distribute-starters/ad-distribute-starter-job/src/main/java/com/baiye/ballcat/common/job/XxlJobAutoConfiguration.java b/ad-distribute-starters/ad-distribute-starter-job/src/main/java/com/baiye/ballcat/common/job/XxlJobAutoConfiguration.java
deleted file mode 100644
index 375b029..0000000
--- a/ad-distribute-starters/ad-distribute-starter-job/src/main/java/com/baiye/ballcat/common/job/XxlJobAutoConfiguration.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package com.baiye.ballcat.common.job;
-
-
-import com.baiye.ballcat.common.job.properties.XxlExecutorProperties;
-import com.baiye.ballcat.common.job.properties.XxlJobProperties;
-import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.autoconfigure.AutoConfiguration;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.core.env.Environment;
-import org.springframework.util.StringUtils;
-
-/**
- * @author lengleng
- * @date 2019-09-18
- *
- * xxl 初始化
- */
-@Slf4j
-@AutoConfiguration
-@EnableConfigurationProperties(XxlJobProperties.class)
-@ConditionalOnProperty(prefix = XxlJobProperties.PREFIX, name = "enabled", havingValue = "true", matchIfMissing = true)
-@RequiredArgsConstructor
-public class XxlJobAutoConfiguration {
-
- private final Environment environment;
-
- @Bean
- public XxlJobSpringExecutor xxlJobSpringExecutor(XxlJobProperties xxlJobProperties) {
- if (log.isInfoEnabled()) {
- log.info(">>>>>>>>>>> xxl-job config init.");
- }
- XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
- xxlJobSpringExecutor.setAdminAddresses(xxlJobProperties.getAdmin().getAddresses());
- XxlExecutorProperties executorProperties = xxlJobProperties.getExecutor();
- xxlJobSpringExecutor.setAppname(getExecutorName(executorProperties));
- xxlJobSpringExecutor.setIp(executorProperties.getIp());
- xxlJobSpringExecutor.setPort(executorProperties.getPort());
- xxlJobSpringExecutor.setAccessToken(getAccessToken(xxlJobProperties));
- xxlJobSpringExecutor.setLogPath(getLogPath(executorProperties));
- xxlJobSpringExecutor.setLogRetentionDays(executorProperties.getLogRetentionDays());
- xxlJobSpringExecutor.setAddress(executorProperties.getAddress());
- return xxlJobSpringExecutor;
- }
-
- /**
- * 获取执行器名称,缺省为Spring Boot应用名称
- *
- * @param properties 执行器配置
- * @return 执行期名称
- */
- private String getExecutorName(XxlExecutorProperties properties) {
- String appName = properties.getAppname();
- if (StringUtils.hasText(appName)) {
- return appName;
- } else {
- return environment.getProperty("spring.application.name");
- }
- }
-
- /**
- * 获取xxl-job执行器通讯令牌
- *
- * @param properties 主配置文件
- * @return
- */
- private String getAccessToken(XxlJobProperties properties) {
- if (StringUtils.hasText(properties.getAccessToken())) {
- return properties.getAccessToken();
- } else {
- log.warn("为提升系统安全性,生产环境建议启用调度中心和执行器安全性校验!可通过配置项 “xxl.job.accessToken” 进行AccessToken的设置");
- return null;
- }
- }
-
- /**
- * 获取日志路径
- *
- * @param properties 执行器配置文件
- * @return
- */
- private String getLogPath(XxlExecutorProperties properties) {
- String logPath = properties.getLogPath();
- if (StringUtils.hasText(logPath)) {
- return logPath;
- }
- return environment.getProperty("logging.file.path", "logs")
- .concat("/")
- .concat(environment.getProperty("spring.application.name"))
- .concat("/jobs");
- }
-
-}
diff --git a/ad-distribute-starters/ad-distribute-starter-job/src/main/java/com/baiye/ballcat/common/job/properties/XxlAdminProperties.java b/ad-distribute-starters/ad-distribute-starter-job/src/main/java/com/baiye/ballcat/common/job/properties/XxlAdminProperties.java
deleted file mode 100644
index b7c28cc..0000000
--- a/ad-distribute-starters/ad-distribute-starter-job/src/main/java/com/baiye/ballcat/common/job/properties/XxlAdminProperties.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.baiye.ballcat.common.job.properties;
-
-import lombok.Data;
-
-/**
- * @author lengleng
- * @date 2019-09-18
- *
- * xxl 管控台相关属性
- */
-@Data
-public class XxlAdminProperties {
-
- /**
- * 调度中心部署跟地址 [选填]:如调度中心集群部署存在多个地址则用逗号分隔。 执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调";为空则关闭自动注册;
- */
- private String addresses;
-
-}
diff --git a/ad-distribute-starters/ad-distribute-starter-job/src/main/java/com/baiye/ballcat/common/job/properties/XxlExecutorProperties.java b/ad-distribute-starters/ad-distribute-starter-job/src/main/java/com/baiye/ballcat/common/job/properties/XxlExecutorProperties.java
deleted file mode 100644
index fd8123f..0000000
--- a/ad-distribute-starters/ad-distribute-starter-job/src/main/java/com/baiye/ballcat/common/job/properties/XxlExecutorProperties.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.baiye.ballcat.common.job.properties;
-
-import lombok.Data;
-
-/**
- * @author lengleng
- * @date 2019-09-18
- */
-@Data
-public class XxlExecutorProperties {
-
- /**
- * 执行器AppName [选填]:执行器心跳注册分组依据;为空则取spring应用名
- */
- private String appname;
-
- /**
- * 优先使用该配置作为注册地址,为空时使用内嵌服务 ”IP:PORT“ 作为注册地址 从而更灵活的支持容器类型执行器动态IP和动态映射端口问题。
- */
- private String address;
-
- /**
- * 执行器IP [选填]:默认为空表示自动获取IP,多网卡时可手动设置指定IP ,该IP不会绑定Host仅作为通讯实用;地址信息用于 "执行器注册" 和
- * "调度中心请求并触发任务"
- */
- private String ip;
-
- /**
- * 执行器端口号 [选填]:小于等于0则自动获取;单机部署多个执行器且非自动获取端口时,注意要配置不同执行器端口;
- */
- private Integer port = 0;
-
- /**
- * 执行器运行日志文件存储磁盘路径 [选填] :需要对该路径拥有读写权限;为空则使用默认路径;
- */
- private String logPath;
-
- /**
- * 执行器日志保存天数 [选填] :值大于3时生效,启用执行器Log文件定期清理功能,否则, 如-1, 关闭自动清理功能;
- */
- private Integer logRetentionDays = 30;
-
-}
diff --git a/ad-distribute-starters/ad-distribute-starter-job/src/main/java/com/baiye/ballcat/common/job/properties/XxlJobProperties.java b/ad-distribute-starters/ad-distribute-starter-job/src/main/java/com/baiye/ballcat/common/job/properties/XxlJobProperties.java
deleted file mode 100644
index 41ee524..0000000
--- a/ad-distribute-starters/ad-distribute-starter-job/src/main/java/com/baiye/ballcat/common/job/properties/XxlJobProperties.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.baiye.ballcat.common.job.properties;
-
-import lombok.Data;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.boot.context.properties.NestedConfigurationProperty;
-
-/**
- * @author lengleng
- * @date 2019-09-18
- */
-@Data
-@ConfigurationProperties(prefix = XxlJobProperties.PREFIX)
-public class XxlJobProperties {
-
- public static final String PREFIX = "ballcat.xxl.job";
-
- /**
- * 是否启用分布式调度任务,默认:开启
- */
- private boolean enabled = true;
-
- /**
- * 执行器通讯TOKEN [选填]:非空时启用;
- */
- private String accessToken;
-
- @NestedConfigurationProperty
- private XxlAdminProperties admin = new XxlAdminProperties();
-
- @NestedConfigurationProperty
- private XxlExecutorProperties executor = new XxlExecutorProperties();
-
-}
\ No newline at end of file
diff --git a/ad-distribute-starters/ad-distribute-starter-job/src/main/resources/META-INF/spring.factories b/ad-distribute-starters/ad-distribute-starter-job/src/main/resources/META-INF/spring.factories
deleted file mode 100644
index 857a151..0000000
--- a/ad-distribute-starters/ad-distribute-starter-job/src/main/resources/META-INF/spring.factories
+++ /dev/null
@@ -1,4 +0,0 @@
-org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
- com.baiye.ballcat.common.job.XxlJobAutoConfiguration
-
-
diff --git a/ad-distribute-starters/ad-distribute-starter-job/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ad-distribute-starters/ad-distribute-starter-job/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
deleted file mode 100644
index 9a5aef6..0000000
--- a/ad-distribute-starters/ad-distribute-starter-job/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ /dev/null
@@ -1 +0,0 @@
-com.baiye.ballcat.common.job.XxlJobAutoConfiguration
\ No newline at end of file
diff --git a/ad-distribute-system/system-biz/src/main/java/com/baiye/system/service/SysUserService.java b/ad-distribute-system/system-biz/src/main/java/com/baiye/system/service/SysUserService.java
index a07c194..5f6404b 100644
--- a/ad-distribute-system/system-biz/src/main/java/com/baiye/system/service/SysUserService.java
+++ b/ad-distribute-system/system-biz/src/main/java/com/baiye/system/service/SysUserService.java
@@ -157,4 +157,10 @@ public interface SysUserService extends ExtendService {
*/
boolean existsForOrganization(Long organizationId);
+ /**
+ * 根据id查询
+ * @param id
+ * @return
+ */
+ SysUser findById(Long id);
}
diff --git a/ad-distribute-system/system-biz/src/main/java/com/baiye/system/service/impl/SysUserServiceImpl.java b/ad-distribute-system/system-biz/src/main/java/com/baiye/system/service/impl/SysUserServiceImpl.java
index b673aee..c951eca 100644
--- a/ad-distribute-system/system-biz/src/main/java/com/baiye/system/service/impl/SysUserServiceImpl.java
+++ b/ad-distribute-system/system-biz/src/main/java/com/baiye/system/service/impl/SysUserServiceImpl.java
@@ -37,6 +37,7 @@ import com.baiye.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
+import org.springframework.cache.annotation.CacheEvict;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -75,8 +76,9 @@ public class SysUserServiceImpl extends ExtendServiceImpl 分页数据
*/
@Override
@@ -86,7 +88,7 @@ public class SysUserServiceImpl extends ExtendServiceImpl sysUsers = baseMapper.selectList(new LambdaQueryWrapper<>());
List userAll = Convert.toList(SysUserPageVO.class, sysUsers);
Map> userGroup = userAll.stream()
- .collect(Collectors.groupingBy(SysUserPageVO::getWhichUserId));
+ .collect(Collectors.groupingBy(SysUserPageVO::getWhichUserId));
result.getRecords().forEach(user -> {
List byWhichUserId = userGroup.get(user.getUserId());
@@ -104,6 +106,7 @@ public class SysUserServiceImpl extends ExtendServiceImpl roleList;
if (adminUserChecker.isAdminUser(sysUser)) {
roleList = sysRoleService.list();
- }
- else {
+ } else {
roleList = sysUserRoleService.listRoles(sysUser.getUserId());
}
@@ -146,9 +149,9 @@ public class SysUserServiceImpl extends ExtendServiceImpl sysMenuList = sysMenuService.listByRoleCode(roleCode);
menus.addAll(sysMenuList);
List permissionList = sysMenuList.stream()
- .map(SysMenu::getPermission)
- .filter(StrUtil::isNotEmpty)
- .collect(Collectors.toList());
+ .map(SysMenu::getPermission)
+ .filter(StrUtil::isNotEmpty)
+ .collect(Collectors.toList());
permissions.addAll(permissionList);
}
userInfoDTO.setMenus(menus);
@@ -159,6 +162,7 @@ public class SysUserServiceImpl extends ExtendServiceImpl userMap = userList.stream()
- .collect(Collectors.toMap(SysUser::getUserId, Function.identity()));
+ .collect(Collectors.toMap(SysUser::getUserId, Function.identity()));
userIds.removeIf(id -> !adminUserChecker.hasModifyPermission(userMap.get(id)));
Assert.notEmpty(userIds, "更新用户状态失败,无权限更新用户");
@@ -315,6 +324,7 @@ public class SysUserServiceImpl extends ExtendServiceImpl
*/
@@ -335,6 +346,7 @@ public class SysUserServiceImpl extends ExtendServiceImpl username value => userId
- * @return List
+ *
* @param userTypes 用户类型
+ * @return List
*/
@Override
public List> listSelectData(Collection userTypes) {
@@ -376,6 +391,7 @@ public class SysUserServiceImpl extends ExtendServiceImpl
*/
@@ -386,6 +402,7 @@ public class SysUserServiceImpl extends ExtendServiceImpl
+
+ ad-distribute-starter-job
+ com.baiye
+ 1.1.0
+
com.baiye
diff --git a/admin/src/main/java/com/baiye/job/DistributeRecordReportJob.java b/admin/src/main/java/com/baiye/job/DistributeRecordReportJob.java
new file mode 100644
index 0000000..7fa2c8c
--- /dev/null
+++ b/admin/src/main/java/com/baiye/job/DistributeRecordReportJob.java
@@ -0,0 +1,34 @@
+package com.baiye.job;
+
+import cn.hutool.core.date.DateUtil;
+import com.baiye.modules.distribute.service.DistributeReportService;
+import com.dangdang.ddframe.job.api.ShardingContext;
+import com.dangdang.ddframe.job.api.simple.SimpleJob;
+import com.example.jobInstance.ElasticSimpleJob;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+/**
+ * @author wjt
+ * @date 2023/8/14
+ * 导入分配统计
+ * 0/5 * * * * ?
+ */
+@Component
+@Slf4j
+@ElasticSimpleJob(
+ jobName = "DistributeRecordReportJob", cron = "0 30 23 * * ?")
+public class DistributeRecordReportJob implements SimpleJob {
+
+ @Resource
+ private DistributeReportService distributeReportService;
+
+ @Override
+ public void execute(ShardingContext shardingContext) {
+ log.info("流量分布定时任务开始-----{}", DateUtil.date());
+ distributeReportService.distributeReport();
+ log.info("流量分布定时任务结束-----{}", DateUtil.date());
+ }
+}
diff --git a/admin/src/main/java/com/baiye/modules/distribute/controller/DistributeReportController.java b/admin/src/main/java/com/baiye/modules/distribute/controller/DistributeReportController.java
new file mode 100644
index 0000000..369f085
--- /dev/null
+++ b/admin/src/main/java/com/baiye/modules/distribute/controller/DistributeReportController.java
@@ -0,0 +1,37 @@
+package com.baiye.modules.distribute.controller;
+
+import com.baiye.modules.distribute.service.DistributeReportService;
+import com.baiye.result.R;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author wjt
+ * @date 2023/8/11
+ */
+@RequiredArgsConstructor
+@RestController
+@Tag(name = "分配信息统计")
+@RequestMapping("/report")
+public class DistributeReportController {
+ private final DistributeReportService distributeReportService;
+
+ @GetMapping("/report")
+ public void distributeReport() {
+ distributeReportService.distributeReport();
+ }
+
+ @GetMapping("/flow")
+ @Operation(summary = "流量分布统计")
+ public R