addSucceed拦截器不运行

/**
 * 外部文书子表关联记录
 */
public class Relevance extends MetaObjectIntercept {

    /**
     * 查询前置任务(DIY复杂查询条件)
     *
     * <pre>
     * 用法:获取查询条件值
     * ac.ctrl.getPara("query_查询条件字段名");
     *
     * 用法:追加条件
     * ac.condition = "and id < ?";
     * ac.params.add(999);
     *
     * 用法:覆盖条件
     * ac.where = "where id < ?";
     * ac.params.add(5);
     *
     * 用法:覆盖排序
     * ac.sort = "order by id desc";
     *
     * 用法:覆盖整个SQL语句
     * ac.sql = "select * from table";
     * </pre>
     */
    @Override
    public void queryBefore(AopContext ac) throws Exception {
        System.out.println("Relevance");
        String sessionAttr = ac.ctrl.getSessionAttr("register_id");
        System.out.println("获取id:" + sessionAttr);
        if (null != sessionAttr) {
            ac.condition = " and register_id = " + sessionAttr;
        }
    }

    /**
     * 新增成功之后(事务外)
     * <pre>
     * ac.records 当前操作数据集:Form模式只有一个对象,Grid模式会有多个对象
     * -------------
     * 用法:关联操作
     * 例:重置缓存,记录日志...
     * </pre>
     */
    public String addSucceed(AopContext ac) throws Exception {
        System.out.println("添加");
        Record records = ac.records.get(0);
        String tableName = ac.object.getTable();
        int processId = Db.queryInt("select id from process where table_name = ?", tableName);
        //保存关联记录
        FinishRecord finishRecord = new FinishRecord();
        finishRecord.set("record_id", records.get("id"));
        finishRecord.set("register_id", records.get("register_id"));
        finishRecord.set("process_id", processId);
        System.out.println("6666666666"+finishRecord);
        finishRecord.save();
        return super.addSucceed(ac);
    }
}
兄弟们这个addSucceed这方法不运行咋回事正常为null之后该运行下面那个方法了


评论区

JFinal

2021-04-07 12:13

jfinal 没有 MetaObjectIntercept 也没有 AopContext 这类组件

难道是 eova 项目中扩展的? 问问 eova 作者