【Lilishop商城】No3-7.模块详细设计,订单模块-1(购物车、收银台)的详细设计

news2024/11/29 4:40:02

   仅涉及后端,全部目录看顶部专栏,代码、文档、接口路径在: 

【Lilishop商城】记录一下B2B2C商城系统学习笔记~_清晨敲代码的博客-CSDN博客


全篇会结合业务介绍重点设计逻辑,其中重点包括接口类、业务类,具体的结合源代码分析,读起来也不复杂~

谨慎:源代码中有一些注释是错误的,有的注释意思完全相反,有的注释对不上号,我在阅读过程中就顺手更新了,并且在我不会的地方添加了新的注释,所以在读源代码过程中一定要谨慎啊!

目录

A1.购物车

B1.B端(属于显式操作) 

A2.收银台

B1. 订单选择第三方支付简单流程

B2. 订单支付简单业务逻辑调用

B3. B端(属于显式操作)

B4. M端(属于显式操作)


购物车属于买方B端的操作,是属于平台前台的,本来想说平台前台放在最后的,但是因为这里是业务中不可缺少的一环,所以按照正常的业务流程先设计这里~

A1.购物车

先说一下业务逻辑,从浏览商品sku到生成订单,有1.在浏览商品sku时立即购买;2.加入购物车,在购物车里面购买;第一种方式也能变相理解为加入购物车再购买。

在shop项目里面是将这两种方式添加到了购物车接口里面,并且通过类型区分,如果是立即购买就走立即购买的逻辑,如果是购物车购买就走购物车购买的逻辑;

随着上方的业务逻辑,当在B端购物车每添加一个商品SKU就会更新一下购物车列表,并存在redis缓存里面(不同类型的分开来缓存)。其中也会有一些别的逻辑,例如计算已勾选商品sku的总金额、计算优惠券等等。相当于提前进行操作,下次进入购物车时就不用计算了。

所以购物车信息是存在redis里面的,里面涉及到的业务逻辑复杂(各种处理,促销、优惠券、商品检验等等),后面开发时再讲解这一块儿~ 

B1.B端(属于显式操作) 

创建交易接口这里,会直接创建交易单、订单、子订单,然后等待付款,付款的就是在收银台~

  • 向购物车中添加一个商品sku、获取购物车页面购物车详情、获取购物车数量
  • 更新购物车中单个产品数量、更新购物车中单个产品是否被选中、更新购物车中所有产品是否被选中、更新购物车中某商家的商品为选中或不选中
  • 清空购物车、删除购物车中的一个或多个产品
  • 获取结算页面购物车详情、切换收货地址、编辑发票信息、选择优惠券
  • 创建交易

 

A2.收银台

收银台这里一方面涉及到了运营的收银配置,另一方面又涉及到了第三方支付方式

(支付方式应该算在架构里面的,后面在No2架构里面详细学习记录一下,这里先了解一下支付方式,具体的先不在这儿描述了)。

开始前需要先了解支付业务逻辑 ~

【支付这里会用到第三方支付,然后会与余额支付整合,所以需要先了解要使用的第三方支付工具是,一般来说都会是用支付宝、微信等,这些流程都相似~】

B1. 订单选择第三方支付简单流程

就不详细描述了,图挺清楚的,也可以看shop的流程

B2. 订单支付简单业务逻辑调用

这里先简单描述,后面再详细记录~ 

B3. B端(属于显式操作)

买方B端直接进行支付

  • 获取支付详情、获取某种支付方式的支付详情、支付回调、支付异步通知、查询支付结果

B4. M端(属于显式操作)

运营M端可以控制下线支付,在订单里面进行控制,这里就不说了,放到订单里面再说明~

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

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

相关文章

【TECH SCIENCE PRESS出版社】2区SCI,仅3个月左右录用,数字孪生、绿色技术、供应链、人工智能物联网、智能传感器相关领域均可

【出版社】TECH SCIENCE PRESS 【期刊简介】IF:3.5-4.0,JCR2区,中科院3区 【检索情况】SCI&EI双检,正刊 【参考周期】3个月左右 【征稿领域】 ①数字孪生在智能医疗系统中的应用(2023.3.25截稿) …

NetInside助力IT提高业务性能管理能力(一)

需求简介 某外高桥公司的OA系统是其重要的业务系统,OA系统负责人表示,部分用户反馈,访问OA系统时比较慢。需要通过分析系统看一下实际情况。 信息部已对企业领导定义了独立的组,本次要主动分析领导们的使用体验快慢。如果OA系统…

一个带详细程序和注释的实例,手把手带你学会用BP神经网络做预测

目录 1.问题描述 1.1问题剖析 2.实现程序 2.1运行结果 2.3总结 3.预测 3.1输出结果 4.预测理解 1.问题描述 某运输系统连续9年货运量的有关数据如表2-10所示。根据对关于货运量影响因素的分析,这里分别取国内生产总值GDP、工业总产值、铁路运输线路长度、复线…

使用vue-easytable实现仿excel表格,支持可编辑、添加删除行、虚拟表格等功能

使用npm安装vue-easytable npm install --save vue-easytable 在 main.js 中写入以下内容: // 引入样式 import "vue-easytable/libs/theme-default/index.css"; // 引入组件库 import VueEasytable from "vue-easytable"; Vue.use(VueEasyt…

