数据库课程设计 - 一个在线购物系统的实现(3)

2015/12/27 | 2分钟阅读 | 更新于 2015/12/27

写博客很花时间,不过很适合整理思路。

比如购物车,最开始讨论的时候在购物车和订单应该设几个表(开始设想的购物车和订单表都是多条对一条的关系,除了订单号和状态不一样)之间争论,得出了结论是一个表,这样免去了一次复制多个条目从购物车到订单,而只需要在购物车里的那几项添加订单号并更改状态就好了。

但是之后很快又发现这样不够,真找订单很麻烦,而且付款方式,日期什么的也不好保存,于是又拆出一个订单表,只不过只作为存档保存订单号,日期,付款方式等作为存档。

之后发现这样还不够,订单需要经常获取总金额和总件数,于是又在这里面添加这两项。但是这样订单详情里要看价格,购物车表里可没保存这个啊,于是购物车表里又需要加上价格。

再看购物车的时候,我设计的 Cart 类,对应购物车里的一条记录,结果就是需要一个方法获取当前用户的所有可操作的条目;并且购物车表里并没有存储商品名称,储量,因此还需要根据 gid 生成 Goods 类的实例……

现在我在想,为什么 Cart 类不直接通过uid获取所有的商品以 Hash 数组的形式保存呢?

不过为了避免再改来改去,我还是重新整理一下当前的主要逻辑吧……

路由

  • / 主页
  • /add_item,通过 session 获取 uid
  • /end_add_item,gdid在模板里填充
  • /search?q=search_key&ct=category_key&od=order_key&pg=page 搜索页,分类页
  • /item/gid 商品信息
  • /cart 购物车,通过session获取uid
  • /cart/pay 购买,gid 直接通过uid从数据库里获取
  • /me 个人中心,通过 session 获取uid
  • /order 所有订单,通过 session 获取uid
  • /order/oid 订单详情,通过 session 获取uid

© 2026 香蕉引擎故障报告

🌱 Powered by Hugo with theme Dream.

关于

要怎么介绍自己呢,🤔。

很早以前是作为 Web 前端在学习的,但是工作第一年就成为了全干工程师。喜欢尝试各种东西,什么都会一点。

一直很喜欢 Ebiten 游戏引擎 ,特别简洁,用它做过一些小东西,可以查看这个分类 。另外特别推荐这个木鱼 ,是一个相对完整的小玩意儿,包含手搓的一个简单的 UI 框架;支持鼠标和键盘操作;有多语言和主题切换功能;同时支持 Web 端和客户端。它的源代码在 bin16/wooden-fish

主题

网站基于 Hugo,当前使用的是 hugo-theme-dream 主题的修改版 ,根据我的需要,做了一些对 PaperMod 的兼容。

我自己也写过主题 ,但是没有别人写的好看。

正在从我的笔记中往外搬运内容

等待更新:

  • 从《锈湖》中学了些什么东西
  • 我拿 React 写解谜游戏的经过
  • 基于 Pocketbase 的 Pocket Memos
  • 数独!