淘淘商城 项目(IDEA版)之——规格参数功能实现:后台规格参数模板管理 列表显示、新增、删除

后台对规格参数模板管理:列表显示、新增、删除

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值