UNPKG

yonbip-code-gen-mcp

Version:

YonBIP高级版代码生成MCP

168 lines (114 loc) 2.92 kB
# 业务规则开发步骤 1 定义bp类 2 开发前后规则 3 组装流程 # 业务规则简易BP demo模板 ``` import nc.impl.pubapp.pattern.rule.processer.AroundProcesser; import nc.bs.dao.BaseDAO; /** * demo 业务bp */ public class DemoBusinessBP { //操作数据库工具类 private static BaseDAO dao = new BaseDAO(); /** * 后规则 * DemoVO 替换为自己实际的业务vo * @param processer */ private void addAfterRule(AroundProcesser<DemoVO> processer) { processer.addAfterRule(new DemoAfterRule()); } /** * 前规则 * DemoVO 替换为自己实际的业务vo * @param processer */ private void addBeforeRule(AroundProcesser<DemoVO> processer) { processer.addBeforeRule(new DemoBeforeRule()); } /** * do some business * DemoVO 替换为自己实际的业务vo * @param vos */ public void doBusiness(DemoVO[] vos){ AroundProcesser processor = new AroundProcesser(DemoPoint.DemoBusinessBP); this.addBeforeRule(processor); this.addAfterRule(processor); processor.before(vos); //dobusiness todo... System.out.println("do some business"); processor.after(vos); } /** * 获取DAO * @return */ private BaseDAO getDAO() { return dao; } } ``` # 业务规则扩展点枚举 demo ```java import nc.impl.pubapp.pattern.rule.plugin.IPluginPoint; /** * 示例扩展点 枚举 */ public enum DemoPoint implements IPluginPoint { /** * demo 业务BP */ DemoBusinessBP("DemoBusinessBP类全路径"); // 插入点 private String point; private DemoPoint(String point) { this.point = point; } @Override public String getComponent() { return "组件编码"; } @Override public String getModule() { return "模块编码"; } @Override public String getPoint() { return this.point; } } ``` # 业务规则扩展-前规则 demo ```java import nc.impl.pubapp.pattern.rule.IRule; /** * 前规则 */ public class DemoBeforeRule implements IRule<DemoVO> { @Override public void process(DemoVO[] vos) { System.out.println("execute DemoBeforeRule"); } } ``` # 业务规则扩展-后规则 demo ```java import nc.impl.pubapp.pattern.rule.IRule; /** * 后规则 */ public class DemoAfterRule implements IRule<DemoVO> { @Override public void process(DemoVO[] vos) { System.out.println("execute DemoAfterRule"); } } ``` # 业务规则使用 demo ``` DemoBusinessBP demoBusinessBP = new DemoBusinessBP(); demoBusinessBP.doBusiness(new DemoVO[]{vo}); ```