refactor(cutejava): 重构项目代码风格和结构

- 更新代码风格设置,统一使用阿里巴巴 Java 代码风格
- 重命名 CsPageResultVo 为 CsPageResult,简化类名
- 添加 DeleteById 类到 CsArgs,用于删除操作
- 更新健康检查控制器和 Swagger 配置,使用 @Autowired 注解
- 重构异步线程池配置,增加长时间任务线程池
- 更新 DevOps 相关代码,统一使用 @Autowired 注解
- 新增 CsReturnValueHandleUtil 工具类,用于处理返回值
This commit is contained in:
2025-08-01 20:18:40 +08:00
parent 27e8366c39
commit cb28273ec2
101 changed files with 2295 additions and 1459 deletions
@@ -5,6 +5,7 @@
clearable
placeholder="请选择产品线"
:disabled="disabled"
style="width: 100%"
@change="handleChange"
>
<el-option
@@ -3,6 +3,7 @@
v-model="value"
:disabled="disabled"
:options="deptOptions"
style="width: 100%"
@change="handleChange"
/>
</template>
@@ -33,4 +33,11 @@ public class CsArgs {
@NotNull(message = "id必填")
private Long id;
}
@Getter
@Setter
public static class DeleteById extends CsObject {
@NotNull(message = "id必填")
private Long id;
}
}
@@ -31,19 +31,19 @@ import java.util.List;
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class CsPageResultVo<T> extends CsObject {
private T content;
public class CsPageResult<T> extends CsObject {
private List<T> content;
private long totalElements;
public static <T> CsPageResultVo<List<T>> emptyListData() {
CsPageResultVo<List<T>> result = new CsPageResultVo<>();
public static <T> CsPageResult<T> emptyListData() {
CsPageResult<T> result = new CsPageResult<>();
result.setTotalElements(0);
result.setContent(new ArrayList<>());
return result;
}
public static <T> CsPageResultVo<List<T>> listData(IPage<T> page) {
CsPageResultVo<List<T>> result = new CsPageResultVo<>();
public static <T> CsPageResult<T> listData(IPage<T> page) {
CsPageResult<T> result = new CsPageResult<>();
result.setTotalElements(page.getTotal());
result.setContent(page.getRecords());
return result;
@@ -18,8 +18,8 @@ package cn.odboy.framework.doc;
import cn.odboy.constant.SystemConst;
import cn.odboy.framework.properties.AppProperties;
import cn.odboy.util.CsAnonTagUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.context.ApplicationContext;
@@ -49,12 +49,13 @@ import java.util.stream.Collectors;
*/
@Configuration
@EnableSwagger2
@RequiredArgsConstructor
public class SwaggerConfig {
@Value("${server.servlet.context-path:}")
private String apiPath;
private final AppProperties properties;
private final ApplicationContext applicationContext;
@Autowired
private AppProperties properties;
@Autowired
private ApplicationContext applicationContext;
@Bean
public Docket createRestApi() {
@@ -18,7 +18,6 @@ package cn.odboy.framework.monitor.controller;
import cn.odboy.annotation.AnonymousGetMapping;
import cn.odboy.framework.monitor.service.CsHealthCheckPointService;
import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -28,7 +27,6 @@ import org.springframework.web.bind.annotation.RestController;
* 健康检查接口
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/healthCheck")
@Api(tags = "系统:健康检查接口")
public class HealthCheckController {
@@ -15,7 +15,7 @@
*/
package cn.odboy.framework.mybatisplus.core.interfaces;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
@@ -56,13 +56,13 @@ public interface CsMpEasyService<T> extends IService<T> {
<G> List<G> queryFeatureClazzListByArgs(LambdaQueryWrapper<T> wrapper, Class<G> targetClazz);
CsPageResultVo<List<T>> queryClazzPageByArgs(LambdaQueryWrapper<T> wrapper, IPage<T> pageable);
CsPageResult<T> queryClazzPageByArgs(LambdaQueryWrapper<T> wrapper, IPage<T> pageable);
<G> CsPageResultVo<List<G>> queryFeatureClazzPageByArgs(LambdaQueryWrapper<T> wrapper, IPage<T> pageable, Class<G> targetClazz);
<G> CsPageResult<G> queryFeatureClazzPageByArgs(LambdaQueryWrapper<T> wrapper, IPage<T> pageable, Class<G> targetClazz);
<G, Q> CsPageResultVo<List<G>> queryFeatureClazzPageByArgs(Q criteria, IPage<T> pageable, Class<G> targetClazz);
<G, Q> CsPageResult<G> queryFeatureClazzPageByArgs(Q criteria, IPage<T> pageable, Class<G> targetClazz);
<Q> CsPageResultVo<List<T>> queryClazzPageByArgs(Q criteria, IPage<T> pageable);
<Q> CsPageResult<T> queryClazzPageByArgs(Q criteria, IPage<T> pageable);
int modifyClazzByArgs(LambdaQueryWrapper<T> wrapper, T entity);
@@ -18,7 +18,7 @@ package cn.odboy.framework.mybatisplus.core.interfaces;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ReflectUtil;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.util.CsPageUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -136,16 +136,16 @@ public interface CsMpMapper<E> extends BaseMapper<E> {
* @param clazz 期望的对象类型
* @return IPage<T>
*/
default <T> CsPageResultVo<List<T>> queryFeatureClazzPage(Pageable pageable, LambdaQueryWrapper<E> wrapper, Class<T> clazz) {
default <T> CsPageResult<T> queryFeatureClazzPage(Pageable pageable, LambdaQueryWrapper<E> wrapper, Class<T> clazz) {
int pageNumber = pageable.getPageNumber();
int pageSize = pageable.getPageSize();
pageNumber = pageNumber <= 0 ? 1 : pageNumber;
pageSize = pageSize <= 0 ? 10 : pageSize;
IPage<E> pageInfo = this.selectPage(new Page<>(pageNumber, pageSize), wrapper);
if (CollUtil.isEmpty(pageInfo.getRecords())) {
return new CsPageResultVo<>(new ArrayList<>(), pageInfo.getTotal());
return new CsPageResult<>(new ArrayList<>(), pageInfo.getTotal());
}
return new CsPageResultVo<>(BeanUtil.copyToList(pageInfo.getRecords(), clazz), pageInfo.getTotal());
return new CsPageResult<>(BeanUtil.copyToList(pageInfo.getRecords(), clazz), pageInfo.getTotal());
}
/**
@@ -156,7 +156,7 @@ public interface CsMpMapper<E> extends BaseMapper<E> {
* @param clazz 期望的对象类型
* @return IPage<T>
*/
default <T> CsPageResultVo<List<T>> queryFeatureClazzPage(Pageable pageable, LambdaQueryChainWrapper<E> wrapper, Class<T> clazz) {
default <T> CsPageResult<T> queryFeatureClazzPage(Pageable pageable, LambdaQueryChainWrapper<E> wrapper, Class<T> clazz) {
int pageNumber = pageable.getPageNumber();
int pageSize = pageable.getPageSize();
pageNumber = pageNumber <= 0 ? 1 : pageNumber;
@@ -165,7 +165,7 @@ public interface CsMpMapper<E> extends BaseMapper<E> {
if (CollUtil.isEmpty(pageInfo.getRecords())) {
return CsPageUtil.emptyListData();
}
return new CsPageResultVo<>(BeanUtil.copyToList(pageInfo.getRecords(), clazz), pageInfo.getTotal());
return new CsPageResult<>(BeanUtil.copyToList(pageInfo.getRecords(), clazz), pageInfo.getTotal());
}
/**
@@ -17,7 +17,7 @@ package cn.odboy.framework.mybatisplus.core.interfaces;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.framework.mybatisplus.core.CsMpQUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -193,12 +193,12 @@ public class CsMpServiceImpl<M extends CsMpMapper<T>, T> extends ServiceImpl<M,
* @param wrapper 制造条件
* @param pageable 分页参数
*/
public CsPageResultVo<List<T>> queryClazzPageByArgs(LambdaQueryWrapper<T> wrapper, IPage<T> pageable) {
public CsPageResult<T> queryClazzPageByArgs(LambdaQueryWrapper<T> wrapper, IPage<T> pageable) {
if (wrapper == null) {
wrapper = new LambdaQueryWrapper<>();
}
IPage<T> originPageData = baseMapper.selectPage(pageable, wrapper);
return new CsPageResultVo<>(originPageData.getRecords(), originPageData.getTotal());
return new CsPageResult<>(originPageData.getRecords(), originPageData.getTotal());
}
/**
@@ -208,24 +208,24 @@ public class CsMpServiceImpl<M extends CsMpMapper<T>, T> extends ServiceImpl<M,
* @param pageable 分页参数
* @param targetClazz 目标类型
*/
public <G> CsPageResultVo<List<G>> queryFeatureClazzPageByArgs(LambdaQueryWrapper<T> wrapper, IPage<T> pageable, Class<G> targetClazz) {
public <G> CsPageResult<G> queryFeatureClazzPageByArgs(LambdaQueryWrapper<T> wrapper, IPage<T> pageable, Class<G> targetClazz) {
if (wrapper == null) {
wrapper = new LambdaQueryWrapper<>();
}
IPage<T> originPageData = baseMapper.selectPage(pageable, wrapper);
return new CsPageResultVo<>(BeanUtil.copyToList(originPageData.getRecords(), targetClazz), originPageData.getTotal());
return new CsPageResult<>(BeanUtil.copyToList(originPageData.getRecords(), targetClazz), originPageData.getTotal());
}
public <G, Q> CsPageResultVo<List<G>> queryFeatureClazzPageByArgs(Q criteria, IPage<T> pageable, Class<G> targetClazz) {
public <G, Q> CsPageResult<G> queryFeatureClazzPageByArgs(Q criteria, IPage<T> pageable, Class<G> targetClazz) {
QueryWrapper<T> wrapper = CsMpQUtil.build(criteria);
IPage<T> originPageData = baseMapper.selectPage(pageable, wrapper);
return new CsPageResultVo<>(BeanUtil.copyToList(originPageData.getRecords(), targetClazz), originPageData.getTotal());
return new CsPageResult<>(BeanUtil.copyToList(originPageData.getRecords(), targetClazz), originPageData.getTotal());
}
public <Q> CsPageResultVo<List<T>> queryClazzPageByArgs(Q criteria, IPage<T> pageable) {
public <Q> CsPageResult<T> queryClazzPageByArgs(Q criteria, IPage<T> pageable) {
QueryWrapper<T> wrapper = CsMpQUtil.build(criteria);
IPage<T> originPageData = baseMapper.selectPage(pageable, wrapper);
return new CsPageResultVo<>(originPageData.getRecords(), originPageData.getTotal());
return new CsPageResult<>(originPageData.getRecords(), originPageData.getTotal());
}
/**
@@ -46,7 +46,7 @@ public class AsyncTheadPoolConfig implements AsyncConfigurer {
public Executor getAsyncExecutor() {
ThreadPoolSettingModel asyncTaskPool = properties.getAsyncTaskPool();
// 自定义工厂
ThreadFactory factory = r -> new Thread(r, "default-async-" + new AtomicInteger(1).getAndIncrement());
ThreadFactory factory = r -> new Thread(r, "DefaultAsync-" + new AtomicInteger(1).getAndIncrement());
// 自定义线程池
return new ThreadPoolExecutor(asyncTaskPool.getCorePoolSize(), asyncTaskPool.getMaxPoolSize(), asyncTaskPool.getKeepAliveSeconds(), TimeUnit.SECONDS,
new ArrayBlockingQueue<>(asyncTaskPool.getQueueCapacity()), factory, new ThreadPoolExecutor.CallerRunsPolicy());
@@ -63,7 +63,7 @@ public class AsyncTheadPoolConfig implements AsyncConfigurer {
executor.setCorePoolSize(asyncTaskPool.getCorePoolSize());
executor.setMaxPoolSize(asyncTaskPool.getMaxPoolSize());
executor.setQueueCapacity(asyncTaskPool.getQueueCapacity());
executor.setThreadNamePrefix("task-async-");
executor.setThreadNamePrefix("TaskAsync-");
executor.setKeepAliveSeconds(asyncTaskPool.getKeepAliveSeconds());
// DiscardOldestPolicy,抛弃最早的任务,将新任务加入队列。
// AbortPolicy,拒绝执行新任务,并抛出异常。
@@ -75,4 +75,20 @@ public class AsyncTheadPoolConfig implements AsyncConfigurer {
executor.initialize();
return executor;
}
@Bean("longTimeTaskAsync")
public ThreadPoolTaskExecutor longTimeTaskAsync() {
ThreadPoolSettingModel asyncTaskPool = properties.getAsyncTaskPool();
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(asyncTaskPool.getCorePoolSize());
executor.setMaxPoolSize(asyncTaskPool.getMaxPoolSize());
executor.setQueueCapacity(asyncTaskPool.getQueueCapacity());
executor.setThreadNamePrefix("LongTimeTaskAsync-");
executor.setKeepAliveSeconds(asyncTaskPool.getKeepAliveSeconds());
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.AbortPolicy());
// 设置包装器
executor.setTaskDecorator(TtlRunnable::get);
executor.initialize();
return executor;
}
}
@@ -20,7 +20,7 @@ import cn.odboy.framework.server.converters.DateStringToDateConverter;
import com.alibaba.fastjson2.JSONWriter;
import com.alibaba.fastjson2.support.config.FastJsonConfig;
import com.alibaba.fastjson2.support.spring.http.converter.FastJsonHttpMessageConverter;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.format.FormatterRegistry;
@@ -46,11 +46,13 @@ import java.util.List;
*/
@Configuration
@EnableWebMvc
@RequiredArgsConstructor
public class ConfigurerAdapter implements WebMvcConfigurer {
private final DateStringArraysToListDateConverter dateStringArraysToListDateConverter;
private final DateStringToDateConverter dateStringToDateConverter;
private final CsFileLocalUploadHelper fileUploadPathHelper;
@Autowired
private DateStringArraysToListDateConverter dateStringArraysToListDateConverter;
@Autowired
private DateStringToDateConverter dateStringToDateConverter;
@Autowired
private CsFileLocalUploadHelper fileUploadPathHelper;
@Bean
public CorsFilter corsFilter() {
@@ -15,7 +15,7 @@
*/
package cn.odboy.util;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -52,36 +52,36 @@ public final class CsPageUtil extends cn.hutool.core.util.PageUtil {
/**
* Page 数据处理
*/
public static <T> CsPageResultVo<List<T>> toPage(IPage<T> page) {
return new CsPageResultVo<>(page.getRecords(), page.getTotal());
public static <T> CsPageResult<T> toPage(IPage<T> page) {
return new CsPageResult<>(page.getRecords(), page.getTotal());
}
/**
* 自定义分页
*/
public static <T> CsPageResultVo<List<T>> toPage(List<T> list) {
return new CsPageResultVo<>(list, list.size());
public static <T> CsPageResult<T> toPage(List<T> list) {
return new CsPageResult<>(list, list.size());
}
/**
* 返回空数据
*/
public static <T> CsPageResultVo<List<T>> emptyListData() {
return new CsPageResultVo<>(new ArrayList<>(), 0);
public static <T> CsPageResult<T> emptyListData() {
return new CsPageResult<>(new ArrayList<>(), 0);
}
/**
* 返回空数据
*/
public static <T> CsPageResultVo<T> emptyData() {
return new CsPageResultVo<>(null, 0);
public static <T> CsPageResult<T> emptyData() {
return new CsPageResult<>(null, 0);
}
/**
* 自定义分页
*/
public static <T> CsPageResultVo<List<T>> toPage(List<T> list, long totalElements) {
return new CsPageResultVo<>(list, totalElements);
public static <T> CsPageResult<T> toPage(List<T> list, long totalElements) {
return new CsPageResult<>(list, totalElements);
}
public static <T> Page<T> getCount(BaseMapper<T> baseMapper) {
@@ -0,0 +1,56 @@
package cn.odboy.util;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.reflect.MethodSignature;
import java.lang.reflect.Method;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Set;
/**
* 返回值处理 工具
*
* @author odboy
* @date 2025-05-08
*/
public class CsReturnValueHandleUtil {
public static Object getDefaultValue(ProceedingJoinPoint joinPoint) {
MethodSignature signature = (MethodSignature)joinPoint.getSignature();
Method method = signature.getMethod();
// 获取目标方法的返回值类型
Class<?> returnType = method.getReturnType();
if (returnType.isArray()) {
return getEmptyArray(returnType);
} else if (List.class.isAssignableFrom(returnType)) {
return Collections.emptyList();
} else if (Set.class.isAssignableFrom(returnType)) {
return Collections.emptySet();
} else if (Collection.class.isAssignableFrom(returnType)) {
// 默认返回空 List
return Collections.emptyList();
} else {
// 普通对象返回 null
return null;
}
}
/**
* 根据数组类型返回空数组
*/
private static Object getEmptyArray(Class<?> arrayType) {
if (arrayType == int[].class) {
return new int[0];
} else if (arrayType == long[].class) {
return new long[0];
} else if (arrayType == double[].class) {
return new double[0];
} else if (arrayType == String[].class) {
return new String[0];
} else {
// 其他引用类型数组
return java.lang.reflect.Array.newInstance(arrayType.getComponentType(), 0);
}
}
}
@@ -25,7 +25,6 @@ import cn.odboy.devops.service.core.PipelineInstanceService;
import cn.odboy.devops.service.core.PipelineTemplateService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
@@ -38,7 +37,6 @@ import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/devops/pipelineInstance")
@Api(tags = "DevOps:流水线实例管理")
public class DevopsPipelineInstanceController {
@@ -19,7 +19,6 @@ import cn.odboy.base.CsArgs;
import cn.odboy.devops.service.core.PipelineTemplateService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
@@ -32,7 +31,6 @@ import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/devops/pipelineTemplate")
@Api(tags = "DevOps:流水线模板管理")
public class DevopsPipelineTemplateController {
@@ -15,16 +15,16 @@
*/
package cn.odboy.devops.dal.redis;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceTb;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.framework.redis.CsRedisHelper;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
@RequiredArgsConstructor
public class PipelineInstanceDAO {
private final CsRedisHelper redisHelper;
@Autowired
private CsRedisHelper redisHelper;
/**
* 全局锁,对应上下文,只能有一次
@@ -15,8 +15,8 @@
*/
package cn.odboy.devops.framework.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineStatusEnum;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.constant.PipelineStatusEnum;
import cn.odboy.devops.service.core.PipelineInstanceNodeDetailService;
import cn.odboy.devops.service.core.PipelineInstanceNodeService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -17,12 +17,12 @@ package cn.odboy.devops.framework.pipeline.core;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.StrUtil;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.constant.PipelineStatusEnum;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.dal.dataobject.PipelineInstanceTb;
import cn.odboy.devops.dal.mysql.PipelineInstanceMapper;
import cn.odboy.devops.dal.redis.PipelineInstanceDAO;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.constant.PipelineStatusEnum;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.core.PipelineInstanceNodeService;
import cn.odboy.framework.context.CsSpringBeanHolder;
@@ -16,8 +16,8 @@
package cn.odboy.devops.framework.pipeline.core;
import cn.hutool.core.util.IdUtil;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceTb;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.framework.exception.BadRequestException;
import lombok.extern.slf4j.Slf4j;
import org.quartz.*;
@@ -15,8 +15,8 @@
*/
package cn.odboy.devops.framework.pipeline.core;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceTb;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.framework.exception.BadRequestException;
import lombok.extern.slf4j.Slf4j;
@@ -15,9 +15,9 @@
*/
package cn.odboy.devops.framework.pipeline.log;
import cn.odboy.devops.framework.pipeline.constant.PipelineStatusEnum;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineStatusEnum;
import cn.odboy.framework.exception.BadRequestException;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
@@ -15,9 +15,9 @@
*/
package cn.odboy.devops.service.core;
import cn.odboy.devops.framework.pipeline.constant.PipelineStatusEnum;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeDetailTb;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.constant.PipelineStatusEnum;
import com.anwen.mongo.service.IService;
import java.util.Date;
@@ -15,9 +15,9 @@
*/
package cn.odboy.devops.service.core;
import cn.odboy.devops.framework.pipeline.constant.PipelineStatusEnum;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.dal.dataobject.PipelineInstanceTb;
import cn.odboy.devops.framework.pipeline.constant.PipelineStatusEnum;
import com.anwen.mongo.service.IService;
import java.util.Date;
@@ -18,7 +18,7 @@ package cn.odboy.devops.service.core;
import cn.odboy.devops.dal.dataobject.PipelineTemplateTb;
import cn.odboy.devops.dal.mysql.PipelineTemplateMapper;
import cn.odboy.framework.exception.BadRequestException;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
@@ -30,9 +30,9 @@ import org.springframework.stereotype.Service;
* @since 2025-06-26
*/
@Service
@RequiredArgsConstructor
public class PipelineTemplateService {
private final PipelineTemplateMapper pipelineTemplateMapper;
@Autowired
private PipelineTemplateMapper pipelineTemplateMapper;
public PipelineTemplateTb getPipelineTemplateById(Long id) {
PipelineTemplateTb pipelineTemplateTb = pipelineTemplateMapper.selectById(id);
@@ -16,9 +16,9 @@
package cn.odboy.devops.service.core.impl;
import cn.hutool.core.collection.CollUtil;
import cn.odboy.devops.framework.pipeline.constant.PipelineStatusEnum;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeDetailTb;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.constant.PipelineStatusEnum;
import cn.odboy.devops.service.core.PipelineInstanceNodeDetailService;
import com.anwen.mongo.conditions.query.LambdaQueryChainWrapper;
import com.anwen.mongo.conditions.update.LambdaUpdateChainWrapper;
@@ -16,17 +16,17 @@
package cn.odboy.devops.service.core.impl;
import cn.hutool.core.collection.CollUtil;
import cn.odboy.devops.framework.pipeline.constant.PipelineStatusEnum;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.dal.dataobject.PipelineInstanceTb;
import cn.odboy.devops.framework.pipeline.constant.PipelineStatusEnum;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.core.PipelineInstanceNodeDetailService;
import cn.odboy.devops.service.core.PipelineInstanceNodeService;
import com.alibaba.fastjson2.JSON;
import com.anwen.mongo.conditions.query.LambdaQueryChainWrapper;
import com.anwen.mongo.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
@@ -36,9 +36,9 @@ import java.util.stream.Collectors;
@Slf4j
@Service
@RequiredArgsConstructor
public class PipelineInstanceNodeServiceImpl extends ServiceImpl<PipelineInstanceNodeTb> implements PipelineInstanceNodeService {
private final PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService;
@Autowired
private PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService;
@Override
public void createPipelineInstanceDetail(PipelineInstanceTb pipelineInstanceTb) {
@@ -18,8 +18,6 @@ package cn.odboy.devops.service.core.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.StrUtil;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.constant.PipelineStatusEnum;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeDetailTb;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.dal.dataobject.PipelineInstanceTb;
@@ -27,6 +25,8 @@ import cn.odboy.devops.dal.model.RestartPipelineArgs;
import cn.odboy.devops.dal.model.StartPipelineResultVo;
import cn.odboy.devops.dal.mysql.PipelineInstanceMapper;
import cn.odboy.devops.dal.redis.PipelineInstanceDAO;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.constant.PipelineStatusEnum;
import cn.odboy.devops.framework.pipeline.core.PipelineJobManage;
import cn.odboy.devops.framework.pipeline.model.PipelineInstanceNodeVo;
import cn.odboy.devops.framework.pipeline.model.PipelineInstanceVo;
@@ -40,8 +40,8 @@ import cn.odboy.framework.websocket.context.CsWsServer;
import cn.odboy.framework.websocket.model.WsSidVo;
import cn.odboy.framework.websocket.util.WsMessageUtil;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
@@ -49,13 +49,17 @@ import java.util.List;
@Slf4j
@Service
@RequiredArgsConstructor
public class PipelineInstanceServiceImpl implements PipelineInstanceService {
private final PipelineJobManage pipelineJobManage;
private final PipelineInstanceMapper pipelineInstanceMapper;
private final PipelineInstanceDAO pipelineInstanceDAO;
private final PipelineInstanceNodeService pipelineInstanceNodeService;
private final PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService;
@Autowired
private PipelineJobManage pipelineJobManage;
@Autowired
private PipelineInstanceMapper pipelineInstanceMapper;
@Autowired
private PipelineInstanceDAO pipelineInstanceDAO;
@Autowired
private PipelineInstanceNodeService pipelineInstanceNodeService;
@Autowired
private PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService;
@Override
public StartPipelineResultVo startPipeline(PipelineInstanceTb pipelineInstanceTb) {
@@ -15,17 +15,17 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -36,10 +36,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_sign_android_apk")
public class PipelineNodeApkSignAndroidService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Autowired
private PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,17 +15,17 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -36,10 +36,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_approve_cplus")
public class PipelineNodeApproveCPlusService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Autowired
private PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,17 +15,17 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -36,10 +36,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_approve_deploy")
public class PipelineNodeApproveDeployService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Autowired
private PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,17 +15,17 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -36,10 +36,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_approve_test_android")
public class PipelineNodeApproveTestAndroidService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Autowired
private PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,17 +15,17 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -36,10 +36,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_build_android")
public class PipelineNodeBuildAndroidService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Autowired
private PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,17 +15,17 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -36,10 +36,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_build_cplus")
public class PipelineNodeBuildCPlusService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Autowired
private PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,17 +15,17 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -36,10 +36,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_build_ios")
public class PipelineNodeBuildIOSService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Autowired
private PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,17 +15,17 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeBuildJavaBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -36,10 +36,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_build_java")
public class PipelineNodeBuildJavaService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeBuildJavaBiz pipelineNodeBuildJavaBiz;
@Autowired
private PipelineNodeBuildJavaBiz pipelineNodeBuildJavaBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,17 +15,17 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -36,10 +36,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_build_node")
public class PipelineNodeBuildNodeService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Autowired
private PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,17 +15,17 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -36,10 +36,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_build_npm")
public class PipelineNodeBuildNpmService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Autowired
private PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,17 +15,17 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -36,10 +36,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_build_python")
public class PipelineNodeBuildPythonService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Autowired
private PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,17 +15,17 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -36,10 +36,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_build")
public class PipelineNodeBuildService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Autowired
private PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,17 +15,17 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -36,10 +36,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_check_flutter_version")
public class PipelineNodeCheckFlutterVersionService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Autowired
private PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,9 +15,9 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
@@ -25,8 +25,8 @@ import cn.odboy.devops.service.core.PipelineTemplateService;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -37,11 +37,12 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_deploy_api")
public class PipelineNodeDeployApiService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
private final PipelineTemplateService pipelineTemplateService;
@Autowired
private PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Autowired
private PipelineTemplateService pipelineTemplateService;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,10 +15,10 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.dal.dataobject.PipelineTemplateTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
@@ -26,8 +26,8 @@ import cn.odboy.devops.service.core.PipelineTemplateService;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDeployJavaBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -38,11 +38,12 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_deploy_java")
public class PipelineNodeDeployJavaService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDeployJavaBiz pipelineNodeDeployJavaBiz;
private final PipelineTemplateService pipelineTemplateService;
@Autowired
private PipelineNodeDeployJavaBiz pipelineNodeDeployJavaBiz;
@Autowired
private PipelineTemplateService pipelineTemplateService;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,17 +15,17 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -36,10 +36,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_deploy_node")
public class PipelineNodeDeployNodeService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Autowired
private PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,10 +15,10 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.dal.dataobject.PipelineTemplateTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
@@ -26,8 +26,8 @@ import cn.odboy.devops.service.core.PipelineTemplateService;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDeployJavaBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -38,11 +38,12 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_deploy_python")
public class PipelineNodeDeployPythonService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDeployJavaBiz pipelineNodeDeployJavaBiz;
private final PipelineTemplateService pipelineTemplateService;
@Autowired
private PipelineNodeDeployJavaBiz pipelineNodeDeployJavaBiz;
@Autowired
private PipelineTemplateService pipelineTemplateService;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,17 +15,17 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -36,10 +36,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_http_get_plugin")
public class PipelineNodeHttpGetPluginService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Autowired
private PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,17 +15,17 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -36,10 +36,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_http_post_plugin")
public class PipelineNodeHttpPostPluginService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Autowired
private PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,17 +15,17 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -36,10 +36,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_image_scan")
public class PipelineNodeImageScanService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Autowired
private PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,18 +15,18 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeInitBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -39,9 +39,9 @@ import java.util.List;
*/
@Slf4j
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_init")
@RequiredArgsConstructor
public class PipelineNodeInitService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeInitBiz pipelineNodeInitBiz;
@Autowired
private PipelineNodeInitBiz pipelineNodeInitBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,16 +15,16 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeMergeBranchBiz;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -35,10 +35,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_merge_branch")
public class PipelineNodeMergeBranchService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeMergeBranchBiz pipelineNodeMergeBranchBiz;
@Autowired
private PipelineNodeMergeBranchBiz pipelineNodeMergeBranchBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws Exception {
@@ -15,17 +15,17 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -36,10 +36,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_merge_confirm")
public class PipelineNodeMergeConfirmService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Autowired
private PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,17 +15,17 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -36,10 +36,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_merge_master")
public class PipelineNodeMergeMasterService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Autowired
private PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,17 +15,17 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -36,10 +36,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_reinforce_android_apk")
public class PipelineNodeReinforceAndroidApkService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Autowired
private PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -15,17 +15,17 @@
*/
package cn.odboy.devops.service.pipeline;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
import cn.odboy.devops.framework.pipeline.constant.PipelineConst;
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
import cn.odboy.framework.exception.BadRequestException;
import com.alibaba.fastjson2.JSON;
import lombok.RequiredArgsConstructor;
import org.quartz.JobDataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -36,10 +36,10 @@ import java.util.List;
* @author odboy
* @date 2025-07-24
*/
@RequiredArgsConstructor
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_upload_android_apk")
public class PipelineNodeUploadAndroidApkService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Autowired
private PipelineNodeDemoBiz pipelineNodeDemoBiz;
@Override
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
@@ -21,8 +21,8 @@ import cn.odboy.util.CsStringUtil;
import com.wf.captcha.base.Captcha;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
@@ -46,15 +46,20 @@ import java.util.concurrent.TimeUnit;
@Slf4j
@RestController
@RequestMapping("/auth")
@RequiredArgsConstructor
@Api(tags = "系统:系统授权接口")
public class SystemAuthController {
private final CsRedisHelper redisHelper;
private final SystemUserOnlineInfoDAO onlineUserService;
private final TokenProvider tokenProvider;
private final AppProperties properties;
private final PasswordEncoder passwordEncoder;
private final UserDetailsHandler userDetailsService;
@Autowired
private CsRedisHelper redisHelper;
@Autowired
private SystemUserOnlineInfoDAO onlineUserService;
@Autowired
private TokenProvider tokenProvider;
@Autowired
private AppProperties properties;
@Autowired
private PasswordEncoder passwordEncoder;
@Autowired
private UserDetailsHandler userDetailsService;
@ApiOperation("登录授权")
@AnonymousPostMapping(value = "/login")
@@ -5,18 +5,18 @@ import cn.odboy.system.dal.model.SystemCheckEmailCaptchaArgs;
import cn.odboy.system.service.SystemEmailService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/captcha")
@Api(tags = "系统:验证码管理")
public class SystemCaptchaController {
private final SystemEmailService systemEmailService;
@Autowired
private SystemEmailService systemEmailService;
@ApiOperation("重置邮箱, 发送验证码")
@PostMapping(value = "/sendResetEmailCaptcha")
@@ -3,7 +3,7 @@ package cn.odboy.system.controller;
import cn.odboy.system.service.SystemDeptService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -12,11 +12,11 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequiredArgsConstructor
@Api(tags = "系统:组件数据源")
@RequestMapping("/api/component")
public class SystemComponentController {
private final SystemDeptService systemDeptService;
@Autowired
private SystemDeptService systemDeptService;
@ApiOperation("查询部门下拉选择数据源")
@PostMapping(value = "/queryDeptSelectDataSource")
@@ -1,7 +1,7 @@
package cn.odboy.system.controller;
import cn.odboy.base.CsPageArgs;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.system.dal.dataobject.SystemDeptTb;
import cn.odboy.system.dal.model.SystemCreateDeptArgs;
import cn.odboy.system.dal.model.SystemQueryDeptArgs;
@@ -9,7 +9,7 @@ import cn.odboy.system.service.SystemDeptService;
import cn.odboy.util.CsPageUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -24,11 +24,11 @@ import java.util.Set;
import java.util.stream.Collectors;
@RestController
@RequiredArgsConstructor
@Api(tags = "系统:部门管理")
@RequestMapping("/api/dept")
public class SystemDeptController {
private final SystemDeptService systemDeptService;
@Autowired
private SystemDeptService systemDeptService;
@ApiOperation("导出部门数据")
@GetMapping(value = "/download")
@@ -40,7 +40,7 @@ public class SystemDeptController {
@ApiOperation("查询部门")
@PostMapping
@PreAuthorize("@el.check('user:list','dept:list')")
public ResponseEntity<CsPageResultVo<List<SystemDeptTb>>> queryDept(@Validated @RequestBody CsPageArgs<SystemQueryDeptArgs> args) throws Exception {
public ResponseEntity<CsPageResult<SystemDeptTb>> queryDept(@Validated @RequestBody CsPageArgs<SystemQueryDeptArgs> args) throws Exception {
SystemQueryDeptArgs criteria = args.getArgs();
List<SystemDeptTb> depts = systemDeptService.queryAllDept(criteria, true);
return new ResponseEntity<>(CsPageUtil.toPage(depts), HttpStatus.OK);
@@ -49,7 +49,7 @@ public class SystemDeptController {
@ApiOperation("查询部门:根据ID获取同级与上级数据")
@PostMapping("/queryDeptSuperiorTree")
@PreAuthorize("@el.check('user:list','dept:list')")
public ResponseEntity<CsPageResultVo<Set<SystemDeptTb>>> queryDeptSuperiorTree(@RequestBody List<Long> ids,
public ResponseEntity<CsPageResult<SystemDeptTb>> queryDeptSuperiorTree(@RequestBody List<Long> ids,
@RequestParam(defaultValue = "false") Boolean exclude) {
Set<SystemDeptTb> deptSet = new LinkedHashSet<>();
for (Long id : ids) {
@@ -1,7 +1,7 @@
package cn.odboy.system.controller;
import cn.odboy.base.CsPageArgs;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.system.dal.dataobject.SystemDictTb;
import cn.odboy.system.dal.model.SystemCreateDictArgs;
import cn.odboy.system.dal.model.SystemQueryDictArgs;
@@ -9,7 +9,7 @@ import cn.odboy.system.service.SystemDictService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -22,11 +22,11 @@ import java.util.List;
import java.util.Set;
@RestController
@RequiredArgsConstructor
@Api(tags = "系统:字典管理")
@RequestMapping("/api/dict")
public class SystemDictController {
private final SystemDictService systemDictService;
@Autowired
private SystemDictService systemDictService;
@ApiOperation("导出字典数据")
@GetMapping(value = "/download")
@@ -45,7 +45,7 @@ public class SystemDictController {
@ApiOperation("查询字典")
@PostMapping
@PreAuthorize("@el.check('dict:list')")
public ResponseEntity<CsPageResultVo<List<SystemDictTb>>> queryDictByArgs(@Validated @RequestBody CsPageArgs<SystemQueryDictArgs> args) {
public ResponseEntity<CsPageResult<SystemDictTb>> queryDictByArgs(@Validated @RequestBody CsPageArgs<SystemQueryDictArgs> args) {
Page<SystemDictTb> page;
SystemQueryDictArgs criteria = args.getArgs();
if (args.getSize() != null) {
@@ -1,7 +1,7 @@
package cn.odboy.system.controller;
import cn.odboy.base.CsPageArgs;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.system.dal.dataobject.SystemDictDetailTb;
import cn.odboy.system.dal.model.SystemCreateDictDetailArgs;
import cn.odboy.system.dal.model.SystemQueryDictDetailArgs;
@@ -9,7 +9,7 @@ import cn.odboy.system.service.SystemDictDetailService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -21,21 +21,21 @@ import java.util.List;
import java.util.Map;
@RestController
@RequiredArgsConstructor
@Api(tags = "系统:字典详情管理")
@RequestMapping("/api/dictDetail")
public class SystemDictDetailController {
private final SystemDictDetailService systemDictDetailService;
@Autowired
private SystemDictDetailService systemDictDetailService;
@ApiOperation("查询字典详情")
@PostMapping
public ResponseEntity<CsPageResultVo<List<SystemDictDetailTb>>> queryDictDetailByCrud(@Validated @RequestBody CsPageArgs<SystemQueryDictDetailArgs> args) {
public ResponseEntity<CsPageResult<SystemDictDetailTb>> queryDictDetailByCrud(@Validated @RequestBody CsPageArgs<SystemQueryDictDetailArgs> args) {
return queryDictDetailByArgs(args);
}
@ApiOperation("查询字典详情")
@PostMapping(value = "/queryDictDetailByArgs")
public ResponseEntity<CsPageResultVo<List<SystemDictDetailTb>>> queryDictDetailByArgs(@Validated @RequestBody CsPageArgs<SystemQueryDictDetailArgs> args) {
public ResponseEntity<CsPageResult<SystemDictDetailTb>> queryDictDetailByArgs(@Validated @RequestBody CsPageArgs<SystemQueryDictDetailArgs> args) {
SystemQueryDictDetailArgs criteria = args.getArgs();
Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
return new ResponseEntity<>(systemDictDetailService.queryDictDetailByArgs(criteria, page), HttpStatus.OK);
@@ -5,7 +5,7 @@ import cn.odboy.system.dal.model.SystemSendEmailArgs;
import cn.odboy.system.service.SystemEmailService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
@@ -18,11 +18,11 @@ import org.springframework.web.bind.annotation.RestController;
* 发送邮件
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("api/email")
@Api(tags = "工具:邮件管理")
public class SystemEmailController {
private final SystemEmailService systemEmailService;
@Autowired
private SystemEmailService systemEmailService;
@ApiOperation("查询配置")
@PostMapping(value = "/getLastEmailConfig")
@@ -1,7 +1,7 @@
package cn.odboy.system.controller;
import cn.odboy.base.CsPageArgs;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.system.dal.dataobject.SystemJobTb;
import cn.odboy.system.dal.model.SystemCreateJobArgs;
import cn.odboy.system.dal.model.SystemQueryJobArgs;
@@ -9,7 +9,7 @@ import cn.odboy.system.service.SystemJobService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -18,15 +18,14 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Set;
@RestController
@RequiredArgsConstructor
@Api(tags = "系统:岗位管理")
@RequestMapping("/api/job")
public class SystemJobController {
private final SystemJobService systemJobService;
@Autowired
private SystemJobService systemJobService;
@ApiOperation("导出岗位数据")
@GetMapping(value = "/download")
@@ -38,7 +37,7 @@ public class SystemJobController {
@ApiOperation("查询岗位")
@PostMapping(value = "/queryAllEnableJob")
@PreAuthorize("@el.check('job:list','user:list')")
public ResponseEntity<CsPageResultVo<List<SystemJobTb>>> queryJobByArgs(@Validated @RequestBody CsPageArgs<SystemQueryJobArgs> args) {
public ResponseEntity<CsPageResult<SystemJobTb>> queryJobByArgs(@Validated @RequestBody CsPageArgs<SystemQueryJobArgs> args) {
SystemQueryJobArgs criteria = args.getArgs();
Page<SystemJobTb> page = new Page<>(criteria.getPage(), criteria.getSize());
return new ResponseEntity<>(systemJobService.queryJobByArgs(criteria, page), HttpStatus.OK);
@@ -47,7 +46,7 @@ public class SystemJobController {
@ApiOperation("查询岗位")
@PostMapping
@PreAuthorize("@el.check('job:list','user:list')")
public ResponseEntity<CsPageResultVo<List<SystemJobTb>>> queryJobByCrud(@Validated @RequestBody CsPageArgs<SystemQueryJobArgs> args) {
public ResponseEntity<CsPageResult<SystemJobTb>> queryJobByCrud(@Validated @RequestBody CsPageArgs<SystemQueryJobArgs> args) {
return queryJobByArgs(args);
}
@@ -1,7 +1,7 @@
package cn.odboy.system.controller;
import cn.odboy.base.CsPageArgs;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.constant.FileTypeEnum;
import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.system.dal.dataobject.SystemLocalStorageTb;
@@ -11,7 +11,7 @@ import cn.odboy.util.CsFileUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -21,19 +21,18 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
@RestController
@RequiredArgsConstructor
@Api(tags = "工具:本地存储管理")
@RequestMapping("/api/localStorage")
public class SystemLocalStorageController {
private final SystemLocalStorageService localStorageService;
@Autowired
private SystemLocalStorageService localStorageService;
@ApiOperation("查询文件")
@PostMapping
@PreAuthorize("@el.check('storage:list')")
public ResponseEntity<CsPageResultVo<List<SystemLocalStorageTb>>> queryLocalStorage(@Validated @RequestBody CsPageArgs<SystemQueryStorageArgs> args) {
public ResponseEntity<CsPageResult<SystemLocalStorageTb>> queryLocalStorage(@Validated @RequestBody CsPageArgs<SystemQueryStorageArgs> args) {
SystemQueryStorageArgs criteria = args.getArgs();
Page<SystemLocalStorageTb> page = new Page<>(criteria.getPage(), criteria.getSize());
return new ResponseEntity<>(localStorageService.queryLocalStorage(criteria, page), HttpStatus.OK);
@@ -2,7 +2,7 @@ package cn.odboy.system.controller;
import cn.hutool.core.collection.CollectionUtil;
import cn.odboy.base.CsPageArgs;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.system.dal.dataobject.SystemMenuTb;
import cn.odboy.system.dal.model.SystemMenuVo;
@@ -12,7 +12,7 @@ import cn.odboy.system.service.SystemMenuService;
import cn.odboy.util.CsPageUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -24,11 +24,11 @@ import java.util.*;
import java.util.stream.Collectors;
@RestController
@RequiredArgsConstructor
@Api(tags = "系统:菜单管理")
@RequestMapping("/api/menu")
public class SystemMenuController {
private final SystemMenuService systemMenuService;
@Autowired
private SystemMenuService systemMenuService;
@ApiOperation("导出菜单数据")
@GetMapping(value = "/download")
@@ -67,14 +67,14 @@ public class SystemMenuController {
@PostMapping
@ApiOperation("查询菜单")
@PreAuthorize("@el.check('menu:list')")
public ResponseEntity<CsPageResultVo<List<SystemMenuTb>>> queryAllMenuByCrud(@Validated @RequestBody CsPageArgs<SystemQueryMenuArgs> args) throws Exception {
public ResponseEntity<CsPageResult<SystemMenuTb>> queryAllMenuByCrud(@Validated @RequestBody CsPageArgs<SystemQueryMenuArgs> args) throws Exception {
return queryAllMenu(args);
}
@PostMapping(value = "/queryMenuByArgs")
@ApiOperation("查询菜单")
@PreAuthorize("@el.check('menu:list')")
public ResponseEntity<CsPageResultVo<List<SystemMenuTb>>> queryAllMenu(@Validated @RequestBody CsPageArgs<SystemQueryMenuArgs> args) throws Exception {
public ResponseEntity<CsPageResult<SystemMenuTb>> queryAllMenu(@Validated @RequestBody CsPageArgs<SystemQueryMenuArgs> args) throws Exception {
SystemQueryMenuArgs criteria = args.getArgs();
List<SystemMenuTb> menuList = systemMenuService.queryAllMenu(criteria, true);
return new ResponseEntity<>(CsPageUtil.toPage(menuList), HttpStatus.OK);
@@ -3,7 +3,7 @@ package cn.odboy.system.controller;
import cn.odboy.system.service.SystemMonitorService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -14,11 +14,11 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
@RestController
@RequiredArgsConstructor
@Api(tags = "系统-服务监控管理")
@RequestMapping("/api/monitor")
public class SystemMonitorController {
private final SystemMonitorService systemMonitorService;
@Autowired
private SystemMonitorService systemMonitorService;
@PostMapping(value = "/queryServerMonitorInfo")
@ApiOperation("查询服务监控")
@@ -1,7 +1,7 @@
package cn.odboy.system.controller;
import cn.odboy.base.CsPageArgs;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.system.dal.model.SystemUserOnlineVo;
import cn.odboy.system.dal.redis.SystemUserOnlineInfoDAO;
import cn.odboy.util.CsDesEncryptUtil;
@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -18,20 +18,19 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Set;
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/user/online")
@Api(tags = "系统:在线用户管理")
public class SystemOnlineController {
private final SystemUserOnlineInfoDAO systemUserOnlineInfoDAO;
@Autowired
private SystemUserOnlineInfoDAO systemUserOnlineInfoDAO;
@ApiOperation("查询在线用户")
@PostMapping
@PreAuthorize("@el.check()")
public ResponseEntity<CsPageResultVo<List<SystemUserOnlineVo>>> queryOnlineUser(@Validated @RequestBody CsPageArgs<SystemUserOnlineVo> args) {
public ResponseEntity<CsPageResult<SystemUserOnlineVo>> queryOnlineUser(@Validated @RequestBody CsPageArgs<SystemUserOnlineVo> args) {
IPage<SystemUserOnlineVo> page = new Page<>(args.getPage(), args.getSize());
return new ResponseEntity<>(systemUserOnlineInfoDAO.queryUserOnlineModelPage(args.getArgs(), page), HttpStatus.OK);
}
@@ -1,7 +1,7 @@
package cn.odboy.system.controller;
import cn.odboy.base.CsPageArgs;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.system.dal.dataobject.SystemOssStorageTb;
import cn.odboy.system.dal.model.SystemOssStorageVo;
import cn.odboy.system.dal.model.SystemQueryStorageArgs;
@@ -9,8 +9,8 @@ import cn.odboy.system.service.SystemOssStorageService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -20,20 +20,19 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
@Slf4j
@RestController
@RequiredArgsConstructor
@Api(tags = "工具:OSS存储管理")
@RequestMapping("/api/ossStorage")
public class SystemOssStorageController {
private final SystemOssStorageService systemOssStorageService;
@Autowired
private SystemOssStorageService systemOssStorageService;
@ApiOperation("查询文件")
@PostMapping
@PreAuthorize("@el.check('storage:list')")
public ResponseEntity<CsPageResultVo<List<SystemOssStorageVo>>> queryOssStorage(@Validated @RequestBody CsPageArgs<SystemQueryStorageArgs> args) {
public ResponseEntity<CsPageResult<SystemOssStorageVo>> queryOssStorage(@Validated @RequestBody CsPageArgs<SystemQueryStorageArgs> args) {
SystemQueryStorageArgs criteria = args.getArgs();
Page<SystemOssStorageTb> page = new Page<>(criteria.getPage(), criteria.getSize());
return new ResponseEntity<>(systemOssStorageService.queryOssStorage(criteria, page), HttpStatus.OK);
@@ -1,7 +1,7 @@
package cn.odboy.system.controller;
import cn.odboy.base.CsPageArgs;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.framework.context.CsSpringBeanHolder;
import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.system.dal.dataobject.SystemQuartzJobTb;
@@ -12,8 +12,8 @@ import cn.odboy.system.service.SystemQuartzJobService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -22,21 +22,20 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Set;
@Slf4j
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/quartzJob")
@Api(tags = "系统:定时任务管理")
public class SystemQuartzJobController {
private final SystemQuartzJobService systemQuartzJobService;
@Autowired
private SystemQuartzJobService systemQuartzJobService;
@ApiOperation("查询定时任务")
@PostMapping
@PreAuthorize("@el.check('quartzJob:list')")
public ResponseEntity<CsPageResultVo<List<SystemQuartzJobTb>>> queryQuartzJobByCrud(@Validated @RequestBody CsPageArgs<SystemQueryQuartzJobArgs> args) {
public ResponseEntity<CsPageResult<SystemQuartzJobTb>> queryQuartzJobByCrud(@Validated @RequestBody CsPageArgs<SystemQueryQuartzJobArgs> args) {
SystemQueryQuartzJobArgs criteria = args.getArgs();
Page<SystemQuartzJobTb> page = new Page<>(criteria.getPage(), criteria.getSize());
return new ResponseEntity<>(systemQuartzJobService.queryQuartzJobByArgs(criteria, page), HttpStatus.OK);
@@ -59,7 +58,7 @@ public class SystemQuartzJobController {
@ApiOperation("查询任务执行日志")
@PostMapping(value = "/logs")
@PreAuthorize("@el.check('quartzJob:list')")
public ResponseEntity<CsPageResultVo<List<SystemQuartzLogTb>>> queryQuartzJobLog(SystemQueryQuartzJobArgs criteria) {
public ResponseEntity<CsPageResult<SystemQuartzLogTb>> queryQuartzJobLog(SystemQueryQuartzJobArgs criteria) {
Page<SystemQuartzLogTb> page = new Page<>(criteria.getPage(), criteria.getSize());
return new ResponseEntity<>(systemQuartzJobService.queryQuartzLogByArgs(criteria, page), HttpStatus.OK);
}
@@ -2,7 +2,7 @@ package cn.odboy.system.controller;
import cn.hutool.core.lang.Dict;
import cn.odboy.base.CsPageArgs;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.system.dal.dataobject.SystemRoleTb;
import cn.odboy.system.dal.model.SystemCreateRoleArgs;
@@ -12,7 +12,7 @@ import cn.odboy.system.service.SystemRoleService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -27,11 +27,11 @@ import java.util.Set;
import java.util.stream.Collectors;
@RestController
@RequiredArgsConstructor
@Api(tags = "系统:角色管理")
@RequestMapping("/api/role")
public class SystemRoleController {
private final SystemRoleService systemRoleService;
@Autowired
private SystemRoleService systemRoleService;
@ApiOperation("获取单个role")
@PostMapping(value = "/queryRoleById")
@@ -57,7 +57,7 @@ public class SystemRoleController {
@ApiOperation("查询角色")
@PostMapping
@PreAuthorize("@el.check('roles:list')")
public ResponseEntity<CsPageResultVo<List<SystemRoleTb>>> queryRoleByArgs(@Validated @RequestBody CsPageArgs<SystemQueryRoleArgs> args) {
public ResponseEntity<CsPageResult<SystemRoleTb>> queryRoleByArgs(@Validated @RequestBody CsPageArgs<SystemQueryRoleArgs> args) {
SystemQueryRoleArgs criteria = args.getArgs();
Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
return new ResponseEntity<>(systemRoleService.queryRoleByArgs(criteria, page), HttpStatus.OK);
@@ -2,7 +2,7 @@ package cn.odboy.system.controller;
import cn.hutool.core.collection.CollectionUtil;
import cn.odboy.base.CsPageArgs;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.base.CsSelectOptionVo;
import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.framework.properties.AppProperties;
@@ -20,7 +20,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -39,15 +39,21 @@ import java.util.stream.Collectors;
@Api(tags = "系统:用户管理")
@RestController
@RequestMapping("/api/user")
@RequiredArgsConstructor
public class SystemUserController {
private final PasswordEncoder passwordEncoder;
private final SystemUserService systemUserService;
private final SystemDataService systemDataService;
private final SystemDeptService systemDeptService;
private final SystemRoleService systemRoleService;
private final SystemEmailService systemEmailService;
private final AppProperties properties;
@Autowired
private PasswordEncoder passwordEncoder;
@Autowired
private SystemUserService systemUserService;
@Autowired
private SystemDataService systemDataService;
@Autowired
private SystemDeptService systemDeptService;
@Autowired
private SystemRoleService systemRoleService;
@Autowired
private SystemEmailService systemEmailService;
@Autowired
private AppProperties properties;
@ApiOperation("导出用户数据")
@GetMapping(value = "/download")
@@ -59,7 +65,7 @@ public class SystemUserController {
@ApiOperation("查询用户")
@PostMapping
@PreAuthorize("@el.check('user:list')")
public ResponseEntity<CsPageResultVo<List<SystemUserTb>>> queryUserByArgs(@Validated @RequestBody CsPageArgs<SystemQueryUserArgs> args) {
public ResponseEntity<CsPageResult<SystemUserTb>> queryUserByArgs(@Validated @RequestBody CsPageArgs<SystemQueryUserArgs> args) {
Page<Object> page = new Page<>(args.getPage(), args.getSize());
SystemQueryUserArgs criteria = args.getArgs();
if (!ObjectUtils.isEmpty(criteria.getDeptId())) {
@@ -0,0 +1,85 @@
package cn.odboy.system.dal.dataobject;
import cn.odboy.base.CsObject;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.util.Date;
/**
* <p>
* 系统审计日志
* </p>
*
* @author codegen
* @since 2025-05-12
*/
@Getter
@Setter
@ToString
@TableName("system_operation_log")
@ApiModel(value = "SystemOperationLog对象", description = "审计日志")
public class SystemOperationLogTb extends CsObject {
/**
* id
*/
@ApiModelProperty("id")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 业务名称
*/
@TableField("biz_name")
private String bizName;
/**
* 业务方法
*/
@TableField("method")
private String method;
/**
* 业务参数
*/
@TableField("params")
private String params;
/**
* 访问来源IP
*/
@TableField("request_ip")
private String requestIp;
/**
* 执行时间
*/
@TableField("execute_time")
private Long executeTime;
/**
* 用户名
*/
@TableField("username")
private String username;
/**
* 访问来源地址
*/
@TableField("address")
private String address;
/**
* 浏览器信息
*/
@TableField("browser_info")
private String browserInfo;
/**
* 异常详情
*/
@TableField("exception_detail")
private String exceptionDetail;
/**
* 创建时间
*/
@TableField(value = "create_time", fill = FieldFill.INSERT)
private Date createTime;
}
@@ -0,0 +1,9 @@
package cn.odboy.system.dal.mysql;
import cn.odboy.system.dal.dataobject.SystemOperationLogTb;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface SystemOperationLogMapper extends BaseMapper<SystemOperationLogTb> {
}
@@ -4,7 +4,7 @@ import cn.hutool.core.util.RandomUtil;
import cn.odboy.framework.redis.CsRedisHelper;
import cn.odboy.system.dal.model.SystemUserJwtVo;
import cn.odboy.util.CsStringUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
@@ -12,9 +12,9 @@ import org.springframework.stereotype.Component;
* 用户缓存管理
*/
@Component
@RequiredArgsConstructor
public class SystemUserInfoDAO {
private final CsRedisHelper redisHelper;
@Autowired
private CsRedisHelper redisHelper;
/**
* 添加缓存到Redis
@@ -1,6 +1,6 @@
package cn.odboy.system.dal.redis;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.framework.properties.AppProperties;
import cn.odboy.framework.redis.CsRedisHelper;
import cn.odboy.system.dal.model.SystemUserJwtVo;
@@ -112,7 +112,7 @@ public class SystemUserOnlineInfoDAO {
* @return /
*/
public CsPageResultVo<List<SystemUserOnlineVo>> queryUserOnlineModelPage(SystemUserOnlineVo onlineVo, IPage<SystemUserOnlineVo> pageable) {
public CsPageResult<SystemUserOnlineVo> queryUserOnlineModelPage(SystemUserOnlineVo onlineVo, IPage<SystemUserOnlineVo> pageable) {
String username = null;
if (onlineVo != null) {
username = onlineVo.getUserName();
@@ -0,0 +1,32 @@
/*
* Copyright 2021-2025 Odboy
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.odboy.system.framework.operalog.annotaions;
import java.lang.annotation.*;
/**
* 捕捉操作日志
*
* @author odboy
* @date 2025-05-12
*/
@Inherited
@Documented
@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface OperationLog {
String bizName() default "";
}
@@ -0,0 +1,122 @@
/*
* Copyright 2021-2025 Odboy
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.odboy.system.framework.operalog.core;
import cn.hutool.core.date.TimeInterval;
import cn.hutool.core.exceptions.ExceptionUtil;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.StrUtil;
import cn.odboy.framework.context.CsRequestHolder;
import cn.odboy.system.dal.dataobject.SystemOperationLogTb;
import cn.odboy.system.dal.mysql.SystemOperationLogMapper;
import cn.odboy.system.framework.operalog.annotaions.OperationLog;
import cn.odboy.system.framework.permission.core.CsSecurityHelper;
import cn.odboy.util.CsBrowserUtil;
import cn.odboy.util.CsIPUtil;
import com.alibaba.fastjson2.JSON;
import io.swagger.annotations.ApiOperation;
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.reflect.MethodSignature;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Method;
/**
* 捕捉操作日志
*
* @author odboy
* @date 2025-05-12
*/
@Slf4j
@Aspect
@Component
public class SystemOperationLogAspect {
@Autowired
private SystemOperationLogMapper systemOperationLogMapper;
@Around("@annotation(operationLog)")
public Object operationLogCatch(ProceedingJoinPoint joinPoint, OperationLog operationLog) throws Throwable {
return handleLog(joinPoint, operationLog);
}
private Object handleLog(ProceedingJoinPoint joinPoint, OperationLog annotation) throws Throwable {
TimeInterval timeInterval = new TimeInterval();
try {
Object result = joinPoint.proceed();
SystemOperationLogTb record = getOperationLogTb(joinPoint, annotation, timeInterval);
ThreadUtil.execAsync(() -> {
try {
systemOperationLogMapper.insert(record);
} catch (Exception e) {
// log.error("保存审计日志失败", e);
// 忽略
}
});
return result;
} catch (Throwable exception) {
SystemOperationLogTb record = getOperationLogTb(joinPoint, annotation, timeInterval);
record.setExceptionDetail(ExceptionUtil.stacktraceToString(exception));
ThreadUtil.execAsync(() -> {
try {
systemOperationLogMapper.insert(record);
} catch (Exception e) {
// log.error("保存审计日志失败", e);
// 忽略
}
});
throw exception;
}
}
private SystemOperationLogTb getOperationLogTb(ProceedingJoinPoint joinPoint, OperationLog annotation, TimeInterval timeInterval) {
long executeTime = timeInterval.intervalMs();
MethodSignature signature = (MethodSignature)joinPoint.getSignature();
String bizName = annotation.bizName();
if (StrUtil.isBlank(bizName)) {
Method method = signature.getMethod();
ApiOperation apiOperation = method.getAnnotation(ApiOperation.class);
if (apiOperation != null) {
bizName = apiOperation.value();
}
}
if (StrUtil.isBlank(bizName)) {
bizName = "默认业务";
}
String method = joinPoint.getTarget().getClass().getName() + "." + signature.getName() + "()";
Object[] args = joinPoint.getArgs();
String params = JSON.toJSONString(args);
HttpServletRequest request = CsRequestHolder.getHttpServletRequest();
String requestIp = CsBrowserUtil.getIp(request);
String browserInfo = CsBrowserUtil.getVersion(request);
String address = CsIPUtil.getCityInfo(requestIp);
String username = CsSecurityHelper.getCurrentUsername();
SystemOperationLogTb record = new SystemOperationLogTb();
record.setBizName(bizName);
record.setMethod(method);
record.setParams(params);
record.setRequestIp(requestIp);
record.setExecuteTime(executeTime);
record.setUsername(username);
record.setAddress(address);
record.setBrowserInfo(browserInfo);
return record;
}
}
@@ -6,7 +6,7 @@ import cn.odboy.system.framework.permission.core.handler.JwtAccessDeniedHandler;
import cn.odboy.system.framework.permission.core.handler.JwtAuthenticationEntryPoint;
import cn.odboy.system.framework.permission.core.handler.TokenProvider;
import cn.odboy.util.CsAnonTagUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -24,16 +24,20 @@ import java.util.Map;
import java.util.Set;
@Configuration
@RequiredArgsConstructor
@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
public class SpringSecurityConfig {
private final TokenProvider tokenProvider;
private final CorsFilter corsFilter;
private final JwtAuthenticationEntryPoint authenticationErrorHandler;
private final JwtAccessDeniedHandler jwtAccessDeniedHandler;
private final ApplicationContext applicationContext;
private final SystemUserOnlineInfoDAO systemUserOnlineInfoDAO;
@Autowired
private TokenProvider tokenProvider;
@Autowired
private CorsFilter corsFilter;
@Autowired
private JwtAuthenticationEntryPoint authenticationErrorHandler;
@Autowired
private JwtAccessDeniedHandler jwtAccessDeniedHandler;
@Autowired
private ApplicationContext applicationContext;
@Autowired
private SystemUserOnlineInfoDAO systemUserOnlineInfoDAO;
@Bean
public GrantedAuthorityDefaults grantedAuthorityDefaults() {
@@ -3,17 +3,20 @@ package cn.odboy.system.framework.permission.config;
import cn.odboy.system.dal.redis.SystemUserOnlineInfoDAO;
import cn.odboy.system.framework.permission.core.handler.TokenFilter;
import cn.odboy.system.framework.permission.core.handler.TokenProvider;
import lombok.RequiredArgsConstructor;
import org.springframework.security.config.annotation.SecurityConfigurerAdapter;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.web.DefaultSecurityFilterChain;
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
@RequiredArgsConstructor
public class TokenConfigurer extends SecurityConfigurerAdapter<DefaultSecurityFilterChain, HttpSecurity> {
private final TokenProvider tokenProvider;
private final SystemUserOnlineInfoDAO systemUserOnlineInfoDAO;
public TokenConfigurer(TokenProvider tokenProvider, SystemUserOnlineInfoDAO systemUserOnlineInfoDAO) {
this.tokenProvider = tokenProvider;
this.systemUserOnlineInfoDAO = systemUserOnlineInfoDAO;
}
@Override
public void configure(HttpSecurity http) {
TokenFilter customFilter = new TokenFilter(tokenProvider, systemUserOnlineInfoDAO);
@@ -14,9 +14,9 @@ import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import io.jsonwebtoken.io.Decoders;
import io.jsonwebtoken.security.Keys;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.userdetails.User;
@@ -32,13 +32,13 @@ import java.util.concurrent.TimeUnit;
@Slf4j
@Component
@RequiredArgsConstructor
public class TokenProvider implements InitializingBean {
@Autowired
private CsRedisHelper redisHelper;
@Autowired
private AppProperties properties;
private Key signingKey;
private JwtParser jwtParser;
private final CsRedisHelper redisHelper;
private final AppProperties properties;
public static final String AUTHORITIES_UUID_KEY = "uid";
public static final String AUTHORITIES_UID_KEY = "userId";
@@ -8,21 +8,24 @@ import cn.odboy.system.dal.redis.SystemUserInfoDAO;
import cn.odboy.system.service.SystemDataService;
import cn.odboy.system.service.SystemRoleService;
import cn.odboy.system.service.SystemUserService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.stereotype.Service;
import java.util.List;
@Slf4j
@RequiredArgsConstructor
@Service("userDetailsService")
public class UserDetailsHandler implements UserDetailsService {
private final SystemRoleService systemRoleService;
private final SystemUserService systemUserService;
private final SystemDataService systemDataService;
private final SystemUserInfoDAO systemUserInfoDAO;
@Autowired
private SystemRoleService systemRoleService;
@Autowired
private SystemUserService systemUserService;
@Autowired
private SystemDataService systemDataService;
@Autowired
private SystemUserInfoDAO systemUserInfoDAO;
@Override
public SystemUserJwtVo loadUserByUsername(String username) {
@@ -2,8 +2,8 @@ package cn.odboy.system.framework.quartz;
import cn.odboy.system.dal.dataobject.SystemQuartzJobTb;
import cn.odboy.system.dal.mysql.SystemQuartzJobMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
@@ -12,10 +12,11 @@ import java.util.List;
@Slf4j
@Component
@RequiredArgsConstructor
public class InitialActiveJobApplicationRunner implements ApplicationRunner {
private final SystemQuartzJobMapper quartzJobMapper;
private final QuartzManage quartzManage;
@Autowired
private SystemQuartzJobMapper quartzJobMapper;
@Autowired
private QuartzManage quartzManage;
/**
* 项目启动时重新激活启用的定时任务
@@ -17,8 +17,8 @@ import io.minio.*;
import io.minio.http.Method;
import io.minio.messages.Bucket;
import io.minio.messages.Item;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
@@ -32,10 +32,11 @@ import java.util.List;
@Slf4j
@Component
@RequiredArgsConstructor
public class MinioRepository {
private final AppProperties properties;
private final MinioClient minioClient;
@Autowired
private AppProperties properties;
@Autowired
private MinioClient minioClient;
/**
* 检查存储bucket是否存在
@@ -5,7 +5,7 @@ import cn.odboy.system.constant.SystemDataScopeEnum;
import cn.odboy.system.dal.dataobject.SystemDeptTb;
import cn.odboy.system.dal.dataobject.SystemRoleTb;
import cn.odboy.system.dal.dataobject.SystemUserTb;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
@@ -19,10 +19,11 @@ import java.util.stream.Collectors;
* @author odboy
*/
@Service
@RequiredArgsConstructor
public class SystemDataService {
private final SystemRoleService systemRoleService;
private final SystemDeptService systemDeptService;
@Autowired
private SystemRoleService systemRoleService;
@Autowired
private SystemDeptService systemDeptService;
/**
* 获取数据权限
@@ -4,7 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.system.constant.SystemDataScopeEnum;
import cn.odboy.system.dal.dataobject.SystemDeptTb;
@@ -20,7 +20,7 @@ import cn.odboy.util.CsClassUtil;
import cn.odboy.util.CsFileUtil;
import cn.odboy.util.CsStringUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -32,11 +32,13 @@ import java.util.function.Function;
import java.util.stream.Collectors;
@Service
@RequiredArgsConstructor
public class SystemDeptService {
private final SystemDeptMapper systemDeptMapper;
private final SystemUserMapper systemUserMapper;
private final SystemRoleMapper systemRoleMapper;
@Autowired
private SystemDeptMapper systemDeptMapper;
@Autowired
private SystemUserMapper systemUserMapper;
@Autowired
private SystemRoleMapper systemRoleMapper;
/**
* 创建
@@ -273,7 +275,7 @@ public class SystemDeptService {
* @return /
*/
public CsPageResultVo<Set<SystemDeptTb>> buildDeptTree(List<SystemDeptTb> deptList) {
public CsPageResult<SystemDeptTb> buildDeptTree(List<SystemDeptTb> deptList) {
Set<SystemDeptTb> trees = new LinkedHashSet<>();
Set<SystemDeptTb> deptSet = new LinkedHashSet<>();
List<String> deptNames = deptList.stream().map(SystemDeptTb::getName).collect(Collectors.toList());
@@ -301,8 +303,8 @@ public class SystemDeptService {
if (CollectionUtil.isEmpty(trees)) {
trees = deptSet;
}
CsPageResultVo<Set<SystemDeptTb>> baseResult = new CsPageResultVo<>();
baseResult.setContent(CollectionUtil.isEmpty(trees) ? deptSet : trees);
CsPageResult<SystemDeptTb> baseResult = new CsPageResult<>();
baseResult.setContent(CollectionUtil.isEmpty(trees) ? new ArrayList<>(deptSet) : new ArrayList<>(trees));
baseResult.setTotalElements(deptSet.size());
return baseResult;
}
@@ -1,23 +1,23 @@
package cn.odboy.system.service;
import cn.hutool.core.bean.BeanUtil;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.system.dal.dataobject.SystemDictDetailTb;
import cn.odboy.system.dal.model.SystemCreateDictDetailArgs;
import cn.odboy.system.dal.model.SystemQueryDictDetailArgs;
import cn.odboy.system.dal.mysql.SystemDictDetailMapper;
import cn.odboy.util.CsPageUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service
@RequiredArgsConstructor
public class SystemDictDetailService {
private final SystemDictDetailMapper systemDictDetailMapper;
@Autowired
private SystemDictDetailMapper systemDictDetailMapper;
/**
* 创建
@@ -64,7 +64,7 @@ public class SystemDictDetailService {
* @return /
*/
public CsPageResultVo<List<SystemDictDetailTb>> queryDictDetailByArgs(SystemQueryDictDetailArgs criteria, Page<Object> page) {
public CsPageResult<SystemDictDetailTb> queryDictDetailByArgs(SystemQueryDictDetailArgs criteria, Page<Object> page) {
return CsPageUtil.toPage(systemDictDetailMapper.selectDictDetailByArgs(criteria, page));
}
@@ -2,7 +2,7 @@ package cn.odboy.system.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.system.dal.dataobject.SystemDictDetailTb;
import cn.odboy.system.dal.dataobject.SystemDictTb;
import cn.odboy.system.dal.model.SystemCreateDictArgs;
@@ -13,7 +13,7 @@ import cn.odboy.system.dal.mysql.SystemDictMapper;
import cn.odboy.util.CsFileUtil;
import cn.odboy.util.CsPageUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -22,10 +22,11 @@ import java.io.IOException;
import java.util.*;
@Service
@RequiredArgsConstructor
public class SystemDictService {
private final SystemDictMapper systemDictMapper;
private final SystemDictDetailMapper systemDictDetailMapper;
@Autowired
private SystemDictMapper systemDictMapper;
@Autowired
private SystemDictDetailMapper systemDictDetailMapper;
/**
* 创建
@@ -111,7 +112,7 @@ public class SystemDictService {
* @return /
*/
public CsPageResultVo<List<SystemDictTb>> queryDictByArgs(SystemQueryDictArgs criteria, Page<SystemDictTb> page) {
public CsPageResult<SystemDictTb> queryDictByArgs(SystemQueryDictArgs criteria, Page<SystemDictTb> page) {
return CsPageUtil.toPage(systemDictMapper.selectDictByArgs(criteria, page));
}
@@ -13,8 +13,8 @@ import cn.odboy.system.dal.model.SystemSendEmailArgs;
import cn.odboy.system.dal.mysql.SystemEmailConfigMapper;
import cn.odboy.util.CsDesEncryptUtil;
import cn.odboy.util.CsResourceTemplateUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -23,11 +23,13 @@ import java.util.Collections;
@Slf4j
@Service
@RequiredArgsConstructor
public class SystemEmailService {
private final SystemEmailConfigMapper systemEmailConfigMapper;
private final CsRedisHelper redisHelper;
private final AppProperties properties;
@Autowired
private SystemEmailConfigMapper systemEmailConfigMapper;
@Autowired
private CsRedisHelper redisHelper;
@Autowired
private AppProperties properties;
@Value("${spring.application.title}")
private String applicationTitle;
@@ -1,7 +1,7 @@
package cn.odboy.system.service;
import cn.hutool.core.bean.BeanUtil;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.system.dal.dataobject.SystemJobTb;
import cn.odboy.system.dal.model.SystemCreateJobArgs;
@@ -11,7 +11,7 @@ import cn.odboy.system.dal.mysql.SystemUserMapper;
import cn.odboy.util.CsFileUtil;
import cn.odboy.util.CsPageUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -20,10 +20,11 @@ import java.io.IOException;
import java.util.*;
@Service
@RequiredArgsConstructor
public class SystemJobService {
private final SystemJobMapper systemJobMapper;
private final SystemUserMapper systemUserMapper;
@Autowired
private SystemJobMapper systemJobMapper;
@Autowired
private SystemUserMapper systemUserMapper;
/**
* 创建
@@ -96,7 +97,7 @@ public class SystemJobService {
* @return
*/
public CsPageResultVo<List<SystemJobTb>> queryJobByArgs(SystemQueryJobArgs criteria, Page<SystemJobTb> page) {
public CsPageResult<SystemJobTb> queryJobByArgs(SystemQueryJobArgs criteria, Page<SystemJobTb> page) {
return CsPageUtil.toPage(systemJobMapper.selectJobByArgs(criteria, page));
}
@@ -3,7 +3,7 @@ package cn.odboy.system.service;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.IORuntimeException;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.framework.properties.AppProperties;
import cn.odboy.framework.server.core.CsFileLocalUploadHelper;
@@ -14,7 +14,7 @@ import cn.odboy.util.CsFileUtil;
import cn.odboy.util.CsPageUtil;
import cn.odboy.util.CsStringUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
@@ -25,11 +25,13 @@ import java.io.IOException;
import java.util.*;
@Service
@RequiredArgsConstructor
public class SystemLocalStorageService {
private final SystemLocalStorageMapper systemLocalStorageMapper;
private final CsFileLocalUploadHelper fileUploadPathHelper;
private final AppProperties properties;
@Autowired
private SystemLocalStorageMapper systemLocalStorageMapper;
@Autowired
private CsFileLocalUploadHelper fileUploadPathHelper;
@Autowired
private AppProperties properties;
/**
* 上传
@@ -127,7 +129,7 @@ public class SystemLocalStorageService {
* @param page 分页参数
* @return /
*/
public CsPageResultVo<List<SystemLocalStorageTb>> queryLocalStorage(SystemQueryStorageArgs criteria, Page<SystemLocalStorageTb> page) {
public CsPageResult<SystemLocalStorageTb> queryLocalStorage(SystemQueryStorageArgs criteria, Page<SystemLocalStorageTb> page) {
return CsPageUtil.toPage(systemLocalStorageMapper.selectLocalStorageByArgs(criteria, page));
}
@@ -15,7 +15,7 @@ import cn.odboy.system.dal.mysql.SystemRoleMenuMapper;
import cn.odboy.util.CsClassUtil;
import cn.odboy.util.CsFileUtil;
import cn.odboy.util.CsStringUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -26,11 +26,13 @@ import java.util.*;
import java.util.stream.Collectors;
@Service
@RequiredArgsConstructor
public class SystemMenuService {
private final SystemMenuMapper systemMenuMapper;
private final SystemRoleMenuMapper systemRoleMenuMapper;
private final SystemRoleService systemRoleService;
@Autowired
private SystemMenuMapper systemMenuMapper;
@Autowired
private SystemRoleMenuMapper systemRoleMenuMapper;
@Autowired
private SystemRoleService systemRoleService;
private static final String YES_STR = "是";
private static final String NO_STR = "否";
@@ -1,6 +1,6 @@
package cn.odboy.system.service;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.system.dal.dataobject.SystemOssStorageTb;
import cn.odboy.system.dal.model.SystemOssStorageVo;
import cn.odboy.system.dal.model.SystemQueryStorageArgs;
@@ -21,7 +21,7 @@ import java.util.List;
* @since 2025-07-15
*/
public interface SystemOssStorageService extends IService<SystemOssStorageTb> {
CsPageResultVo<List<SystemOssStorageVo>> queryOssStorage(SystemQueryStorageArgs criteria, Page<SystemOssStorageTb> page);
CsPageResult<SystemOssStorageVo> queryOssStorage(SystemQueryStorageArgs criteria, Page<SystemOssStorageTb> page);
List<SystemOssStorageVo> queryOssStorage(SystemQueryStorageArgs criteria);
@@ -3,7 +3,7 @@ package cn.odboy.system.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.framework.redis.CsRedisHelper;
import cn.odboy.system.dal.dataobject.SystemQuartzJobTb;
@@ -17,8 +17,8 @@ import cn.odboy.util.CsFileUtil;
import cn.odboy.util.CsPageUtil;
import cn.odboy.util.CsStringUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import org.quartz.CronExpression;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -27,12 +27,15 @@ import java.io.IOException;
import java.util.*;
@Service
@RequiredArgsConstructor
public class SystemQuartzJobService {
private final SystemQuartzJobMapper systemQuartzJobMapper;
private final SystemQuartzLogMapper systemQuartzLogMapper;
private final QuartzManage quartzManage;
private final CsRedisHelper redisHelper;
@Autowired
private SystemQuartzJobMapper systemQuartzJobMapper;
@Autowired
private SystemQuartzLogMapper systemQuartzLogMapper;
@Autowired
private QuartzManage quartzManage;
@Autowired
private CsRedisHelper redisHelper;
/**
* 创建
@@ -212,7 +215,7 @@ public class SystemQuartzJobService {
* @return /
*/
public CsPageResultVo<List<SystemQuartzJobTb>> queryQuartzJobByArgs(SystemQueryQuartzJobArgs criteria, Page<SystemQuartzJobTb> page) {
public CsPageResult<SystemQuartzJobTb> queryQuartzJobByArgs(SystemQueryQuartzJobArgs criteria, Page<SystemQuartzJobTb> page) {
return CsPageUtil.toPage(systemQuartzJobMapper.selectQuartzJobByArgs(criteria, page));
}
@@ -224,7 +227,7 @@ public class SystemQuartzJobService {
* @return /
*/
public CsPageResultVo<List<SystemQuartzLogTb>> queryQuartzLogByArgs(SystemQueryQuartzJobArgs criteria, Page<SystemQuartzLogTb> page) {
public CsPageResult<SystemQuartzLogTb> queryQuartzLogByArgs(SystemQueryQuartzJobArgs criteria, Page<SystemQuartzLogTb> page) {
return CsPageUtil.toPage(systemQuartzLogMapper.selectQuartzLogByArgs(criteria, page));
}
@@ -3,7 +3,7 @@ package cn.odboy.system.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.system.dal.dataobject.SystemMenuTb;
import cn.odboy.system.dal.dataobject.SystemRoleTb;
@@ -19,7 +19,7 @@ import cn.odboy.util.CsFileUtil;
import cn.odboy.util.CsPageUtil;
import cn.odboy.util.CsStringUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -29,12 +29,15 @@ import java.util.*;
import java.util.stream.Collectors;
@Service
@RequiredArgsConstructor
public class SystemRoleService {
private final SystemRoleMapper systemRoleMapper;
private final SystemRoleDeptMapper systemRoleDeptMapper;
private final SystemRoleMenuMapper systemRoleMenuMapper;
private final SystemUserMapper systemUserMapper;
@Autowired
private SystemRoleMapper systemRoleMapper;
@Autowired
private SystemRoleDeptMapper systemRoleDeptMapper;
@Autowired
private SystemRoleMenuMapper systemRoleMenuMapper;
@Autowired
private SystemUserMapper systemUserMapper;
/**
* 创建
@@ -161,7 +164,7 @@ public class SystemRoleService {
* @return
*/
public CsPageResultVo<List<SystemRoleTb>> queryRoleByArgs(SystemQueryRoleArgs criteria, Page<Object> page) {
public CsPageResult<SystemRoleTb> queryRoleByArgs(SystemQueryRoleArgs criteria, Page<Object> page) {
criteria.setOffset(page.offset());
List<SystemRoleTb> roles = systemRoleMapper.selectRoleByArgs(criteria);
Long total = systemRoleMapper.countRoleByArgs(criteria);
@@ -1,9 +1,8 @@
package cn.odboy.system.service;
import cn.hutool.core.util.StrUtil;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.framework.properties.AppProperties;
import cn.odboy.framework.server.core.CsFileLocalUploadHelper;
import cn.odboy.system.dal.dataobject.SystemJobTb;
import cn.odboy.system.dal.dataobject.SystemRoleTb;
@@ -21,7 +20,7 @@ import cn.odboy.util.CsStringUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
@@ -33,15 +32,19 @@ import java.util.*;
import java.util.stream.Collectors;
@Service
@RequiredArgsConstructor
public class SystemUserService {
private final SystemUserMapper systemUserMapper;
private final SystemUserJobMapper systemUserJobMapper;
private final SystemUserRoleMapper systemUserRoleMapper;
private final AppProperties properties;
private final SystemUserInfoDAO systemUserInfoDAO;
private final SystemUserOnlineInfoDAO systemUserOnlineInfoDAO;
private final CsFileLocalUploadHelper fileUploadPathHelper;
@Autowired
private SystemUserMapper systemUserMapper;
@Autowired
private SystemUserJobMapper systemUserJobMapper;
@Autowired
private SystemUserRoleMapper systemUserRoleMapper;
@Autowired
private SystemUserInfoDAO systemUserInfoDAO;
@Autowired
private SystemUserOnlineInfoDAO systemUserOnlineInfoDAO;
@Autowired
private CsFileLocalUploadHelper fileUploadPathHelper;
/**
* 新增用户
@@ -273,7 +276,7 @@ public class SystemUserService {
* @return /
*/
public CsPageResultVo<List<SystemUserTb>> queryUserByArgs(SystemQueryUserArgs criteria, Page<Object> page) {
public CsPageResult<SystemUserTb> queryUserByArgs(SystemQueryUserArgs criteria, Page<Object> page) {
criteria.setOffset(page.offset());
List<SystemUserTb> users = systemUserMapper.selectUserByArgs(criteria, CsPageUtil.getCount(systemUserMapper)).getRecords();
Long total = systemUserMapper.countUserByArgs(criteria);
@@ -2,7 +2,7 @@ package cn.odboy.system.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import cn.odboy.base.CsPageResultVo;
import cn.odboy.base.CsPageResult;
import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.framework.properties.AppProperties;
import cn.odboy.framework.properties.model.StorageOSSModel;
@@ -19,7 +19,7 @@ import cn.odboy.util.CsPageUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
@@ -41,14 +41,16 @@ import java.util.Map;
* @since 2025-07-15
*/
@Service
@RequiredArgsConstructor
public class SystemOssStorageServiceImpl extends ServiceImpl<SystemOssStorageMapper, SystemOssStorageTb> implements SystemOssStorageService {
private final MinioRepository minioRepository;
private final AppProperties properties;
private final CsFileLocalUploadHelper fileUploadPathHelper;
@Autowired
private MinioRepository minioRepository;
@Autowired
private AppProperties properties;
@Autowired
private CsFileLocalUploadHelper fileLocalUploadHelper;
@Override
public CsPageResultVo<List<SystemOssStorageVo>> queryOssStorage(SystemQueryStorageArgs criteria, Page<SystemOssStorageTb> page) {
public CsPageResult<SystemOssStorageVo> queryOssStorage(SystemQueryStorageArgs criteria, Page<SystemOssStorageTb> page) {
IPage<SystemOssStorageTb> ossStorageTbs = baseMapper.selectOssStorageByArgs(criteria, page);
IPage<SystemOssStorageVo> convert = ossStorageTbs.convert(c -> {
SystemOssStorageVo storageVo = BeanUtil.copyProperties(c, SystemOssStorageVo.class);
@@ -97,7 +99,7 @@ public class SystemOssStorageServiceImpl extends ServiceImpl<SystemOssStorageMap
// 按天分组
String nowDateStr = CsDateUtil.getNowDateStr();
// 上传到本地临时目录
File tempFile = CsFileUtil.upload(file, fileUploadPathHelper.getPath() + nowDateStr + File.separator);
File tempFile = CsFileUtil.upload(file, fileLocalUploadHelper.getPath() + nowDateStr + File.separator);
if (tempFile == null) {
throw new BadRequestException("上传失败");
}
+1
View File
@@ -1,4 +1,5 @@
Settings -> Editor -> Code Style -> Java -> Scheme(右侧小齿轮) -> Import Scheme ->
- alibaba: Eclipse Xml Profile
- project: Eclipse Xml Profile,当前项目风格
- default: IDEA Xml Profile,默认的风格
File diff suppressed because it is too large Load Diff