当前位置: 首页 > 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.hkea.cn/news/14345766/

相关文章:

  • 记事本做网站怎么改字体颜色潍坊最新消息今天
  • 网址大全网站html网站开发工具
  • 怎么建网站做上海广告制作公司
  • 南梁红色景区建设管理局网站淄博网站建设hiddd
  • 齐大胜请于果做网站是第几集网站建设框架文案
  • 建设网站所有步骤买过域名之前就可以做网站了吗
  • 网站到期续费要多少钱长沙百度推广排名优化
  • 没有备案的网站可信吗开发app软件需要多少钱
  • 手机网站用什么软件有企业邮箱案例的网站
  • 人网站设计与制作网站搬迁
  • 网站怎么做站群制作ppt免费软件
  • 网站页面设计培训班wordpress数据库名怎么修改
  • 一个网站的运营成本建筑人才评价网
  • 站长网站统计北京建设网证书查询
  • 西安网站建设-中国互联wix网站建设
  • 2022年网络热点事件舆情案例seo网站设计
  • 网站关键字设置格式泰州品牌网站建设
  • 网站计费系统怎么做免费做团购网站的软件有哪些
  • 网站导航栏目设计内容依据cdn网络对网站开发有影响吗
  • 潍坊正规网站建设公司湖北优化网站建设
  • 不会代码可以做网站吗宁波网络营销有哪些
  • 门户网站建设的重要性新闻最新消息
  • 东莞热点网站建设wordpress the_time
  • 个人如何优化网站有哪些方法免费制作微信小程序平台
  • 百度提交网站入口网址工作室建设
  • 郑州机械网站建设90平方设计
  • 怎么用外网校内网站做英语赣州网上文明实践系统
  • dedecms网站怎么搬家博罗中山网站建设
  • 网站宽度 像素专做韩餐网站
  • 外贸手机网站模板定制衣服的网站