yonbip-code-gen-mcp
Version:
YonBIP高级版代码生成MCP
168 lines (114 loc) • 2.92 kB
Markdown
1 定义bp类
2 开发前后规则
3 组装流程
```
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;
}
}
```
```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;
}
}
```
```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");
}
}
```
```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");
}
}
```
```
DemoBusinessBP demoBusinessBP = new DemoBusinessBP();
demoBusinessBP.doBusiness(new DemoVO[]{vo});
```