1. 程式人生 > >【05】淘淘商城-內容分類管理 修改、刪除實現、內容列表展示

【05】淘淘商城-內容分類管理 修改、刪除實現、內容列表展示

今天繼續來寫作業

修改(重新命名)節點:

分析

有上圖我們可以看到當所選節點id不為0的時候,就說明這不是一個新建的節點,所以我們走else的路徑:/content/category/update。

傳給我們的資訊有節點的id和修改後的名字

service層

很簡單的邏輯

通過id找到category,然後修改name,更新category

ps:可以不返回TaotaoResult.ok(),因為前端頁面並沒有回掉函式。

Controller層

刪除節點

分析

如圖,我們可以看到刪除節點的url為/content/category/delete/,為我們傳入了parentId和id

Service

準備

因為要用到遞迴運算,所有我們將其封裝成一個方法

返回值問題同上,可以不寫。

 

因為要頻繁的查詢子節點,所以我們將其封裝成一個方法

遞迴刪除

首先我們先將程式碼分為三個部分

1.               刪除該節點下的所有子節點

2.               判斷刪除完成後父節點是否為葉子節點

3.               刪除自己

刪除子節點

原理很簡單

我們找到該節點下的所有子節點,判斷他們下是否還有子節點,如果有繼續判斷是否還有子節點,直到該節點沒有子節點,我們將其稱之為葉子節點,之後刪除該節點。

上圖就是流程圖,這樣就很好理解了。

判斷是否為葉子結點

這個相對於上面的邏輯就容易好多了,當我們的父節點下只有一個子節點的時候,我們刪除這個子節點,父節點就變成了一個沒有子節點的葉子節點,所以我們要將父節點的isParent屬性改為false。

刪除本節點


沒啥可說的

Controller

內容列表

分析

上圖我們可以知道:

URL: /content/query/list

傳入引數:categoryId

EasyUI傳入的分頁資訊:page、rows

Service

常規的分頁查詢,沒啥好說的,注意在查詢的時候要使用selectByExampleWithBLOBs()方法,否則無法取出欄位型別為text的資料。

Controller

這裡介紹的很簡單,具體可以看我【03】淘淘商城的筆記