当前位置: 首页 > news >正文

手机网站页面布局网站标题一样

手机网站页面布局,网站标题一样,杭州做网站的好公司,备案 网站建设方案书怎么写瑞吉外卖项目学习笔记(一)准备工作、员工登录功能实现 瑞吉外卖项目学习笔记(二)Swagger、logback、表单校验和参数打印功能的实现 瑞吉外卖项目学习笔记(三)过滤器实现登录校验、添加员工、分页查询员工信息 瑞吉外卖项目学习笔记(四)TableField(fill FieldFill.INSERT)公共字…瑞吉外卖项目学习笔记(一)准备工作、员工登录功能实现 瑞吉外卖项目学习笔记(二)Swagger、logback、表单校验和参数打印功能的实现 瑞吉外卖项目学习笔记(三)过滤器实现登录校验、添加员工、分页查询员工信息 瑞吉外卖项目学习笔记(四)TableField(fill FieldFill.INSERT)公共字段填充、启用/禁用/修改员工信息 瑞吉外卖项目学习笔记(五)菜品/套餐分类的增删改查 瑞吉外卖项目学习笔记(六)分页查询菜品列表、实现图片上传和下载 文章目录 9 菜品管理9.5 新增菜品9.5.1 加载菜品分类9.5.2 保存口味做法配置9.5.3 新增菜品具体实现 9.6 (批量)删除菜品9.6.1 需求分析9.6.2 具体实现 9 菜品管理 9.5 新增菜品 9.5.1 加载菜品分类 在“新增菜品”页面菜品分类是一个下拉框因此进入该页面后需要向后端发起查询请求。 这里可以直接调用菜品/套餐分类的分页查询接口参数要设置成?page1pageSize999999type1表示查询第1页该页显示999999条记录相当于查出全部type1表示查询的是菜品分类。 9.5.2 保存口味做法配置 由t_dish的表结构可知“新增菜品”页面的口味做法配置并不保存在t_dish表。所以我们新建一个菜品口味关系表t_dish_flavor表来单独保存。 1在数据库新建菜品口味关系表t_dish_flavor DROP TABLE IF EXISTS t_dish_flavor; CREATE TABLE t_dish_flavor (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT ID,dish_id bigint(20) NOT NULL COMMENT 菜品,name varchar(64) COLLATE utf8_bin NOT NULL COMMENT 口味名称,value varchar(500) COLLATE utf8_bin DEFAULT NULL COMMENT 口味数据list,create_time datetime NOT NULL COMMENT 创建时间,update_time datetime NOT NULL COMMENT 更新时间,create_user bigint(20) NOT NULL COMMENT 创建人,update_user bigint(20) NOT NULL COMMENT 修改人,is_deleted int(11) NOT NULL DEFAULT 0 COMMENT 是否删除,PRIMARY KEY (id) USING BTREE ) ENGINEInnoDB DEFAULT CHARSETutf8 COLLATEutf8_bin COMMENT菜品口味关系表;2使用MyBatisPlus插件生成代码 3给DishFlavor实体类的公共字段添加注解 // com.itweid.takeout.entity.DishFlavorApiModelProperty(value 创建时间) TableField(fill FieldFill.INSERT) private LocalDateTime createTime;ApiModelProperty(value 更新时间) TableField(fill FieldFill.INSERT_UPDATE) private LocalDateTime updateTime;ApiModelProperty(value 创建人) TableField(fill FieldFill.INSERT) private Long createUser;ApiModelProperty(value 修改人) TableField(fill FieldFill.INSERT_UPDATE) private Long updateUser;9.5.3 新增菜品具体实现 功能请求方法请求路径新增菜品POST/dish/add 该接口的入参较为复杂下面是一个示例 {name:辣子鸡, //菜品名称price:14.99, //菜品价格image:e7cff7e7-4f63-4e3a-8001-6866e27f82d6.png, //菜品图片description:辣子鸡真的好吃, //菜品描述categoryId:1397844263642378242, //菜品分类IDflavors:[ //口味做法配置{name:甜味,value:[\无糖\,\少糖\,\半糖\\多糖\,\全糖\],showOption:false},{name:温度,value:[\热饮\,\常温\,\去冰\,\少冰\,\多冰\],showOption:false},{name:忌口,value:[\不要葱\,\不要蒜\,\不要香菜\,\不要辣\],showOption:false},{name:辣度,value:[\不辣\,\微辣\,\中辣\,\重辣\],showOption:false}] }1改造DishQuery类添加以上参数并做参数校验 Data EqualsAndHashCode(callSuperfalse) NoArgsConstructor AllArgsConstructor ApiModel(value DishQuery对象, description 菜品查询对象) public class DishQuery extends BaseQuery {ApiModelProperty(value 菜品名称)NotBlank(groups Add.class, message 菜品名称不能为空)private String name;ApiModelProperty(value 菜品分类ID)NotBlank(groups Add.class, message 菜品分类不能为空)private String categoryId;ApiModelProperty(value 菜品价格)NotNull(groups Add.class, message 菜品价格不能为空)private BigDecimal price;ApiModelProperty(value 菜品图片)NotNull(groups Add.class, message 菜品图片不能为空)private String image;ApiModelProperty(value 菜品描述)private String description;ApiModelProperty(value 口味做法配置)private DishFlavor[] flavors;}2在DishController类创建add方法并添加参数校验 ApiOperation(新增菜品) PostMapping(/add) public BaseResult add(RequestBody Validated(Add.class) DishQuery dishQuery) {return dishService.addDish(dishQuery); }3在DishServiceImpl类具体实现addDish方法 // com.itweid.takeout.service.impl.DishServiceImplOverride public BaseResult addDish(DishQuery dishQuery) {// 1 菜品名称不能重复if(lambdaQuery().eq(Dish::getName, dishQuery.getName()).exists()) {return BaseResult.error(ErrorCode.DISH_EXIST);}// 2 新增菜品Dish dish new Dish();dish.setName(dishQuery.getName());dish.setCategoryId(Long.valueOf(dishQuery.getCategoryId()));dish.setPrice(dishQuery.getPrice());dish.setImage(dishQuery.getImage());dish.setDescription(dishQuery.getDescription());// 随机指定商品码dish.setCode(UUID.randomUUID().toString());save(dish);// 3 新增菜品口味配置DishFlavor[] flavors dishQuery.getFlavors();if(flavors ! null flavors.length 0) {for(DishFlavor f : flavors) {f.setDishId(dish.getId());Db.save(f);}}return BaseResult.success(); }4重启服务测试新增菜品功能 5完善“菜品分类”的显示 在Dish实体类中增加categoryName字段 // com.itweid.takeout.entity.DishApiModelProperty(value 菜品分类名称) TableField(exist false) private String categoryName;改造DishServiceImpl类的pageQueryDish方法处理菜品分类名称字段 // com.itweid.takeout.service.impl.DishServiceImplOverride public BaseResultPageDish pageQueryDish(DishQuery dishQuery) {PageDish page new Page(dishQuery.getPage(), dishQuery.getPageSize());lambdaQuery().like(StringUtils.isNoneBlank(dishQuery.getName()), Dish::getName, dishQuery.getName()).page(page);if(page.getTotal() 0){for (Dish record : page.getRecords()) {// 处理菜品分类Category category Db.getById(record.getCategoryId(), Category.class);if(category ! null){record.setCategoryName(category.getName());}}}return BaseResult.success(page); }重启服务测试菜品分类是否显示 9.6 (批量)删除菜品 9.6.1 需求分析 在“菜品管理”页面可以直接删除一个菜品也可以选择多个菜品后批量删除 功能请求方法请求路径请求参数新增菜品DELETE/dish/delete{“ids”:“1,2,3”} 9.6.2 具体实现 1在DishController类中添加delete方法并添加参数校验 // com.itweid.takeout.controller.DishControllerApiOperation((批量)删除菜品) DeleteMapping(/delete) public BaseResult delete(NotBlank(message 待删除菜品ID不能为空) String ids) {return dishService.deleteDish(ids); }2在DishServiceImpl中具体实现deleteDish方法 // com.itweid.takeout.service.impl.DishServiceImplValue(${dir.upload}) private String uploadDir;Override public BaseResult deleteDish(String ids) {String[] idArray ids.split(,);for (String id : idArray) {log.info(delete id {}, id);// 先查询出菜品Dish dish getById(id);if(dish ! null) {// 删除菜品removeById(dish.getId());// 删除菜品口味配置Db.lambdaUpdate(DishFlavor.class).eq(DishFlavor::getDishId, dish.getId()).remove();// 删除菜品图片File file new File(uploadDir dish.getImage());if(file.exists()) {log.info(delete file {} {}, file.getAbsolutePath(), file.delete());}}}return BaseResult.success(); }3重启服务测试删除菜品功能 同样由于精度问题导致删除失败。我们只需要给Dish实体类的id字段添加一个JsonSerialize注解 // com.itweid.takeout.entity.DishApiModelProperty(value ID) TableId(value id, type IdType.AUTO) JsonSerialize(using ToStringSerializer.class) private Long id;4重启服务再次测试删除菜品功能 … 本节完更多内容查阅瑞吉外卖项目实战
http://www.dnsts.com.cn/news/67247.html

