feat(dify): 添加应用启用禁用功能和可用应用列表接口- 在 DifyServerService 接口中添加 enabledApp 方法

- 在 DifyServerServiceImpl 中实现 enabledApp 方法,用于切换应用的启用状态
- 在 V1ServerController 中添加 enabledApp 控制器方法- 新增 getAbleApps接口,用于获取可用应用列表
- 优化应用列表查询,使用 LambdaQueryWrapper 替代 QueryWrapper
This commit is contained in:
zhuangtianxiang 2025-04-26 11:57:29 +08:00
parent b4d5584f9b
commit 9b72d5deb0
4 changed files with 30 additions and 4 deletions

View File

@ -10,6 +10,7 @@ import org.springframework.security.authentication.ProviderManager;
import org.springframework.security.authentication.dao.DaoAuthenticationProvider;
import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity;
import org.springframework.security.core.session.SessionRegistry;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.web.SecurityFilterChain;
@ -23,6 +24,7 @@ import javax.sql.DataSource;
/**
* @author harry_yao
*/
//@EnableWebFluxSecurity
@AllArgsConstructor
@EnableMethodSecurity
@Configuration

View File

@ -1,6 +1,7 @@
package com.zsc.edu.dify.modules.dify.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.zsc.edu.dify.modules.dify.entity.AppEntity;
import com.zsc.edu.dify.modules.dify.service.DifyServerService;
import io.github.guoshiqiufeng.dify.server.DifyServer;
@ -82,11 +83,25 @@ public class V1ServerController {
}
/**
* 切换启用状态
*
* @param id 应用id
* @return
*/
@PostMapping("/app/{id}")
public boolean enabledApp(@PathVariable("id") String id) {
return true;
public boolean enabledApp(@PathVariable String id) {
return difyServerService.enabledApp(id);
}
/**
* 获取可用应用列表
* @return
*/
@GetMapping("/apps/able")
public List<AppEntity> getAbleApps() {
LambdaQueryWrapper<AppEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AppEntity::isEnabled, true);
return difyServerService.list(queryWrapper);
}
}

View File

@ -9,4 +9,5 @@ import java.util.List;
public interface DifyServerService extends IService<AppEntity> {
List<AppsResponseVO> getApps(String mode, String name);
boolean enabledApp(String id);
}

View File

@ -1,9 +1,7 @@
package com.zsc.edu.dify.modules.dify.service.Impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zsc.edu.dify.common.util.TreeUtil;
import com.zsc.edu.dify.exception.ConstraintException;
import com.zsc.edu.dify.modules.dify.entity.AppEntity;
import com.zsc.edu.dify.modules.dify.mapper.AppEntityMapper;
@ -57,4 +55,14 @@ public class DifyServerServiceImpl extends ServiceImpl<AppEntityRepository, AppE
return appsResponseList;
}
@Override
public boolean enabledApp(String id) {
AppEntity appEntity = baseMapper.selectById(id);
if(appEntity == null){
throw new ConstraintException("应用不存在");
}
appEntity.setEnabled(!appEntity.isEnabled());
baseMapper.updateById(appEntity);
return true;
}
}