低代码项目实战第一弹!2人14天快速构建电商企业供应链管理平台(一)

news2025/2/2 10:02:36

一、前言:项目背景

项目情况:一家主要通过电商平台销售日用清洁用品的企业,淘宝垂直品类第一,销售模式包括自营和代理商两种模式,平时用旺店通ERP进行订单管理和财务结算。并且客户公司有小的开发团队,可以自行进行运维和准备项目环境,需求主要和客户开发进行确认。

项目需求:需要一套能够与原旺店通ERP系统打通的拓展系统(即供应链管理平台),将渠道创建的订单同步到旺店通ERP中,其中货品、店铺等信息需要从旺店通ERP中同步。

项目周期:14工作日(2周半)

参与人数:2人(1产品经理,1全栈)。

项目开始.....1 2 3 go

二、第1-2天:需求调研

项目合同签订后,第一时间与客户商定需求调研时间,地点,方案。然后抓紧安排调研工作。

本项目(供应链管理平台)由于项目需求其实并不会特别复杂,所以我们安排了2天的调研周期,并前往客户现场进行当面确认。

调研产出:织信低代码中需要搭建的系统分为渠道端和运营端两个操作端口,需要与旺店通ERP进行对接。

运营端:由公司内部人员参与,对渠道和订单信息进行管理;

渠道端:可支持渠道商登陆,并且和旺店通ERP的订单操作行为进行实时数据同步;

除了基础的下单行为外,还需要具备渠道钱包功能,渠道发起的退货会以渠道钱包的方式进行退回,钱包中的金额可在后续的支付中进行抵扣。(这是去现场调研到的一个额外延伸需求,但是评估下来低代码实施并不会增加太大的工作量,就额外补充了一下)

下面是我们根据与相关业务人员访谈后,梳理的业务流程图。和传统开发一样,这一步并不能节省,一个逻辑完备、步骤详细的流程图,将会在后续节省大量的开发时间。

三、第3-4天:模型梳理

供应链管理平台的需求调研完成后,和客户确认了详细的业务流程逻辑,我们就要开始需求梳理工作。

所谓磨刀不误砍柴工。

对于需求的梳理和分析,以及确定对应技术方案,是开发系统非常重要的一步,低代码的开发模式也不例外。

1、低代码模型梳理:

低代码开发前期模型梳理主要分为:“功能模块——表模型——字段设计

这也对应了低代码的“应用——模块(数据表)——字段的结构”。

先整理出模块清单:

然后再逐个模块进行模型梳理:

2、原型及功能设计阶段

完成模型和接口的梳理工作后,进入原型及功能设计阶段。

虽然有了低代码的快速开发和配置,我们还是采用了传统的原型设计工具进行原型绘制,这样做的主要目的在于,能够尽可能和客户的需求进行贴合匹配。而不会受到低代码平台的束缚(当然这也是基于低代码平台强大的定制化能力才支持做到这一点)。

在这里,我们会让产品经理专门针对织信做了一个组件库,可以提升交互的速度,尽量贴合低代码交互。

对于某些页面有特殊需求, 我们还可以完全支持定制化的设计,并且可以通过平台的自定义页面实现。

最后,很关键的一步,将所有的模型和原型与用户进行确认。一旦确认完毕,就可以开始我们的低代码技术评审阶段,确定本次开发技术实现方案。

四、第5天:技术评审

难点一:旺店通ERP数据对接方案

在低代码平台中建立了ERP订单和订单两个模块。其中ERP订单调用旺店通ERP的查询订单接口,定时增量获取旺店通ERP的订单信息,其表结构与查询订单接口的返回参数保持一致。

订单表存储的是在低代码平台中创建的订单信息,完成创建后会调用旺店通ERP的创建订单接口将订单信息传到旺店通ERP中,在订单表里可以根据客户需要自行定义表结构,只需要保证创建订单接口中传入参数的必填字段都能正确传入即可。因为在订单和ERP订单中,都有原始订单号,该字段可作为唯一标识符,将ERP订单的信息同步到订单当中,例如订单状态、物流单号等,满足数据同步需求。

