商品规格的实现图:

e58b4d8205431914d6d2093b88afc9e7.png

规律:

1、同一类商品的规格项分组相同。

2、同一类商品的规格项目是相同的。规格项目是跟商品关联。

3、不同商品规格参数的值是不同的

1 页面效果展示:

f53a1d55f6d79399fd511b7817973832.png

703105b561b3370086706d74f5187746.png

81144af29f31a3b5134d6b3a1e8bd2fd.png

2.规格列表的展示功能

2aef8b82620a934d6bfa232e84632128.png

用户在点击规格参数的时候,会跳item-param-list页面。

de8efdb9b2b616633d3eef7cb66d961f.png

跳item-param-list页面的时候就会去跑/item/param/list这个方法。

对应的sql中的表为tb_item_param

c5c30424ad36b4f5347d1a695c0d6d8e.png

2.1 dao层

使用mybatis的反向工程生成,在这里不需要编码

2.2 service层

a690d2e6b88fac52ade4b5e0839e3499.png

@AutowiredprivateTbItemParamMapper tbItemParamMapper;

@AutowiredprivateTbItemCatMapper itemCatMapper;

@AutowiredprivateTbItemParamItemMapper tbItemParamItemMapper;

@Overridepublic EasyUIDataGridResult getItemParamList(int page, introws) {

TbItemParamExample example=newTbItemParamExample();//分页处理

PageHelper.startPage(page, rows);//将查询到的东西返回在list中

List list=tbItemParamMapper.selectByExampleWithBLOBs(example);

EasyUIDataGridResult result=newEasyUIDataGridResult();

List paramvo= new ArrayList();for(TbItemParam a :list){

ItemParamVO vo=newItemParamVO();

vo.setId(a.getId());

vo.setItemCatId(a.getItemCatId());

vo.setItemCatName(itemCatMapper.selectByPrimaryKey(a.getItemCatId()).getName());

vo.setParamData(a.getParamData());

vo.setCreated(a.getCreated());

vo.setUpdated(a.getUpdated());

paramvo.add(vo);

}

result.setRows(paramvo);//取记录的总条数

PageInfo pageInfo =new PageInfo<>(list);

result.setTotal(pageInfo.getTotal());returnresult;

}

ps:在这里查询的时候 我们要用selectByExampleWithBLOBs(example) 这个方法 而不用 selectByExample(example) 是因为在mysql里面param_data是text类型的,mybatis自动生成映射文件的时候针对text类型的数据会默认生成这两个方法,使用前者查询不取这个参数,在有需要的时候我们用后者查询来提高查询效率节省资源。

2.3 controller层

f829b3e29734b4eb1a9fad1211defd14.png

3.添加商品的模板

3.1 选择商品分类

选择商品分类后根据选择的商品分类到tb_item_param规格参数模板表中取规格模板,取到了说明此商品分类的规格模板已经添加提示不能添加。

如果没有取得正常添加。

f69e1efb85c49332b69d1e25712f70ec.png

6c8cd329cfd5c68dbdf5c85e333bb50f.png

943bb0637d7efca01dfd60642179ab90.png

84c18b4802819dd961a2436767c5c95b.png

3.1.1 service层

74ecf2de1407d400428e060a0445e77d.png

89c4ef76d7a7c2c04f7a71f303cf760b.png

3.1.2 controller层

5d09d9b72b3fe41c79d5e21f0cb08d32.png

3.2 商品规格的添加

3.2.1 dao层

保存规格参数模板,向tb_item_param表添加一条记录。可以使用逆向工程生成的代码。

3.2.2 service层

8842dd607b3b182044473b39fa36466c.png

d47e9aa8657d82fb8604fb915fca5ebc.png

3.2.3 controller层

a752907a7f4796a61b7242603b98e1d5.png

4 商品规格的删除

4.1 dao层

4.2 service 层

45f3f97337cb8e77acfae57a49c4a39d.png

4.3 controller层

93ef437e7dca3c4dc5d5b2e8b43f94c1.png

5 在添加商品时,在页面的下端显示商品规格以及保存商品时将商品规格的数据也保存到对应的表中去

5.1 显示商品规格

a3fa67d54f1df93cba2c13b8ae496dfa.png

13784197c62f8bec75df3ffa2d0e0ab3.png

39ceab3f09c76b3a3e0298813d4eef0d.png

10630bc6a9bcdbd141bd227ff40ca0cd.png

5.1.1 dao层

5.1.2 service层

e9e278544e640fd25101d9783c3fc5f8.png

5.1.3 controller层

f454143f6d340421b77383dc82b7860f.png

5.2 添加商品规格到数据表中

5.2.1 dao层

5.2.2 service层

修改之前写的商品添加的service方法  加入一个params的参数

69779e1fe60db3b4e4f15ce54b7040fb.png

142725dad3da70037dee74e07ad4ee7b.png

至此,商品规格列表的展示,添加以及删除结束~

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