新零售saas平台

我要开发同款
新大梦想家2023年02月07日
214阅读
开发技术java
所属分类效率高、mysql、全栈、零售电商

作品详情

●描述:线上零售平台,载体小程序,中台数据管理。在项目中我作为核心功能的开发人员参与了相关功能的表结构设计、功能实现,负责零售订单正、逆向单迁移标品(正向下单、售后退货、订单配置),商品评价,门店(家宴)预约标准版,埋点标准版(接入大数据、导购相关业务),销售导购订单,物流接入功能设计和开发。
● 技术:springcloud(springcloud gateway、feign、nacos)、redis、rocketmq、xxl-job、elk、es、mangodb、mysql、canal
● 工具:idea、navicat、gitlab、Jenkins、jira、kuboard、zipkin、es-header、RedisDesktopManager

● 内容:

(1)门店(家宴)预约,预结算页采用雪花算法生成防重编号存储在redis,下单时校验防重编号防止重复下单,采用xxl-job根据创建时间查询近一小时订单,对未接单、未到店订单变更为取消状态。

(2)订单相关流程为了兼容多业务,增加多种业务场景类型(如普通正向单、预约、导购),分类定义销售、售后类型。订单流程系统设计实现采用命令模式,实现通过基类定义公共行为,每个handle对应订单操作,handle下层对应多个command,handle实现的基类方法有对应的订单状态设置方法,更优雅的实现状态流转。例如下单流程中包含订单初始化command、营销活动价格计算command、运费计算command、库存扣减command,每个command实现底层采用分布式锁保证数据修改安全,对应下单失败会调用库存回退command。订单的每次操作状态变更最终都投递消息到订单状态变更mq,便于后续其他业务扩展使用。

(3)商品评价,评价设计考虑后期会扩展多场景(门店、人员、售后、物流),表结构设计采用type区别类型,增加关联的业务id(商品id、人员id)等,业务数据json字段(商品信息、人员信息),便于c端小程序查询。对于评价的组合形式(文字、图片、标签、星级)采用二进制标识,通过十进制数表示多个状态叠加的组合,通过位运算判断当前评价是否包含对应的评价内容。商品评价等级支持按多维度聚合,c端查询包括全部、有图、好评、中差评,评价等级表db存的是分数,在业务层根据标准聚合分数,后续可按标准进行改动。接入腾讯的敏感词识别、图片识别接口。

(4)埋点功能,考虑后期数据结构扩展性,入参设置为两个业务json字符串,实现兼容原有大数据上报功能同时支持埋点,根据取值是否非空判断是否处理。埋点数据投递埋点mq异步消费,避免db压力,埋点同时支持导购业务接入将业务数据组装投递到导购mq。表结构设计根据每个埋点操作定义为一个事件,前端业务json参数带有事件特有的code,支持保存按业务json的定制化参数,便于后期按不同维度统计埋点数据。

(5)销售导购订单,中台查询为了提高查询效率。创建订单通过canal数据同步es,生成es订单相关的数据,订单索引按每月建立一次,利用es的分词功能提高查询效率。
(6)订单配置,考虑订单后续可能会增加更多的配置项,采用了mongodb的数据存储,数据存储结构更为灵活,后续只需改动java实体,不需要跟mysql一样变动表结构。订单配置查询先从redis查询,然后再从mangodb查询,通过缓存提升查询效率。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论