修改菜品信息业务功能开发(查询回显和修改信息)

master
hahameng 8 months ago
parent f028eb4012
commit 2d9e00db63

@ -6,6 +6,7 @@ import com.sky.dto.DishPageQueryDTO;
import com.sky.result.PageResult;
import com.sky.result.Result;
import com.sky.service.DishService;
import com.sky.vo.DishVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -84,5 +85,30 @@ public class DishController {
}
/**
* id
*
* @param id
* @return
*/
@GetMapping("/{id}")
public Result<DishVO> getById(@PathVariable Long id){
log.info("根据id查询菜品信息{}", id);
DishVO dishVO = dishService.getById(id);
return Result.success(dishVO);
}
/**
*
*
* @param dishDTO
* @return
*/
@PutMapping
public Result update(@RequestBody DishDTO dishDTO){
log.info("修改菜品:{}", dishDTO);
dishService.updateWithFlavor(dishDTO);
return Result.success();
}
}

@ -4,6 +4,7 @@ package com.sky.mapper;
import com.sky.entity.DishFlavor;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@ -23,4 +24,12 @@ public interface DishFlavorMapper {
*/
@Delete("delete from dish_flavor where dish_id=#{dishId}")
void deleteByDishId(Long dishId);
/**
* id
* @param dishId
* @return
*/
@Select("select * from dish_flavor where dish_id = #{dishId}")
List<DishFlavor> getByDishId(Long dishId);
}

@ -3,6 +3,7 @@ package com.sky.service;
import com.sky.dto.DishDTO;
import com.sky.dto.DishPageQueryDTO;
import com.sky.result.PageResult;
import com.sky.vo.DishVO;
import java.util.List;
@ -41,4 +42,19 @@ public interface DishService {
* @param id
*/
void startOrStop(Integer status, Long id);
/**
* id
*
* @param id
* @return
*/
DishVO getById(Long id);
/**
* id
*
* @param dishDTO
*/
void updateWithFlavor(DishDTO dishDTO);
}

@ -130,4 +130,53 @@ public class DishServiceImpl implements DishService {
dishMapper.update(dish);
}
/**
* id
*
* @param id
* @return
*/
@Override
public DishVO getById(Long id) {
//根据id查询菜品数据
Dish dish =dishMapper.getById(id);
//根据菜品id查询口味数据
List<DishFlavor> dishFlavors = dishFlavorMapper.getByDishId(id);
//将查询到的数据封装到VO
DishVO dishVO = new DishVO();
BeanUtils.copyProperties(dish,dishVO);
dishVO.setFlavors(dishFlavors);
return dishVO;
}
/**
* id
*
* @param dishDTO
*/
@Override
public void updateWithFlavor(DishDTO dishDTO) {
Dish dish = new Dish();
BeanUtils.copyProperties(dishDTO,dish);
//修改菜品表基本信息
dishMapper.update(dish);
//删除原有的口味数据
dishFlavorMapper.deleteByDishId(dishDTO.getId());
//重新插入口味数据
List<DishFlavor> flavors = dishDTO.getFlavors();
if (flavors != null && flavors.size() > 0){
flavors.forEach(dishFlavor -> {
dishFlavor.setDishId(dishDTO.getId());
});
dishFlavorMapper.insertBatch(flavors);
}
}
}

@ -44,9 +44,18 @@
<update id="update">
update dish
<set>
<if test="status != null">
status=#{status},
<if test="name != null and name != ''">
name=#{name},
</if>
<if test="categoryId != null">
category_id = #{categoryId},
</if>
<if test="price != null">price = #{price},</if>
<if test="image != null">image = #{image},</if>
<if test="description != null">description = #{description},</if>
<if test="status != null">status = #{status},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="updateUser != null">update_user = #{updateUser},</if>
</set>
where id=#{id}
</update>

Loading…
Cancel
Save