diff --git a/Cpop-Core/pom.xml b/Cpop-Core/pom.xml
index 9bebf2b..bb8c504 100644
--- a/Cpop-Core/pom.xml
+++ b/Cpop-Core/pom.xml
@@ -72,6 +72,21 @@
com.zaxxer
HikariCP
+
+
+ com.github.xiaoymin
+ knife4j-openapi2-spring-boot-starter
+
+
+
+ org.springframework.boot
+ spring-boot-starter-validation
+
+
+
+ org.springframework.boot
+ spring-boot-starter-quartz
+
diff --git a/Cpop-Core/sql/QRTZ.sql b/Cpop-Core/sql/QRTZ.sql
new file mode 100644
index 0000000..021c371
--- /dev/null
+++ b/Cpop-Core/sql/QRTZ.sql
@@ -0,0 +1,258 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server : RockBlade-MYSQL-TEST
+ Source Server Type : MySQL
+ Source Server Version : 80021
+ Source Host : 192.168.211.130:3306
+ Source Schema : rockblade
+
+ Target Server Type : MySQL
+ Target Server Version : 80021
+ File Encoding : 65001
+
+ Date: 28/08/2023 22:23:11
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for QRTZ_BLOB_TRIGGERS
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_BLOB_TRIGGERS`;
+CREATE TABLE `QRTZ_BLOB_TRIGGERS` (
+ `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `BLOB_DATA` blob NULL,
+ PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
+ INDEX `SCHED_NAME`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
+ CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of QRTZ_BLOB_TRIGGERS
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for QRTZ_CALENDARS
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_CALENDARS`;
+CREATE TABLE `QRTZ_CALENDARS` (
+ `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `CALENDAR` blob NOT NULL,
+ PRIMARY KEY (`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of QRTZ_CALENDARS
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for QRTZ_CRON_TRIGGERS
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_CRON_TRIGGERS`;
+CREATE TABLE `QRTZ_CRON_TRIGGERS` (
+ `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `CRON_EXPRESSION` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `TIME_ZONE_ID` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
+ CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of QRTZ_CRON_TRIGGERS
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for QRTZ_FIRED_TRIGGERS
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_FIRED_TRIGGERS`;
+CREATE TABLE `QRTZ_FIRED_TRIGGERS` (
+ `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `ENTRY_ID` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `FIRED_TIME` bigint(0) NOT NULL,
+ `SCHED_TIME` bigint(0) NOT NULL,
+ `PRIORITY` int(0) NOT NULL,
+ `STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ PRIMARY KEY (`SCHED_NAME`, `ENTRY_ID`) USING BTREE,
+ INDEX `IDX_QRTZ_FT_TRIG_INST_NAME`(`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE,
+ INDEX `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY`(`SCHED_NAME`, `INSTANCE_NAME`, `REQUESTS_RECOVERY`) USING BTREE,
+ INDEX `IDX_QRTZ_FT_J_G`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,
+ INDEX `IDX_QRTZ_FT_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE,
+ INDEX `IDX_QRTZ_FT_T_G`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
+ INDEX `IDX_QRTZ_FT_TG`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of QRTZ_FIRED_TRIGGERS
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for QRTZ_JOB_DETAILS
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_JOB_DETAILS`;
+CREATE TABLE `QRTZ_JOB_DETAILS` (
+ `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ `JOB_CLASS_NAME` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `IS_DURABLE` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `IS_UPDATE_DATA` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `JOB_DATA` blob NULL,
+ PRIMARY KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,
+ INDEX `IDX_QRTZ_J_REQ_RECOVERY`(`SCHED_NAME`, `REQUESTS_RECOVERY`) USING BTREE,
+ INDEX `IDX_QRTZ_J_GRP`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of QRTZ_JOB_DETAILS
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for QRTZ_LOCKS
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_LOCKS`;
+CREATE TABLE `QRTZ_LOCKS` (
+ `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `LOCK_NAME` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ PRIMARY KEY (`SCHED_NAME`, `LOCK_NAME`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of QRTZ_LOCKS
+-- ----------------------------
+INSERT INTO `QRTZ_LOCKS` VALUES ('RockBladeScheduler', 'TRIGGER_ACCESS');
+
+-- ----------------------------
+-- Table structure for QRTZ_PAUSED_TRIGGER_GRPS
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_PAUSED_TRIGGER_GRPS`;
+CREATE TABLE `QRTZ_PAUSED_TRIGGER_GRPS` (
+ `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ PRIMARY KEY (`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of QRTZ_PAUSED_TRIGGER_GRPS
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for QRTZ_SCHEDULER_STATE
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_SCHEDULER_STATE`;
+CREATE TABLE `QRTZ_SCHEDULER_STATE` (
+ `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `LAST_CHECKIN_TIME` bigint(0) NOT NULL,
+ `CHECKIN_INTERVAL` bigint(0) NOT NULL,
+ PRIMARY KEY (`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of QRTZ_SCHEDULER_STATE
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for QRTZ_SIMPLE_TRIGGERS
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_SIMPLE_TRIGGERS`;
+CREATE TABLE `QRTZ_SIMPLE_TRIGGERS` (
+ `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `REPEAT_COUNT` bigint(0) NOT NULL,
+ `REPEAT_INTERVAL` bigint(0) NOT NULL,
+ `TIMES_TRIGGERED` bigint(0) NOT NULL,
+ PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
+ CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of QRTZ_SIMPLE_TRIGGERS
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for QRTZ_SIMPROP_TRIGGERS
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_SIMPROP_TRIGGERS`;
+CREATE TABLE `QRTZ_SIMPROP_TRIGGERS` (
+ `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `STR_PROP_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ `STR_PROP_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ `STR_PROP_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ `INT_PROP_1` int(0) NULL DEFAULT NULL,
+ `INT_PROP_2` int(0) NULL DEFAULT NULL,
+ `LONG_PROP_1` bigint(0) NULL DEFAULT NULL,
+ `LONG_PROP_2` bigint(0) NULL DEFAULT NULL,
+ `DEC_PROP_1` decimal(13, 4) NULL DEFAULT NULL,
+ `DEC_PROP_2` decimal(13, 4) NULL DEFAULT NULL,
+ `BOOL_PROP_1` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ `BOOL_PROP_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
+ CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of QRTZ_SIMPROP_TRIGGERS
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for QRTZ_TRIGGERS
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_TRIGGERS`;
+CREATE TABLE `QRTZ_TRIGGERS` (
+ `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ `NEXT_FIRE_TIME` bigint(0) NULL DEFAULT NULL,
+ `PREV_FIRE_TIME` bigint(0) NULL DEFAULT NULL,
+ `PRIORITY` int(0) NULL DEFAULT NULL,
+ `TRIGGER_STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `TRIGGER_TYPE` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `START_TIME` bigint(0) NOT NULL,
+ `END_TIME` bigint(0) NULL DEFAULT NULL,
+ `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ `MISFIRE_INSTR` smallint(0) NULL DEFAULT NULL,
+ `JOB_DATA` blob NULL,
+ PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
+ INDEX `IDX_QRTZ_T_J`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,
+ INDEX `IDX_QRTZ_T_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE,
+ INDEX `IDX_QRTZ_T_C`(`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE,
+ INDEX `IDX_QRTZ_T_G`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE,
+ INDEX `IDX_QRTZ_T_STATE`(`SCHED_NAME`, `TRIGGER_STATE`) USING BTREE,
+ INDEX `IDX_QRTZ_T_N_STATE`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE,
+ INDEX `IDX_QRTZ_T_N_G_STATE`(`SCHED_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE,
+ INDEX `IDX_QRTZ_T_NEXT_FIRE_TIME`(`SCHED_NAME`, `NEXT_FIRE_TIME`) USING BTREE,
+ INDEX `IDX_QRTZ_T_NFT_ST`(`SCHED_NAME`, `TRIGGER_STATE`, `NEXT_FIRE_TIME`) USING BTREE,
+ INDEX `IDX_QRTZ_T_NFT_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`) USING BTREE,
+ INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_STATE`) USING BTREE,
+ INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE,
+ CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of QRTZ_TRIGGERS
+-- ----------------------------
+
+SET FOREIGN_KEY_CHECKS = 1;
diff --git a/Cpop-Core/src/main/java/com/cpop/core/config/GenerateKeyPairConfig.java b/Cpop-Core/src/main/java/com/cpop/core/config/GenerateKeyPairConfig.java
index 1b181c7..505bc59 100644
--- a/Cpop-Core/src/main/java/com/cpop/core/config/GenerateKeyPairConfig.java
+++ b/Cpop-Core/src/main/java/com/cpop/core/config/GenerateKeyPairConfig.java
@@ -1,5 +1,6 @@
package com.cpop.core.config;
+import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@@ -8,6 +9,7 @@ import org.springframework.stereotype.Component;
* @Description: 生成密钥对的配置文件
* @create: 2023-08-04 23:06
*/
+@Data
@Component
@ConfigurationProperties(prefix = "cpop.gateway.rsa-keypair")
public class GenerateKeyPairConfig {
@@ -32,36 +34,5 @@ public class GenerateKeyPairConfig {
*/
private String privateKeyFile;
- /**
- * 获取指定加密算法
- * @return 读取YAML文件的 SystemConfig.rsa-keypair.algorithm 属性
- */
- public String getAlgorithm() {
- return algorithm;
- }
-
- /**
- * 获取密钥长度,用来初始化
- * @return 读取YAML文件的 SystemConfig.rsa-keypair.key-size 属性
- */
- public Integer getKeySize() {
- return keySize;
- }
-
- /**
- * 获取公钥存放文件
- * @return 读取YAML文件的 SystemConfig.rsa-keypair.public-key-file 属性
- */
- public String getPublicKeyFile() {
- return publicKeyFile;
- }
-
- /**
- * 获取私钥存放文件
- * @return 读取YAML文件的 SystemConfig.rsa-keypair.private-key-file 属性
- */
- public String getPrivateKeyFile() {
- return privateKeyFile;
- }
}
diff --git a/Cpop-Core/src/main/java/com/cpop/core/filter/JwtAuthenticationFilter.java b/Cpop-Core/src/main/java/com/cpop/core/filter/JwtAuthenticationFilter.java
index 0b5a1de..994c8ef 100644
--- a/Cpop-Core/src/main/java/com/cpop/core/filter/JwtAuthenticationFilter.java
+++ b/Cpop-Core/src/main/java/com/cpop/core/filter/JwtAuthenticationFilter.java
@@ -6,10 +6,10 @@ import com.cpop.common.utils.StringUtils;
import com.cpop.common.utils.ip.IpUtils;
import com.cpop.core.base.entity.LoginUser;
import com.cpop.core.base.enums.UserType;
+import com.cpop.core.gateway.miniProgram.MiniProgramAuthenticationToken;
import com.cpop.core.service.RedisService;
+import com.cpop.core.service.impl.OamStaffDetailsServiceImpl;
import com.cpop.core.utils.JwtUtils;
-import com.pupu.core.security.miniProgram.MiniProgramAuthenticationToken;
-import com.pupu.core.service.impl.OamStaffDetailsServiceImpl;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jws;
import io.jsonwebtoken.JwtException;
diff --git a/Cpop-Core/src/main/java/com/cpop/core/utils/QuartzUtils.java b/Cpop-Core/src/main/java/com/cpop/core/utils/QuartzUtils.java
new file mode 100644
index 0000000..54a2b16
--- /dev/null
+++ b/Cpop-Core/src/main/java/com/cpop/core/utils/QuartzUtils.java
@@ -0,0 +1,158 @@
+package com.cpop.core.utils;
+
+import org.quartz.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.text.ParseException;
+import java.util.Calendar;
+import java.util.Date;
+
+/**
+ * @author: DB
+ * @Date: 2023/07/12/16:54
+ * @Description:
+ */
+@Component
+public class QuartzUtils {
+
+ @Autowired
+ private Scheduler scheduler;
+
+ /**
+ * @Description: 获取Job信息
+ * @param name
+ * @param group
+ * @return String
+ * @author DB
+ * @Date: 2023/7/12 0012 16:57
+ */
+ public String getJobInfo(String name, String group) throws SchedulerException {
+ TriggerKey triggerKey = new TriggerKey(name, group);
+ CronTrigger cronTrigger = (CronTrigger) scheduler.getTrigger(triggerKey);
+ return String.format("time:%s,state:%s", cronTrigger.getCronExpression(),
+ scheduler.getTriggerState(triggerKey).name());
+ }
+
+ /**
+ * @Description: 修改某个任务的执行时间
+ * @param name
+ * @param group
+ * @param time
+ * @return boolean
+ * @author DB
+ * @Date: 2023/7/12 0012 16:57
+ */
+ public boolean modifyJob(String name, String group, String time) throws SchedulerException {
+ Date date = null;
+ TriggerKey triggerKey = new TriggerKey(name, group);
+ CronTrigger cronTrigger = (CronTrigger) scheduler.getTrigger(triggerKey);
+ String oldTime = cronTrigger.getCronExpression();
+ if (!oldTime.equalsIgnoreCase(time)) {
+ CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(time);
+ CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(name, group)
+ .withSchedule(cronScheduleBuilder).build();
+ date = scheduler.rescheduleJob(triggerKey, trigger);
+ }
+ return date != null;
+ }
+
+ /**
+ * @Description: 暂停所有任务
+ * @param
+ * @return
+ * @author DB
+ * @Date: 2023/7/12 0012 16:57
+ */
+ public void pauseAllJob() throws SchedulerException {
+ scheduler.pauseAll();
+ }
+
+ /**
+ * @Description: 暂停某个任务
+ * @param name
+ * @param group
+ * @return
+ * @author DB
+ * @Date: 2023/7/12 0012 16:57
+ */
+ public void pauseJob(String name, String group) throws SchedulerException {
+ JobKey jobKey = new JobKey(name, group);
+ JobDetail jobDetail = scheduler.getJobDetail(jobKey);
+ if (jobDetail == null) {
+ return;
+ }
+ scheduler.pauseJob(jobKey);
+ }
+
+ /**
+ * @Description: 恢复所有任务
+ * @param
+ * @return
+ * @author DB
+ * @Date: 2023/7/12 0012 16:57
+ */
+ public void resumeAllJob() throws SchedulerException {
+ scheduler.resumeAll();
+ }
+
+ /**
+ * @Description: 恢复某个任务
+ * @param name
+ * @param group
+ * @return
+ * @author DB
+ * @Date: 2023/7/12 0012 16:57
+ */
+ public void resumeJob(String name, String group) throws SchedulerException {
+ JobKey jobKey = new JobKey(name, group);
+ JobDetail jobDetail = scheduler.getJobDetail(jobKey);
+ if (jobDetail == null) {
+ return;
+ }
+ scheduler.resumeJob(jobKey);
+ }
+
+ /**
+ * @Description: 删除某个任务
+ * @param name
+ * @param group
+ * @return
+ * @author DB
+ * @Date: 2023/7/12 0012 16:57
+ */
+ public void deleteJob(String name, String group) throws SchedulerException {
+ JobKey jobKey = new JobKey(name, group);
+ JobDetail jobDetail = scheduler.getJobDetail(jobKey);
+ if (jobDetail == null) {
+ return;
+ }
+ scheduler.deleteJob(jobKey);
+ }
+
+ /**
+ * @Description: 日期转Cron
+ * @param date
+ * @return String
+ * @author DB
+ * @Date: 2023/7/14 0014 11:26
+ */
+ public String convertToCron(Date date) throws ParseException {
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(date);
+ int seconds = calendar.get(Calendar.SECOND);
+ int minutes = calendar.get(Calendar.MINUTE);
+ int hours = calendar.get(Calendar.HOUR_OF_DAY);
+ int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
+ // Calendar中的月份从0开始,所以需要加1
+ int month = calendar.get(Calendar.MONTH) + 1;
+ int year = calendar.get(Calendar.YEAR);
+ return seconds + " " +
+ minutes + " " +
+ hours + " " +
+ dayOfMonth + " " +
+ month + " " +
+ "? " + year;
+ }
+
+}
diff --git a/Cpop-Core/src/main/java/com/cpop/core/utils/file/FileUploadUtils.java b/Cpop-Core/src/main/java/com/cpop/core/utils/file/FileUploadUtils.java
index 4ede9db..aeaeb77 100644
--- a/Cpop-Core/src/main/java/com/cpop/core/utils/file/FileUploadUtils.java
+++ b/Cpop-Core/src/main/java/com/cpop/core/utils/file/FileUploadUtils.java
@@ -7,6 +7,7 @@ import com.cpop.common.utils.StringUtils;
import com.cpop.core.base.exception.file.FileNameLengthLimitExceededException;
import com.cpop.core.base.exception.file.FileSizeLimitExceededException;
import com.cpop.core.base.exception.file.InvalidExtensionException;
+import com.cpop.core.utils.SpringUtils;
import com.cpop.core.utils.uuid.Seq;
import org.apache.commons.io.FilenameUtils;
import org.springframework.web.multipart.MultipartFile;
@@ -47,7 +48,7 @@ public class FileUploadUtils {
/**
* 默认上传的地址
*/
- private static String defaultBaseDir = CpopConfig.getProfile();
+ private static String defaultBaseDir = SpringUtils.getBean(CpopConfig.class).getProfile();
public void setDefaultBaseDir(String defaultBaseDir) {
FileUploadUtils.defaultBaseDir = defaultBaseDir;
@@ -134,7 +135,7 @@ public class FileUploadUtils {
}
public final String getPathFileName(String uploadDir, String fileName) throws IOException {
- int dirLastIndex = CpopConfig.getProfile().length() + 1;
+ int dirLastIndex = SpringUtils.getBean(CpopConfig.class).getProfile().length() + 1;
String currentDir = StringUtils.substring(uploadDir, dirLastIndex);
return Constants.RESOURCE_PREFIX + "/" + currentDir + "/" + fileName;
}
diff --git a/Cpop-Core/src/main/java/com/cpop/core/utils/file/FileUtils.java b/Cpop-Core/src/main/java/com/cpop/core/utils/file/FileUtils.java
index 8ec3feb..664f858 100644
--- a/Cpop-Core/src/main/java/com/cpop/core/utils/file/FileUtils.java
+++ b/Cpop-Core/src/main/java/com/cpop/core/utils/file/FileUtils.java
@@ -7,6 +7,7 @@ import com.cpop.common.utils.DateUtils;
import com.cpop.common.utils.StringUtils;
import com.cpop.core.base.exception.UtilException;
import com.cpop.core.config.CpopConfig;
+import com.cpop.core.utils.SpringUtils;
import com.cpop.core.utils.uuid.IdUtils;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
@@ -80,7 +81,7 @@ public class FileUtils {
* @throws IOException IO异常
*/
public String writeImportBytes(byte[] data) throws IOException {
- return writeBytes(data, CpopConfig.getImportPath());
+ return writeBytes(data, SpringUtils.getBean(CpopConfig.class).getImportPath());
}
/**
diff --git a/Cpop-Core/src/main/resources/mapper/CoreMapper.xml b/Cpop-Core/src/main/resources/mapper/CoreMapper.xml
index 42bf32d..2ad6051 100644
--- a/Cpop-Core/src/main/resources/mapper/CoreMapper.xml
+++ b/Cpop-Core/src/main/resources/mapper/CoreMapper.xml
@@ -121,7 +121,7 @@
-