feat(修改): 修改文件以运行
This commit is contained in:
parent
a07db406bd
commit
e6c24be3e1
|
@ -10,16 +10,17 @@ import java.util.Collections;
|
||||||
|
|
||||||
public class NewCodeGet {
|
public class NewCodeGet {
|
||||||
// 数据连接
|
// 数据连接
|
||||||
public static final String sqlHost = "jdbc:mysql://106.15.251.123:3305/bunny_docs?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true";
|
// public static final String sqlHost = "jdbc:mysql://106.15.251.123:3305/bunny_docs?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true";
|
||||||
|
public static final String sqlHost = "jdbc:mysql://106.15.251.123:3305/myDS?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true";
|
||||||
// 作者名称
|
// 作者名称
|
||||||
public static final String author = "Bunny";
|
public static final String author = "Bunny";
|
||||||
// 公共路径
|
// 公共路径
|
||||||
public static final String outputDir = "F:\\web项目\\PC\\BunnyNote\\BunnyBBS-server\\service\\service-web";
|
public static final String outputDir = "D:\\MyFolder\\Quartz-Demo\\service";
|
||||||
// 实体类名称
|
// 实体类名称
|
||||||
public static final String entity = "Bunny";
|
public static final String entity = "Bunny";
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
Generation("article");
|
Generation("QRTZ_BLOB_TRIGGERS");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -28,7 +29,6 @@ public class NewCodeGet {
|
||||||
* @param tableName 表名
|
* @param tableName 表名
|
||||||
*/
|
*/
|
||||||
public static void Generation(String... tableName) {
|
public static void Generation(String... tableName) {
|
||||||
// TODO 修改数据库路径、账户、密码
|
|
||||||
FastAutoGenerator.create(sqlHost, "root", "02120212")
|
FastAutoGenerator.create(sqlHost, "root", "02120212")
|
||||||
.globalConfig(builder -> {
|
.globalConfig(builder -> {
|
||||||
// 添加作者名称
|
// 添加作者名称
|
||||||
|
@ -41,24 +41,24 @@ public class NewCodeGet {
|
||||||
.packageConfig(builder -> {
|
.packageConfig(builder -> {
|
||||||
builder.entity(entity)// 实体类包名
|
builder.entity(entity)// 实体类包名
|
||||||
// TODO 父包名。如果为空,将下面子包名必须写全部, 否则就只需写子包名
|
// TODO 父包名。如果为空,将下面子包名必须写全部, 否则就只需写子包名
|
||||||
.parent("cn.bunny.service.web")
|
.parent("cn.bunny.service")
|
||||||
.controller("controller")// 控制层包名
|
.controller("controller.quartz")// 控制层包名
|
||||||
.mapper("mapper")// mapper层包名
|
.mapper("mapper.quartz")// mapper层包名
|
||||||
.service("service")// service层包名
|
.service("service.quartz")// service层包名
|
||||||
.serviceImpl("service.impl")// service实现类包名
|
.serviceImpl("service.quartz.impl")// service实现类包名
|
||||||
// 自定义mapper.xml文件输出目录
|
// 自定义mapper.xml文件输出目录
|
||||||
.pathInfo(Collections.singletonMap(OutputFile.xml, outputDir + "/src/main/resources/mapper"));
|
.pathInfo(Collections.singletonMap(OutputFile.xml, outputDir + "/src/main/resources/mapper/quartz"));
|
||||||
})
|
})
|
||||||
.strategyConfig(builder -> {
|
.strategyConfig(builder -> {
|
||||||
// 设置要生成的表名
|
// 设置要生成的表名
|
||||||
builder.addInclude(tableName)
|
builder.addInclude(tableName)
|
||||||
//.addTablePrefix("sys_")// TODO 设置表前缀过滤
|
.addTablePrefix("QRTZ_")// 设置表前缀过滤
|
||||||
.entityBuilder()
|
.entityBuilder()
|
||||||
.enableLombok()
|
.enableLombok()
|
||||||
.enableChainModel()
|
.enableChainModel()
|
||||||
.naming(NamingStrategy.underline_to_camel)// 数据表映射实体命名策略:默认下划线转驼峰underline_to_camel
|
.naming(NamingStrategy.underline_to_camel)// 数据表映射实体命名策略:默认下划线转驼峰underline_to_camel
|
||||||
.columnNaming(NamingStrategy.underline_to_camel)// 表字段映射实体属性命名规则:默认null,不指定按照naming执行
|
.columnNaming(NamingStrategy.underline_to_camel)// 表字段映射实体属性命名规则:默认null,不指定按照naming执行
|
||||||
.idType(IdType.AUTO)// TODO 添加全局主键类型
|
.idType(IdType.AUTO)// 添加全局主键类型
|
||||||
.formatFileName("%s")// 格式化实体名称,%s取消首字母I,
|
.formatFileName("%s")// 格式化实体名称,%s取消首字母I,
|
||||||
.mapperBuilder()
|
.mapperBuilder()
|
||||||
.mapperAnnotation(Mapper.class)// 开启mapper注解
|
.mapperAnnotation(Mapper.class)// 开启mapper注解
|
||||||
|
@ -72,12 +72,6 @@ public class NewCodeGet {
|
||||||
.controllerBuilder()
|
.controllerBuilder()
|
||||||
.enableRestStyle();
|
.enableRestStyle();
|
||||||
})
|
})
|
||||||
// .injectionConfig(consumer -> {
|
|
||||||
// Map<String, String> customFile = new HashMap<>();
|
|
||||||
// // 配置DTO(需要的话)但是需要有能配置Dto的模板引擎,比如freemarker,但是这里我们用的VelocityEngine,因此不多作介绍
|
|
||||||
// customFile.put(outputDir, "/src/main/resources/templates/entityDTO.java.ftl");
|
|
||||||
// consumer.customFile(customFile);
|
|
||||||
// })
|
|
||||||
.execute();
|
.execute();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,18 +29,18 @@ public class Knife4jConfig {
|
||||||
// 前台相关分类接口
|
// 前台相关分类接口
|
||||||
@Bean
|
@Bean
|
||||||
public GroupedOpenApi groupedOpenApi() {
|
public GroupedOpenApi groupedOpenApi() {
|
||||||
return GroupedOpenApi.builder().group("前台接口管理").pathsToMatch("/api/**").build();
|
return GroupedOpenApi.builder().group("Web前台接口管理").pathsToMatch("/api/**").build();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 管理员相关分类接口
|
// 管理员相关分类接口
|
||||||
@Bean
|
@Bean
|
||||||
public GroupedOpenApi groupedOpenAdminApi() {
|
public GroupedOpenApi groupedOpenAdminApi() {
|
||||||
return GroupedOpenApi.builder().group("管理员接口请求").pathsToMatch("/admin/**").build();
|
return GroupedOpenApi.builder().group("Admin管理员接口请求").pathsToMatch("/admin/**").build();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 测试相关分类接口
|
// 测试相关分类接口
|
||||||
@Bean
|
@Bean
|
||||||
public GroupedOpenApi testGroupedOpenApi() {
|
public GroupedOpenApi testGroupedOpenApi() {
|
||||||
return GroupedOpenApi.builder().group("测试相关分类接口").pathsToMatch("/test/**").build();
|
return GroupedOpenApi.builder().group("Test测试相关分类接口").pathsToMatch("/test/**").build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
package cn.bunny.entity.system.quartz;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Bunny
|
||||||
|
* @since 2024-07-25
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@TableName("QRTZ_BLOB_TRIGGERS")
|
||||||
|
@ApiModel(value = "BlobTriggers对象", description = "")
|
||||||
|
public class BlobTriggers implements Serializable {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@TableId(value = "SCHED_NAME", type = IdType.AUTO)
|
||||||
|
private String schedName;
|
||||||
|
|
||||||
|
private String triggerName;
|
||||||
|
|
||||||
|
private String triggerGroup;
|
||||||
|
|
||||||
|
private byte[] blobData;
|
||||||
|
}
|
|
@ -66,6 +66,18 @@
|
||||||
<artifactId>quartz</artifactId>
|
<artifactId>quartz</artifactId>
|
||||||
<version>2.3.2</version>
|
<version>2.3.2</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!-- https://mvnrepository.com/artifact/com.mchange/c3p0 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.mchange</groupId>
|
||||||
|
<artifactId>c3p0</artifactId>
|
||||||
|
<version>0.9.5.5</version> <!-- 请使用适合你项目的版本 -->
|
||||||
|
</dependency>
|
||||||
|
<!-- https://mvnrepository.com/artifact/com.baomidou/dynamic-datasource-spring-boot3-starter -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.baomidou</groupId>
|
||||||
|
<artifactId>dynamic-datasource-spring-boot3-starter</artifactId>
|
||||||
|
<version>4.3.1</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
|
|
@ -1,100 +1,83 @@
|
||||||
package cn.bunny.service.aop.aspect;
|
package cn.bunny.service.aop.aspect;
|
||||||
|
|
||||||
import cn.bunny.common.service.utils.JwtHelper;
|
|
||||||
import cn.bunny.entity.system.log.SystemLog;
|
|
||||||
import cn.bunny.service.aop.annotation.SkipLog;
|
|
||||||
import cn.bunny.service.mapper.SystemLogMapper;
|
|
||||||
import cn.bunny.vo.system.login.LoginVo;
|
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.aspectj.lang.ProceedingJoinPoint;
|
|
||||||
import org.aspectj.lang.annotation.Around;
|
|
||||||
import org.aspectj.lang.annotation.Aspect;
|
import org.aspectj.lang.annotation.Aspect;
|
||||||
import org.aspectj.lang.annotation.Pointcut;
|
|
||||||
import org.aspectj.lang.reflect.MethodSignature;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.web.context.request.RequestContextHolder;
|
|
||||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Aspect
|
@Aspect
|
||||||
@Component
|
@Component
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class AutoLogAspect {
|
public class AutoLogAspect {
|
||||||
@Autowired
|
// @Autowired
|
||||||
private SystemLogMapper systemLogMapper;
|
// private SystemLogMapper systemLogMapper;
|
||||||
|
//
|
||||||
@Pointcut("execution(* cn.bunny.service.web.controller..*(..))")
|
// @Pointcut("execution(* cn.bunny.service.controller..*(..))")
|
||||||
public void point() {
|
// public void point() {
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
@Around(value = "point()")
|
// @Around(value = "point()")
|
||||||
public Object aroundMethod(ProceedingJoinPoint joinPoint) throws Throwable {
|
// public Object aroundMethod(ProceedingJoinPoint joinPoint) throws Throwable {
|
||||||
Object result;
|
// Object result;
|
||||||
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
|
// MethodSignature signature = (MethodSignature) joinPoint.getSignature();
|
||||||
// 是否有跳过注解,如果有跳过注解就不执行当前操作!!!
|
// // 是否有跳过注解,如果有跳过注解就不执行当前操作!!!
|
||||||
SkipLog annotation = signature.getMethod().getAnnotation(SkipLog.class);
|
// SkipLog annotation = signature.getMethod().getAnnotation(SkipLog.class);
|
||||||
// 目标方法所在类名路径
|
// // 目标方法所在类名路径
|
||||||
String classPath = joinPoint.getSignature().getDeclaringTypeName();
|
// String classPath = joinPoint.getSignature().getDeclaringTypeName();
|
||||||
// 当前执行的方法名
|
// // 当前执行的方法名
|
||||||
String methodName = signature.getName();
|
// String methodName = signature.getName();
|
||||||
// 入参内容
|
// // 入参内容
|
||||||
String args = Arrays.toString(joinPoint.getArgs());
|
// String args = Arrays.toString(joinPoint.getArgs());
|
||||||
// 获取用户token
|
// // 获取用户token
|
||||||
ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
// ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
||||||
HttpServletRequest request = requestAttributes.getRequest();
|
// HttpServletRequest request = requestAttributes.getRequest();
|
||||||
String token = request.getHeader("token");
|
// String token = request.getHeader("token");
|
||||||
// 初始化系统日志对象
|
// // 初始化系统日志对象
|
||||||
SystemLog systemLog = new SystemLog();
|
// SystemLog systemLog = new SystemLog();
|
||||||
// token转为实体对象
|
// // token转为实体对象
|
||||||
Map<String, Object> mapByToken = JwtHelper.getMapByToken(token);
|
// Map<String, Object> mapByToken = JwtHelper.getMapByToken(token);
|
||||||
LoginVo loginVo = JSONObject.parseObject(JSONObject.toJSONString(mapByToken), LoginVo.class);
|
// LoginVo loginVo = JSONObject.parseObject(JSONObject.toJSONString(mapByToken), LoginVo.class);
|
||||||
|
//
|
||||||
// 插入Ip地址
|
// // 插入Ip地址
|
||||||
systemLog.setIpAddress(request.getRemoteHost());
|
// systemLog.setIpAddress(request.getRemoteHost());
|
||||||
|
//
|
||||||
try {
|
// try {
|
||||||
// 当为null时跳过执行
|
// // 当为null时跳过执行
|
||||||
if (annotation != null) return joinPoint.proceed();
|
// if (annotation != null) return joinPoint.proceed();
|
||||||
if (args.equals("[null]")) {
|
// if (args.equals("[null]")) {
|
||||||
systemLog.setArgs(null);
|
// systemLog.setArgs(null);
|
||||||
} else {
|
// } else {
|
||||||
systemLog.setArgs(args);
|
// systemLog.setArgs(args);
|
||||||
}
|
// }
|
||||||
// 登录返回Vo不为空即插入
|
// // 登录返回Vo不为空即插入
|
||||||
if (loginVo != null) {
|
// if (loginVo != null) {
|
||||||
systemLog.setNickname(loginVo.getNickName());
|
// systemLog.setNickname(loginVo.getNickName());
|
||||||
systemLog.setEmail(loginVo.getEmail());
|
// systemLog.setEmail(loginVo.getEmail());
|
||||||
systemLog.setUpdateUser(loginVo.getId());
|
// systemLog.setUpdateUser(loginVo.getId());
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
systemLog.setClassPath(classPath);
|
// systemLog.setClassPath(classPath);
|
||||||
systemLog.setMethodName(methodName);
|
// systemLog.setMethodName(methodName);
|
||||||
systemLog.setToken(token);
|
// systemLog.setToken(token);
|
||||||
|
//
|
||||||
// 目标对象(连接点)方法的执行
|
// // 目标对象(连接点)方法的执行
|
||||||
result = joinPoint.proceed();
|
// result = joinPoint.proceed();
|
||||||
systemLog.setResult(JSONObject.toJSONString(result));
|
// systemLog.setResult(JSONObject.toJSONString(result));
|
||||||
} catch (Exception exception) {
|
// } catch (Exception exception) {
|
||||||
String message = exception.getMessage();
|
// String message = exception.getMessage();
|
||||||
StackTraceElement[] stackTrace = exception.getStackTrace();
|
// StackTraceElement[] stackTrace = exception.getStackTrace();
|
||||||
|
//
|
||||||
// 如果报错,设置报错的堆栈和消息,放到数据库中
|
// // 如果报错,设置报错的堆栈和消息,放到数据库中
|
||||||
systemLog.setErrorStack(Arrays.toString(stackTrace));
|
// systemLog.setErrorStack(Arrays.toString(stackTrace));
|
||||||
systemLog.setErrorMessage(message);
|
// systemLog.setErrorMessage(message);
|
||||||
|
//
|
||||||
// 插入日志数据到数据库
|
// // 插入日志数据到数据库
|
||||||
systemLogMapper.insert(systemLog);
|
// systemLogMapper.insert(systemLog);
|
||||||
|
//
|
||||||
throw exception;
|
// throw exception;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 插入日志数据到数据库
|
// // 插入日志数据到数据库
|
||||||
systemLogMapper.insert(systemLog);
|
// systemLogMapper.insert(systemLog);
|
||||||
return result;
|
// return result;
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
package cn.bunny.service.controller.quartz;
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 前端控制器
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Bunny
|
||||||
|
* @since 2024-07-25
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/blobTriggers")
|
||||||
|
public class BlobTriggersController {
|
||||||
|
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package cn.bunny.service.controller;
|
package cn.bunny.service.controller.web;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
@ -0,0 +1,11 @@
|
||||||
|
package cn.bunny.service.controller.web;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
@Tag(name = "Quartz定时任务")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/api/job")
|
||||||
|
public class JobController {
|
||||||
|
}
|
|
@ -1,9 +1,9 @@
|
||||||
package cn.bunny.service.controller;
|
package cn.bunny.service.controller.web;
|
||||||
|
|
||||||
|
|
||||||
import cn.bunny.dto.user.LoginDto;
|
import cn.bunny.dto.user.LoginDto;
|
||||||
import cn.bunny.pojo.result.Result;
|
import cn.bunny.pojo.result.Result;
|
||||||
import cn.bunny.service.service.UserService;
|
import cn.bunny.service.service.web.UserService;
|
||||||
import cn.bunny.vo.system.login.LoginVo;
|
import cn.bunny.vo.system.login.LoginVo;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
@ -0,0 +1,18 @@
|
||||||
|
package cn.bunny.service.mapper.quartz;
|
||||||
|
|
||||||
|
import cn.bunny.entity.system.quartz.BlobTriggers;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Bunny
|
||||||
|
* @since 2024-07-25
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface BlobTriggersMapper extends BaseMapper<BlobTriggers> {
|
||||||
|
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package cn.bunny.service.mapper;
|
package cn.bunny.service.mapper.web;
|
||||||
|
|
||||||
import cn.bunny.entity.system.admin.AdminPower;
|
import cn.bunny.entity.system.admin.AdminPower;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
@ -1,4 +1,4 @@
|
||||||
package cn.bunny.service.mapper;
|
package cn.bunny.service.mapper.web;
|
||||||
|
|
||||||
import cn.bunny.entity.system.admin.AdminRole;
|
import cn.bunny.entity.system.admin.AdminRole;
|
||||||
import cn.bunny.entity.system.admin.auth.AuthUserRole;
|
import cn.bunny.entity.system.admin.auth.AuthUserRole;
|
|
@ -1,4 +1,4 @@
|
||||||
package cn.bunny.service.mapper;
|
package cn.bunny.service.mapper.web;
|
||||||
|
|
||||||
import cn.bunny.entity.system.email.EmailUsers;
|
import cn.bunny.entity.system.email.EmailUsers;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
@ -1,4 +1,4 @@
|
||||||
package cn.bunny.service.mapper;
|
package cn.bunny.service.mapper.web;
|
||||||
|
|
||||||
import cn.bunny.entity.system.log.SystemLog;
|
import cn.bunny.entity.system.log.SystemLog;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
@ -1,4 +1,4 @@
|
||||||
package cn.bunny.service.mapper;
|
package cn.bunny.service.mapper.web;
|
||||||
|
|
||||||
import cn.bunny.entity.system.user.User;
|
import cn.bunny.entity.system.user.User;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
@ -3,7 +3,7 @@ package cn.bunny.service.security;
|
||||||
import cn.bunny.common.service.utils.JwtHelper;
|
import cn.bunny.common.service.utils.JwtHelper;
|
||||||
import cn.bunny.entity.system.admin.AdminPower;
|
import cn.bunny.entity.system.admin.AdminPower;
|
||||||
import cn.bunny.security.service.CustomAuthorizationManagerService;
|
import cn.bunny.security.service.CustomAuthorizationManagerService;
|
||||||
import cn.bunny.service.mapper.AdminPowerMapper;
|
import cn.bunny.service.mapper.web.AdminPowerMapper;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
|
@ -4,9 +4,9 @@ import cn.bunny.dto.user.LoginDto;
|
||||||
import cn.bunny.entity.system.admin.AdminRole;
|
import cn.bunny.entity.system.admin.AdminRole;
|
||||||
import cn.bunny.entity.system.user.User;
|
import cn.bunny.entity.system.user.User;
|
||||||
import cn.bunny.security.custom.CustomUser;
|
import cn.bunny.security.custom.CustomUser;
|
||||||
import cn.bunny.service.mapper.AdminRoleMapper;
|
import cn.bunny.service.mapper.web.AdminRoleMapper;
|
||||||
import cn.bunny.service.mapper.UserMapper;
|
import cn.bunny.service.mapper.web.UserMapper;
|
||||||
import cn.bunny.service.service.UserService;
|
import cn.bunny.service.service.web.UserService;
|
||||||
import cn.bunny.vo.system.login.LoginVo;
|
import cn.bunny.vo.system.login.LoginVo;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
package cn.bunny.service.service.quartz;
|
||||||
|
|
||||||
|
import cn.bunny.entity.system.quartz.BlobTriggers;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Bunny
|
||||||
|
* @since 2024-07-25
|
||||||
|
*/
|
||||||
|
public interface BlobTriggersService extends IService<BlobTriggers> {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
package cn.bunny.service.service.quartz;
|
||||||
|
|
||||||
|
public interface JobService {
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
package cn.bunny.service.service.quartz.impl;
|
||||||
|
|
||||||
|
import cn.bunny.entity.system.quartz.BlobTriggers;
|
||||||
|
import cn.bunny.service.mapper.quartz.BlobTriggersMapper;
|
||||||
|
import cn.bunny.service.service.quartz.BlobTriggersService;
|
||||||
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Bunny
|
||||||
|
* @since 2024-07-25
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@DS("myDS")
|
||||||
|
public class BlobTriggersServiceImpl extends ServiceImpl<BlobTriggersMapper, BlobTriggers> implements BlobTriggersService {
|
||||||
|
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package cn.bunny.service.service;
|
package cn.bunny.service.service.web;
|
||||||
|
|
||||||
import cn.bunny.dto.user.LoginDto;
|
import cn.bunny.dto.user.LoginDto;
|
||||||
import cn.bunny.entity.system.user.User;
|
import cn.bunny.entity.system.user.User;
|
|
@ -0,0 +1,8 @@
|
||||||
|
package cn.bunny.service.service.web.impl;
|
||||||
|
|
||||||
|
import cn.bunny.service.service.quartz.JobService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class JobServiceImpl implements JobService {
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package cn.bunny.service.service.impl;
|
package cn.bunny.service.service.web.impl;
|
||||||
|
|
||||||
import cn.bunny.common.service.utils.EmptyUtil;
|
import cn.bunny.common.service.utils.EmptyUtil;
|
||||||
import cn.bunny.common.service.utils.JwtHelper;
|
import cn.bunny.common.service.utils.JwtHelper;
|
||||||
|
@ -13,11 +13,11 @@ import cn.bunny.pojo.email.EmailSendInit;
|
||||||
import cn.bunny.pojo.result.constant.ExceptionConstant;
|
import cn.bunny.pojo.result.constant.ExceptionConstant;
|
||||||
import cn.bunny.pojo.result.constant.MailMessageConstant;
|
import cn.bunny.pojo.result.constant.MailMessageConstant;
|
||||||
import cn.bunny.pojo.result.constant.RedisUserConstant;
|
import cn.bunny.pojo.result.constant.RedisUserConstant;
|
||||||
import cn.bunny.service.mapper.AdminPowerMapper;
|
import cn.bunny.service.mapper.web.AdminPowerMapper;
|
||||||
import cn.bunny.service.mapper.AdminRoleMapper;
|
import cn.bunny.service.mapper.web.AdminRoleMapper;
|
||||||
import cn.bunny.service.mapper.EmailUsersMapper;
|
import cn.bunny.service.mapper.web.EmailUsersMapper;
|
||||||
import cn.bunny.service.mapper.UserMapper;
|
import cn.bunny.service.mapper.web.UserMapper;
|
||||||
import cn.bunny.service.service.UserService;
|
import cn.bunny.service.service.web.UserService;
|
||||||
import cn.bunny.vo.system.login.LoginVo;
|
import cn.bunny.vo.system.login.LoginVo;
|
||||||
import cn.hutool.captcha.CaptchaUtil;
|
import cn.hutool.captcha.CaptchaUtil;
|
||||||
import cn.hutool.captcha.CircleCaptcha;
|
import cn.hutool.captcha.CircleCaptcha;
|
|
@ -1,19 +1,25 @@
|
||||||
bunny:
|
bunny:
|
||||||
datasource:
|
datasource:
|
||||||
host: 192.168.1.4
|
host: 106.15.251.123
|
||||||
port: 3305
|
port: 3305
|
||||||
sqlData: bunny_docs
|
sqlData: bunny_docs
|
||||||
username: root
|
username: root
|
||||||
password: "02120212"
|
password: "02120212"
|
||||||
|
datasource2:
|
||||||
|
host: 106.15.251.123
|
||||||
|
port: 3305
|
||||||
|
sqlData: myDS
|
||||||
|
username: root
|
||||||
|
password: "02120212"
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
host: 192.168.1.4
|
host: 47.120.65.66
|
||||||
port: 6379
|
port: 6379
|
||||||
database: 3
|
database: 0
|
||||||
password: "123456"
|
password: "02120212"
|
||||||
|
|
||||||
minio:
|
minio:
|
||||||
endpointUrl: "http://192.168.1.4:9000"
|
endpointUrl: "http://116.196.101.14:9000"
|
||||||
bucket-name: test
|
|
||||||
accessKey: bunny
|
accessKey: bunny
|
||||||
secretKey: "02120212"
|
secretKey: "02120212"
|
||||||
|
bucket-name: bunny-bbs
|
|
@ -1,19 +1,25 @@
|
||||||
bunny:
|
bunny:
|
||||||
datasource:
|
datasource:
|
||||||
host: 192.168.1.4
|
host: 106.15.251.123
|
||||||
port: 3306
|
port: 3306
|
||||||
sqlData: bunny_docs
|
sqlData: bunny_docs
|
||||||
username: root
|
username: root
|
||||||
password: "02120212"
|
password: "02120212"
|
||||||
|
datasource2:
|
||||||
|
host: 106.15.251.123
|
||||||
|
port: 3305
|
||||||
|
sqlData: myDS
|
||||||
|
username: root
|
||||||
|
password: "02120212"
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
host: 192.168.1.4
|
host: 47.120.65.66
|
||||||
port: 6379
|
port: 6379
|
||||||
database: 3
|
database: 0
|
||||||
password: "123456"
|
password: "02120212"
|
||||||
|
|
||||||
minio:
|
minio:
|
||||||
endpointUrl: "http://192.168.1.4:9000"
|
endpointUrl: "http://116.196.101.14:9000"
|
||||||
bucket-name: test
|
|
||||||
accessKey: bunny
|
accessKey: bunny
|
||||||
secretKey: "02120212"
|
secretKey: "02120212"
|
||||||
|
bucket-name: bunny-bbs
|
|
@ -8,11 +8,23 @@ spring:
|
||||||
name: bunny-service
|
name: bunny-service
|
||||||
|
|
||||||
datasource:
|
datasource:
|
||||||
type: com.zaxxer.hikari.HikariDataSource
|
dynamic:
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
primary: master #设置默认的数据源或者数据源组,默认值即为master
|
||||||
url: jdbc:mysql://${bunny.datasource.host}:${bunny.datasource.port}/${bunny.datasource.sqlData}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
|
strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
|
||||||
username: ${bunny.datasource.username}
|
grace-destroy: false #是否优雅关闭数据源,默认为false,设置为true时,关闭数据源时如果数据源中还存在活跃连接,至多等待10s后强制关闭
|
||||||
password: ${bunny.datasource.password}
|
datasource:
|
||||||
|
master:
|
||||||
|
driver-class-name: com.zaxxer.hikari.HikariDataSource
|
||||||
|
url: jdbc:mysql://${bunny.datasource.host}:${bunny.datasource.port}/${bunny.datasource.sqlData}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
|
||||||
|
username: ${bunny.datasource.username}
|
||||||
|
password: ${bunny.datasource.password}
|
||||||
|
quartz:
|
||||||
|
url: jdbc:mysql://${bunny.datasource2.host}:${bunny.datasource2.port}/${bunny.datasource2.sqlData}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
|
||||||
|
username: ${bunny.datasource2.username}
|
||||||
|
password: ${bunny.datasource2.password}
|
||||||
|
driver-class-name: com.zaxxer.hikari.HikariDataSource
|
||||||
|
aop:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
data:
|
data:
|
||||||
redis:
|
redis:
|
||||||
|
@ -32,13 +44,12 @@ spring:
|
||||||
time-zone: GMT+8
|
time-zone: GMT+8
|
||||||
|
|
||||||
mybatis-plus:
|
mybatis-plus:
|
||||||
mapper-locations: classpath:mapper/*.xml
|
mapper-locations: classpath:mapper/*/*.xml
|
||||||
global-config:
|
global-config:
|
||||||
db-config:
|
db-config:
|
||||||
logic-delete-field: isDelete
|
logic-delete-field: isDelete
|
||||||
configuration:
|
configuration:
|
||||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 查看日志
|
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 查看日志
|
||||||
|
|
||||||
logging:
|
logging:
|
||||||
level:
|
level:
|
||||||
cn.bunny.service.mapper: error
|
cn.bunny.service.mapper: error
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="cn.bunny.service.mapper.quartz.BlobTriggersMapper">
|
||||||
|
|
||||||
|
<!-- 通用查询映射结果 -->
|
||||||
|
<resultMap id="BaseResultMap" type="cn.bunny.entity.system.quartz.BlobTriggers">
|
||||||
|
<id column="SCHED_NAME" property="schedName"/>
|
||||||
|
<id column="TRIGGER_NAME" property="triggerName"/>
|
||||||
|
<id column="TRIGGER_GROUP" property="triggerGroup"/>
|
||||||
|
<result column="BLOB_DATA" property="blobData"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<!-- 通用查询结果列 -->
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP, BLOB_DATA
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
</mapper>
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="cn.bunny.service.mapper.AdminPowerMapper">
|
<mapper namespace="cn.bunny.service.mapper.web.AdminPowerMapper">
|
||||||
|
|
||||||
<!-- 通用查询映射结果 -->
|
<!-- 通用查询映射结果 -->
|
||||||
<resultMap id="BaseResultMap" type="cn.bunny.entity.system.admin.AdminPower">
|
<resultMap id="BaseResultMap" type="cn.bunny.entity.system.admin.AdminPower">
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="cn.bunny.service.mapper.AdminRoleMapper">
|
<mapper namespace="cn.bunny.service.mapper.web.AdminRoleMapper">
|
||||||
|
|
||||||
<!-- 通用查询映射结果 -->
|
<!-- 通用查询映射结果 -->
|
||||||
<resultMap id="BaseResultMap" type="cn.bunny.entity.system.admin.AdminRole">
|
<resultMap id="BaseResultMap" type="cn.bunny.entity.system.admin.AdminRole">
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="cn.bunny.service.mapper.EmailUsersMapper">
|
<mapper namespace="cn.bunny.service.mapper.web.EmailUsersMapper">
|
||||||
|
|
||||||
<!-- 通用查询映射结果 -->
|
<!-- 通用查询映射结果 -->
|
||||||
<resultMap id="BaseResultMap" type="cn.bunny.entity.system.email.EmailUsers">
|
<resultMap id="BaseResultMap" type="cn.bunny.entity.system.email.EmailUsers">
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="cn.bunny.service.mapper.SystemLogMapper">
|
<mapper namespace="cn.bunny.service.mapper.web.SystemLogMapper">
|
||||||
|
|
||||||
<!-- 通用查询映射结果 -->
|
<!-- 通用查询映射结果 -->
|
||||||
<resultMap id="BaseResultMap" type="cn.bunny.entity.system.log.SystemLog">
|
<resultMap id="BaseResultMap" type="cn.bunny.entity.system.log.SystemLog">
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="cn.bunny.service.mapper.UserMapper">
|
<mapper namespace="cn.bunny.service.mapper.web.UserMapper">
|
||||||
|
|
||||||
<!-- 通用查询映射结果 -->
|
<!-- 通用查询映射结果 -->
|
||||||
<resultMap id="BaseResultMap" type="cn.bunny.entity.system.user.User">
|
<resultMap id="BaseResultMap" type="cn.bunny.entity.system.user.User">
|
|
@ -1,18 +1,12 @@
|
||||||
# ???????5
|
org.quartz.scheduler.instanceName=MyScheduler
|
||||||
org.quartz.threadPool.threadCount=5
|
org.quartz.threadPool.threadCount=5
|
||||||
# ???
|
org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
|
||||||
org.quartz.threadPool.threadPriority=5
|
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
|
||||||
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true
|
|
||||||
org.quartz.jobStore.misfireThreshold=5000
|
|
||||||
# ????????
|
|
||||||
#org.quartz.jobStore.class=org.quartz.simpl.RAMJobStore
|
|
||||||
#???
|
|
||||||
org.quartz.jobStore.class=org.springframework.scheduling.quartz.LocalDataSourceJobStore
|
|
||||||
org.quartz.jobStore.tablePrefix=QRTZ_
|
org.quartz.jobStore.tablePrefix=QRTZ_
|
||||||
org.quartz.quartz.dataSource=quartz
|
org.quartz.jobStore.dataSource=myDS
|
||||||
org.quartz.dataSource.qzDS.driver=com.mysql.cj.jdbc.Driver
|
org.quartz.dataSource.myDS.driver=com.mysql.cj.jdbc.Driver
|
||||||
org.quartz.dataSource.qzDS.provider=hikaricp
|
org.quartz.dataSource.myDS.URL=jdbc:mysql://106.15.251.123:3305/myDS?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
|
||||||
org.quartz.dataSource.qzDS.URL=jdbc:mysql://localhost:3306/quartz?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
|
#org.quartz.dataSource.quartz.URL=jdbc:mysql://192.168.3.98:3306/quartz?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
|
||||||
org.quartz.dataSource.qzDS.user=root
|
org.quartz.dataSource.myDS.user=root
|
||||||
org.quartz.dataSource.qzDS.password=123456
|
org.quartz.dataSource.myDS.password=02120212
|
||||||
org.quartz.dataSource.qzDS.maxConnections=10
|
org.quartz.dataSource.myDS.maxConnections=5
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Loading…
Reference in New Issue