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