20 小时以前 c41453da216df0e5c01a9d319544c88446e22b66
fix(approve): 修复审批模板更新时的引用检查逻辑

- 将模板引用检查方法从 isTemplateReferenced 更新为 hasPendingReference
- 修改检查条件为仅检查进行中的审批实例引用,而非所有引用
- 新增 hasPendingReference 方法实现进行中状态的精确检查
- 统一使用 PENDING 状态标识进行中审批实例的查询条件
- 修复了模板被误判为被引用导致无法编辑的问题
- 优化了数据库查询逻辑以提高检查准确性

chore(config): 统一配置文件中的API密钥管理

- 将多个模型配置中的不同API密钥统一为相同的密钥值
- 确保embedding-model、chat-model和open-ai配置使用一致的API密钥
- 删除了冗余的独立API密钥配置项以简化维护工作
已修改2个文件
23 ■■■■ 文件已修改
src/main/java/com/ruoyi/approve/service/impl/ApprovalTemplateServiceImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/service/impl/ApprovalTemplateServiceImpl.java
@@ -85,8 +85,8 @@
    @Override
    public Boolean updateApprovalTemplateDto(ApprovalTemplateDto approvalTemplateDto) {
        // 检查模板是否被审批实例引用
        if (isTemplateReferenced(approvalTemplateDto.getId())) {
        // 检查模板是否被进行中的审批实例引用
        if (hasPendingReference(approvalTemplateDto.getId())) {
            throw new RuntimeException("该审批模板已被审批流程引用,无法编辑");
        }
        approvalTemplateMapper.updateById(approvalTemplateDto);
@@ -305,4 +305,17 @@
        );
        return count != null && count > 0;
    }
    private boolean hasPendingReference(Long templateId) {
        if (templateId == null) {
            return false;
        }
        Long count = approvalInstanceMapper.selectCount(
                new LambdaQueryWrapper<ApprovalInstance>()
                        .eq(ApprovalInstance::getTemplateId, templateId)
                        .eq(ApprovalInstance::getDeleted, 0)
                        .eq(ApprovalInstance::getStatus, "PENDING")
        );
        return count != null && count > 0;
    }
}
src/main/resources/application.yml
@@ -28,14 +28,14 @@
        api-key: sk-bd235cc13cd74e2388aa8984c84f691f
        model-name: "qwen-max"
      embedding-model:
        api-key: sk-9748859926b94096b920baaa12c343f5
        api-key: sk-bd235cc13cd74e2388aa8984c84f691f
        model-name: "text-embedding-v3"
      chat-model:
        api-key: sk-9748859926b94096b920baaa12c343f5
        api-key: sk-bd235cc13cd74e2388aa8984c84f691f
        model-name: "qwen-max"
  open-ai:
    chat-model:
      api-key: sk-9748859926b94096b920baaa12c343f5
      api-key: sk-bd235cc13cd74e2388aa8984c84f691f
      base-url: "https://dashscope.aliyuncs.com/compatible-mode/v1"
      model-name: "deepseek-v3"
      log-requests: true