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

苍穹外卖学习笔记(十四)

3. 根据分类ID查询套餐

SetmealController

package com.sky.controller.user;

import com.sky.constant.StatusConstant;
import com.sky.entity.Setmeal;
import com.sky.result.Result;
import com.sky.service.SetmealService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * @author Jie.
 * @description: TODO
 * @date 2024/9/25
 * @version: 1.0
 */
@RestController("userSetmealController")
@RequestMapping("/user/setmeal")
@Api(tags = "套餐管理")
@Slf4j
public class SetmealController {

    @Autowired
    private SetmealService setmealService;

    /*
     * 根据分类id查询套餐
     */
    @GetMapping("/list")
    @ApiOperation("套餐列表")
    public Result<List<Setmeal>> list(Long categoryId) {
        Setmeal setmeal = new Setmeal();
        setmeal.setCategoryId(categoryId);
        setmeal.setStatus(StatusConstant.ENABLE);

        List<Setmeal> list = setmealService.list(setmeal);
        return Result.success(list);
    }
}

Service

 /**
 * 查询套餐列表
 */
List<Setmeal> list(Setmeal setmeal);

Impl

   /**
     * 查询套餐列表
     */
    @Override
    public List<Setmeal> list(Setmeal setmeal) {
        LambdaQueryWrapper<Setmeal> lambdaQueryWrapper = new LambdaQueryWrapper<>();
        lambdaQueryWrapper.eq(setmeal.getCategoryId() != null, Setmeal::getCategoryId, setmeal.getCategoryId());
        lambdaQueryWrapper.eq(setmeal.getStatus() != null, Setmeal::getStatus, setmeal.getStatus());
        return setmealMapper.selectList(lambdaQueryWrapper);
    }

4. 根据套餐ID查询菜品

controller

    /**
     * 根据套餐id查询包含的菜品
     */
    @GetMapping("/dish/{id}")
    @ApiOperation("根据套餐id查询包含的菜品")
    public Result<List<DishItemVO>> dishList(@PathVariable Long id) {
        List<DishItemVO> list = setmealService.getDishItemById(id);
        return Result.success(list);
    }

service


    /**
     * 根据套餐id查询包含的菜品
     */
    List<DishItemVO> getDishItemById(Long id);

impl

    /**
     * 根据套餐id查询包含的菜品列表
     */
    @Override
    public List<DishItemVO> getDishItemById(Long id) {
        return setmealMapper.getDishItemBySetmealId(id);
    }

mapper

    /**
     * 根据id查询菜品选项
     */
    @Select("select sd.name, sd.copies, d.image, d.description " +
            "from setmeal_dish sd left join dish d on sd.dish_id = d.id " +
            "where sd.setmeal_id = #{setmealId}")
    List<DishItemVO> getDishItemBySetmealId(Long id);

http://www.kler.cn/a/326216.html

相关文章:

  • AWTK VSCode 实时预览插件端口冲突的解决办法
  • Python中的正则表达式教程
  • gitlab 服务器集群配置及 存储扩展配置
  • 深度学习神经网络创新点方向
  • 使用WebSocket技术实现Web应用中的实时数据更新
  • 机器学习-36-对ML的思考之机器学习研究的初衷及科学研究的期望
  • 【JavaEE】——CAS指令和ABA问题
  • 【Android】获取备案所需的公钥以及签名MD5值
  • Mybatis中遍历List内容进行动态SQL拼接
  • LeetCode 461. 汉明距离
  • 实战OpenCV之图像滤波
  • 记录一次排查sql server 服务调用异常的问题
  • 1.2.1 HuggingFists安装说明-Linux安装
  • Tableau|一入门
  • k8s基于nfs创建storageClass
  • C#名片识别接口集成方式、文字识别API
  • 电脑剪切的文件粘贴时丢失的高效恢复策略
  • 如何创建虚拟环境并实现目标检测及验证能否GPU加速
  • Visual Studio Code下载安装及汉化
  • 最后加推!高新CID这个项目为什么频频破圈爆火
  • HAproxy,nginx实现七层负载均衡
  • [c++高阶]模版进阶
  • Golang | Leetcode Golang题解之第440题字典序的第K小数字
  • RabbitMQ的高级特性-消息确认机制
  • http请求过程 part-2
  • 【C++前缀和 动态规划 博弈】1140. 石子游戏 II|2034