feat: 增加图片资源发布逻辑

This commit is contained in:
qiufeng
2026-10-12 09:30:50 +08:00
parent 664fc6ba66
commit aaa83e2dec
75 changed files with 417 additions and 104 deletions
+2 -2
View File
@@ -201,7 +201,7 @@ import cn.com.mfish.common.core.web.ReqPage;
import cn.com.mfish.common.core.web.Result;
import {包路径}.entity.{类名};
import {包路径}.req.Req{类名};
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
import java.io.IOException;
@@ -253,7 +253,7 @@ import {包路径}.mapper.{类名}Mapper;
import {包路径}.req.Req{类名};
import {包路径}.service.{类名}Service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import org.springframework.stereotype.Service;
+2 -2
View File
@@ -201,7 +201,7 @@ import cn.com.mfish.common.core.web.ReqPage;
import cn.com.mfish.common.core.web.Result;
import {包路径}.entity.{类名};
import {包路径}.req.Req{类名};
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
import java.io.IOException;
@@ -253,7 +253,7 @@ import {包路径}.mapper.{类名}Mapper;
import {包路径}.req.Req{类名};
import {包路径}.service.{类名}Service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import org.springframework.stereotype.Service;
+2 -2
View File
@@ -201,7 +201,7 @@ import cn.com.mfish.common.core.web.ReqPage;
import cn.com.mfish.common.core.web.Result;
import {包路径}.entity.{类名};
import {包路径}.req.Req{类名};
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
import java.io.IOException;
@@ -253,7 +253,7 @@ import {包路径}.mapper.{类名}Mapper;
import {包路径}.req.Req{类名};
import {包路径}.service.{类名}Service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import org.springframework.stereotype.Service;
+28
View File
@@ -398,4 +398,32 @@ CREATE TABLE `mf_http_folder` (
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'http接口目录' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for mf_screen_resource_img
-- ----------------------------
DROP TABLE IF EXISTS `mf_screen_resource_img`;
CREATE TABLE `mf_screen_resource_img` (
`id` varchar(36) NOT NULL COMMENT '唯一id',
`name` varchar(100) DEFAULT NULL COMMENT '图片名称',
`remark` varchar(500) DEFAULT NULL COMMENT '图片描述',
`category` varchar(100) DEFAULT NULL COMMENT '图片分类(sys_dict_category分类id)',
`pic_key` varchar(100) DEFAULT NULL COMMENT '图片文件KEY(mf_storage存储文件key)',
`file_name` varchar(200) DEFAULT NULL COMMENT '原始文件名',
`file_type` varchar(100) DEFAULT NULL COMMENT '文件类型',
`file_size` bigint DEFAULT NULL COMMENT '文件大小(字节)',
`use_count` int DEFAULT 0 COMMENT '使用次数',
`tenant_id` varchar(36) DEFAULT NULL COMMENT '租户ID',
`audit_state` tinyint(1) DEFAULT NULL COMMENT '审核状态(NULL未发布 0待审核 1审核通过 2审核不通过)',
`del_flag` tinyint(1) DEFAULT 0 COMMENT '删除标记(0正常 1删除)',
`create_by` varchar(50) DEFAULT '' COMMENT '创建用户',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(50) DEFAULT '' COMMENT '更新用户',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `index_pic_key`(`pic_key`) USING BTREE,
INDEX `index_create_by`(`create_by`) USING BTREE,
INDEX `index_category`(`category`) USING BTREE,
INDEX `index_audit_state`(`audit_state`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='大屏图片资源信息';
SET FOREIGN_KEY_CHECKS = 1;
+1 -1
View File
@@ -376,7 +376,7 @@ INSERT INTO `sys_dict_category` VALUES ('57edf426cf8dcab91f92667b0fd8376b', '4d5
INSERT INTO `sys_dict_category` VALUES ('58e6efc0b6a6441cf0a8081520085ccd', 'a1c2ae510d0676d51b4313591d0d3c97', NULL, '官方', '000050000100002', 3, NULL, NULL, 2, 'admin', '2025-03-19 15:36:21', NULL, NULL);
INSERT INTO `sys_dict_category` VALUES ('6577e71c515e8014297ac7a9b2fb17af', '926abe03a1935946b43fdcc031c9d3c8', 'iPhone', '苹果', '0000200007', 2, NULL, NULL, 2, 'admin', '2024-03-14 14:38:23', NULL, NULL);
INSERT INTO `sys_dict_category` VALUES ('688f4f25303f6ce601c99cc30db7dd5b', 'aaf0612479eaffe56b8c3b2af7d3cb8f', NULL, '选项', '000040000500002', 3, 'carbon:list-dropdown', NULL, 1, 'admin', '2025-03-17 15:23:28', 'admin', '2025-07-02 17:43:53');
INSERT INTO `sys_dict_category` VALUES ('69d2a8f8396fb6866be7e5e97de0e908', '9f2aec31293bbb9294db416e42f168b5', NULL, '行业', '000050000300002', 3, NULL, NULL, 2, 'admin', '2025-03-19 15:40:59', NULL, NULL);
INSERT INTO `sys_dict_category` VALUES ('69d2a8f8396fb6866be7e5e97de0e908', '9f2aec31293bbb9294db416e42f168b5', NULL, '背景', '000050000300002', 3, NULL, NULL, 2, 'admin', '2025-03-19 15:40:59', NULL, NULL);
INSERT INTO `sys_dict_category` VALUES ('6fab782d03d564025274e46a8ec63668', '4d544061656fca47a6dca3896a9f94fb', NULL, '标签', '000040000200002', 3, 'ant-design:tag-outlined', '', 1, 'admin', '2024-11-18 17:38:23', 'admin', '2024-11-18 17:38:31');
INSERT INTO `sys_dict_category` VALUES ('862f955f4ba4cb11266a22d8ef023913', 'fe72c08cf082f8f1c6efef9d28119c45', NULL, '装饰', '000040000400003', 3, 'ant-design:skin-outlined', NULL, 2, 'admin', '2024-12-27 22:24:24', NULL, NULL);
INSERT INTO `sys_dict_category` VALUES ('8fcbb99d3e9550f5e9d30dd592a67352', 'b8726bb3b3323e3ed4039322d34dae7c', NULL, '占比图', '000040000100006', 3, 'carbon:chart-ring', NULL, 4, 'admin', '2025-01-14 17:31:09', 'admin', '2025-01-14 17:31:20');
+30 -1
View File
@@ -1150,6 +1150,7 @@ INSERT INTO `sys_dict_item` VALUES ('e100aa3c678f2bf6a4e1e24a9feee89f', 'cd33855
INSERT INTO `sys_dict_item` VALUES ('cac0983d1430c0a7dce98bd8c01cc19c', 'cd338555eccf73e26e9243837d6c711e', 'ai_model_protocol', 'ollama', 'ollama', 0, 2, '', 'blue', 0, NULL, 'admin', '2026-07-10 16:58:34', '', NULL);
INSERT INTO `sys_dict_item` VALUES ('64a2906317754ac19c779e04ddc155de', 'cd338555eccf73e26e9243837d6c711e', 'ai_model_protocol', 'deepseek', 'deepseek', 0, 3, NULL, 'cyan', 0, NULL, 'admin', '2026-07-10 16:58:49', '', NULL);
INSERT INTO `sys_dict_item` VALUES ('76faf36cc4e459171c273fa833e79ff4', 'cd338555eccf73e26e9243837d6c711e', 'ai_model_protocol', 'anthropic', 'anthropic', 0, 4, NULL, 'pink', 0, NULL, 'admin', '2026-07-10 16:59:22', '', NULL);
INSERT INTO `sys_dict_item` VALUES ('9f3c1a7d2e5b4a8c6f0d1e2a3b4c5d6e', 'cd338555eccf73e26e9243837d6c711e', 'ai_model_protocol', 'orcarouter', 'orcarouter', 0, 5, NULL, 'gold', 0, 'OrcaRouter 路由网关', 'admin', '2026-08-15 00:00:00', '', NULL);
-- ----------------------------
-- Table structure for sys_log
@@ -1248,7 +1249,7 @@ INSERT INTO `sys_dict_category` VALUES ('57edf426cf8dcab91f92667b0fd8376b', '4d5
INSERT INTO `sys_dict_category` VALUES ('58e6efc0b6a6441cf0a8081520085ccd', 'a1c2ae510d0676d51b4313591d0d3c97', NULL, '官方', '000050000100002', 3, NULL, NULL, 2, 'admin', '2025-03-19 15:36:21', NULL, NULL);
INSERT INTO `sys_dict_category` VALUES ('6577e71c515e8014297ac7a9b2fb17af', '926abe03a1935946b43fdcc031c9d3c8', 'iPhone', '苹果', '0000200007', 2, NULL, NULL, 2, 'admin', '2024-03-14 14:38:23', NULL, NULL);
INSERT INTO `sys_dict_category` VALUES ('688f4f25303f6ce601c99cc30db7dd5b', 'aaf0612479eaffe56b8c3b2af7d3cb8f', NULL, '选项', '000040000500002', 3, 'carbon:list-dropdown', NULL, 1, 'admin', '2025-03-17 15:23:28', 'admin', '2025-07-02 17:43:53');
INSERT INTO `sys_dict_category` VALUES ('69d2a8f8396fb6866be7e5e97de0e908', '9f2aec31293bbb9294db416e42f168b5', NULL, '行业', '000050000300002', 3, NULL, NULL, 2, 'admin', '2025-03-19 15:40:59', NULL, NULL);
INSERT INTO `sys_dict_category` VALUES ('69d2a8f8396fb6866be7e5e97de0e908', '9f2aec31293bbb9294db416e42f168b5', NULL, '背景', '000050000300002', 3, NULL, NULL, 2, 'admin', '2025-03-19 15:40:59', NULL, NULL);
INSERT INTO `sys_dict_category` VALUES ('6fab782d03d564025274e46a8ec63668', '4d544061656fca47a6dca3896a9f94fb', NULL, '标签', '000040000200002', 3, 'ant-design:tag-outlined', '', 1, 'admin', '2024-11-18 17:38:23', 'admin', '2024-11-18 17:38:31');
INSERT INTO `sys_dict_category` VALUES ('862f955f4ba4cb11266a22d8ef023913', 'fe72c08cf082f8f1c6efef9d28119c45', NULL, '装饰', '000040000400003', 3, 'ant-design:skin-outlined', NULL, 2, 'admin', '2024-12-27 22:24:24', NULL, NULL);
INSERT INTO `sys_dict_category` VALUES ('8fcbb99d3e9550f5e9d30dd592a67352', 'b8726bb3b3323e3ed4039322d34dae7c', NULL, '占比图', '000040000100006', 3, 'carbon:chart-ring', NULL, 4, 'admin', '2025-01-14 17:31:09', 'admin', '2025-01-14 17:31:20');
@@ -2010,4 +2011,32 @@ CREATE TABLE `ai_mcp_server_config` (
UNIQUE INDEX `server_name_index`(`server_name`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'MCP服务器配置表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for mf_screen_resource_img
-- ----------------------------
DROP TABLE IF EXISTS `mf_screen_resource_img`;
CREATE TABLE `mf_screen_resource_img` (
`id` varchar(36) NOT NULL COMMENT '唯一id',
`name` varchar(100) DEFAULT NULL COMMENT '图片名称',
`remark` varchar(500) DEFAULT NULL COMMENT '图片描述',
`category` varchar(100) DEFAULT NULL COMMENT '图片分类(sys_dict_category分类id)',
`pic_key` varchar(100) DEFAULT NULL COMMENT '图片文件KEY(mf_storage存储文件key)',
`file_name` varchar(200) DEFAULT NULL COMMENT '原始文件名',
`file_type` varchar(100) DEFAULT NULL COMMENT '文件类型',
`file_size` bigint DEFAULT NULL COMMENT '文件大小(字节)',
`use_count` int DEFAULT 0 COMMENT '使用次数',
`tenant_id` varchar(36) DEFAULT NULL COMMENT '租户ID',
`audit_state` tinyint(1) DEFAULT NULL COMMENT '审核状态(NULL未发布 0待审核 1审核通过 2审核不通过)',
`del_flag` tinyint(1) DEFAULT 0 COMMENT '删除标记(0正常 1删除)',
`create_by` varchar(50) DEFAULT '' COMMENT '创建用户',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(50) DEFAULT '' COMMENT '更新用户',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `index_pic_key`(`pic_key`) USING BTREE,
INDEX `index_create_by`(`create_by`) USING BTREE,
INDEX `index_category`(`category`) USING BTREE,
INDEX `index_audit_state`(`audit_state`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='大屏图片资源信息';
SET FOREIGN_KEY_CHECKS = 1;
@@ -1,6 +1,7 @@
package cn.com.mfish.common.workflow.api.entity;
import cn.com.mfish.common.workflow.api.enums.FlowKey;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;
@@ -17,6 +18,9 @@ import java.util.Map;
@Accessors(chain = true)
@Schema(description = "工作流参数")
public class FlowableParam<T> implements Serializable {
//固定为改造前自动生成的值:默认 serialVersionUID 由类结构哈希而来(含静态方法),新增 of() 会改变哈希,导致库中在途流程变量反序列化失败
private static final long serialVersionUID = 8899980303321350951L;
@Schema(description = "流程定义key 来自FlowKey枚举", requiredMode = Schema.RequiredMode.REQUIRED)
private String key;
@@ -35,4 +39,20 @@ public class FlowableParam<T> implements Serializable {
@Schema(description = "其他参数")
private Map<String, Object> param;
/**
* 按流程定义枚举创建工作流参数,流程key、回调前缀、回调接口均取自枚举配置
*
* @param flowKey 流程定义枚举
* @param id 业务id
* @param <T> 业务id类型
* @return 工作流参数
*/
public static <T> FlowableParam<T> of(FlowKey flowKey, T id) {
return new FlowableParam<T>()
.setKey(flowKey.toString())
.setId(id)
.setPrefix(flowKey.getPrefix())
.setCallback(flowKey.getCallback());
}
}
@@ -21,8 +21,14 @@ import lombok.Getter;
public enum FlowKey {
/** 未知流程 */
UNKNOWN("unknown", null, null),
/** 大屏发布流程 */
大屏发布("screen_release", null, null),
/** 大屏发布流程:回调 nocode 服务更新大屏资源状态 */
大屏发布("screen_release",
"cn.com.mfish.common.nocode.api.remote.RemoteNocodeService",
"screenResource"),
/** 图片资源发布流程:回调 nocode 服务更新图片资源状态 */
图片资源发布("screen_image_release",
"cn.com.mfish.common.nocode.api.remote.RemoteNocodeService",
"screenResourceImg"),
/** 请假申请发布流程:回调 demo 服务更新请假单状态 */
请假申请发布("demo_leave_apply_release",
"cn.com.mfish.demo.api.remote.RemoteDemoLeaveApplyService",
@@ -5,7 +5,7 @@ import cn.com.mfish.common.ai.capability.McpServerConfigProvider;
import cn.com.mfish.common.core.web.PageResult;
import cn.com.mfish.common.core.web.ReqPage;
import cn.com.mfish.common.core.web.Result;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
/**
* @description: MCP服务器配置信息
@@ -14,7 +14,7 @@ import cn.com.mfish.common.core.web.PageResult;
import cn.com.mfish.common.core.web.ReqPage;
import cn.com.mfish.common.core.web.Result;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
@@ -10,7 +10,7 @@ import cn.com.mfish.common.core.web.PageResult;
import cn.com.mfish.common.core.web.ReqPage;
import cn.com.mfish.common.core.web.Result;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -6,6 +6,7 @@ import cn.com.mfish.common.core.constants.RPCConstants;
import cn.com.mfish.common.core.web.Result;
import cn.com.mfish.common.workflow.api.entity.FlowableParam;
import cn.com.mfish.common.workflow.api.entity.MfTask;
import cn.com.mfish.common.workflow.api.enums.FlowKey;
import cn.com.mfish.common.workflow.api.remote.RemoteWorkflowService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -43,12 +44,10 @@ public class WorkflowExecutionProviderImpl implements WorkflowExecutionProvider
public WorkflowResult startProcess(String flowKey, String businessKey,
Map<String, Object> variables, String startUserId) {
WorkflowResult result = new WorkflowResult();
// 直接调用 startProcess:mf-workflow 内部按 FlowKey 枚举自动补全 callback/prefix
// - 枚举配了 callback(如请假流程):补全后放 WORKFLOW_PARAM,流程结束回调业务系统更新单据状态
// - 枚举未配 callback(纯自动化流程):不放 WORKFLOW_PARAM,流程结束自然跳过回调
FlowableParam<String> param = new FlowableParam<String>()
.setKey(flowKey)
.setId(businessKey)
// 通过 FlowableParam.of 统一创建:流程key、callback/prefix 均取自 FlowKey 枚举
// - 枚举配了 callback(如请假流程):流程结束回调业务系统更新单据状态
// - 枚举未配 callback(纯自动化流程):callback 为空,流程结束自然跳过回调
FlowableParam<String> param = FlowableParam.of(FlowKey.getByKey(flowKey), businessKey)
.setStartAccount(startUserId)
.setParam(variables);
@@ -1,7 +1,7 @@
package cn.com.mfish.demo.service;
import cn.com.mfish.demo.entity.DemoDataScope;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
/**
* @description: demo_data_scope
@@ -1,7 +1,7 @@
package cn.com.mfish.demo.service;
import cn.com.mfish.demo.entity.DemoImportExport;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
import java.util.List;
@@ -1,7 +1,7 @@
package cn.com.mfish.demo.service;
import cn.com.mfish.demo.entity.DemoOrderDetail;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
/**
* @description: 销售订单明细
@@ -2,7 +2,7 @@ package cn.com.mfish.demo.service;
import cn.com.mfish.common.core.web.Result;
import cn.com.mfish.demo.entity.DemoOrder;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
/**
* @description: 销售订单
@@ -5,7 +5,7 @@ import cn.com.mfish.demo.mapper.DemoDataScopeMapper;
import cn.com.mfish.demo.service.DemoDataScopeService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
/**
* @description: demo_data_scope
@@ -16,4 +16,4 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@Service
public class DemoDataScopeServiceImpl extends ServiceImpl<DemoDataScopeMapper, DemoDataScope> implements DemoDataScopeService {
}
}
@@ -5,7 +5,7 @@ import cn.com.mfish.demo.mapper.DemoImportExportMapper;
import cn.com.mfish.demo.service.DemoImportExportService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import java.util.List;
@@ -28,4 +28,4 @@ public class DemoImportExportServiceImpl extends ServiceImpl<DemoImportExportMap
public int insertBatchSomeColumn(List<DemoImportExport> list) {
return baseMapper.insertBatchSomeColumn(list);
}
}
}
@@ -16,7 +16,7 @@ import cn.com.mfish.common.workflow.api.enums.FlowKey;
import cn.com.mfish.common.workflow.api.remote.RemoteWorkflowService;
import cn.com.mfish.demo.mapper.DemoLeaveApplyMapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
@@ -278,13 +278,10 @@ public class DemoLeaveApplyServiceImpl extends ServiceImpl<DemoLeaveApplyMapper,
private void startProcess(DemoLeaveApply demoLeaveApply) {
Map<String, Object> param = new HashMap<>();
param.put("leaveDays",demoLeaveApply.getLeaveDays());
Result<String> result = remoteWorkflowService.startProcess(RPCConstants.INNER, new FlowableParam<String>()
.setKey(FlowKey.请假申请发布.toString()).setParam(param)
.setId(demoLeaveApply.getId())
.setPrefix(FlowKey.请假申请发布.getPrefix())
.setCallback(FlowKey.请假申请发布.getCallback()));
Result<String> result = remoteWorkflowService.startProcess(RPCConstants.INNER,
FlowableParam.of(FlowKey.请假申请发布, demoLeaveApply.getId()).setParam(param));
if (!result.isSuccess()) {
throw new MyRuntimeException(result.getMsg());
}
}
}
}
@@ -5,7 +5,7 @@ import cn.com.mfish.demo.mapper.DemoOrderDetailMapper;
import cn.com.mfish.demo.service.DemoOrderDetailService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
/**
* @description: 销售订单明细
@@ -16,4 +16,4 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@Service
public class DemoOrderDetailServiceImpl extends ServiceImpl<DemoOrderDetailMapper, DemoOrderDetail> implements DemoOrderDetailService {
}
}
@@ -8,7 +8,7 @@ import cn.com.mfish.demo.mapper.DemoOrderDetailMapper;
import cn.com.mfish.demo.mapper.DemoOrderMapper;
import cn.com.mfish.demo.service.DemoOrderService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -131,4 +131,4 @@ public class DemoOrderServiceImpl extends ServiceImpl<DemoOrderMapper, DemoOrder
}
return demoOrderDetailMapper.insertBatchSomeColumn(details) == details.size();
}
}
}
@@ -5,7 +5,7 @@ import cn.com.mfish.common.core.web.Result;
import cn.com.mfish.common.oauth.api.entity.SsoMenu;
import cn.com.mfish.sys.entity.CodeBuild;
import cn.com.mfish.sys.req.ReqMenuCreate;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
@@ -2,7 +2,7 @@ package cn.com.mfish.sys.service;
import cn.com.mfish.common.core.web.Result;
import cn.com.mfish.sys.entity.SysConfig;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
import java.util.List;
@@ -16,7 +16,7 @@ import cn.com.mfish.sys.mapper.CodeBuildMapper;
import cn.com.mfish.sys.req.ReqMenuCreate;
import cn.com.mfish.sys.service.CodeBuildService;
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@@ -12,7 +12,7 @@ import cn.com.mfish.sys.api.req.ReqDbConnect;
import cn.com.mfish.sys.mapper.DbConnectMapper;
import cn.com.mfish.common.dblink.service.DbConnectService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
@@ -12,7 +12,7 @@ import cn.com.mfish.common.sys.service.DictCategoryService;
import cn.com.mfish.sys.api.entity.DictCategory;
import cn.com.mfish.sys.mapper.DictCategoryMapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -8,7 +8,7 @@ import cn.com.mfish.sys.api.entity.DictItem;
import cn.com.mfish.sys.cache.DictCache;
import cn.com.mfish.sys.mapper.DictItemMapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
@@ -12,7 +12,7 @@ import cn.com.mfish.sys.mapper.DictMapper;
import cn.com.mfish.sys.api.req.ReqDict;
import cn.com.mfish.common.sys.service.DictService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -10,7 +10,7 @@ import cn.com.mfish.sys.service.SysConfigService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import java.util.List;
@@ -5,7 +5,7 @@ import cn.com.mfish.common.core.web.ReqPage;
import cn.com.mfish.common.core.web.Result;
import cn.com.mfish.common.workflow.api.entity.FlowManage;
import cn.com.mfish.workflow.req.ReqFlowManage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
import java.io.IOException;
@@ -15,7 +15,7 @@ import cn.com.mfish.workflow.req.ReqFlowManage;
import cn.com.mfish.workflow.service.FlowManageService;
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
@@ -6,7 +6,7 @@ import cn.com.mfish.ai.api.vo.AiModelConfigVo;
import cn.com.mfish.common.core.web.PageResult;
import cn.com.mfish.common.core.web.ReqPage;
import cn.com.mfish.common.core.web.Result;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
import java.io.IOException;
import java.util.List;
@@ -1,9 +1,12 @@
package cn.com.mfish.common.api;
import cn.com.mfish.common.core.entity.WorkflowCompleteResult;
import cn.com.mfish.common.core.utils.StringUtils;
import cn.com.mfish.common.core.web.Result;
import cn.com.mfish.common.nocode.api.remote.RemoteNocodeService;
import cn.com.mfish.common.nocode.service.ScreenResourceImgService;
import cn.com.mfish.common.nocode.service.ScreenResourceService;
import cn.com.mfish.common.workflow.api.enums.FlowKey;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
@@ -17,19 +20,41 @@ public class BootNocodeService implements RemoteNocodeService {
@Resource
ScreenResourceService screenResourceService;
@Resource
ScreenResourceImgService screenResourceImgService;
@Override
public Result<String> approved(String origin, String prefix, String id, WorkflowCompleteResult result) {
return screenResourceService.audit(id, 1, result);
return audit(prefix, id, 1, result);
}
@Override
public Result<String> rejected(String origin, String prefix, String id, WorkflowCompleteResult result) {
return screenResourceService.audit(id, 2, result);
return audit(prefix, id, 2, result);
}
@Override
public Result<String> canceled(String origin, String prefix, String id, WorkflowCompleteResult result) {
return screenResourceService.audit(id, null, result);
return audit(prefix, id, null, result);
}
/**
* 按流程业务前缀分发审批回调到对应资源服务
*
* @param prefix 业务前缀(来自流程变量 FlowableParam)
* @param id 业务ID
* @param auditState 审核状态(1:通过,2:驳回,null:撤销)
* @param result 工作流审批结果
* @return 审核结果
*/
private Result<String> audit(String prefix, String id, Integer auditState, WorkflowCompleteResult result) {
// 大屏发布流程早期实例可能未携带 prefix,为空时默认按大屏资源处理
if (StringUtils.isEmpty(prefix) || FlowKey.大屏发布.getPrefix().equals(prefix)) {
return screenResourceService.audit(id, auditState, result);
}
if (FlowKey.图片资源发布.getPrefix().equals(prefix)) {
return screenResourceImgService.audit(id, auditState, result);
}
return Result.fail(null, "错误:未知的审批业务前缀:" + prefix);
}
}
@@ -5,7 +5,7 @@ import cn.com.mfish.common.core.web.ReqPage;
import cn.com.mfish.common.core.web.Result;
import ${packageName}.entity.${entityName};
import ${packageName}.req.Req${entityName};
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
import java.io.IOException;
@@ -21,7 +21,7 @@ import java.util.List;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
/**
* @description: ${tableInfo.tableComment}
@@ -5,7 +5,7 @@ import cn.com.mfish.common.core.web.ReqPage;
import cn.com.mfish.common.core.web.Result;
import cn.com.mfish.sys.api.entity.DbConnect;
import cn.com.mfish.sys.api.req.ReqDbConnect;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
/**
* @description: 数据库连接
@@ -6,7 +6,7 @@ import cn.com.mfish.common.core.web.ReqPage;
import cn.com.mfish.common.core.web.Result;
import cn.com.mfish.common.demo.entity.DemoLeaveApply;
import cn.com.mfish.common.demo.req.ReqDemoLeaveApply;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
import java.io.IOException;
@@ -2,7 +2,7 @@ package cn.com.mfish.common.file.service;
import cn.com.mfish.common.core.web.Result;
import cn.com.mfish.common.storage.api.entity.StorageInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
import org.springframework.core.io.Resource;
import org.springframework.http.ResponseEntity;
@@ -2,7 +2,7 @@ package cn.com.mfish.common.log.service;
import cn.com.mfish.common.core.web.Result;
import cn.com.mfish.sys.api.entity.SysLog;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
/**
* @description: 系统日志
@@ -4,7 +4,7 @@ import cn.com.mfish.common.core.web.Result;
import cn.com.mfish.common.log.mapper.SysLogMapper;
import cn.com.mfish.common.log.service.SysLogService;
import cn.com.mfish.sys.api.entity.SysLog;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
@@ -0,0 +1,73 @@
package cn.com.mfish.common.nocode.entity;
import cn.com.mfish.common.core.entity.BaseEntity;
import cn.idev.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @description: 大屏图片资源信息
* @author: mfish
* @date: 2026-09-04
* @version: V2.4.1
*/
@Data
@TableName("mf_screen_resource_img")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "mf_screen_resource_img对象 大屏图片资源信息")
@Accessors(chain = true)
public class ScreenResourceImg extends BaseEntity<String> {
@ExcelProperty("唯一ID")
@Schema(description = "唯一ID")
@TableId(type = IdType.ASSIGN_UUID)
@Accessors(chain = true)
private String id;
@ExcelProperty("图片名称")
@Schema(description = "图片名称")
private String name;
@ExcelProperty("图片描述")
@Schema(description = "图片描述")
private String remark;
@ExcelProperty("图片分类")
@Schema(description = "图片分类(sys_dict_category分类id)")
private String category;
@ExcelProperty("图片文件KEY")
@Schema(description = "图片文件KEY")
private String picKey;
@ExcelProperty("原始文件名")
@Schema(description = "原始文件名")
private String fileName;
@ExcelProperty("文件类型")
@Schema(description = "文件类型")
private String fileType;
@ExcelProperty("文件大小")
@Schema(description = "文件大小(字节)")
private Long fileSize;
@ExcelProperty("使用次数")
@Schema(description = "使用次数")
private Integer useCount;
@ExcelProperty("租户ID")
@Schema(description = "租户ID")
private String tenantId;
@ExcelProperty("审核状态")
@Schema(description = "审核状态(null未发布 0待审核 1审核通过 2审核不通过)")
private Integer auditState;
@ExcelProperty("删除标记")
@Schema(description = "删除标记(0正常 1删除)")
private Integer delFlag;
@ExcelProperty("创建人头像")
@Schema(description = "创建人头像")
@TableField(exist = false)
private String headImgUrl;
@ExcelProperty("分类名称")
@Schema(description = "分类名称")
@TableField(exist = false)
private String categoryName;
}
@@ -0,0 +1,64 @@
package cn.com.mfish.common.nocode.service;
import cn.com.mfish.common.core.entity.WorkflowCompleteResult;
import cn.com.mfish.common.core.web.Result;
import cn.com.mfish.common.nocode.entity.ScreenResourceImg;
import com.baomidou.mybatisplus.spring.service.IService;
/**
* @description: 大屏图片资源信息
* @author: mfish
* @date: 2026-09-04
* @version: V2.4.1
*/
public interface ScreenResourceImgService extends IService<ScreenResourceImg> {
/**
* 新增图片资源(用户上传,未发布状态)
*
* @param screenResourceImg 图片资源信息
* @return 返回新增结果
*/
Result<ScreenResourceImg> insertImageResource(ScreenResourceImg screenResourceImg);
/**
* 发布图片资源(提交审批流程)
*
* @param screenResourceImg 图片资源信息(含分类、名称、描述)
* @return 返回发布结果
*/
Result<ScreenResourceImg> publishImageResource(ScreenResourceImg screenResourceImg);
/**
* 删除图片资源(仅允许删除本人资源,已发布资源需先撤回)
*
* @param id 图片资源唯一ID
* @return 返回删除结果
*/
Result<Boolean> deleteImageResource(String id);
/**
* 撤回已发布的图片资源(从系统资源下架,恢复为未发布状态)
*
* @param id 图片资源唯一ID
* @return 返回撤回结果
*/
Result<Boolean> withdrawImageResource(String id);
/**
* 图片资源审核操作(通过、驳回、撤销)
*
* @param id 图片资源唯一ID
* @param auditState 审核状态(1:通过,2:驳回,null:撤销)
* @param result 工作流审批结果
* @return 返回审核结果
*/
Result<String> audit(String id, Integer auditState, WorkflowCompleteResult result);
/**
* 更新使用次数
*
* @param id 图片资源唯一ID
* @return 返回更新结果
*/
Result<Boolean> addUseCount(String id);
}
@@ -3,7 +3,7 @@ package cn.com.mfish.common.nocode.service;
import cn.com.mfish.common.core.entity.WorkflowCompleteResult;
import cn.com.mfish.common.core.web.Result;
import cn.com.mfish.common.nocode.entity.ScreenResource;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
/**
* @description: 大屏资源信息
@@ -4,7 +4,7 @@ import cn.com.mfish.common.core.web.Result;
import cn.com.mfish.common.oauth.api.entity.SsoMenu;
import cn.com.mfish.common.oauth.api.req.ReqSsoMenu;
import cn.com.mfish.common.oauth.api.vo.MenuRouteVo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
import java.util.List;
@@ -9,7 +9,7 @@ import cn.com.mfish.common.oauth.api.entity.UserInfo;
import cn.com.mfish.common.oauth.api.entity.UserRole;
import cn.com.mfish.common.oauth.req.ReqOrgUser;
import cn.com.mfish.common.oauth.req.ReqSsoOrg;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
import java.util.List;
@@ -2,7 +2,7 @@ package cn.com.mfish.common.oauth.service;
import cn.com.mfish.common.core.web.Result;
import cn.com.mfish.common.oauth.entity.SsoRole;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
import java.util.List;
@@ -11,7 +11,7 @@ import cn.com.mfish.common.oauth.api.vo.UserInfoVo;
import cn.com.mfish.common.oauth.entity.OnlineUser;
import cn.com.mfish.common.oauth.entity.SsoUser;
import cn.com.mfish.common.oauth.req.ReqSsoUser;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
import java.util.List;
import java.util.Set;
@@ -6,7 +6,7 @@ import cn.com.mfish.common.core.web.ReqPage;
import cn.com.mfish.common.core.web.Result;
import cn.com.mfish.common.sys.req.ReqDictCategory;
import cn.com.mfish.sys.api.entity.DictCategory;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
import java.util.List;
@@ -3,7 +3,7 @@ package cn.com.mfish.common.sys.service;
import cn.com.mfish.common.core.web.Result;
import cn.com.mfish.common.sys.req.ReqDictItem;
import cn.com.mfish.sys.api.entity.DictItem;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
import java.util.List;
@@ -4,7 +4,7 @@ import cn.com.mfish.common.core.web.ReqPage;
import cn.com.mfish.common.core.web.Result;
import cn.com.mfish.sys.api.entity.Dict;
import cn.com.mfish.sys.api.req.ReqDict;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
import java.util.List;
@@ -20,8 +20,8 @@
<where>
t.del_flag = 0
<if test="reqSsoTenant.tenantType!=null">and t.tenant_type = #{reqSsoTenant.tenantType}</if>
<if test="reqSsoTenant.domain!=null">and t.domain = #{reqSsoTenant.domain}</if>
<if test="reqSsoTenant.name!=null">and t.name = #{reqSsoTenant.name}</if>
<if test="reqSsoTenant.domain!=null">and t.domain like concat('%',#{reqSsoTenant.domain},'%')</if>
<if test="reqSsoTenant.name!=null">and t.name like concat('%',#{reqSsoTenant.name},'%')</if>
</where>
group by t.id,t.tenant_type,t.name,t.city,t.province,t.county,t.address,t.corp_size,t.corp_years
,t.trade,t.status,t.logo,t.domain,t.del_flag,t.user_id,t.create_by,t.create_time,t.update_by,t.update_time
@@ -2,7 +2,7 @@ package cn.com.mfish.oauth.service;
import cn.com.mfish.common.core.web.Result;
import cn.com.mfish.oauth.entity.SsoClientDetails;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
/**
* @description: 客户端信息
@@ -6,7 +6,7 @@ import cn.com.mfish.common.oauth.api.entity.SsoTenant;
import cn.com.mfish.common.oauth.entity.SsoUser;
import cn.com.mfish.oauth.req.ReqSsoTenant;
import cn.com.mfish.common.oauth.api.vo.TenantVo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
import java.util.List;
@@ -6,7 +6,7 @@ import cn.com.mfish.oauth.cache.temp.ClientTempCache;
import cn.com.mfish.oauth.entity.SsoClientDetails;
import cn.com.mfish.oauth.mapper.SsoClientDetailsMapper;
import cn.com.mfish.oauth.service.SsoClientDetailsService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -14,7 +14,7 @@ import cn.com.mfish.oauth.mapper.SsoMenuMapper;
import cn.com.mfish.common.oauth.api.req.ReqSsoMenu;
import cn.com.mfish.common.oauth.service.SsoMenuService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -17,7 +17,7 @@ import cn.com.mfish.common.oauth.service.SsoOrgService;
import cn.com.mfish.oauth.cache.common.ClearCache;
import cn.com.mfish.oauth.mapper.SsoOrgMapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
@@ -8,7 +8,7 @@ import cn.com.mfish.common.oauth.service.SsoRoleService;
import cn.com.mfish.oauth.cache.common.ClearCache;
import cn.com.mfish.oauth.mapper.SsoRoleMapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -18,7 +18,7 @@ import cn.com.mfish.oauth.mapper.SsoTenantMapper;
import cn.com.mfish.oauth.req.ReqSsoTenant;
import cn.com.mfish.oauth.service.SsoTenantService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
@@ -28,7 +28,7 @@ import cn.com.mfish.oauth.cache.temp.*;
import cn.com.mfish.oauth.common.PasswordHelper;
import cn.com.mfish.oauth.mapper.SsoUserMapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
@@ -1,7 +1,7 @@
package cn.com.mfish.scheduler.service;
import cn.com.mfish.common.scheduler.api.entity.JobLog;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
/**
* @description: 任务日志
@@ -2,7 +2,7 @@ package cn.com.mfish.scheduler.service;
import cn.com.mfish.common.core.web.Result;
import cn.com.mfish.scheduler.entity.Job;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
import org.quartz.SchedulerException;
/**
@@ -2,7 +2,7 @@ package cn.com.mfish.scheduler.service;
import cn.com.mfish.common.core.web.Result;
import cn.com.mfish.scheduler.entity.JobSubscribe;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.spring.service.IService;
import org.quartz.SchedulerException;
import java.util.List;
@@ -5,7 +5,7 @@ import cn.com.mfish.scheduler.mapper.JobLogMapper;
import cn.com.mfish.scheduler.service.JobLogService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
/**
* @description: 任务日志
@@ -13,7 +13,7 @@ import cn.com.mfish.scheduler.service.JobService;
import cn.com.mfish.scheduler.service.JobSubscribeService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.springframework.beans.factory.annotation.Autowired;
@@ -10,7 +10,7 @@ import cn.com.mfish.scheduler.mapper.JobMapper;
import cn.com.mfish.scheduler.mapper.JobSubscribeMapper;
import cn.com.mfish.scheduler.service.JobSubscribeService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import org.quartz.CronExpression;
import org.quartz.SchedulerException;
import org.springframework.beans.factory.annotation.Autowired;
Binary file not shown.
@@ -1,8 +1,10 @@
spring:
ai:
openai:
api-key: sk-or-v1-b49*****************************************135dae3b
base-url: https://openrouter.ai/api
# api-key: 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
# base-url: https://integrate.api.nvidia.com/v1
api-key: AIzaSyB_ZTsYUOWh2r0NWEzgQ1dyl2Dbk_oLuQw
base-url: https://ai.mfish.qzz.io/v1beta/openai/
chat:
max-tokens: 1000
temperature: 0.7
@@ -17,6 +17,6 @@ code:
path: template
savePath:
#前端地址
front: E:/javacode/mfish-nocode
front: E:/javacode/mfish-nocode-pro
#后端地址(需要指定到具体模块路径)
back: E:/javacode/mfish-nocode/mf-business/mf-sys
back: E:/javacode/mfish-nocode-pro/mf-business/mf-ai
@@ -24,15 +24,15 @@ oauth2:
sm4key: 143be1ae6ee10b048f7e441cec2a9803
wechat:
miniapp:
appId: wx*************4a3
secret: a6***************efa227
appId: wxf7ae0f4abbee34a3
secret: 79084185012f900c1a96ddc4a5f7d4e1
gitee:
clientId: a83ea6***********************************44a326cd3407fc0b651
clientSecret: 3eb****************************************9bb3bb465e614db
clientId: a83ea66522fef5f382c6aaffa875c7e87b21d3933277c44a326cd3407fc0b651
clientSecret: 3ebdce2afcb4a7df9b16355f60d898d452f4d9cf8ad1ab8279bb3bb465e614db
redirectUri: http://localhost:5186/giteeOauth2
bindUri: http://localhost:5186/tenant/info/1?callback=gitee
github:
clientId: Ov2******************************3ZEJCoJ
clientSecret: ada9a************************32a5f6bed131
clientId: Ov23li7oH0Djw3ZEJCoJ
clientSecret: ada9a510b3bde542e7510142f07d32a5f6bed131
redirectUri: http://localhost:5186/githubOauth2
bindUri: http://localhost:5186/tenant/info/1?callback=github
@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/processdef" exporter="Flowable Open Source Modeler" exporterVersion="6.8.0">
<process id="screen_image_release" name="screen_image_release" isExecutable="true">
<documentation>图片资源发布流程</documentation>
<startEvent id="startEvent1" flowable:formFieldValidation="true"></startEvent>
<userTask id="sid-BEE47029-E5CC-4642-82F9-D6B924FE0BF2" name="管理员审核" flowable:candidateUsers="mfish" flowable:formFieldValidation="true">
<documentation>管理员进行图片资源审核</documentation>
<extensionElements>
<modeler:user-info-email-mfish xmlns:modeler="http://flowable.org/modeler"><![CDATA[mfish@qq.com]]></modeler:user-info-email-mfish>
<modeler:user-info-firstname-mfish xmlns:modeler="http://flowable.org/modeler"><![CDATA[mfish]]></modeler:user-info-firstname-mfish>
<modeler:activiti-idm-candidate-user xmlns:modeler="http://flowable.org/modeler"><![CDATA[true]]></modeler:activiti-idm-candidate-user>
<modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]></modeler:initiator-can-complete>
</extensionElements>
</userTask>
<sequenceFlow id="sid-24896AB2-6026-44A6-A69E-0A82635B3F7A" sourceRef="startEvent1" targetRef="sid-BEE47029-E5CC-4642-82F9-D6B924FE0BF2"></sequenceFlow>
<exclusiveGateway id="sid-A3B05AB4-F8C9-4325-B73D-B3AD17F820B4"></exclusiveGateway>
<sequenceFlow id="sid-8C4D16BD-0209-465C-AC61-8797AF774439" sourceRef="sid-BEE47029-E5CC-4642-82F9-D6B924FE0BF2" targetRef="sid-A3B05AB4-F8C9-4325-B73D-B3AD17F820B4"></sequenceFlow>
<endEvent id="sid-10FBD3E4-F5DB-4223-9A33-ADF96F4CE165">
<extensionElements>
<flowable:executionListener event="start" class="cn.com.mfish.workflow.handler.CompleteCallbackHandler"></flowable:executionListener>
</extensionElements>
</endEvent>
<endEvent id="sid-7B0BAFB1-64D9-40C9-9664-72434BF7C147">
<extensionElements>
<flowable:executionListener event="start" class="cn.com.mfish.workflow.handler.CompleteCallbackHandler"></flowable:executionListener>
</extensionElements>
</endEvent>
<sequenceFlow id="sid-3315FADC-CFDF-4883-BBD0-44A9C961B313" name="通过" sourceRef="sid-A3B05AB4-F8C9-4325-B73D-B3AD17F820B4" targetRef="sid-10FBD3E4-F5DB-4223-9A33-ADF96F4CE165">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${auditType=='approved'}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="sid-DD809A88-D2F0-4357-852A-35A1C3DAC4BE" name="不通过" sourceRef="sid-A3B05AB4-F8C9-4325-B73D-B3AD17F820B4" targetRef="sid-7B0BAFB1-64D9-40C9-9664-72434BF7C147">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${auditType=='rejected'}]]></conditionExpression>
</sequenceFlow>
</process>
<bpmndi:BPMNDiagram id="BPMNDiagram_screen_image_release">
<bpmndi:BPMNPlane bpmnElement="screen_image_release" id="BPMNPlane_screen_image_release">
<bpmndi:BPMNShape bpmnElement="startEvent1" id="BPMNShape_startEvent1">
<omgdc:Bounds height="30.0" width="30.0" x="100.0" y="145.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-BEE47029-E5CC-4642-82F9-D6B924FE0BF2" id="BPMNShape_sid-BEE47029-E5CC-4642-82F9-D6B924FE0BF2">
<omgdc:Bounds height="80.0" width="100.0" x="180.0" y="120.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-A3B05AB4-F8C9-4325-B73D-B3AD17F820B4" id="BPMNShape_sid-A3B05AB4-F8C9-4325-B73D-B3AD17F820B4">
<omgdc:Bounds height="40.0" width="40.0" x="370.0" y="140.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-10FBD3E4-F5DB-4223-9A33-ADF96F4CE165" id="BPMNShape_sid-10FBD3E4-F5DB-4223-9A33-ADF96F4CE165">
<omgdc:Bounds height="28.0" width="28.0" x="490.0" y="146.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-7B0BAFB1-64D9-40C9-9664-72434BF7C147" id="BPMNShape_sid-7B0BAFB1-64D9-40C9-9664-72434BF7C147">
<omgdc:Bounds height="28.0" width="28.0" x="376.0" y="255.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sid-24896AB2-6026-44A6-A69E-0A82635B3F7A" id="BPMNEdge_sid-24896AB2-6026-44A6-A69E-0A82635B3F7A" flowable:sourceDockerX="15.0" flowable:sourceDockerY="15.0" flowable:targetDockerX="50.0" flowable:targetDockerY="40.0">
<omgdi:waypoint x="129.9499986183554" y="160.0"></omgdi:waypoint>
<omgdi:waypoint x="180.0" y="160.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-3315FADC-CFDF-4883-BBD0-44A9C961B313" id="BPMNEdge_sid-3315FADC-CFDF-4883-BBD0-44A9C961B313" flowable:sourceDockerX="20.5" flowable:sourceDockerY="20.5" flowable:targetDockerX="14.0" flowable:targetDockerY="14.0">
<omgdi:waypoint x="409.52539787798173" y="160.41592920353983"></omgdi:waypoint>
<omgdi:waypoint x="490.0001302857386" y="160.06145328221328"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-8C4D16BD-0209-465C-AC61-8797AF774439" id="BPMNEdge_sid-8C4D16BD-0209-465C-AC61-8797AF774439" flowable:sourceDockerX="50.0" flowable:sourceDockerY="40.0" flowable:targetDockerX="20.5" flowable:targetDockerY="20.5">
<omgdi:waypoint x="279.9499999999971" y="160.1556072666356"></omgdi:waypoint>
<omgdi:waypoint x="370.4375" y="160.4375"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-DD809A88-D2F0-4357-852A-35A1C3DAC4BE" id="BPMNEdge_sid-DD809A88-D2F0-4357-852A-35A1C3DAC4BE" flowable:sourceDockerX="20.5" flowable:sourceDockerY="20.5" flowable:targetDockerX="14.0" flowable:targetDockerY="14.0">
<omgdi:waypoint x="390.41203703703703" y="179.5288859313965"></omgdi:waypoint>
<omgdi:waypoint x="390.0642857043313" y="255.0001461003313"></omgdi:waypoint>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>
Binary file not shown.
@@ -9,7 +9,7 @@ import cn.com.mfish.common.oauth.validator.TokenValidator;
import cn.com.mfish.common.storage.api.entity.StorageInfo;
import cn.com.mfish.storage.mapper.StorageMapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
+10 -10
View File
@@ -26,30 +26,30 @@
<java.version>21</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>4.1.0</spring-boot.version>
<spring-boot-admin.version>4.1.1</spring-boot-admin.version>
<spring-cloud.version>2025.1.2</spring-cloud.version>
<spring-boot.version>4.1.1</spring-boot.version>
<spring-boot-admin.version>4.1.2</spring-boot-admin.version>
<spring-cloud.version>2025.1.3</spring-cloud.version>
<spring-cloud-alibaba.version>2025.1.0.0</spring-cloud-alibaba.version>
<spring-ai.version>2.0.0</spring-ai.version>
<swagger.doc.version>3.0.3</swagger.doc.version>
<swagger.core.version>2.2.49</swagger.core.version>
<spring-ai.version>2.0.1</spring-ai.version>
<swagger.doc.version>3.1.1</swagger.doc.version>
<swagger.core.version>2.2.54</swagger.core.version>
<kaptcha.version>2.3.2</kaptcha.version>
<mybatis-plus.version>3.5.16</mybatis-plus.version>
<mybatis-spring-boot.version>4.0.1</mybatis-spring-boot.version>
<mybatis-plus.version>3.5.17</mybatis-plus.version>
<mybatis-spring-boot.version>4.1.0</mybatis-spring-boot.version>
<pagehelper.boot.version>4.1.1</pagehelper.boot.version>
<jsqlparser.version>5.3</jsqlparser.version>
<druid.version>1.2.28</druid.version>
<dynamic-ds.version>4.5.0</dynamic-ds.version>
<commons.io.version>2.21.0</commons.io.version>
<commons.text.version>1.15.0</commons.text.version>
<freemarker.version>2.3.34</freemarker.version>
<freemarker.version>2.3.35</freemarker.version>
<fastjson.version>2.0.60</fastjson.version>
<zxing.version>3.5.4</zxing.version>
<wechat.version>4.8.2-20260509.102920</wechat.version>
<aliyun-oss.version>3.18.3</aliyun-oss.version>
<qiniu-sdk.version>7.19.0</qiniu-sdk.version>
<rocketmq.version>2.3.5</rocketmq.version>
<bcprov.version>1.84</bcprov.version>
<bcprov.version>1.85</bcprov.version>
<oracle.version>23.26.0.0.0</oracle.version>
<pgsql.version>42.7.12</pgsql.version>
<mssql.version>13.4.0.jre11</mssql.version>