热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

【Lilishop商城】No11.业务了解+划分各模块逻辑

目录A1.整体业务逻辑B1.模块整理C1.运营后台C2.店铺后台C3.买方平台B2.重点模块梳理图C1.订单模块C2.退货退款模块(即售后模块࿰

目录

A1.整体业务逻辑

 B1.模块整理

C1.运营后台

C2.店铺后台

C3.买方平台

B2.重点模块梳理图

C1.订单模块

C2.退货/退款模块(即售后模块)

C3.促销活动模块

A2.模块划分(自己思考的)

A3.数据结构划分(自己思考的)

B1.运营的用户管理

B2.店铺管理-店员管理-会员管理

B3.商品管理

B4.订单管理

B5.零散模块

C1.行政区划

C2.物流公司

C3.消息

C4.日志




A1.整体业务逻辑

结合着系统提供的三个演示系统和使用文档,抽时间把三个端的业务功能了解了一下,lilishop整个项目分为:运营后台、店铺后台、买方平台,各个平台的业务逻辑大多相关联。


 B1.模块整理

我用思维导图的方式整理了一下,并且把不懂的逻辑重点标了一下。

重点就是以下模块


C1.运营后台


C2.店铺后台


C3.买方平台


B2.重点模块梳理图

虽然他提供了使用文档,但是描述的也不是特别清楚,其中的复杂的业务逻辑也没标注清楚,例如商品的状态流转、订单的流转状态、结算等,毕竟每个系统的状态不一定是一致的,所以需要先搞清楚,所以还是要把重点的业务流程画一下。


C1.订单模块

下面的是实物商品的订单状态流转,在开始前,需要先了解订单之间的关联:


一次付款生成一份交易单:包括本次付款的所有商品;

一份交易单根据店铺分为多个订单:每份订单包含本次交易下的一个店铺下的所有商品;

一份订单根据商品分为多个子订单:每份子订单包含当前订单下的一个商品;


注意哦,在当前商城中,如果退款单个子订单商品是不会影响当前订单的状态的。在某些商城的逻辑中是会影响的,比如说淘宝,在淘宝中购买多个商品,如果仅退款部分商品子订单,订单的状态是不会变得,但是退款全部商品子订单,订单就会变成退款中,退款成功后会变成交易关闭。

在本系统中,如果订单是待收货中退款的话,是不影响继续收货的,这也是不太精细的一点吧。

 PS:根据网上的逻辑,修改了一下本系统的订单流程,加了一个已关闭状态

 


C2.退货/退款模块(即售后模块)


C3.促销活动模块

这个模块流程不复杂,但是逻辑很复杂,涉及的东西太多了,所以也重点标一下


  1. 优惠券:店铺、平台都能创建
  2. 优惠券活动:平台能创建
  3. 积分商品:平台能添加商品,一个积分商品对应一个积分活动
  4. 满额活动:店铺能创建活动
  5. 秒杀:系统创建活动,店铺能添加商品
  6. 拼团:店铺能创建活动
  7. 砍价:平台能添加商品,一个砍价商品对应一个砍价活动

在这里面最重要的就是,付款前需要根据商品参加活动来计算付款值,付款后需要根据这些计算日后的结算值,如果中间退款退货还要根据这些进行积分等的回退值 。


A2.模块划分(自己思考的)

各个端的小模块可以单独思考,但是关联的模块就要合并思考,例如商品、订单、促销互动等模块。

当然单独小模块也不一定完全单独的哦,有些就是设置相关的就可以提前思考放一起。

我一开始大概的思考是分为这四个模块,有一些配置类也属于零散模块的,暂时没有列出来。

数据库结构也会根据模块以及业务进行相关联的。



A3.数据结构划分(自己思考的)

这里我没有列的很详细,就只把最主要的逻辑列出来了


B1.运营的用户管理

用户管理这里和普通的一样,就是分为:用户、部门、菜单、角色,其中需要有用户-角色关联表、角色-菜单关联表、角色-部门关联表。

1.菜单是作为操作权限的,例如导航栏、按钮等;

2.这里仅操作权限,没有数据权限。所以角色与部门关联也是为了操作权限;(也有的系统是为了数据权限,可以看若依项目)


B2.店铺管理-店员管理-会员管理

先要知道,在本系统中店铺的创建人是店主,店主是需要先要有会员账号,也就是买方账号。而一个会员账号只能关联一个店铺,无论他是店主还是店员,都只能关联一个。

所以,要有店铺表、会员表、店员表,还有要部门表、角色表、菜单表,和角色-部门关联表、角色-菜单关联表。

其中店铺表里面要关联一个会员,店员表包含该店铺所有人的信息包括店主。

同时要加一个店铺详情表,因为店铺有很多附属信息,例如审核信息等,放一起会导致业务复杂,所以可以将信息拆分。


B3.商品管理

商品信息就太多,但是要注意一个主要的。要有商品表、商品sku表,一个商品包含多个商品sku信息。

其余的就根据业务管理分析即可。

例如商品分类,是由运营管理的,商品这里就关联个 id 就行。

但要在本系统中,商品分类这里的逻辑,商品分三级别,最后一的级别是会关联商品品牌、参数、规格的。

最后发布商品的时候,和在商品里面进行关联设置。注意一点有些只拿取数据设置就行,不用关联设置~~~~


B4.订单管理

首先说一下,购物车的信息存储在 redis 里面。购物车里面需要存储商品及商品sku,会员信息。

而下单之后就会生成交易表、订单表、子订单表,然后还包括售后表、投诉表、评论表,其中子订单表包含关联的订单表,订单表包含关联的交易表。售后表、投诉表、评论表包含关联的子订单表。

促销这一块儿,除了券活动以外,其余的促销活动都会包含商品sku信息。

优惠券表、券活动表、满减活动表、拼团表、秒杀表、砍价表、砍价参与表,最后会有促销商品表。

促销商品表用来存储促销活动关联的商品信息,而且要兼顾所有促销活动。


B5.零散模块


C1.行政区划

行政区划表,一开始就想用行政区划表就行,里面用区划编码定义唯一。但是如果是要看物流,这个可能就不够了。


C2.物流公司

物流表,直接就是一个物流公司表。


C3.消息

消息表,里面定义一个接收人和发送人。


C4.日志

日志表,里面定义操作人和操作内容。



剩下的的后面补充


推荐阅读
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 本文深入探讨了 Redis 的两种持久化方式——RDB 快照和 AOF 日志。详细介绍了它们的工作原理、配置方法以及各自的优缺点,帮助读者根据具体需求选择合适的持久化方案。 ... [详细]
  • 科研单位信息系统中的DevOps实践与优化
    本文探讨了某科研单位通过引入云原生平台实现DevOps开发和运维一体化,显著提升了项目交付效率和产品质量。详细介绍了如何在实际项目中应用DevOps理念,解决了传统开发模式下的诸多痛点。 ... [详细]
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • 本文详细介绍了Python编程语言的学习路径,涵盖基础语法、常用组件、开发工具、数据库管理、Web服务开发、大数据分析、人工智能、爬虫开发及办公自动化等多个方向。通过系统化的学习计划,帮助初学者快速掌握Python的核心技能。 ... [详细]
  • TCP长连接设备管理平台:架构与功能概览
    本文介绍了基于TCP长连接的设备管理平台的设计理念、技术选型及主要功能模块。最初,项目旨在实现简单的协议测试,但随着需求扩展,逐步演变为一个完整的前后端分离系统。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • Redis Hash 数据结构详解
    本文详细介绍了 Redis 中的 Hash 数据类型及其常用命令。Hash 类型用于存储键值对集合,支持多种操作如插入、查询、更新和删除字段值。此外,文章还探讨了 Hash 类型在实际业务场景中的应用,并提供了优化建议。 ... [详细]
  • 随着Redis功能的不断增强和稳定性提升,其应用范围日益广泛,成为软件开发人员不可或缺的技能之一。本文将深入探讨Redis集群的部署与优化,包括主从备份机制、哨兵模式以及集群功能,帮助读者全面理解并掌握Redis集群的应用。 ... [详细]
  • 本文探讨了哪些数据库支持队列式的写入操作(即一个键对应一个队列,数据可以连续入队),并且具备良好的持久化特性。这类需求通常出现在需要高效处理和存储大量有序数据的场景中。 ... [详细]
  • 本文介绍了数据库体系的基础知识,涵盖关系型数据库(如MySQL)和非关系型数据库(如MongoDB)的基本操作及高级功能。通过三个阶段的学习路径——基础、优化和部署,帮助读者全面掌握数据库的使用和管理。 ... [详细]
  • Java项目分层架构设计与实践
    本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ... [详细]
author-avatar
速度coinmer
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有