1、前言
🚀 不知道各位小伙伴有没有使用过无代码软件平台的经历呢?有没有想过你可以通过简单的拖拽就能构建和部署强大的应用程序?
简单地说,smardaten无代码系统使任何人都能够开发软件,无需高深的开发知识。并且,smardaten系统拥有强大的逻辑编排业务能力,即使是最复杂的工作流程,都能够通过直观的图形界面轻松设计和管理。
2、复杂逻辑编排是什么?
可能有小伙伴会问,复杂逻辑编排具体是指什么呢?这里做一个详细的解释如下~
🧩在我们的无代码环境中,它意味着无论你的业务流程多么复杂、多么独特,都可以通过简单并且非常直观的界面,把各个模块拼凑起来,构建出完全符合你需求的应用程序。smardaten提供了丰富的工具和元素,使得无需编程知识,就能够设计出从简单的表单提交到复杂的条件决策、数据处理、通知发送等一系列功能。
🔍 这个强大的功能,对于无论是初创公司还是大型企业,都极具价值。它可以帮助你快速地构建和迭代你的应用程序,无需聘请大量的开发人员或者长时间的开发周期。可以把更多的精力和资源,投入到你的核心业务和创新上,而非技术开发上。
🚀看看未来,复杂逻辑编排的应用前景无比广阔。随着人工智能、大数据、云计算等技术的发展,未来的业务流程会变得更加复杂、更加智能。在这个趋势下,smardaten无代码系统不仅能帮助应对当前的业务需求,还能够使我们更好地适应未来的变化,抓住每一个商机。
接下来就为大家实战操作讲解使用smardaten进行复杂的逻辑编排案例:服务编排--进销存。
3、服务编排-进销存
(1)业务说明
首先我们以进销存为案例来进行服务编排。
下图是服务编排中的“商品列表页”界面详情,这个页面陈列了我们系统的商品,并显示了商品售价与库存,与此同时我们可以选择商品,对商品进行编辑、删除、查看详情等各类操作。
在商品详情页面,我们可以选购商品,获取售价和库存,推荐商品为选购商品相关产品,获取售价和库存。
用户具体操作如下:通过商品列表页查看可售(库存>0)商品后,选择商品,进入商品详情页后选择该商品,可选择推荐商品,进行统一购买后,后台校验库存,库存>0即可支持购买,否则提示库存不足,保存后调用第三方支付接口完成购买。
(2)设计说明
那么上述服务编排的设计思路具体是怎么样的呢?可以看看如下所示~
简单的来说,就是管理主商品、子商品(推荐商品)的售价、库存的数据表,主/子商品表需要关联。
用户选择商品后从前端页面到服务端交互如下图。
结合上面的交互流程图,我们需要进行:
- 数据库设计:设计主子商品表
- 平台功能映射:整体操作是通过smardaten平台配置出来的,需要分解如何配置
- 表单设计:选择商品的详情
- 列表设计:展示商品的列表
- 逻辑设计:选择商品到完成商品选择,库存扣减的逻辑
通过用户操作链将会进行系统的操作映射,这也正是逻辑控制(服务编排)的过程,当用户提交订单之后,会触发系统的逻辑控制,逻辑控制通过服务编排配置好生成订单逻辑,服务编排处理生成订单的结果将通过逻辑控制进行通知和提示。如下图所示,详细展示了映射过程,体现了服务编排能力。
梳理完上述的业务说明和整体设计思路之后,接下来我们详细看看如何具体的进行数据库设计、表单设计、列表设计、逻辑控制设计、服务编排设计吧~
1)数据库设计
首先是主商品表(t_a_commodity):用于表单主表中商品信息的资产选择。
其次是子商品表(t_a1_commodity):用于表单中子表中商品信息的资产选择。
最后是订单表(t_order_form):用于选择商品后,生成订单记录。
设计完物理表后,通过smardaten的数据源和数据图书馆进行连接,建立数据资产。
下图为数据资产管理。
2)表单设计
接下来进行表单的资产设计管理,具体操作如下。首先选中页面设置导航栏中的“表单”控件。
然后进入到“选择商品”表单详细界面。
接着进行数据绑定,绑定主商品和子商品两张表。
3)列表设计
接下来进行列表设计,具体操作如下。首先选中页面设置导航栏中的“列表”控件。
选择相同表单组件,用于列表共用。
继续配置按钮。
这样就可以显示主表商品名称、商品售价、商品库存了~
4)逻辑设计
接下来梳理逻辑设计思路,主要根据前后端逻辑处理流程,映射至平台的逻辑控制和服务编排的配置思路。
4.1 逻辑控制设计
1. 组件动作:用于获取主表中组件的值
- 选择组件:商品名称,选择动作:取值,返回值:commodity_name,值33
- 选择组件:商品售价,选择动作:取值,返回值:commodity_price,值
2. 表单取值:用于获取子表中对象数组
变量名称:zibiao
选择表单:子表
选择组件:推荐商品
变量类型:对象数组
选取组件:推荐商品、推荐售价、剩余库存
3. 服务编排
- 参数列表
commodity_price=commodity_price
zibiao=zibiao
commodity_name=commodity_name
- 返回结果
msg=message
4. 条件分支
5. 通知提示
提示类型:成功提示,内容类型:变量,变量选择msg即可。
提示类型:失败提示,内容类型:变量,变量选择msg。
4.2 服务编排设计
在服务编排设计中,一共共17个节点。
-
开始节点
2. S3数据读取:
- 简单模式
- 选择资产:主商品表
- 筛选条件:commodity_name等于commodity_name
- 输出字段:commodity_id=文本,commodity_stock=数值
- 输出变量:cList=对象数组
3. S5变量计算
4. S4分支判定
表达式:cList[0].commodity_stock>0
5. S16变量计算(分支判定否)
6. S6循环判定(分支判定是)
模式:遍历,选择变量:zibiao,循环游标:i,循环变量名:a,循环变量类型:字符串
7. S7变量计算(循环判定是)
8. S8数据读取
- 操作模式:简单模式
- 选择资产:关联商品表
- 筛选条件:commodity_name等于z_commodity_name
- 输出字段:
commodity_name=文本
commodity_id=文本
commodity_price=数值
commodity_stock=数值
commodity_state=日期时间
t_rel_commodity_id=文本
- 输出变量:z_commodity_stock=对象数组
9. S9分支判定
表达式:zList[0].commodity_stock>0
10. S12变量计算
11. S19数据操作
选择高级模式(向订单表中插入商品信息):insert into t_order_form(order_state,order_date,commodity_id,commodity_name,commodity_price) values ('1',now(),'${commodity_id}','${commodity_name}','${commodity_price}')
12. S20数据操作
选择高级模式(对商品表中库存字段做减1操作)
update t_a_commodity set commodity_stock=commodity_stock-1 where commodity_id="${commodity_id}" and commodity_stock>0
13. S13循环判定
14. S22Restful调用(S13循环判定否)
接口地址(GET):
https://www.fastmock.site/mock/f4f85dbdda50d38747d0545c6e5eea41/shop/shop/shop_01
15. S14变量计算
16. S21变量计算(S13循环判定是)
17. S10数据操作
insert into t_order_form(order_state,order_date,commodity_id,commodity_name,commodity_price) values ('1',now(),'${z_commodity_id}','${z_name}','${z_commodity_price}')
18. S18数据操作
update t_a1_commodity set commodity_stock=commodity_stock-1 where commodity_id="${z_commodity_id}" and commodity_stock>0
怎么样,看到这里,你是否心动了呢!
smardaten增强了复杂逻辑编排的自动化程度并极大程度地简化了设计思路,这将有助于进一步提高开发效率。
所有这些充满魅力的功能,都在这里等待着我们去探索和解锁...
I 试用地址:s3.smardaten.com