因为day-4属于作业部分,主要是完成套餐的CRUD,这里我就写下自己的思路以及代码
这里先实现新增功能,接口图如下:

(视频里面的接口管理平台已经关闭了,这里是我自己搭建的一个Yapi平台,地址如下,大家可以免费使用YApi Pro-高效、易用、功能强大的可视化接口管理平台)
首先在DishController添加一个根据分类id查询菜品的控制类:
/**
* 根据分类ID查询菜品
* @param categoryId
* @return
*/
@GetMapping("/list")
@ApiOperation("根据分类id查询菜品")
public Result<List<Dish>> list(Long categoryId){
log.info("分类id查询菜品:{}",categoryId);
List<Dish> list= dishService.getList(categoryId);
return Result.success(list);
}
在DishService写上方法
/**
* 根据分类id查询菜品
* @param categoryId
* @return
*/
List<Dish> getList(Long categoryId);
在DishServiceImpl实现一下方法:
/**
* 根据分类ID查询菜品
* @param categoryId
* @return
*/
@Override
public List<Dish> getList(Long categoryId) {
Dish dish= Dish.builder()
.categoryId(categoryId)
.status(StatusConstant.ENABLE)
.build();
return dishMapper.list(dish);
return null;
}
编写Dishmapper.xml,这里我们采用的是动态查询,所以我们使用xml编写,而不是注释,将查询出来的结果根据创建时间进行降序排序:
<select id="list" resultType="com.sky.entity.Dish">
select * from dish
<where>
<if test="name != null">
and name like concat('%',#{name},'%')
</if>
<if test="categoryId != null">
and category_id = #{categoryId}
</if>
<if test="status != null">
and status = #{status}
</if>
</where>
order by create_time desc
</select>
接下来我们做套餐管理的新增,这里大家可以测试一下查询功能
”------------------------------------------------分割线-----------------------------------------------------------------“
新建一个SetmealController控制类,新建SetmealService和SetmealServiceimpl类,这里我就省略创建步骤了,大家自行创建:

/**
* 套餐管理
*/
@RestController
@RequestMapping("/admin/setmeal")
@Api(tags = "套餐管理相关接口")
@Slf4j
public class SetmealController {
@Autowired
private SetmealService setmealService;
}
编写新增控制方法:
@PostMapping
@ApiOperation("新增套餐")
public Result save(@RequestBody SetmealDTO setmealDTO){
//根据前面老师的思路采用DTO作为对象
log.info("新增菜品信息:{}",setmealDTO);
setm

文章详细描述了如何使用JavaSpringBoot实现套餐管理的创建、查询、分页查询、删除和更新功能,包括DishController和服务层的实现,以及与数据库交互的MapperXML文件的编写。此外,还涉及到了状态管理,如套餐的起售和停售操作。
最低0.47元/天 解锁文章
422