在实际使用时,用户只需要操作订单表,就能完成下单和同步订单状态的操作。

难点二:各模块数据隔离方案

渠道商管理系统分为渠道端和运营端两个操作端口,作为运营端可查看到自己管理渠道的所有信息,作为渠道端只能查看到自己渠道的所有信息。

基于上述需求,我们首先使用视图的方式建立渠道的操作模块。并且通过自动化设置用户的扩展参数,将渠道用户的渠道id绑定在用户信息中,后续只需要在渠道操作的模块中加入统一的数据过滤即可实现渠道端的数据隔离。

对于运营端,我们同样将运营可查看的渠道信息通过自动化设置到用户扩展信息当中,在各个可操作模块中加入数据过滤即可实现运营端的数据隔离。

难点三:渠道信息创建/修改审核

客户希望能发起修改时,其基础信息、组合装和合同可以整体进行编辑和报错,发起后由财务统一审核,审核通过后可将修改内容同步到渠道信息中。

基于该需求,我们重新做了一套渠道信息表用于存储修改内容,并且通过工作流实现审批功能,审批通过后才将修改后的数据复制到渠道信息中。

难点四:下单页面特殊交互的调整

客户希望在下单时选择商品的时候,是以卡片的形式展示商品内容,并且整个下单过程分为两步,先选择商品再输入收货地址。

以卡片的形式展示商品:我们将原本的查找列表以表单的形式进行了展示,同时默认加载出客户可下单的商品,客户填入了数量的才是需要下单的物品。

下单分步:下单的动作是创建数据,所以将货品和选择收货地址进行分组,然后开启在创建时分步展示即可。

至此,基于客户供应链管理业务的需求梳理部分已全部完成,下一阶段正式进入低代码的开发环节。

因篇幅有限,请关注本人,下篇内容将持续给大家分享项目实战的第二阶段:低代码功能开发

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/762561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java日期类

日期类 第一代日期类: 1、Date:精确到毫秒,代表特定的瞬间 2、SimpleDateFormat: **格式化和解析日期的具体类,**它允许进行:格式化(日期 → 文本) 解析(文本 → 日期) 和 规范化。 3、常用的使用方法…

sentinel介绍-分布式微服务流量控制

官网地址 https://sentinelguard.io/ 介绍 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自…

MySQL 知识连载(一)

点击上方↑“追梦 Java”关注,一起追梦! MySQL 是一款开源软件,凭借其出色的性能,目前已经成为绝大多数互联网公司的首选关系型数据库。因此程序员不能只懂数据库的增删改查和一些简单的使用技巧,更需要熟练掌握 MySQL…

MySQL八股学习历程3MySQL数据页的格式from小林coding

MySQL八股学习历程3MySQL数据页的格式from小林coding InnoDB数据页MySQL单表建议数据承载量探究 InnoDB数据页 InnoDB 的数据是按数据页为单位来读写的,每个数据页大小默认为16KB,数据页的格式如下图 文件头中有两个指针,指向上一个数据页和下一个数据页,使得页面连接成一个…

大佬带你体验华为云代码检查服务CodeArts Check

1 开发者的自述 作为开发者,刚开始都不希望有任何针对他代码的批评,因为一旦知道代码被检测出问题,就会付出额外的努力做好工作,实际上,从一个开发人员的编码中,你能更清楚地了解编程语言可以做什么&#…

单片机裸机程序框架是怎样的?

单片机裸机程序框架指的是在单片机上进行编程时,不依赖任何操作系统或高级库的纯裸机编程框架。这意味着你需要直接操作底层硬件和寄存器,以完成特定的任务。下面是一个典型的单片机裸机程序框架,以C语言为例: // 头文件包含&…

分布式kmeans(scala原码实现)

scala分布式kmeans 1.分布式Kmeans算法设计思路2.分布式Kmeans算法代码实现2.1 Driver(主要负责分配、汇总数据)2.2 Executor(主要负责计算)2.3 Executor2(主要负责计算) 3.分布式Kmeans算法spark集群部署3…

如何解决笔记本电脑键盘失灵的问题:3个简单而有效的解决方法

