1. 程式人生 > >淘淘商城16-商城後臺商品列表之商品刪除、下架、上架

淘淘商城16-商城後臺商品列表之商品刪除、下架、上架

目錄

2.前端

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;
	}

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