查詢使用者id和產品id號,如果還沒加購物車,則設為選中狀態,並新增乙個,已經加入了就使購買數量加1,同時對庫存和購買數量作聯動校驗,最後記得更新到資料庫中。
@autowired
@autowired
//投入乙個商品到購物車
public serverresponseadd(integer userid,integer count,integer productid)
if(cart==null)else
cartvo cartvo=this.getcartvolimit(userid);
return serverresponse.createbysuccess(cartvo);
}
這裡封裝了乙個bigdecimal類,用於計算加減乘除的運算,相比原生的類,這個可以保證浮點操作的精度最佳,
//獲取使用者的乙個購物車列表 並對庫存和購買數量做聯動校驗
public cartvo getcartvolimit(int userid)else
cartproductvo.setquantity(buylimitcount);
//計算總價
}
數量的操作都必須對庫存進行檢查,並注意更新庫存。
public serverresponse update(integer userid,integer count,integer productid)
if(cart!=
null)
cartvo cartvolimit = getcartvolimit(userid);//判斷庫存是否足夠
return serverresponse.createbysuccess(cartvolimit);
}public serverresponse deleteproduct(integer userid,string productids)
cartvo cartvolimit = getcartvolimit(userid);//判斷庫存是否足夠
return serverresponse.createbysuccess(cartvolimit);
}
delete from mmall_cart
where user_id=#
and product_id in
"productidlist" index="index"
item="item"
open="(" separator=","
close=")">
#if>
delete>
//全選
//全反選
//單獨選 通過productid判斷選中產品
//單獨反選
public serverresponseselectorunselect(integer userid,integer checked,integer productid)
//查詢當前使用者的購物車裡面的購買數量
public serverresponsegetcartproductcount(integer userid)
}
"checkedoruncheckedbyuserid" parametertype="map" >
update mmall_cart
set checked=#,
update_time = now()
where user_id=#
and product_id=#
if>
/*注意!如果user_id的查詢結果不存在 sum()就會返回null 要麼返回值改為integer 由service層處理 要麼直接mybatis報錯 這裡用內建函式轉換*/
select nullif(sum(quantity),0) as count from mmall_cart where user_id=#
select>
後台管理介面 購物車模組
上級目錄 購物車模組 具體返回字段意思參見cart購物車表 返回狀態碼 無 productid,商品id count,購物車中商品數量 carttotalprice 1119840.0,所有購物車商品記錄 總和 allchecked true,是否處於全選狀態,會根據是否有記錄處於未被選中狀態自動判...
購物車模組的開發
需求分析 實現乙個購物城模組,並具有電商平台的功能,比如新增商品,刪除商品,顯示當前購物車中的商品列表,在列表上單選 單反選,全選 全不選等 專案使用mvc的設計,首先是cartcontroller類 public class cartcontroller return icartservice.a...
19 購物車模組 加入購物車功能開發
購物車功能的開發是使用者在前端將商品加入到購物車中的操作,加入的時候分兩種情況,一種是商品已經在購物車裡面了,如果使用者再新增,我們只要增加對應的數量即可 第二種是原來購物車不存在該商品,我們要將該商品新增到購物車中。1 介面編寫 新建cartcontroller類 新增商品到購物車 新增商品到購物...