需求:完成商品添加业务。
第一步:理解商品模块的业务(通过ER图理解)
考核的知识点,通过数据库结构快速生成ER图。同自己的理解画好关系
第二步:查询商品类目(以树形结构显示,UI设计的要求)
考核的知识点,就是如何封装一个树状的数据结构。
第三步:实现图片的上传(要求:上传到指定的FTP服务器)
考核的知识点:
- Linux系统的使用
- tengine 纯HTTP的web服务器
- SpringMVC的上传功能
- FTP的数据传到
第四步:设置类目的参数规格模板
考核的知识点:JSON数据格式转换。
第五步:商品的保存
考核的知识点:使用MybatisPlus插入数据
说明:与商品模块有关的表,总共有5张。关系如下:
实现思路
(1)每个商品都有一个分类,所以要实现商品类目选择功能。
(2)商品有一个图片属性,所以要实现图片上传的功能。
(3)每个商品都有规格参数,所以要实现商品规格参数编辑功能。
(4)将商品的规格参数、商品详情、商品信息分别保存到三张表中。
实现商品类目选择功能:
在商品页面,点击”选择类目”按钮,生成商品类目异步树。
实现的思路:
业务理解:在加载树控件的时候,将所有顶级的类目显示出来。所以的子节点在展开的时候传入节点对应的类目编号(ID),查询对应的类目数据。
根据业务理解:
(1)加载树控件。(本项目使用的是easyui-tree插件,第一次传递的cid=0)
(2)确定异步树请求的参数及返回的节点结构。(要构建easyui-tree对应的业务模型VO,id、text、status)
(3)请求数据库,生成树结构。(根据parent_id字段查询子节点实现。)
实现商品图片上传功能:
直接将图片上传到一个指定的目录,访问、下载图片都访问这个目录。
由于项目最终是要部署到Linux环境,所以直接将图片上传到Linux服务器。
问题:那如何将图片上传到Linux呢?
答:使用vsftpd组件,实现文件传输。
实现步骤说明:
(1)在Linux上安装vsftpd服务。
(2)根据图片的地址访问图片。(最终保存到数据库的是图片的路径)
(3)web工程中实现图片上传。