淘淘商城16-商城后台商品列表之商品删除、下架、上架

目录

1.商品删除、下架、上架效果展示

2.前端

3.后端

3.1后端分析

3.2服务层

3.3表现层


1.商品删除、下架、上架效果展示

选中一件商品,点击删除

提示是否删除

点击确认,提示删除成功

然后商品状态修改为删除

下架上架效果相同,不在赘述。

支持批量商品删除、下架、上架

提示

点击确认

状态变为下架

选中,点击上架,状态变为正常

2.前端

在item-list.jsp页面中

删除

下架

上架

可以发现,请求的都是相似url:/rest/item/xxxx ,参数都是params = {"ids":ids}。

提示成功后都会$("#itemList").datagrid("reload");刷新当前页面。

最后在common.js中,需要修改一点代码

// 格式化商品的状态
	formatItemStatus : function formatStatus(val,row){
        if (val == 1){
            return '正常';
        } else if(val == 2){
        	return '<span style="color:red;">下架</span>';
        } else if(val == 3){
        	return '<span style="color:red;">删除</span>';
        } else {
        	return '未知';
        }
    },

 item-list.jsp页面中,格式化状态时需要用

3.后端

3.1后端分析

商品删除、下架、上架本质上都是修改tb_item表中的状态。

所以我们只需要编写一个方法即可根据,请求的方法修改商品状态为1,2,3

3.2服务层

在taotao-manager-interface的ItemService中编写接口

/**
 * 更新商品状态
*/
TaotaoResult updateItemStatus(List<Long> ids,String method);

在taotao-manager-service的ItemServiceImpl编写实现类

因为可以批量删除、下架、上架,所以id用list保存

/**
	 * 根据id,更新商品状态1-正常,2-下架,3-删除
	 */
	@Override
	public TaotaoResult updateItemStatus(List<Long> ids, String method) {
		TbItem item = new TbItem();
		if (method.equals("reshelf")) {
			// 正常,更新status=3即可
			item.setStatus((byte) 1);
		} else if (method.equals("instock")) {
			// 下架,更新status=3即可
			item.setStatus((byte) 2);
		} else if (method.equals("delete")) {
			// 删除,更新status=3即可
			item.setStatus((byte) 3);
		}
		
		for (Long id : ids) {
			// 创建查询条件,根据id更新
			TbItemExample tbItemExample = new TbItemExample();
			Criteria criteria = tbItemExample.createCriteria();
			criteria.andIdEqualTo(id);
			// 第一个参数 是要修改的部分值组成的对象,其中有些属性为null则表示该项不修改。
			// 第二个参数 是一个对应的查询条件的类, 通过这个类可以实现 order by 和一部分的where 条件。
			itemMapper.updateByExampleSelective(item, tbItemExample);
		}
		return TaotaoResult.ok();
	}

3.3表现层

在taotao-manager-web的ItemCotroller编写controller

我们使用rset的风格动态执行方法

/**
	 * 更新商品状态 
	 */
	@RequestMapping("/rest/item/{method}")
	@ResponseBody
	public TaotaoResult updateItemStatus(@RequestParam(value="ids")List<Long> ids,@PathVariable String method) {
		TaotaoResult result = itemService.updateItemStatus(ids,method);
		return result;
	}

至此商品删除、下架、上架功能完成

猜你喜欢

转载自blog.csdn.net/pdsu161530247/article/details/81808842
今日推荐