关于商城项目的重新构建购买逻辑

一.废话不多说,打开每一个页面先。

1.登陆页面未改变title
在这里插入图片描述
2.index.html
在这里插入图片描述
3.商城(title 商城,实际在项目里的名字为require_mall.html),由于之前原作者的求购商城实在是理解不了他的逻辑,所以自己按照自己的购买逻辑做了这个页面,就是把求购商城的页面做成了商城的内容,然后mall_page.html的内容作为一个心愿商城,用来发布一个商品需求信息。
在这里插入图片描述
4.心愿商城 (title 商城,实际在项目里的名字为mall_page.html),之所以这样改,还是觉得原作者的这个商城页面做的太素了,所以就调换了,之所以html的名字没换还是觉得有点麻烦涉及到很多前后端的跳转就没有改。
在这里插入图片描述
5.商城某个商品的详细信息页面(这里以第二个为例,title为‘商品详情’,实际页面名字是require_product_info.html),当然这里的加入购物车是指从userwant这个表里取数据,然后与具体的登陆用户做关联王goodscar表插入数据。
在这里插入图片描述
6.心愿商品详情(这里以第一个为例,title为‘心愿详情’,实际页面名字是require_product_info.html),加入收藏则是往goodscollection这张表插入关联数据,当然这张表原是没有的,因为这是我自己添加的一个逻辑,加入收藏会有一个验证逻辑,一是自己加入过的收藏不能再次收藏,二是自己发布的心愿商品也是不能收藏的。至于上面的加入购物车我暂时没添加这样的逻辑,所以那个商城的商品如果是自己发布的也可以添加到购物车的,我也不知道会不会有人买自己商店里卖的东西,而且是在同一个账户下。算是刷销量吧可能。

在这里插入图片描述

二.接下来是几个button的事件了

在这里插入图片描述
1.个人信息(title与页面名字均为更改过),确实提交上面存在问题,每次都提交一个字段要烦死人。再就是其中两个字段显示存在错误,暂未更改。
在这里插入图片描述
2.这是上架商品到商城页面的一个页面,原作者的话,图片上传回显啥的都有问题也不能提交,之后自己专门添加了一个用来上传图片的Controller,然后把它作为一个单独的页面,以后那个页面需要调用,直接内嵌我写的那个DIV即可。
在这里插入图片描述
接下来就是提交后的自动跳转到回显页面,也就是商城页面的结果如下:
在这里插入图片描述
接下来看刚上传商品的详情如下(目前的话修改button还没绑定事件,Controller也没写,service实现类应该会有具体的更新数据方法到时候直接调用就行了):
在这里插入图片描述
3.发布心愿信息(对应的html的名字是publish_product.html),他与上架商品的逻辑基本一致,就是少了多了个成色字段。从它的html名字就可以看出来其实当初原作者是把这个也面作为一个发布商品的页面的,不过后来鸠占鹊巢,它现在是作为一个发布心愿信息的页面了。对应的插入数据的表是userwant。
在这里插入图片描述
上传成功之后是自动跳转到管理我的心愿页面的,页面的名字是:my_publish_product_page.html
在这里插入图片描述
这时心愿商城也会有你添加的心愿信息如下:
在这里插入图片描述
当然由于之前的作者添加过详情页面跟删除修改功能就不需要我写辣。省心。。.
在这里插入图片描述当然,按道理来说这个收藏按钮是不应该有的。因为这是自己本人添加的一个心愿信息。这里需要做判断。

4.我的购物车,这个页面改动不大,我还是调用的原来的Controller,然后只是改变的返回的list放的泛型类型,当然更改返回list是需要改变调用DAO的,原本用的是查询ShopInformation这张表,由于页面调换了,商城页面显示的是userwant的数据,所以查询也改为了userwant的数据了。目前结算按钮还未添加绑定事件,更没有写后台结算逻辑。打算只写一个商品数量的变化逻辑了,一旦发生结算业务就把购买的商品的id按照购买个数在userwant页面进行相应的减法。
在这里插入图片描述
5.接下来的‘我上架的商品’跟‘管理我的心愿’的页面如下,之前的按钮跳转应该涉及到了,就不多BB了
在这里插入图片描述
在这里插入图片描述
6。剩下的’实现Ta的心愿’,暂时未写页面。阐述这个按钮的意思是,类似于一个收藏吧,场景应用就是,1.假如你是一个商家,在心愿商城上看到了某个用户发布了一个商品需求信息,你作为商家刚好有用户描述的商品,你可以直接发布商品到商城,这样用户就可以在商城上看到后添加到购物车进行购买了。2.你正好没有这件用户描述的商品,你可以先把它收藏起来,然后等你有货之后再通过发布商品发布到商城。