当你使用笔记本电脑时,可能会遇到键盘失灵的情况,这是一件非常令人恼火的事情。然而,不要担心,下面将为你提供三个简单而有效的解决方法。 首先,检查连接和驱动程序。请确保键盘与笔记本电脑的连接正常,有时…

数据结构与算法之美总结(数组、链表、栈、队列、递归、排序及二分)

title: 数据结构与算法之美总结(数组、链表、栈、队列、递归、排序及二分) date: 2023-04-15 01:41:26 tags: 数据结构算法 categories:数据结构与算法 cover: https://cover.png feature: false 1. 前言 1、什么是数据结构?什么是算法&…

SpringCloud Alibaba组件之Seata安装部署

seata server(TC) 部署 部署指南:https://seata.io/zh-cn/docs/ops/deploy-guide-beginner.html 下载地址:https://github.com/seata/seata/tags 版本对应关系:SpringCloud Alibaba 组件对应关系说明 下载 通过查…

Minio部署总结

官方介绍 MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小&#xf…

一文搞懂数据库索引原理

前言 写数据库,我第一时间就想到了MySQL、Oracle、索引、存储过程、查询优化等等。 不知道大家是不是跟我想得一样,我最想写的是索引,为啥呢? 以下这个面试场景,不知道大家熟悉不熟悉: 面试官:数…

郑州网站域名升级https通配符证书

新创建的网站如果没有安装SSL证书,在客户端与服务器传输信息时会使用明文传输,明文传输的数据容易被其他人截获或者插入违法信息,会对网站所有者和访问网站的客户带来危害。而部署了SSL证书将网站域名由http升级为https,会在客户端…

【PHP面试题51】Swoole是什么?有什么特点,主要解决了什么问题

文章目录 一、前言二、什么是Swoole?三、如何使用Swoole?四、Swoole主要解决了什么问题?4.1 高性能4.2 高并发4.3 异步编程4.4 多协议支持 五、总结 一、前言 本文已收录于PHP全栈系列专栏:PHP面试专区。 计划将全覆盖PHP开发领域…

jdk1.8安装教程及环境变量配置(含jdk8,11,13安装文件)

目录 友情提醒第一章、JVM、JRE、JDK介绍第二章、下载和安装JDK2.1)百度网盘直接下载免安装2.2)官网下载安装JDK(需要收费) 第三章、环境变量配置3.1)windows环境变量配置3.2)验证环境变量是否配置成功 友情…

spark启动HA时workers为0,且为standby状态

今天学习一个spark视频,在启动StandAloneHa模式的时候,发现workers为0,而且spark两个master的状态都为standby,找了很久,才知道我用的spark3.2 最低支撑的zookeeper版本为3.5.x,而且zookeeper的安装包是需要带bin的那个…

自学C++(4)

1、友元 友元的目的就是让一个函数或者类访问另一个类中private成员 1.1全局函数做友元 写法:在类外定义一个全局函数,如果这个函数访问到了类中private成员,则需要在这个类中声明这个函数为private类型。 这里需要注意的是全局函数形参的…

Spark MLlib快速入门(1)逻辑回归、Kmeans、决策树、Pipeline、交叉验证

Spark MLlib快速入门(1)逻辑回归、Kmeans、决策树案例 除了scikit-learn外,在spark中也提供了机器学习库,即Spark MLlib。 在Spark MLlib机器学习库提供两套算法实现的API:基于RDD API和基于DataFrame API。今天,主要介绍下Data…

ModuleNotFoundError: No module named ‘pkg_resources‘

原因可能是因为setuptools升级版本过高,把setuptools降级到44.0.0及以下即可。 pip uninstall setuptoolspip install setuptools44.0.0 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

【洛谷】P3865 【模板】ST 表

先上ACcode: #include<bits/stdc.h> using namespace std; const int N1e510,M1e520; int n,m,f[N][20]; void solve(){cin>>n>>m;for(int i1;i<n;i) cin>>f[i][0];for(int j1;j<20;j)for(int i1;i(1<<j)-1<n;i)f[i][j]max(f[i][j-1],…