




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任务3.实现菜品管理模块任务描述本任务将实现菜品(菜品)管理模块,分别完成菜品列表、菜品详情、添加菜品、修改菜品、删除菜品等功能。知识准备1.前端开发流程需求->原型->开发->测试->上线2.前端目录结构(1)模块化JS模块化:AMD、CommonJS、UMD、ES6ModuleCSS模块化:less、sass、stylus、postCSS、cssmodule资源模块化(2)组件化项目组定制化ui组件公共功能组件,如404,无权限公共插件模块间共用组件(3)静态资源管理非模块化资源模块化资源--与模块一起进行统一管理(4)规范化编码规范接口规范
git使用规范CodeReviewUI元素规范(5)国际化:减少层级引用,提高复用性3.测试(1)SIT测试环境
测试环境,前后端分离,后台CORS,前台通过代理跨域。最好采用sourcemap方式,利于追踪bug。一般测试通过,bug单清零,会转UAT测试。(2)UAT测试环境
用户验收测试,一般通过后,就准备部署上线。4.部署webpack进行打包后,发布到服务器上,项目上线。当然,上线前,要进行性能优化,例如配置缓存,静态资源CDN部署。任务实施步骤1:实现菜品管理模块后台(1)在“com.chinasofti.ordersys.model”包中,新建DishesInfo类,用于实现菜品信息视图对象。Ø代码如下:/***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; /** *是否推荐菜品标识 **/ 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类,用于实现菜品管理模块接口。Ø
代码如下: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){ //执行添加菜品操作 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){
//获取最大页码数 intmaxPage=service.getMaxPage(8); //对当前的页码数进行纠错,如果小于1,则直接显示第一页的内容 page=page<1?1:page; //对当前的页码数进行纠错,如果大于最大页码,则直接显示最后一页的内容 page=page>maxPage?maxPage:page; //进行分页数据查询 List<DishesInfo>list=service.getDishesInfoByPage(page,8); //尝试将结果结构化 returnPageResults.success(list,page,maxPage); }
@RequestMapping("/modifydishes") publicResults<DishesInfo>modifyDishes(DishesInfoinfo){
//执行菜品信息修改工作 service.modifyDishes(info);
//跳转到菜品管理界面 returnResults.success(info);
}
@RequestMapping("/toprecommend") publicResults<List<DishesInfo>>getTop4RecommendDishes(){
//获取头4条推荐菜品信息列表 List<DishesInfo>list=service.getTop4RecommendDishes(); //尝试将结果结构化 returnResults.success(list); }}(3)在“com.chinasofti.ordersys.service.admin”包中,新建DishesService类,用于实现菜品管理服务对象。Ø代码如下:/***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:菜品管理服务对象*</p>*<p>*Copyright:Copyright(c)2015*</p>*<p>*Company:ChinaSoftInternationalLtd.*</p>**@authoretc*@version1.0*/@ServicepublicclassDishesService{ @AutowiredDishesInfoMappermapper;
publicDishesInfoMappergetMapper(){ returnmapper; }
publicvoidsetMapper(DishesInfoMappermapper){ this.mapper=mapper; }
/** *分页获取菜品数据的方法 * *@parampage *要获取数据的页号 *@parampageSize *每页显示的条目数 *@return当前页的菜品数据列表 **/ publicList<DishesInfo>getDishesInfoByPage(intpage,intpageSize){ //获取带有连接池的数据库模版操作工具对象 intfirst=(1)*pageSize; //返回结果 returnmapper.getDishesInfoByPage(first,pageSize);
}
/** *获取菜品信息的最大页数 * *@parampageSize *每页显示的条目数 *@return当前数据库中数据的最大页数 **/ publicintgetMaxPage(intpageSize){
Longrows=mapper.getMaxPage(); //返回最大页数 return(int)((rows.longValue()-1)/pageSize+1); } /** *根据菜品ID值删除菜品信息的方法 * *@paramdishesId *要删除的菜品Id **/ publicvoiddeleteDishesById(IntegerdishesId){ //获取带有连接池的数据库模版操作工具对象 mapper.deleteDishesById(dishesId); }
/** *添加菜品的方法 * *@paraminfo *需要添加的菜品信息 **/ publicvoidaddDishes(DishesInfoinfo){ mapper.addDishes(info);
} /** *根据dishesId获取菜品详细信息的方法 * *@paramdishesId *要获取信息的特定菜品Id *@return返回该id的菜品详细信息 **/ publicDishesInfogetDishesById(IntegerdishesId){
returnmapper.getDishesById(dishesId); }
/** *修改菜品信息的方法 * *@paramInfo *要修改的菜品信息,其中dishesId为修改依据,其余信息为修改的目标值 **/
publicvoidmodifyDishes(DishesInfoinfo){ mapper.modifyDishes(info); } /** *获取头4条推荐菜品的信息 * *@return头4条推荐菜品列表 **/ publicList<DishesInfo>getTop4RecommendDishes(){
returnmapper.getTop4RecommendDishes();
}}(4)在“com.chinasofti.ordersys.mapper”包中,新建DishesInfoMapper类,用于实现菜品模块映射类。Ø代码如下: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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 世界历史冷战时期事件考察试题集
- 玉米期货风险管理制度
- 现代餐饮人员管理制度
- 现场卫生设备管理制度
- 现金印章票据管理制度
- 珠宝公司人事管理制度
- 班级春节安全管理制度
- 班级自主学生管理制度
- 班里安全小组管理制度
- 瓷砖市场业务管理制度
- 三年级上册音乐教案-第九课-认识手风琴|湘艺版-
- 工程建设项目的生命周期培训
- 酒店精装修项目施工情况的汇报范文
- 2023年浙江杭州余杭区数学七上期末学业水平测试试题含解析
- 2024届江苏泰州省泰中附中中考联考生物试卷含解析
- 岐黄天使中医西学中专项128学时试题答案
- 软件使用授权书
- 经济学基础题库-选择判断题库(401道)
- 敦煌壁画中的莲花图像
- 医院护理培训课件:《跌倒坠床PDCA分析》
- 热力发电厂课程设计说明书
评论
0/150
提交评论