宜立方商城的后台管理(商品管理)—————编辑,删除,上架,下架

一。编辑

1.修改jsp页面


出现上面的界面就是没有修改href为item-edit

对应的Controller写两个异步方法


2.ItemController代码

/**
 * 异步重新加载回显描述
 * @param id
 * @return
 */
@RequestMapping("/rest/item/query/item/desc/{id}")
@ResponseBody
public TbItemDesc selectTbItemDesc(@PathVariable long id){
    TbItemDesc itemDesc= itemService.selectTbItemDesc(id);
    return itemDesc;
}

/**
 * 异步重新加载商品信息
 * @param id
 * @return
 */
@RequestMapping("/rest/item/param/item/query/{id}")
@ResponseBody
public TbItem queryById(@PathVariable long id){
    TbItem item = itemService.getItemById(id);
    return item;
}

3.ItemService代码selectTbItemDesc,getItemById方法

@Override
public TbItemDesc selectTbItemDesc(long id) {
    TbItemDesc itemDesc = tbItemDescMapper.selectByPrimaryKey(id);
    return itemDesc;
}


@Override
public EasyUIDataGridResult getItemList(int page, int rows) {
    //设置分页信息
    PageHelper.startPage(page,rows);
    //执行查询
    TbItemExample example=new TbItemExample();
    List<TbItem> items = itemMapper.selectByExample(example);
    //取分页信息
    PageInfo<TbItem> pageInfo = new PageInfo<>(items);
    //创建返回结果对象
    EasyUIDataGridResult result = new EasyUIDataGridResult();
    result.setTotal(pageInfo.getTotal());
    result.setRows(items);
    return result;
}

这里会出现如图描述为空的没有回显成功没有显示数据

出现这种问题的原因是如图没有json格式数据中没有status键对值



解决方法有两种

1.把if语句删除只剩下(这是最为简单的操作)

itemEditEditor.html(_data.itemDesc);

2.在TbItemDesc -pojo中添加一个方法

/**
 * json格式中需要判断状态
 * @return
 */
public E3Result getE3Result() {
    return E3Result.ok();
}

二。删除(包含批量删除)传值为ids

     

对应写Controller

1.ItemController

/**
 * 批量删除功能实现
 * @param ids
 * @return
 */
@RequestMapping("item/delete")
@ResponseBody
public E3Result delete(String ids){
    E3Result result=itemService.deteteBatch(ids);
    return result;
}

2.ItemService

@Override
public E3Result deteteBatch(String ids) {
    //判断ids不为空
    if(StringUtils.isNoneBlank(ids)){
        //分割ids
        String[] split = ids.split(",");
        for ( String id : split ) {
            itemMapper.deleteByPrimaryKey(Long.valueOf(id));
            tbItemDescMapper.deleteByPrimaryKey(Long.valueOf(id));
        }
        return E3Result.ok();
    }
    return null;
}

三。下架查看路径url和参数同上面(二)的方法一样

1.ItemController

/**
 * 商品批量下架
 * @param ids 字符id拼接
 * @return
 */
@RequestMapping("/rest/item/instock")
@ResponseBody
public E3Result productShelves(String ids){
    E3Result result = itemService.productShelves(ids);
    return result;
}

2.ItemService

 
 
@Override
public E3Result productShelves(String ids) {
    //判断ids不为空
    if(StringUtils.isNoneBlank(ids)){
        String[] split = ids.split(",");
        //遍历成一个个的id进行修改下架
        for ( String id : split ) {
            //通过id查询到商品信息
            TbItem item = itemMapper.selectByPrimaryKey(Long.valueOf(id));
            //商品状态,1-正常,2-下架,3-删除
            item.setStatus((byte) 2);
            //保存
            itemMapper.updateByPrimaryKey(item);
        }
        return E3Result.ok();
    }
    return  null;
}

四。上架同下架的方法和步骤一样就是修改了一下ItemService方法中这条语句

//商品状态,1-正常,2-下架,3-删除
item.setStatus((byte) 1);

猜你喜欢

转载自blog.csdn.net/qq_39537939/article/details/80397573
今日推荐