其它API
如果當前項目中包含urule-console-pro模塊,在業務需要的情況下,還(hái)可(kě)以直接通(tōng)過console模塊提供的API來(lái)訪問URULE PRO的系統表,這些(xiē)API都是以單例形式存在,我們可(kě)以直接通(tōng)過它們的靜态屬性ins來(lái)取得(de)具體(tǐ)的接口實現的實例。下表中羅列一些(xiē)常用的系統表操作(zuò)接口及相關描述。
常用api
名稱 | 對象獲取方式 | 描述 |
---|---|---|
FileManager | FileManager.ins | 對當前系統中存儲規則文件的文件表進行(xíng)各種操作(zuò)。 |
VersionFileManager | VersionFileManager.ins | 存儲文件版本的表。 |
DirectoryManager | DirectoryManager.ins | 存儲規則文件目錄的。 |
PacketManager | PacketManager.ins | 操作(zuò)存儲當前系統中定義知識包的表。 |
PacketFileManager | PacketFileManager.ins | 操作(zuò)存儲知識包裏包含的具體(tǐ)文件。 |
PacketDeployManager | PacketDeployManager.ins | 對當前系統中存儲已發布的所有(yǒu)的知識包的表進行(xíng)各種操作(zuò)。 |
PacketDeployFileManager | PacketDeployFileManager.ins | 存儲已發布的知識包中包含的文件的表 |
PacketApplyManager | PacketApplyManager.ins | 存儲知識包啓用與發布申請(qǐng)的表 |
ProjectManager | ProjectManager.ins | 存儲所有(yǒu)項目的表。 |
AuthorityManager | AuthorityManager.ins | 權限存儲相關的操作(zuò) |
GroupManager | GroupManager.ins | 團隊相關的操作(zuò) |
InviteManager | InviteManager.ins | 邀請(qǐng)相關的操作(zuò) |
ProjectRoleManager | ProjectRoleManager.ins | 項目角色相關的操作(zuò) |
UserManager | UserManager.ins | 用戶相關的操作(zuò) |
示例程序
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服務端程序(有(yǒu)設計(jì)器(qì)的功能)中,也可(kě)以直連數(shù)據庫,随心所意操作(zuò)
*/
@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文件內(nèi)容,大(dà)字段
String xml=FileManager.ins.loadContent(8);
System.out.println(xml);
return list;
}
}