感受:这个模块做完下来应该算是所有模块中最难的一个模块,其中难点在于以下几点:图片的上传、用UUID替换图片名及回显、批量上下架中对数据的拼接、以及最难的带条件、带分类、带排序的模糊查找。经过这个模块的开发,对算法中的递归有更深的了解,对数据库中使用拼接多条信息能够做到会使用,以及UUID、枚举排序方法等增加安全性的方法有了初步的了解,以及后续对类似情况的一个考虑。
功能接口如下:
- 、添加商品
2、上传图片
3、更新商品
4、删除商品
5、批量上下架
6、后台商品列表
7、前台商品列表
8、前台商品详情
图片的上传:图片上传主要考虑到图片的名字会暴露太多不应该暴露给用户的信息也防止了传入相同名字图片的情况,所以采用了UUID替换图片名,避免了许多麻烦是一个优秀的解决方案。
实现思路:1获取原图片名的后缀后与UUID进行组合获得新名字
2将传入的图片通过配置常量地址值的方式下载至本地
3返回httpServletRequest的URL前缀加上路径以及名字的图片路径
4在MvcConfig中配置地址映射完成图片回显
数据的拼接:多条数据同时查询的难点在于需要传入数组类型,通过foreach的使用对多个数据进行识别和分别查询后返回结果。
带参查询:在前一模块的实现中发现为防止污染pojo类所以创建Req请求类来传入
参数,在该功能实现中,遇到比较繁琐的查找功能时,可以创建query
类来辅助得到想查找返回的对象。查询实现过程就变成使用Req请求类
传入的参数,通过多个方法不断加工得到query类输出即可。
难点:当我们查询某个目录下的商品时,不仅仅只需要查询出当前目录的商品,还需要将当前目录的所有的子目录中的所有商品递归查询出来,例如查询手机目录下的商品,需要返回手机目录下华为手机、小米手机等二级目录下的所有商品。
三步骤:搜索处理、目录处理、排序处理。



