【后端系列】JEPaaS变更功能标准化实现
本帖最后由 凯特-王少龙 于 2022-4-21 17:46 编辑一、实现效果
变更功能标准化实现方式。
二、实现思路
1.使用工作流引擎调用后台方法。
2.在审核成功后对变更内容修改。
三、具体操作
1.在资源表定义规范的变更字段,在需要变更的字段后添加_BG。
2.变更功能调用后台功能存在两种实现方式
业务流:
审核:在功能审核成功后对变更内容修改
3.在调用的后端方法中使用方法对变更的信息进行更新。
四、相关代码(可选)
@Override
public void doPotBgWfEnd(WfEventSubmitInfo submitInfo) {
DynaBean dynaBean=submitInfo.getDynaBean();
DynaBean pot = serviceTemplate.selectOneByPk("GTHR_POT", dynaBean.getStr("GTHR_POT_ID"));
if(pot==null){
return;
}
//找到变更的表
DynaBean table= BeanUtils.getInstance().getResourceTable("GTHR_POT_BG");
//获取到表的所有列
List<DynaBean> columns= (List<DynaBean>) table.get(BeanUtils.KEY_TABLE_COLUMNS);
Set<String> bgFields=new HashSet<>();
for(DynaBean column:columns){
//获取到表的字段
String columnCode=column.getStr("TABLECOLUMN_CODE");
//对结尾为_BG的字段进行封装
if(columnCode.endsWith("_BG")){
bgFields.add(columnCode);
}
}
for(String bgField:bgFields){
//将以_BG结尾的字段进行截取,对应上变更前的字段,进行赋值
String fieldCode=bgField.substring(0,bgField.lastIndexOf("_BG"));
pot.set(fieldCode,dynaBean.getStr(bgField));
}
serviceTemplate.update(pot);
}五、总结(可选)
使用该方法可以标准化实现变更,在以后如果功能需要添加变更,无需修改后台代码,具有较强的复用性。
页:
[1]