• com.yyjz.icop.pubapp.platform.template.IRuleDispatcher<E>,实现该接口可以进行规则注入
public interface IRuleDispatcher<E> {
    void addBeforeRule(IcopRule<E> rule);
    void addAfterRule(IcopRule<E> rule);
    void addExtraBeforeRule(IcopRule<E> rule);
    void addExtraAfterRule(IcopRule<E> rule);
}

IRuleDispatcher继承结构如下,可以看到,通过CRUD接口均实现了该接口,删除(DeleteTemplate),插入(InserteTemplate),更新(UpdateTemplate)

  • 实现com.yyjz.icop.pubapp.platform.rule.IcopRule<T>接口,自定义规则,接口定义如下:
public interface IcopRule<T> {

      /**
       * 对传入的对象进行业务处理
       * 
       * @param vos 传入的要处理的对象
       */
      void process(T[] entitys);
}
  • 以新增DAO为例,展示怎么注入前置规则,示例代码注入审计信息处理前置规则和附件上传(需要配置服务)后置规则:
public class AwardInsertActivity {
    @Autowired
    private InsertTemplate<AwardEntity> insert;
    /**
     * 引入审计信息公共rule
     */
    @Autowired
    private AddAuditinfoRule<AwardEntity> addAuditinfoRule;

    /**
     * 引入附件公共rule
     */
    @Autowired
    private AddFsAttachRule<AwardEntity> addFsAttachRule;

    public AwardEntity insert(AwardEntity entity) {
        insert.addBeforeRule(addAuditinfoRule);//注入前置规则
        insert.addAfterRule(addFsAttachRule);//注入后置规则,需要配置附件上传dubbo服务
        AwardEntity[] backEntity = insert.doAction(new AwardEntity[] { entity });
        return backEntity[0];
    }
}

results matching ""

    No results matching ""