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

results matching ""

    No results matching ""