1. 地址管理模塊
-
地址展示
-
前端:通過?
showAddress()
?發起 Ajax GET 請求,動態渲染地址列表表格,使用?#{tag}
、#{name}
?等占位符替換真實數據。 -
后端:
-
控制器層調用?
AddressService
,通過?AddressMapper
?查詢用戶地址數據。 -
SQL 按?
is_default
?降序排序,優先展示默認地址。
-
-
-
設置默認地址
-
前端:點擊“設為默認”觸發?
setDefault(aid)
,發送 POST 請求。 -
后端:
-
服務層事務操作:先將用戶所有地址?
is_default
?設為 0,再設置指定?aid
?的地址為 1。 -
SQL 通過兩個?
<update>
?標簽分別處理用戶 ID 和地址 ID 的更新。
-
-
-
三級聯動地址選擇
-
前端:基于省、市、區下拉框的?
change
?事件,動態加載下級區域數據。 -
后端:
-
控制器調用?
DistrictService
,查詢?t_dict_district
?表,按?parent
?字段返回層級數據。
-
-
-
地址添加
-
前端:提交表單數據,觸發?
/address/saveAddress
?請求。 -
后端:
-
檢查用戶地址數量(上限 10 條),首次添加設為默認地址。
-
通過?
DistrictMapper
?查詢省市區名稱,填充完整地址信息。 -
SQL 插入語句覆蓋地址表全字段。
-
-
2. 購物車與訂單模塊
-
購物車勾選與統計
-
前端:通過勾選事件實時計算選中商品的總數量和總金額,同步更新隱藏域數據。
-
后端:
-
控制器接收勾選的購物車 ID 數組,聯合查詢商品信息(
t_cart
?與?t_product
?表關聯)。
-
-
-
訂單確認頁回顯
-
前端:解析 URL 參數(
ct
、tp
、ids
),展示商品列表和支付總金額。 -
后端:通過?
CartService
?查詢勾選商品詳情,返回?CartVO
?列表。
-
-
預支付訂單生成
-
前端:提交地址和總金額,觸發?
/orders/createOrder
?請求,跳轉支付頁。 -
后端:
-
生成唯一訂單號(UUID),關聯用戶地址信息。
-
使用 Redis 緩存訂單數據(30 分鐘過期),避免重復提交。
-
-
3. 關鍵技術點
-
前后端交互:Ajax 異步請求、JSON 數據格式、URL 參數傳遞。
-
數據庫操作:
-
MyBatis 動態 SQL(如?
<foreach>
?遍歷數組)。 -
事務管理(
@Transactional
?注解)。
-
-
緩存應用:Redis 存儲臨時訂單數據,防止支付超時。
-
安全控制:用戶會話(
HttpSession
)管理,參數合法性校驗。
4. 核心代碼結構
-
前端:
-
jQuery DOM 操作(
append()
、replace()
)。 -
事件監聽(
change
、click
)。
-
-
后端:
-
Spring MVC 分層架構(Controller → Service → Mapper)。
-
實體類映射(
Address
、District
、Order
)。 -
配置文件(
application.yml
?定義業務參數)。
-