1.有關商品的修改功能。
業務流程:用戶在item-list頁面只能選擇一條數據(若選擇多條或者沒選,則跳出提示信息),然后點擊編輯,跳到用戶編輯的頁面,這時候頁面中已經有了原本的數據,在用戶對原有的數據進行修改后,點擊確認,則會更新用戶數據庫中的數據然后完成更新的功能。
1.1對於用戶只能選擇一條數據進行編輯的相關功能。
var itemList=$("#itemList");這句代碼的意思是將itemlist轉換成jquery對象。
var sels=itemList.datagrid("getSelections");這句代碼的意思則是獲取到用戶點擊的這條數據的全部信息。
所以在用戶點擊編輯的時候,就去調用getSelectionsIds()方法,通過ids的長度跳出不同的提示信息。
1.2 用戶選擇類目后顯示相應類目的name。
業務邏輯:所以需要獲取到用戶選擇的cid,然后傳回controller進行查詢,最后返回數據給前台,前台再進行輸出。
var data =$("#itemList").datagrid("getSelections")[0];這句代碼的意思是獲取用戶選擇的第一條數據的全部信息。
然后data.cid就是我們選擇的那個cid,再通過鏈接傳到controller。
service層:
controller層:
最后會返回一個對象給前台,這樣前台就拿到了我們想要的數據了。
到這里我在顯示數據的時候已經可以顯示以下的數據:
可是商品的描述我們還沒有獲取到,因為是不同表的內容,所以我們還需要通過跟獲取名字一樣的思路去獲取我們的商品描述。
1.3 商品描述的顯示。
由圖片可以知道,我們傳入的參數是一個id,還有返回的類型應該是一個jingxiresult。
service層:
controller層:
這樣我們就能獲取到商品的描述了。
到此,有關數據在頁面的顯示就完成了~
2.更新的具體操作
當我們點擊提交的時候,會跑/rest/item/update這個方法,並且這個方法返回的是jingxiresult對象。
service層:
@Override public JingXiResult editItem(TbItem item, String desc,String itemParams) { JingXiResult result = new JingXiResult(); result.setStatus(500); long id = item.getId(); item.setStatus((byte) 1); item.setCreated(itemMapper.selectByPrimaryKey(id).getCreated()); item.setUpdated(new Date()); int i = itemMapper.updateByPrimaryKeySelective(item); // int i = itemMapper.updateByPrimaryKey(item); if( i == 1 && this.editTbItemDesc(id,desc) && edititemparamitem(id,itemParams)) result.setStatus(200); return result; } //修改desc的內容 private boolean editTbItemDesc(long itemId, String desc){ TbItemDesc tbitemdesc =new TbItemDesc(); tbitemdesc.setItemId(itemId); tbitemdesc.setItemDesc(desc); tbitemdesc.setUpdated(new Date()); try { tbitemdesc.setCreated(tbItemDescService.selectByPrimaryKey(itemId).getCreated()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } if(tbitemdescmapper.updateByPrimaryKeyWithBLOBs(tbitemdesc) == 1) return true; return false; }
controller層:
至此,更新功能完成~
3.刪除操作
點擊刪除的時候 會去跳/rest/item/delete這個方法,參數為ids,然后返回的是一個jingxiresult對象。
service層:
controller層:
至此,刪除功能完成~