版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
任務(wù)3.實現(xiàn)菜品管理模塊任務(wù)描述本任務(wù)將實現(xiàn)菜品(菜品)管理模塊,分別完成菜品列表、菜品詳情、添加菜品、修改菜品、刪除菜品等功能。知識準(zhǔn)備1.前端開發(fā)流程需求->原型->開發(fā)->測試->上線2.前端目錄結(jié)構(gòu)(1)模塊化JS模塊化:AMD、CommonJS、UMD、ES6ModuleCSS模塊化:less、sass、stylus、postCSS、cssmodule資源模塊化(2)組件化項目組定制化ui組件公共功能組件,如404,無權(quán)限公共插件模塊間共用組件(3)靜態(tài)資源管理非模塊化資源模塊化資源--與模塊一起進行統(tǒng)一管理(4)規(guī)范化編碼規(guī)范接口規(guī)范
git使用規(guī)范CodeReviewUI元素規(guī)范(5)國際化:減少層級引用,提高復(fù)用性3.測試(1)SIT測試環(huán)境
測試環(huán)境,前后端分離,后臺CORS,前臺通過代理跨域。最好采用sourcemap方式,利于追蹤bug。一般測試通過,bug單清零,會轉(zhuǎn)UAT測試。(2)UAT測試環(huán)境
用戶驗收測試,一般通過后,就準(zhǔn)備部署上線。4.部署webpack進行打包后,發(fā)布到服務(wù)器上,項目上線。當(dāng)然,上線前,要進行性能優(yōu)化,例如配置緩存,靜態(tài)資源CDN部署。任務(wù)實施步驟1:實現(xiàn)菜品管理模塊后臺(1)在“com.chinasofti.ordersys.model”包中,新建DishesInfo類,用于實現(xiàn)菜品信息視圖對象。?代碼如下:/***Copyright2015ChinaSoftInternationalLtd.Allrightsreserved.*/packagecom.chinasofti.ordersys.model;
/***<p>*Title:DishesInfo*</p>*<p>*Description:菜品信息VO*</p>*<p>*Copyright:Copyright(c)2015*</p>*<p>*Company:ChinaSoftInternationalLtd.*</p>**@authoretc*@version1.0*/publicclassDishesInfo{ /** *菜品ID **/ privateintdishesId; /** *菜品名稱 **/ privateStringdishesName; /** *菜品描述 **/ privateStringdishesDiscript; /** *菜品圖片 **/ privateStringdishesImg; /** *菜品詳細描述文本 **/ privateStringdishesTxt; /** *是否推薦菜品標(biāo)識 **/ privateintrecommend; /** *菜品單價 **/ privatefloatdishesPrice; privatefloatdishesPrice;
publicintgetDishesId(){ returndishesId; }
publicvoidsetDishesId(intdishesId){ this.dishesId=dishesId; }
publicStringgetDishesName(){ returndishesName; }
publicvoidsetDishesName(StringdishesName){ this.dishesName=dishesName; }
publicStringgetDishesDiscript(){ returndishesDiscript; }
publicvoidsetDishesDiscript(StringdishesDiscript){ this.dishesDiscript=dishesDiscript; }
publicStringgetDishesImg(){ returndishesImg; } publicvoidsetDishesImg(StringdishesImg){ this.dishesImg=dishesImg; }
publicStringgetDishesTxt(){ returndishesTxt; }
publicvoidsetDishesTxt(StringdishesTxt){ this.dishesTxt=dishesTxt; }
publicintgetRecommend(){ returnrecommend; }
publicvoidsetRecommend(intrecommend){ this.recommend=recommend; }
publicfloatgetDishesPrice(){ returndishesPrice; }
publicvoidsetDishesPrice(floatdishesPrice){ this.dishesPrice=dishesPrice; }}(2)在“com.chinasofti.ordersys.api.admin”包中,新建AdminDishesController類,用于實現(xiàn)菜品管理模塊接口。?
代碼如下:packagecom.chinasofti.ordersys.api.admin;
importmon.result.PageResults;importmon.result.Results;importcom.chinasofti.ordersys.model.DishesInfo;importcom.chinasofti.ordersys.service.admin.DishesService;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.security.access.prepost.PreAuthorize;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;
importjava.util.List;@PreAuthorize("hasRole('1')")@RestController@RequestMapping("/admin/dishes")publicclassAdminDishesController{ @AutowiredDishesServiceservice;
publicDishesServicegetService(){ returnservice; }
publicvoidsetService(DishesServiceservice){ this.service=service; }
@RequestMapping("/adddishes") publicResults<DishesInfo>addDishes(DishesInfoinfo){ //執(zhí)行添加菜品操作 service.addDishes(info);
returnResults.success(info); } @RequestMapping("/deletedishes") publicResults<DishesInfo>deleteDishes(IntegerdishesId){ service.deleteDishesById(dishesId); returnResults.success(); }
@GetMapping("/get") publicResults<DishesInfo>getDishes(IntegerdishesId){ returnResults.success(service.getDishesById(dishesId)); }
@RequestMapping("/getdishesbypage") publicPageResults<DishesInfo>getDishesInfoByPage(intpage){
//獲取最大頁碼數(shù) intmaxPage=service.getMaxPage(8); //對當(dāng)前的頁碼數(shù)進行糾錯,如果小于1,則直接顯示第一頁的內(nèi)容 page=page<1?1:page; //對當(dāng)前的頁碼數(shù)進行糾錯,如果大于最大頁碼,則直接顯示最后一頁的內(nèi)容 page=page>maxPage?maxPage:page; //進行分頁數(shù)據(jù)查詢 List<DishesInfo>list=service.getDishesInfoByPage(page,8); //嘗試將結(jié)果結(jié)構(gòu)化 returnPageResults.success(list,page,maxPage); }
@RequestMapping("/modifydishes") publicResults<DishesInfo>modifyDishes(DishesInfoinfo){
//執(zhí)行菜品信息修改工作 service.modifyDishes(info);
//跳轉(zhuǎn)到菜品管理界面 returnResults.success(info);
}
@RequestMapping("/toprecommend") publicResults<List<DishesInfo>>getTop4RecommendDishes(){
//獲取頭4條推薦菜品信息列表 List<DishesInfo>list=service.getTop4RecommendDishes(); //嘗試將結(jié)果結(jié)構(gòu)化 returnResults.success(list); }}(3)在“com.chinasofti.ordersys.service.admin”包中,新建DishesService類,用于實現(xiàn)菜品管理服務(wù)對象。?代碼如下:/***Copyright2015ChinaSoftInternationalLtd.Allrightsreserved.*/packagecom.chinasofti.ordersys.service.admin;
importcom.chinasofti.ordersys.mapper.DishesInfoMapper;importcom.chinasofti.ordersys.model.DishesInfo;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Service;
importjava.util.List;/***<p>*Title:DishesService*</p>*<p>*Description:菜品管理服務(wù)對象*</p>*<p>*Copyright:Copyright(c)2015*</p>*<p>*Company:ChinaSoftInternationalLtd.*</p>**@authoretc*@version1.0*/@ServicepublicclassDishesService{ @AutowiredDishesInfoMappermapper;
publicDishesInfoMappergetMapper(){ returnmapper; }
publicvoidsetMapper(DishesInfoMappermapper){ this.mapper=mapper; }
/** *分頁獲取菜品數(shù)據(jù)的方法 * *@parampage *要獲取數(shù)據(jù)的頁號 *@parampageSize *每頁顯示的條目數(shù) *@return當(dāng)前頁的菜品數(shù)據(jù)列表 **/ publicList<DishesInfo>getDishesInfoByPage(intpage,intpageSize){ //獲取帶有連接池的數(shù)據(jù)庫模版操作工具對象 intfirst=(1)*pageSize; //返回結(jié)果 returnmapper.getDishesInfoByPage(first,pageSize);
}
/** *獲取菜品信息的最大頁數(shù) * *@parampageSize *每頁顯示的條目數(shù) *@return當(dāng)前數(shù)據(jù)庫中數(shù)據(jù)的最大頁數(shù) **/ publicintgetMaxPage(intpageSize){
Longrows=mapper.getMaxPage(); //返回最大頁數(shù) return(int)((rows.longValue()-1)/pageSize+1); } /** *根據(jù)菜品ID值刪除菜品信息的方法 * *@paramdishesId *要刪除的菜品Id **/ publicvoiddeleteDishesById(IntegerdishesId){ //獲取帶有連接池的數(shù)據(jù)庫模版操作工具對象 mapper.deleteDishesById(dishesId); }
/** *添加菜品的方法 * *@paraminfo *需要添加的菜品信息 **/ publicvoidaddDishes(DishesInfoinfo){ mapper.addDishes(info);
} /** *根據(jù)dishesId獲取菜品詳細信息的方法 * *@paramdishesId *要獲取信息的特定菜品Id *@return返回該id的菜品詳細信息 **/ publicDishesInfogetDishesById(IntegerdishesId){
returnmapper.getDishesById(dishesId); }
/** *修改菜品信息的方法 * *@paramInfo *要修改的菜品信息,其中dishesId為修改依據(jù),其余信息為修改的目標(biāo)值 **/
publicvoidmodifyDishes(DishesInfoinfo){ mapper.modifyDishes(info); } /** *獲取頭4條推薦菜品的信息 * *@return頭4條推薦菜品列表 **/ publicList<DishesInfo>getTop4RecommendDishes(){
returnmapper.getTop4RecommendDishes();
}}(4)在“com.chinasofti.ordersys.mapper”包中,新建DishesInfoMapper類,用于實現(xiàn)菜品模塊映射類。?代碼如下:packagecom.chinasofti.ordersys.mapper;
importcom.chinasofti.ordersys.model.DishesInfo;importorg.apache.ibatis.annotations.*;
importjava.util.List;
@MapperpublicinterfaceDishesInfoMapper{
@Select("select*fromdishesinfoorderbyrecommenddesc,dishesIdlimit#{first},#{max}") publicList<DishesInfo>getDishesInfoByPage(@Param("first")intfirst,@Param("max")intmax);
@Select("selectcount(*)fromdishesinfo") publicLonggetMaxPage();
@Delete("deletefromdishesinfowheredishesId=#{dishesId}") publicvoiddeleteDishesById(@Param("dishesId")IntegerdishesId); @Insert("insertintodishesinfo(dishesName,dishesDiscript,dishesTxt,dishesImg,recommend,dishesPrice)values(#{info.dishesName},#{info.dishesDiscript},#{info.dishesTxt},#{info.dishesImg},#{info.recommend},#{info.dishesPrice})") publicvoidaddDishes(@Param("info")DishesInfoinfo);
@Select("select*fromdishesinfowheredishesId=#{dishesId}") publicDishesInfogetDishesById(@Param("dishesId")IntegerdishesId);
@Update("updatedishesinfosetdishesName=#{info.dishesName},dishesDiscript=#{info.dishesDiscript},dishesTxt=#{info.dishesTxt},dishesImg=#{info.dishesImg},recommend=#{info.recommend},dishesPrice=#{info.dishesPrice}wheredishesId=#{info.dishesId}") publicvoidmodifyDishes(@Param("info")DishesInfoinfo);
@Select("select*fromdishesinfowhererecommend=1orderbydishesId") pu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年監(jiān)理分公司合作協(xié)議書:生態(tài)保護工程監(jiān)理與咨詢合同6篇
- 2025年招投標(biāo)與合同管理實戰(zhàn)演練課程實施合同3篇
- 2025年無人機植保作業(yè)質(zhì)量保證合同3篇
- 2025年上半年郴州市宜章縣審計局招考財務(wù)收支審計人員易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年上半年邢臺市巨鹿縣事業(yè)單位招(選)聘及招考易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年上半年遵義市匯川區(qū)事業(yè)單位招考易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年上半年遼寧鐵嶺市赴北京高校引進高層次人才30人重點基礎(chǔ)提升(共500題)附帶答案詳解-1
- 二零二五年度建筑鋼材供應(yīng)與承包合作協(xié)議3篇
- 2025年上半年遼寧沈陽沈河區(qū)殘疾人工作專職干事招錄8人重點基礎(chǔ)提升(共500題)附帶答案詳解-1
- 2025年上半年遼寧撫順市總工會所屬事業(yè)單位招考1人易考易錯模擬試題(共500題)試卷后附參考答案
- 工業(yè)設(shè)計概論試題
- 2024-2030年中國商務(wù)服務(wù)行業(yè)市場現(xiàn)狀調(diào)查及投資前景研判報告
- 起重機的維護保養(yǎng)要求與月度、年度檢查記錄表
- 消防設(shè)施維護保養(yǎng)記錄表
- 城區(qū)生活垃圾填埋場封場項目 投標(biāo)方案(技術(shù)方案)
- 垃圾分類巡檢督導(dǎo)方案
- 大一護理生涯發(fā)展展示
- 五年級上冊數(shù)學(xué)應(yīng)用題100題及答案
- 新生兒急救與復(fù)蘇培訓(xùn)
- 外貿(mào)跟單員工作總結(jié)PPT
- UG-NX-8.5標(biāo)準(zhǔn)教程課件
評論
0/150
提交評論