由于时间还算充沛,就还是实现了一个简单的支付逻辑。就是在购买时,需要操作的表:
1.account表,这张表记录着账户的金额信息。就在需要购买的时候,顾客的账户会对每一个他所购买商品的商家的账户进行转账业务。当然这里如果运用JDBC的事务管理和AOP异常切面再适合不过了。就是一旦发生转账行为,假如A向B转账 如果A账户钱少了 但是B账户并没有受到A账户所减少的钱就会抛异常并回滚事务。
2.userwant表,在支付的同时也需要操作这张表,主要是这张表的QUANTITY字段,就是货物剩余字段。买多少个就减少多少个,当然这也时针对多个商家的。
3.orderform表,也就是订单表,在这些操作完成时生成N条订单信息用来前台查询时展示。
按道理来说这三个业务是一个不可分割的整体,也应该使用事务来进行管理。

首先看商城这两个商品的数量
在这里插入图片描述
再分别把这两个商品加入购物车
在这里插入图片描述
在这里插入图片描述
然后回到userwant表,找到对应的商家ID
在这里插入图片描述
再到account表找到相应的账户
在这里插入图片描述
然后回到购物车页面进行支付
在这里插入图片描述
点击结算后:
在这里插入图片描述
点击确定后:
在这里插入图片描述
再回到账户数据库查看另外两个商家是否收到钱
在这里插入图片描述
再回到首页查看商品数量是否减少
在这里插入图片描述
为了早点帮她做好,我也是我在家里很久了啊

接下来时订单处理页面
还是先从加入购物车开始吧,

在这里插入图片描述
这里选择NIKE跟礼服 加入购物车
在这里插入图片描述
在支付之前先到订单列表看一下
在这里插入图片描述
目前订单列表为空,于是我准备支付了。
在这里插入图片描述
支付时我只单独选择购买了2件礼服,那么先来到订单列表看一下先
在这里插入图片描述
订单信息已成功回显,于是再到购物车多购买几件商品试一下
在这里插入图片描述
这里又购买了鞋子跟瓶子,再回到订单列表查看
在这里插入图片描述
目前都已成功回显,卖家暂未发货。于是登陆卖家账号呗
在这里插入图片描述
卖家账号的顾客订单下获取到顾客的订单信息,于是卖家一一进行处理呗。
在这里插入图片描述
在这里插入图片描述
每处理一个后台更改display状态。暂时只处理2个订单,我再回到顾客的账号下,再看订单列表有什么变化
在这里插入图片描述
卖家处理过的订单发货状态为已发货了

