json list格式_基于json格式完成商品规格参数管理

第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;

}

前端参数

ad39066095108baf46b758778dbcbb74.png

d67db605c0abc5306317903a5491ff27.png

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) 修改商品规格参数前台需要提交哪些数据

77a085f6197f36975c8aafd61e6cf88c.png

43211f47b2fc0f2d1c0619037b19c2df.png

分享/讲解/扩展思考

点名提问从第一节课到最后一节课分别学到了什么,直到同学们把所有的知识点都说出来并且保证无误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值