相关文章:

  • 亚马逊是做什么的怎样给网站做seo优化
  • 化州 网站建设做平面设计用什么网站素材多
  • 网站如何在google提交收录wordpress 运行好慢
  • 做男装海报的素材网站盈利型网站
  • 观澜小学网站建设西安做网站招聘
  • 奢侈品网站策划方案wordpress 封禁账号
  • 上海建站费用如何判断网站数据库类型
  • 邵武网站建设wzjseo建站行业已死
  • 一个做网站的公司年收入在家做十字绣兼职网站
  • 13个实用平面设计网站网站建设模板制作是什么意思
  • 专业的网站建设价格低问卷调查微信小程序怎么做
  • 百度网站抓取wordpress++群晖
  • 开发网站好还是app凡客诚品公司介绍
  • 化妆品网站建设案例认识网络营销
  • 北京做网站给人做设计的网站
  • 购物网站两化融合建设项目报告网站制作产品优化
  • 为什么在百度搜不到我的网站阿里云网站建设教程2017
  • 网站怎么申请班级网站建设感想
  • 公司静态网站模板聊城专业建设学校
  • 如何使用天翼云主机建设网站21天打造你的个人品牌
  • 网站开发软件培训广州住房和城乡建设部网站首页
  • 小企业做网站有没有用51制作视频mv网站
  • 长沙网站seo价格用php做网站的优势
  • 余姚网站建设维护seo优秀网站
  • 上海网站建设,迈wordpress页面模板 选项没有
  • 苏州网站建设创意开发一个购物平台需要多少钱
  • php网站源代码修改珠海市斗门建设局网站
  • 茂名公司网站建设电子商务网站建设花费
  • 哪里可以做宝盈网站东莞网站推广团队
  • 广州建网站哪家好苏州官网设计