其它API
如果当前项目中包含urule-console-pro模块,在业务需要的情况下,还可以直接通过console模块提供的API来访问URULE PRO的系统表,这些API都是以单例形式存在,我们可以直接通过它们的静态属性ins来取得具体的接口实现的实例。下表中罗列一些常用的系统表操作接口及相关描述。
常用api
名称 | 对象获取方式 | 描述 |
---|---|---|
FileManager | FileManager.ins | 对当前系统中存储规则文件的文件表进行各种操作。 |
VersionFileManager | VersionFileManager.ins | 存储文件版本的表。 |
DirectoryManager | DirectoryManager.ins | 存储规则文件目录的。 |
PacketManager | PacketManager.ins | 操作存储当前系统中定义知识包的表。 |
PacketFileManager | PacketFileManager.ins | 操作存储知识包里包含的具体文件。 |
PacketDeployManager | PacketDeployManager.ins | 对当前系统中存储已发布的所有的知识包的表进行各种操作。 |
PacketDeployFileManager | PacketDeployFileManager.ins | 存储已发布的知识包中包含的文件的表 |
PacketApplyManager | PacketApplyManager.ins | 存储知识包启用与发布申请的表 |
ProjectManager | ProjectManager.ins | 存储所有项目的表。 |
AuthorityManager | AuthorityManager.ins | 权限存储相关的操作 |
GroupManager | GroupManager.ins | 团队相关的操作 |
InviteManager | InviteManager.ins | 邀请相关的操作 |
ProjectRoleManager | ProjectRoleManager.ins | 项目角色相关的操作 |
UserManager | UserManager.ins | 用户相关的操作 |
示例程序
package com.bstek.demo.test;
import com.bstek.urule.console.database.manager.file.FileManager;
import com.bstek.urule.console.database.manager.file.FileQuery;
import com.bstek.urule.console.database.manager.packet.PacketManager;
import com.bstek.urule.console.database.manager.packet.PacketQuery;
import com.bstek.urule.console.database.manager.packet.file.PacketFileManager;
import com.bstek.urule.console.database.manager.packet.file.PacketFileQuery;
import com.bstek.urule.console.database.manager.project.ProjectManager;
import com.bstek.urule.console.database.manager.project.ProjectQuery;
import com.bstek.urule.console.database.model.Packet;
import com.bstek.urule.console.database.model.PacketFile;
import com.bstek.urule.console.database.model.Project;
import com.bstek.urule.console.database.model.RuleFile;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
/**
* 以下第三方api只能用在uRule服务端程序(有设计器的功能)中,也可以直连数据库,随心所意操作
*/
@org.springframework.web.bind.annotation.RestController
@RequestMapping("rest")
public class RestController {
/**
* 查询知识包
* @return
*/
@RequestMapping("getPackages")
public List<Packet> getPackages() {
PacketQuery query = PacketManager.ins.newQuery();
query.paging(1, 10);
query.nameLike("demo");
List<Packet> list=query.list();
System.out.println(list);
return list;
}
/**
* 查询项目列表
* @return
*/
@RequestMapping("getProjects")
public List<Project> getProjects() {
ProjectQuery query = ProjectManager.ins.newQuery();
List<Project> list=query.list();
System.out.println(list);
return list;
}
/**
* 查询知识包及文件
* @return
*/
@RequestMapping("getPacketFiles")
public List<PacketFile> getPacketFiles() {
PacketFileQuery query = PacketFileManager.ins.newQuery();
query.projectId(301);//项目id
List<PacketFile> list=query.list();
System.out.println(list);
return list;
}
/**
* 查询规则文件
* @return
*/
@RequestMapping("getFiles")
public List<RuleFile> getFiles() {
FileQuery query = FileManager.ins.newQuery();
List<RuleFile> list=query.list(1L);//项目id=1
System.out.println(list);
// 获取xml文件内容,大字段
String xml=FileManager.ins.loadContent(8);
System.out.println(xml);
return list;
}
}