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

铭做网站建设品牌推广宣传词

铭做网站建设,品牌推广宣传词,网站数据库在空间吗,心悦dnf免做卡网站文章目录 1.新增接口1.1 查看新增接口前端传递的参数格式1.2 设计Controller1.3 设计Service接口实现类1.4 Mapper实现 2.根据分类id查询菜品接口2.1 Controller2.2 Service2.3 Mapper 3 总结 1.新增接口 1.1 查看新增接口前端传递的参数格式 发现这里的前端请求体&#xff0c…

文章目录

      • 1.新增接口
        • 1.1 查看新增接口前端传递的参数格式
        • 1.2 设计Controller
        • 1.3 设计Service接口实现类
        • 1.4 Mapper实现
      • 2.根据分类id查询菜品接口
        • 2.1 Controller
        • 2.2 Service
        • 2.3 Mapper
      • 3 总结

1.新增接口

1.1 查看新增接口前端传递的参数格式

在这里插入图片描述
发现这里的前端请求体,主要关联数据库中的setmeal表和setmeal_dish
因此后端接收数据需要自己定义一个DTO接收

1.2 设计Controller

SetMealController

@RestController
@Api(tags = "套餐相关接口")
@RequestMapping("/admin/setmeal")
@Slf4j
public class SetMealController {@AutowiredSetmealService setmealService;@PostMapping@ApiOperation("新增套餐")public Result save(@RequestBody SetmealDTO setmealDTO) {setmealService.saveWithDish(setmealDTO);return Result.success();}
}

这里的SetMealDTO和前端传递的参数一一对应,苍穹外卖项目已存在该DTO

1.3 设计Service接口实现类

接口

package com.sky.service;import com.sky.dto.SetmealDTO;public interface SetmealService {void saveWithDish(SetmealDTO setmealDTO);
}

实现类

@Service
@Slf4j
public class SetmealServiceImpl implements SetmealService {@Autowiredprivate SetmealMapper setmealMapper;@Autowiredprivate SetmealDishMapper setmealDishMapper;@Override@Transactionalpublic void saveWithDish(SetmealDTO setmealDTO) {// 将前端数据插入套餐表Setmeal setmeal = new Setmeal();BeanUtils.copyProperties(setmealDTO, setmeal);setmealMapper.insert(setmeal);// 将前端数据插入setmeal_dish表Long id = setmeal.getId(); // 这里得到的id是套餐和菜品关联的idList<SetmealDish> setmealDishList = setmealDTO.getSetmealDishes();if (setmealDishList != null && setmealDishList.size() > 0) {setmealDishList.forEach(setmealDish -> {setmealDish.setSetmealId(id); // 菜品和套餐关联的id设置进去});// 向套餐表中插入n条数据setmealDishMapper.insertBatch(setmealDishList);}}
}
1.4 Mapper实现

SetmealMapper接口

@Mapper
public interface SetmealMapper {@AutoFill(value = OperationType.INSERT)void insert(Setmeal setmeal);
}

SetmealMapper实现

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.sky.mapper.SetmealMapper"><insert id="insert" parameterType="Setmeal" useGeneratedKeys="true" keyProperty="id">insert into setmeal (category_id, name, price, description, image, create_time, update_time, create_user, update_user, status)values(#{categoryId}, #{name}, #{price}, #{description}, #{image}, #{createTime}, #{updateTime}, #{createUser}, #{updateUser}, #{status})</insert>
</mapper>

SetmealDishMapper接口

@Mapper
public interface SetmealDishMapper {void insertBatch(List<SetmealDish> setmealDishList);
}

SetmealDishMapper实现

    <insert id="insertBatch">insert into setmeal_dish (setmeal_id, dish_id, name, price, copies)  VALUES<foreach collection="setmealDishList" item="sd" separator=",">(#{sd.setmealId}, #{sd.dishId}, #{sd.name}, #{sd.price}, #{sd.copies})</foreach></insert>

2.根据分类id查询菜品接口

这个一开始没有考虑到,不写的话下面的数据无法渲染出来
在这里插入图片描述

2.1 Controller
/*** 根据分类id查询菜品* @param categoryId* @return
*/
@GetMapping("/list")
@ApiOperation("根据分类id查询菜品")
public Result<List<Dish>> list(Long categoryId){List<Dish> list = dishService.list(categoryId);return Result.success(list);
}
2.2 Service
/*** 根据分类id查询菜品* @param categoryId* @return
*/
List<Dish> list(Long categoryId);

Impl

    /*** 根据分类id查询菜品* @param categoryId* @return*/@Overridepublic List<Dish> findAllDish(Long categoryId) {List<Dish> list = dishMapper.queryAll(categoryId);return list;}
2.3 Mapper
/*** 动态条件查询菜品* @param dish* @return
*/
List<Dish> list(Dish dish);

xml

<select id="list" resultType="Dish" parameterType="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>

3 总结

先看接口文档,再看接口文档对应的数据库表,最后开始开发

http://www.dtcms.com/wzjs/311978.html

相关文章:

  • 北京网站建设公司案例南宁网络推广平台
  • 网站 特效都是用什么软件做的百度推广后台登录
  • 正能量网站ip广州今天刚刚发生的重大新闻
  • 鞍山做网站哪家好网络营销
  • 网站制作程序网络推广员每天的工作是什么
  • 做资讯网站怎么挣钱百度指数只能查90天吗
  • p2p网站建设时间青岛网站建设公司哪家好
  • 做企业网站报价百度指数分析平台
  • 网站建设销售前景百度网盘电脑版登录入口
  • wap网站发布nba排名最新排名
  • 什么软件是做网站的电脑培训班一般需要多少钱
  • wordpress网站被攻击聊城网站seo
  • 如何做网站视频seo网站推广方式
  • 淘宝联盟推广网站怎么建设企业网站推广渠道
  • 网站维护的具体问题广告有限公司
  • 广元网站建设微指数查询入口
  • 网站建设网个人网站首页设计
  • 官方网站下载qq音速推广网站怎么制作
  • 北京政府门户网站建设seo网络排名优化哪家好
  • 互联网网站建设公司精准推广
  • 杭州十大互联网公司seo优化与品牌官网定制
  • 通化市建设局网站跨境电商怎么开店铺
  • 国外域名拍卖网站直播营销策划方案范文
  • 免费找客户网站河南郑州网站顾问
  • 网站建设策划书论文广告推广免费
  • 新乡公司做网站湖南seo优化价格
  • 全国领先网站制作企业网站托管
  • java和PHP做网站哪个好站长工具推荐网站
  • 使用wordpress的用户有哪些湖北网络推广seo
  • 深圳做网站500元长沙网站设计