JEPaaS 社区

 找回密码
 立即注册
JECloud低代码平台-官网
查看: 5913|回复: 0

【后端系列】JEPaaS变更功能标准化实现

[复制链接]

0

主题

0

帖子

56

积分

注册会员

Rank: 2

积分
56
发表于 2022-4-18 17:15:56 | 显示全部楼层 |阅读模式
本帖最后由 凯特-王少龙 于 2022-4-21 17:46 编辑

一、实现效果
变更功能标准化实现方式。
二、实现思路
1.使用工作流引擎调用后台方法。
2.在审核成功后对变更内容修改。
三、具体操作


1.在资源表定义规范的变更字段,在需要变更的字段后添加_BG。
1650268736(1).jpg
1650268694(1).jpg
2.变更功能调用后台功能存在两种实现方式
业务流:
1650272895(1).jpg

审核:在功能审核成功后对变更内容修改
3.在调用的后端方法中使用方法对变更的信息进行更新。
1650271553(1).jpg
四、相关代码(可选)

  1. @Override
  2.     public void doPotBgWfEnd(WfEventSubmitInfo submitInfo) {
  3.         DynaBean dynaBean=submitInfo.getDynaBean();
  4.         DynaBean pot = serviceTemplate.selectOneByPk("GTHR_POT", dynaBean.getStr("GTHR_POT_ID"));
  5.         if(pot==null){
  6.             return;
  7.         }
  8.         //找到变更的表
  9.         DynaBean table= BeanUtils.getInstance().getResourceTable("GTHR_POT_BG");
  10.         //获取到表的所有列
  11.         List<DynaBean> columns= (List<DynaBean>) table.get(BeanUtils.KEY_TABLE_COLUMNS);
  12.         Set<String> bgFields=new HashSet<>();
  13.         for(DynaBean column:columns){
  14.                         //获取到表的字段
  15.             String columnCode=column.getStr("TABLECOLUMN_CODE");
  16.                         //对结尾为_BG的字段进行封装
  17.             if(columnCode.endsWith("_BG")){
  18.                 bgFields.add(columnCode);
  19.             }
  20.         }
  21.         for(String bgField:bgFields){
  22.                         //将以_BG结尾的字段进行截取,对应上变更前的字段,进行赋值
  23.             String fieldCode=bgField.substring(0,bgField.lastIndexOf("_BG"));
  24.             pot.set(fieldCode,dynaBean.getStr(bgField));
  25.         }
  26.         serviceTemplate.update(pot);
  27.     }
复制代码
五、总结(可选)
使用该方法可以标准化实现变更,在以后如果功能需要添加变更,无需修改后台代码,具有较强的复用性。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|JEPaaS 低代码平台社区 ( 京ICP备18023569号 )

GMT+8, 2024-4-19 06:54 , Processed in 0.061398 second(s), 23 queries .

Powered by 北京凯特伟业科技有限公司

Copyright © 2001-2021, JEPaaS.COM

快速回复 返回顶部 返回列表