백엔드 시스템에서는 분류 정보 관리, 요리 분류, 정식 등이 가능합니다. 백엔드 시스템에 요리를 추가할 때 요리 카테고리를 선택해야 합니다.
백엔드 시스템에 정식을 추가할 때 정식 카테고리를 선택해야 합니다. 해당 요리와 정식 카테고리도 해당 요리 카테고리와 정식 카테고리에 따라 모바일 단말기에 표시됩니다.
동시에 백엔드 시스템의 카테고리 관리 페이지에 요리 카테고리와 패키지 카테고리를 각각 추가하세요.
Add 요리 카테고리
패키지 카테고리 추가
데이터 모델:
테이블을 포함합니다. Category Table:
테이블에 해당하는 JavaBean 데이터는 Category.java
Category.java
package com.itheima.reggie.entity; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; import lombok.Getter; import lombok.Setter; import java.io.Serializable; import java.time.LocalDateTime; /** * 分类 */ @Data public class Category implements Serializable { private static final long serialVersionUID = 1L; private Long id; //类型 1 菜品分类 2 套餐分类 private Integer type; //分类名称 private String name; //顺序 private Integer sort; //创建时间 @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; //更新时间 @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; //创建人 @TableField(fill = FieldFill.INSERT) private Long createUser; //修改人 @TableField(fill = FieldFill.INSERT_UPDATE) private Long updateUser; //是否删除 private Integer isDeleted; }
입니다. 특정 프레임에 대해서는 이전 Employee 엔터티 구성을 참조하세요.
새로운 요리 분류 및 정식 분류에 대해 요청한 서비스 주소는 제출된 JSON 데이터 구조와 동일합니다. 서버는
Description | 값 중 하나만 제공하면 됩니다. |
요청 URL | /category |
데이터 요청 | { "name": "사천 요리", "type": "1", "sort": "1" } |
CategoryController.java에 새 코드 작성:
package com.itheima.reggie.controller; import com.itheima.reggie.common.R; import com.itheima.reggie.entity.Category; import com.itheima.reggie.service.CategoryService; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; /** * @author jektong * @date 2022年05月06日 21:47 */ @RestController @Slf4j @RequestMapping("/category") public class CategoryController { @Resource private CategoryService categoryService; /** * 新增分类 * @param category * @return */ @PostMapping public R<String> save(@RequestBody Category category){ log.info("category:{}",category); categoryService.save(category); return R.success("新增分类成功"); } }
페이지 쿼리는 이전 직원 정보 쿼리와 동일하며 코드로 바로 이동:
@GetMapping("/page") public R<Page> page(int page, int pageSize){ // 分页构造 Page<Category> pageInfo = new Page<Category>(page,pageSize); // 查询并排序 LambdaQueryWrapper<Category> queryWrapper = new LambdaQueryWrapper(); queryWrapper.orderByAsc(Category::getSort); // 分页查询 categoryService.page(pageInfo,queryWrapper); return R.success(pageInfo); }
카테고리 관리 목록 페이지에서 카테고리를 삭제할 수 있습니다. 카테고리가 요리나 정식과 연관되어 있는 경우 해당 카테고리를 삭제할 수 없다는 점에 유의하세요. ㅋㅋㅋ
Dish.java :Dishes Entitypackage com.itheima.reggie.entity; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; /** 菜品 */ @Data public class Dish implements Serializable { private static final long serialVersionUID = 1L; private Long id; //菜品名称 private String name; //菜品分类id private Long categoryId; //菜品价格 private BigDecimal price; //商品码 private String code; //图片 private String image; //描述信息 private String description; //0 停售 1 起售 private Integer status; //顺序 private Integer sort; @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; @TableField(fill = FieldFill.INSERT) private Long createUser; @TableField(fill = FieldFill.INSERT_UPDATE) private Long updateUser; //是否删除 private Integer isDeleted; }
package com.itheima.reggie.entity; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; /** * 套餐 */ @Data public class Setmeal implements Serializable { private static final long serialVersionUID = 1L; private Long id; //分类id private Long categoryId; //套餐名称 private String name; //套餐价格 private BigDecimal price; //状态 0:停用 1:启用 private Integer status; //编码 private String code; //描述信息 private String description; //图片 private String image; @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; @TableField(fill = FieldFill.INSERT) private Long createUser; @TableField(fill = FieldFill.INSERT_UPDATE) private Long updateUser; //是否删除 private Integer isDeleted; }
3.2 핵심 코드
/** * 异常处理方法 * @param customException * @return */ @ExceptionHandler(CustomException.class) public R<String> exceptionHandler(CustomException customException){ log.error(customException.getMessage()); return R.error(customException.getMessage()); } 로그인 후 복사 | CustomException.javapackage com.itheima.reggie.common; /** * @author jektong * @date 2022年05月10日 22:26 */ public class CustomException extends RuntimeException{ public CustomException(String msg){ super(msg); } } 로그인 후 복사 | 4. 분류 수정
@PutMapping public R<String> update(@RequestBody Category category){ log.info("修改分类信息{}" + category); categoryService.updateById(category); return R.success("分类修改成功"); } 로그인 후 복사 위 내용은 Java에서 새로운 요리 및 페이징 쿼리를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!
관련 라벨:
원천:yisu.com
이전 기사:SpringBoot는 Lombok과 일반적인 문제를 해결하는 방법을 통합합니다.
다음 기사:SpringBoot+thymeleaf는 비디오 목록을 읽고 비디오를 재생하는 기능을 어떻게 구현합니까?
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
최신 이슈
관련 주제
더>
|