ADI Blackfin DSP处理器-BF533的开发详解49:图像处理专题-Bright (图像亮暗处理)(含源码)

硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 代码实现了图像亮暗处理,代码运行时,会通过文件系统打开工程文件根目下" …/ImageView"路径中的 tes…

[附源码]Node.js计算机毕业设计电子市场计算机配件报价系统Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

聚焦人机交互智能应用领域,APISIX 在希沃网关的应用与实践

分享嘉宾简海清,视源股份运维负责人。 视源股份(CVTE)自成立以来,依托在音视频技术、人机交互、应用开发、系统集成等电子产品领域的软硬件技术积累,建立了教育数字化工具及服务提供商希沃(seewo&#xff0…

三、JavaScript——编写位置

1.在script标签内编写 JS的代码一般可以写到script标签中&#xff0c;script标签的完整写法是要加type"text/javascript",但这个一般可以省略&#xff0c;所以只用<script>即可 <!DOCTYPE html> <html lang"en"> <head><meta …

【架构师李肯】带你走进架构师的一天

作者简介 *架构师李肯&#xff08;全网同名&#xff09;**&#xff0c;一个专注于嵌入式IoT领域的架构师。有着近10年的嵌入式一线开发经验&#xff0c;深耕IoT领域多年&#xff0c;熟知IoT领域的业务发展&#xff0c;深度掌握IoT领域的相关技术栈&#xff0c;包括但不限于主流…

js逆向之加密方法远程调用

js逆向之加密方法远程调用 加密方法的远程调用主要是使用了RPC协议,RPC(Remote Procedure Call)是远程调用的意思。RPC的应用十分广泛,比如在分布式中的进程间通信、微服务中的节点通信。 我们这里使用的rpc其实是实现两个不同进程通信的一种方式,比如在浏览器执行一些方…

SystemUI 调整Recents中全部清除按钮位置

Recents 即多任务界面&#xff0c;显示最近使用过的APP List的。下面内容都是基于Android 11平台修改的。Android 11上&#xff0c;Recents 这一部分代码其实都已经被挪到Launcher3中。由于个人习惯&#xff0c;所以将内容分类作为SystemUI部分记录。 多任务界面主要几个文件&…

工欲善其事,必先利其器,推荐5款效率神器

有句老话这样讲&#xff0c;工欲善其事&#xff0c;必先利其器&#xff0c;好的工具可以让你工作起来事半功倍。 1.全能翻译神器——智能翻译官 这是一款超级强大的翻译软件&#xff0c;什么文本、图片、文档&#xff0c;视频、音频&#xff0c;统统都可以翻&#xff0c;像我…

JAVA毕业设计——基于Springboot+vue的音乐网站系统(源代码+数据库)

github代码地址 https://github.com/ynwynw/music-server-public 毕业设计所有选题地址 https://github.com/ynwynw/allProject 基于Springbootvue的音乐网站系统(源代码数据库)046 一、系统介绍 本项目分为管理员与普通用户两种角色 管理员角色包含以下功能&#xff1a; …

绿色固体ICG-DBCO,凯新生物聚甲基菁染料,仅用于科学研究或者工业应用等非医疗目的,不可用于人类或动物的临床或诊断,非药用,非食用

【外观以及性质】&#xff1a; ICG-DBCO绿色固体&#xff0c;ICG是一种带负电荷的聚甲基菁染料&#xff08;三碳菁染料&#xff09;具有良好的水溶性&#xff0c;其次花菁染料毒性&#xff0c;安全性更好及更的光稳定性。 【试剂物理数据】&#xff1a; 货号&#xff1a;Y-R…

Java面试题(六)腾讯Spring夺命7连问(灵魂拷问)

腾讯面试题&#xff1a;Spring1.谈一谈spring IOC的理解&#xff0c;原理与实现&#xff1f;2.谈一谈Spring IOC的底层实现&#xff1f;3.描述下Bean的生命周期4.Spring如何解决循环依赖问题&#xff1f;5.BeanFactory 和FactoryBean有什么区别&#xff1f;6.Spring 中用到哪些…

ELK日志系统搭建

文章目录ES安装ES启动ES错误处理验证Kibana安装Kibana启动 KibanaLogstash安装Logstash启动Logstash项目整合引入依赖logback-spring.xml启动项目在Kibana中查看链接&#xff1a;点击 提取码&#xff1a;yyds ES 安装ES cat >> /etc/sysctl.conf<<- EOF net.ipv…

基于微信小程序的小区疫情防控系统-计算机毕业设计

随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受业主的喜爱&#xff0c;小区疫情防控小程序被业主普遍使用&#xff0c;为方便业主能够可…

G1D33-BTG复现重跑实验

一、复现BTG 复现很简单&#xff0c;所以就记录一些乱七八糟的叭 &#xff08;一&#xff09;传参 传是否使用cuda的参数的时候&#xff0c;发现传True会报错&#xff0c;后来查到链接 https://stackoverflow.com/questions/43381710/unrecognized-arguments-true 如果什么都…

web前端课程设计 基于HTML+CSS+JavaScript汽车自驾游(10个页面)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

web前端网页设计期末课程大作业:中华传统文化题材网页源码——基于HTML实现中国水墨风书画艺术网站(12个页面)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…