美文网首页
分布式商城项目总结三之编辑和删除商品的实现

分布式商城项目总结三之编辑和删除商品的实现

作者: MisterDo | 来源:发表于2019-10-19 22:44 被阅读0次

    6商品编辑功能的实现

    6.1 前端信息

    • 返回的数据结构:TaotaoResult
    • 请求的url:/item/save
    • 请求类型与提交参数:$("#itemAddForm").serialize()将表单序列号为key-value形式的字符串以post 的形式将表单的内容提交。

    6.2.ItemServiceImpl

    
    @Override
        public TaotaoResult updateItem(TbItem item, String desc, String itemParam) throws Exception {
    
            TbItemExample example = new TbItemExample();
            TbItemExample.Criteria criteria= example.createCriteria();
            Long itemId = item.getId();
            criteria.andIdEqualTo(itemId);
            TbItem oldItem = itemMapper.selectByPrimaryKey(itemId);
            //更新商品信息
            item.setStatus((byte) 1);
            item.setCreated(oldItem.getCreated());
            item.setUpdated(new Date());
            itemMapper.updateByExample(item,example);
            //更新商品描述信息
            TaotaoResult result = updateItemDesc(itemId,desc);
            if(result.getStatus()!=200) {
                throw new Exception();
            }
            //更新商品规格参数
            result = updateItemParamItem(itemId,itemParam);
            if(result.getStatus()!=200) {
                throw new Exception();
            }
            return TaotaoResult.ok();
        }
    
    
    
        public TaotaoResult updateItemDesc(Long itemId, String desc) throws Exception {
            TbItemDescExample example = new TbItemDescExample();
            TbItemDescExample.Criteria criteria = example.createCriteria();
            criteria.andItemIdEqualTo(itemId);
            TbItemDesc itemDesc = itemDescMapper.selectByPrimaryKey(itemId);
    
            itemDesc.setUpdated(new Date());
            itemDesc.setItemDesc(desc);
            itemDescMapper.updateByExample(itemDesc,example);
            return TaotaoResult.ok();
    
        }
    
        public TaotaoResult updateItemParamItem(Long itemId, String param) throws Exception {
            TbItemParamItem itemParamItem = itemParamItemMapper.selectByPrimaryKey(itemId);
            if(itemParamItem==null) {
                return TaotaoResult.ok();
            }
            itemParamItem.setUpdated(new Date());
            itemParamItem.setParamData(param);
            TbItemParamItemExample example = new TbItemParamItemExample();
            TbItemParamItemExample.Criteria criteria = example.createCriteria();
            criteria.andItemIdEqualTo(itemId);
            itemParamItemMapper.updateByExample(itemParamItem, example);
    
            return TaotaoResult.ok();
        }
    

    6.3 Controller

    @RequestMapping(value = "/update",method = RequestMethod.POST)
        @ResponseBody
        public TaotaoResult updateItem(TbItem item,String desc,String itemParams) throws Exception{
            TaotaoResult result = itemService.updateItem(item,desc,itemParams);
            return result;
    
        }
    

    7商品删除功能的实现

    7.1 前端信息

    • 返回的数据结构:TaotaoResult
    • 请求的url:/item/delete
    • 请求类型与提交参数:post请求,ids

    7.1.ItemServiceImpl

    @Override
        public TaotaoResult deleteItemById(long itemId) throws Exception {
            itemMapper.deleteByPrimaryKey(itemId);
            itemDescMapper.deleteByPrimaryKey(itemId);
            itemParamItemMapper.deleteByPrimaryKey(itemId);
            return TaotaoResult.ok();
        }
    

    7.2 Controller

    @RequestMapping(value = "/delete",method = RequestMethod.POST)
        @ResponseBody
        public TaotaoResult updateItem(@RequestParam String ids) throws Exception{
    
            String[] list = ids.split(",");
    
            for(String i:list){
                Long itemId = Long.valueOf(i);
                TaotaoResult result = itemService.deleteItemById(itemId);
                if(result.getStatus()!=200){
                    return TaotaoResult.build(500,"删除失败,一个或多个未被刪除");
                }
            }
            return TaotaoResult.ok();
        }
    

    相关文章

      网友评论

          本文标题:分布式商城项目总结三之编辑和删除商品的实现

          本文链接:https://www.haomeiwen.com/subject/loznmctx.html