• 重点内容 – 64KB 专用 RAM – 275-MHz, 500-MHz, 600-MHz, or 720-MHz – 仿真/调试 ARM® Cortex™-A8 32-位RISC 微控制器• JTAG • NEON™ SIMD 协处理器• 嵌入式跟踪模块 • 具有单错检测(奇偶校验)的32KB/32KB • 嵌入式跟踪缓冲器 L1 指令/数据高速缓存– 中断控制器(高达128 个中断请求) • 具有错误纠正码(ECC) 的256KB L2 高速缓• 片载存储器(共享L3 RAM) 存– 64 KB 通用片载存储器控制器(OCMC) RAM – 支持移动双倍速率同步动态随机存储器– 所有主机均可访问 (mDDR)(低功耗DDR (LPDDR))/DDR2/DDR3 – 支持快速唤醒保持 – 支持通用存储器(NAND,NOR,SRAM,等)支• 外部存储器接口(EMIF) 持高达16 位ECC – mDDR/DDR2/DDR3 控制器: – SGX530 3D 图形引擎 • mDDR: 200-MHz 时钟频率(400-MHz 数据速– LCD 控制器 率) – 可编程实时单元和工业用通信子系统(PRU-DDR2: 266-MHz 时钟(532-MHz 数据速ICSS) 率) – 实时时钟(RTC) • DDR3: 303-MHz 时钟(606-MHz 数据速 – 最多2 个具有集成物理层的USB 2.0 高速OTG 率) 端口• 16-位数据总线 – 支持最多2 个端口的10/100/1000 以太网交换机• 1GB 全部可寻址空间 – 串口包括: • 支持1 x 16 或者2 x 8 存储器器件配置 • 2 个控制器局域网端口(CAN) • 支持快速唤醒保持 • 6 个UART,2 个McASPI,2 个McSPI,和3 个 I2C 端口 – 通用存储器控制器 (GPMC) • 具有多达7 芯片(NAND,NOR,复– 12 位逐次逼近寄存器(SAR) ADC 用NOR,SRAM等) 选择的灵活8/16-位异步 – 3 个32 位增强型捕捉模块(eCAP) 存储器接口 – 3 个增强型高分辨率PWM模块(eHRPWM) • 使用BCH 编码以支持4-位,8-位,或者16- – 加密硬件加速器(AES,SHA,PKA,RNG) 位ECC • 使用海明码(Hamming)以支持1-ECC • MPU 子系统– 错位定位器模块(ELM) – 275-MHz,500-MHz,600-MHz,或者720-MHz • 与GPMC 联合使用,使用BCH 算法以定位 ARM® Cortex™-A8 32-位RISC 微处理器由校验多项式生成的数据错误的地址 – NEON™ SIMD 协处理器• 基于BCH 算法,每512 字节块错误定位支持 – 具有单错检测(奇偶校验)的32KB L1 指令高4-位,8-位,和16-位 速缓存• 可编程实时单元和工业用通信子系统(PRU-ICSS) – 具有单错检测(奇偶校验)的32KB 数据高速缓– 支持的协议包括 存EtherCAT®,PROFIBUS,PROFINET,Ether – 含纠错码(ECC)的256KB L2 高速缓存Net/IP™,和其它更多协议 – 176KB 片载启动ROM – PRU-ICSS 内的外设 1 Please be aware that an important notice concerning availabi
### JESD 标准与 LPDDR5 内存概述 JEDEC固态技术协会(Joint Electron Devices Engineering Council, JEDEC)是一个制定微电子产业标准的全球性组织。其发布的JESD系列标准涵盖了多种半导体器件的技术规范,其中包括低功耗双倍数据速率存储器(LPDDR)。对于LPDDR5内存而言,具体的规格和技术实现由JESD209-5标准定义[^1]。 #### LPDDR5 的主要特性 LPDDR5是一种专为移动设备设计的高性能、低功耗DRAM解决方案。它通过引入一系列创新功能来提升速度并降低能耗。以下是几个关键特点: - **更高的带宽**:相比前一代产品,LPDDR5提供了显著增加的数据传输率,最高可达6400 Mbps/引脚[^2]。 - **节能架构**:采用多Bank Group结构以及动态电压频率调节机制(DVFS),从而优化不同工作负载下的能量消耗[^3]。 - **增强型错误管理**:支持更强健的ECC(error correction code)方案以提高可靠性[^4]。 #### 实现细节 为了达到上述性能指标,在硬件层面需要考虑如下因素: - 使用新型I/O接口电路设计满足高速信号完整性需求; - 集成先进制程节点制造工艺减少芯片面积同时保持良好散热表现; - 开发专用控制器IP核简化系统集成过程; 此外软件方面也需要相应调整比如操作系统调度策略适配新的延迟特征等等[^5]。 ```c++ // 示例代码展示如何初始化一个简单的LPDDR5控制器配置参数设置函数 void init_lpddr5_controller() { set_clock_frequency(3200); // 设置时钟频率到3200MHz enable_dvfs(); // 启用DVFS功能 configure_ecc(true); // 打开ECC校验选项 } ```
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值