其它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;
    }
}

results matching ""

    No results matching ""