商品模块的开发
一、功能介绍
前台功能:
1.产品搜索
2.动态排序列表(分页处理)
3.商品详情
后台功能:
1.商品列表
2.商品搜索
3.图片上传
4.富文本上传
5.商品详情
6.商品上下架
7.增加商品
8.更新商品
二、技术的目标
1.FTP服务器的对接
2.SpringMVC文件上传
3.流读取Properties配置文件(静态块的知识)
4.抽象POJO(java简单对象)、BO(抽象对象)、VO对象之间的转换关系及解决思路
5.joda-time快速入门
6.Mybatis-PageHelper高效准确地分页及动态排序
7.Mybatis对List遍历的实现方法
8.Mybatis对where语句动态拼装的几个版本演变
9.静态块
三、数据表设计
商品ID、分类ID、名字、副标题、主图、子图、商品详情、单价、库存、商品状态
四、接口设计
门户(前台)产品接口
1.产品搜索及动态排序List(还有分页)
url:/product/list.do
request: categoryId、keyword、pageNum(default=1)、pageSize(default=10)、orderBy(default=""):排序参数:例如price_desc,price_asc
reponse:
success:status码和data存放搜索的商品信息,多余的 使用valueObject来处理掉,例如不需要子图的,就要处理子图的显示
fail: status码 msg:提示信息
2.产品detail
url:/product/detail.do
request: productId
reponse:
success:status码和data存放商品展示页需要的信息,包括子图,和富文本
fail: status码 msg:该商品已经下架或删除
后台产品接口
1.产品List页
url:/manage/product/list.do
request: pageNum(default=1)、pageSize(default=10)
reponse:
success:status码和data存放搜索的商品信息
fail: status码10 msg:"用户未登录,请登录"
2.产品搜索
url:/manage/product/search.do
request:productName、 productId、pageNum(default = 1)、pageSize(default = 10)
reponse:
success:status码和data存放商品展示页需要的信息,包括子图,和富文本
fail: status码10 msg:"用户未登录,请登录"
3.图片上传(springMVC的图片上传)
url:/manage/product/upload.do
request: 会编写jsp的代码,multipart/form-date
reponse:
success:status码 和 图片对应的文件名 uri ,和实际可以访问到图片的url
原理:就是通过file流使用ftp服务器的前缀进行拼接获得图片地址,给前端,前端进行实时展示
fail: status码0 msg:
4.产品详情
url:/manage/product/detail.do
request: productId
reponse:
success:status码和data存放商品展示页需要的信息,包括子图,和富文本
fail: status码1 msg:"没有权限"
5.产品上下架
url:/manage/product/set_sale_status.do
request: productId、status(更改状态码),会判断管理员权限
reponse:
success:status码、msg:"修改产品状态成功"
fail: status码1、 msg:"修改产品状失败"
6.新增或更新产品
url:/manage/product/save.do
新增:request: categoryId = 、name =、subtitle=、subImages=、detail=、price=、stock=、status=。
更新:request: categoryId = 、name =、subtitle=、subImages=、detail=、price=、stock=、status=、id=。
reponse:
success:status码 msg: "更新产品成功" 或者 "新增产品成功"
fail: status码 msg:"更新产品失败"
7.富文本上传图片
url:/manage/product/richtext_img_upload.do
request: 富文本的form
reponse:
success:富文本格式返回file_path:图片在ftp服务器上的真实地址 msg: "上传成功" success :true
fail: msg:"错误原因的提示信息" success :false file_path: XXX
文件上传中的问题是代码测试通过,但是服务器不能写入图片,因此无法通过生成的图片地址去浏览图片(待进一步解决)
除了上面的问题,代码测试均通过,下一步提交代码