視線新增套餐功能:
創建SetmealDish,SetmealDto類,與相關的mapper,service,serviceImpl,controller類。
Setmeal表示套餐,SetmealDish表示套餐對應的菜品。?
交互過程:
前端請求,點擊菜品分類查看對應菜品:
后端代碼:
前端效果:
點擊保存按鈕后發送的請求:
攜帶的json數據:
后端響應,使用SetmealDto接收:
編寫service層方法,對兩個表setmeal,setmeal_dish進行添加套餐和套餐菜品。
后端調用:
實現套餐分頁查詢:
前端請求:
后端代碼,跟菜品分類基本一模一樣。
想要在前端展示套餐分類,對應的是categoryName屬性。
可以看到setmeal表中沒有對應的屬性,只有category_id屬性。
所以需要根據category_id查詢到categoryName字段并保存到setmealDto對象當中,再與前端交互。
實現刪除套餐:
查看前端請求
后端對應:
實現的刪除方法,刪除setmeal表和setmeal_dish表中的數據:
實現短信發送:
導入maven坐標:
實現User類及相關mapper類service類controller類,并添加工具類SMSUtils和ValidateCodeUtils。
發送驗證碼后端代碼,使用ValidateCodeUtils工具類生成驗證碼,使用log.info打印在控制臺。實際生產情況中是使用SMSUtils根據阿里云向手機號發送驗證碼,由于需要認證,所以此處簡化。將code存入session中。
實現登陸功能后端代碼,使用Map對接請求中的屬性(也可以使用DTO類,此處偷懶):
流程就是判斷驗證碼是否正確,判斷用戶是否存在,最后將user存入到session中,不然前端頁面跳轉后會被LoginCheckFilter攔截。
修改LoginCheckFilter類,加入user的白名單。