淘淘商城 项目(IDEA版)之——规格参数功能实现:后台规格参数模板管理 列表显示、新增、删除
程序员文章站
2022-05-23 11:10:11
...
后台对规格参数模板管理:列表显示、新增、删除
1、首先前台操作看一下实现后的效果
(1)默认进入显示列表
(2)新增 规格参数模板
(3)新增成功
(4)新增商品-添加商品的规格参数
说明:如果给商品类目添加了规格参数模板,就会在新增商品页面下方生成规格参数模板,商品类目没有模板意味着不给该商品添加规格参数,个人认为不太合理,应该加个校验,没规格参数模板先去创建模板,感兴趣的小伙伴可以完善一下!
(5)添加商品信息、商品描述、规格参数
(6)新增商品成功
(7)前台搜索一下,去商品详情看看
2、业务逻辑了解之后,开始撸代码
(1)yougou-manager-web中controller接口如下
/**
* 商品规格参数模板控制层接口
*
* @ProjectName: yougoushop
* @Description: java类作用描述
* @Author: HALEN(李智刚)
* @CreateDate: 2018/4/23 17:50
* <p>Copyright: Copyright (c) 2018</p>
*/
@Controller
@RequestMapping("/item/param")
public class ItemParamController {
@Autowired
private ItemParamService itemParamService;
/**
* 通过商品类目id获取规格参数模板
* @param cid
* @return
*/
@RequestMapping("/query/itemcatid/{cid}")
@ResponseBody
public YougouResult getItemCatByCid(@PathVariable Long cid) {
YougouResult result = itemParamService.getItemParamByCid(cid);
return result;
}
/**
* 插入规格参数模板
* @param cid
* @param paramData
* @return
*/
@RequestMapping("/save/{cid}")
@ResponseBody
public YougouResult insertItemParam(@PathVariable Long cid, String paramData) {
YougouResult result = itemParamService.insertItemParam(cid, paramData);
return result;
}
/**
* 获得规格参数模板列表
* @param page
* @param rows
* @return
*/
@RequestMapping("/list")
@ResponseBody
public EasyUIDataGridResult getItemParamList(Integer page, Integer rows) {
EasyUIDataGridResult result = itemParamService.getItemParamList(page, rows);
return result;
}
}
(2)yougou-manager-service中服务层接口如下
说明:在查询规格参数模板的时候有些问题需要注意一下,如下:
—————说明开始—————
自定义pojo
自定义mapper
—————说明结束—————
继续商品服务层接口代码,getItemParamList这个方法用到了上边自定义的mapper和pojo做联表查询
/**
* 商品规格参数模板服务层接口实现
*
* @ProjectName: yougoushop
* @Description: java类作用描述
* @Author: HALEN(李智刚)
* @CreateDate: 2018/4/23 17:47
* <p>Copyright: Copyright (c) 2018</p>
*/
@Service
public class ItemParamServiceImpl implements ItemParamService {
@Autowired
private TbItemParamMapper itemParamMapper;
@Autowired
private TbItemParamExtendMapper itemParamExtendMapper;
@Override
public YougouResult getItemParamByCid(long cid) {
//根据cid查询规格参数模板
TbItemParamExample example = new TbItemParamExample();
TbItemParamExample.Criteria criteria = example.createCriteria();
criteria.andItemCatIdEqualTo(cid);
//执行查询
List<TbItemParam> list = itemParamMapper.selectByExampleWithBLOBs(example);
//判断是否查询到结果
if(list != null && list.size() > 0){
TbItemParam itemParam = list.get(0);
return YougouResult.ok(itemParam);
}
return YougouResult.ok();
}
@Override
public YougouResult insertItemParam(long cid, String paramData) {
//创建一个pojo
TbItemParam itemParam = new TbItemParam();
itemParam.setItemCatId(cid);
itemParam.setParamData(paramData);
itemParam.setCreated(new Date());
itemParam.setUpdated(new Date());
//插入记录
itemParamMapper.insert(itemParam);
return YougouResult.ok();
}
@Override
public EasyUIDataGridResult getItemParamList(int page, int rows) {
//设置分页信息
PageHelper.startPage(page, rows);
//执行查询
List<TbItemParamExtend> list = itemParamExtendMapper.selectItemParamExtendList();
//转化格式
PageInfo<TbItemParamExtend> pageInfo = new PageInfo<>(list);
EasyUIDataGridResult result = new EasyUIDataGridResult();
result.setRows(list);
result.setTotal(pageInfo.getTotal());
//返回结果
return result;
}
}
说明
(1)到这里代码就写完了,测试就ok了,后台规格参数模板管理完成,前台商品详情页面展示规格参数在下一篇博客
(2)添加商品时展示规格参数模板写个查询方法就行,感兴趣的小伙伴可以下载整个项目代码,ps:完整项目完善了很多功能以及合理性哦!
完整项目下载地址:https://download.csdn.net/download/halen001/10383616
上一篇: EasyExcel学习
下一篇: 第1节 数据结构和算法基础