第187次(基于json格式完成商品规格参数管理)
学习主题:基于json格式完成商品规格参数管理
学习目标:
对应视频:
http://www.itbaizhan.cn/course/id/85.html
对应文档:
无
对应作业
1. 商品规格参数模板分页显示
(1) 商品规格参数的和商品类型的关系
一对一的关系 ,每一个商品都有对应的商品规格参数
(2) 简述商品规格参数模板的数据模型
由于所有商品的规格参数信息格式都是一样的,可以直接使用json格式,将json串保存到数据库
商品规格分组
|----规格项:规格值
|----规格项:规格值
|----规格项:规格值
商品规格分组
|----规格项:规格值
|----规格项:规格值
|----规格项:规格值
不需要做表之间复杂的关系
如果要求新添加的商品规格项发生改变,之前的商品不变是很简单的,只需要改变json串的格式
2. 判断类目是否已经添加模板_新增模板
(1) 描述项目中完成规格参数模板添加的流程?
前端发送请求至后台请求参数模板的添加
ItemParamController
@RequestMapping(value="/item/param/save/{cid}",produces=MediaType.APPLICATION_JSON_VALUE+";charset=UTF-8")
@ResponseBody
public EgoResult itemByCid(@PathVariable Long cid,String paramData){
return ManagerItemParamService.saveItemParam(cid, paramData);
}
将数据包装成对象 传递至远程调用实现类
@Override
public EgoResult saveItemParam(Long cid, String paramData) {
TbItemParam tbItemParam = new TbItemParam();
tbItemParam.setItemCatId(cid);
tbItemParam.setParamData(paramData);
tbItemParam.setCreated(new Date());
tbItemParam.setUpdated(new Date());
return ItemParamServiceProxy.saveTbItemParamService(tbItemParam);
}
(2) 谈谈对商品规格参数的理解
商品规格参数指的是商品不同型号,不同系列之间不同技术信息的数据集合,保护的是每种细分产品的差异化技术信息
3. 实现规格参数模版批量删除
(1) 实现规格参数模板批量删除sql语句怎么定义
TbItemParamExample example = new TbItemParamExample();
com.bjsxt.ego.rpc.pojo.TbItemParamExample.Criteria criterie=example.createCriteria();
List<Long> list = Arrays.asList(ids);
//封装sql查询语句 where id in ()
criterie.andIdIn(list);
TbItemParamMapper.deleteByExample(example);
return EgoResult.ok();
(2) 实现规格参数批量删除调用Criteria对象中的什么方法封装删除条件
TbItemParamExample example = new TbItemParamExample();
com.bjsxt.ego.rpc.pojo.TbItemParamExample.Criteria criterie=example.createCriteria();
List<Long> list = Arrays.asList(ids);
//封装sql查询语句 where id in ()
criterie.andIdIn(list);
TbItemParamMapper.deleteByExample(example);
return EgoResult.ok();
分享/讲解/扩展思考
点名提问从第一节课到最后一节课分别学到了什么,直到同学们把所有的知识点都说出来并且保证无误。
第188次(基于json格式完成商品规格参数管理)
学习主题:基于json格式完成商品规格参数管理
学习目标:
对应视频:
http://www.itbaizhan.cn/course/id/85.html
对应文档:
无
对应作业
4. 加载商品规格参数模板
(1) 描述加载规格参数模板的实现思路
用户选择模板时,会将模板cid 传入后台 ,通过cid查出模板信息,并返回给前台
(2) 描述规格参数模板的解析过程
Override
public TbItemParam loadTbItemParamByCidService(Long cid) {
// TODO Auto-generated method stub TbItemParamExample example = new TbItemParamExample();
Criteria c = example.createCriteria();
c.andItemCatIdEqualTo(cid);
List<TbItemParam> list = tbItemParamMapper.selectByExampleWithBLOBs(example);
if (list!=null&&list.size()==1) {
return list.get(0);
}
return null;
}
前端参数
5. 商品修改_修改商品规格参数
(1) 描述商品规格参数回显的实现思路
根据id查询tb_item_param_item表,根据商品的id1进行查询
创建 ParamItemService 接口
package com.bjsxt.ego.rpc.service;import com.bjsxt.ego.rpc.pojo.TbItemParamItem;public interface ParamItemService {/**** 根据商品 id,查询商品对应的规格参数信息* @param itemid* @return*/public TbItemParamItem loadTbItemParamItemService(Long itemid);}
创建 ParamItemServiceImpl 实现类
package com.bjsxt.ego.rpc.service.impl;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.bjsxt.ego.rpc.mapper.TbItemParamItemMapper;import com.bjsxt.ego.rpc.pojo.TbItemParamItem;import com.bjsxt.ego.rpc.pojo.TbItemParamItemExample;import com.bjsxt.ego.rpc.pojo.TbItemParamItemExample.Criteria;import com.bjsxt.ego.rpc.service.ParamItemService;@Servicepublic class ParamItemServiceImpl implements ParamItemService {
//注入 mapper代理对象@Autowiredprivate TbItemParamItemMapper tbItemParamItemMapper;
@Override
public TbItemParamItem loadTbItemParamItemService(Long itemid) {
// TODO Auto-generated method stubTbItemParamItemExample example=new TbItemParamItemExample();Criteria c = example.createCriteria();
//封装查询条件c.andItemIdEqualTo(itemid);
List<TbItemParamItem> list =tbItemParamItemMapper.selectByExampleWithBLOBs(example);if(list!=null && list.size()==1)return list.get(0);return null;}}
修改 applicationContext-dubbo.xml
<dubbo:service interface="com.bjsxt.ego.rpc.service.ParamItemService"ref="paramItemServiceImpl"></dubbo:service>
ego-manager-web 实现
修改 applicationContext-dubbo.xml
<dubbo:reference interface="com.bjsxt.ego.rpc.service.ParamItemService"id="paramItemServiceProxy"></dubbo:reference>
(2) 修改商品规格参数前台需要提交哪些数据
分享/讲解/扩展思考
点名提问从第一节课到最后一节课分别学到了什么,直到同学们把所有的知识点都说出来并且保证无误。