百战商城(三)-商品规格相关操作

本文详细介绍了电商系统中商品规格的管理,包括商品规格模板的分页查询、新增、在商品添加时如何生成规格数据,以及在商品信息修改时如何同步更新规格数据。通过数据库设计、页面分析、控制器、服务代码和RPC服务的实现,阐述了整个流程的关键步骤。
摘要由CSDN通过智能技术生成

一.商品规格模版的分页查询
1.分析数据库表格
商品规格相关操作涉及到两张表格:
 tb_item_param: 规格模版表, 跟商品类目相关. 相同类目的商品应该有相同的模版.
 tb_item_param_item: 规格数据表, 跟商品相关. 即便是同一类商品, 规格数据也会不同, 但是应该遵循相同的模版.
由于规格数据比较复杂, 比较灵活多变. 所以存储数据时使用json格式存储.
例如规格模版:
在这里插入图片描述
规格数据:
在这里插入图片描述
2.页面分析
index.jsp
在这里插入图片描述
item-param-list.jsp
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.提供查询规格模版使用的实体类
由于逆向工程生成的实体类中没有商品类目名称字段, 需要扩展

package com.baizhan.commons.pojo;

import com.baizhan.pojo.ItemParam;

/**
 * 查询规格模版时使用的实体类
 */
public class ItemParam4Query extends ItemParam {
    private String itemCatName;

    public String getItemCatName() {
        return itemCatName;
    }

    public void setItemCatName(String itemCatName) {
        this.itemCatName = itemCatName;
    }
}

4.提供控制器

@RestController
@RequestMapping("/item/param")
public class ItemParamController {
    @Autowired
    private ItemParamService itemParamService;

    /**
     * 分页查询规格模版信息
     *
     * @param page
     * @param rows
     * @return
     */
    @GetMapping("/list")
    public EasyGrid<ItemParam4Query> paramList(
            @RequestParam(defaultValue = "1") int page,
            @RequestParam(defaultValue = "10") int rows) {
        return itemParamService.itemParamList(page, rows);
    }
}

5.后台系统服务代码

public interface ItemParamService {
    /**
     * 规格模版列表
     *
     * @param page
     * @param rows
     * @return
     */
    EasyGrid<ItemParam4Query> itemParamList(int page, int rows);
}
@Service
public class ItemParamServiceImpl implements ItemParamService {
    @Autowired
    private RpcItemParamService rpcItemParamService;

    @Override
    public EasyGrid<ItemParam4Query> itemParamList(int page, int rows) {
        // 准备返回结果对象
        EasyGrid<ItemParam4Query> grid = new EasyGrid<>();
        try {
            // 远程调用获取数据
            RpcResult<PageInfo<ItemParam4Query>> result =
                    rpcItemParamService.paramList(page, rows);
            // 类型转换
            if(result.getStatus() == 200) {
                grid.setTotal(result.getData().getTotal());
                grid.setRows(result.getData().getList());
            }
        } catch (Exceptio
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值