From 49c1d2b4271efe40fb07826ba8784d4a6a8b60ee Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Thu, 5 Jun 2025 16:57:51 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8F=9C=E8=B0=B1=E6=94=B6=E8=97=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CookCollectionDishesController.java | 6 ++-- .../cook/domain/CookCollectionDishes.java | 21 ++++++++++++++ .../mapper/CookCollectionDishesMapper.java | 5 ++++ .../service/ICookCollectionDishesService.java | 2 ++ .../impl/CookCollectionDishesServiceImpl.java | 23 +++++++++++++-- .../cook/CookCollectionDishesMapper.xml | 29 +++++++++++++++---- 6 files changed, 75 insertions(+), 11 deletions(-) diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/controller/CookCollectionDishesController.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/controller/CookCollectionDishesController.java index fe7c75d..6e8a963 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/controller/CookCollectionDishesController.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/controller/CookCollectionDishesController.java @@ -68,9 +68,9 @@ public class CookCollectionDishesController extends BaseController { */ @ApiOperation(value = "获取菜品收藏详细信息") //@RequiresPermissions("cook:dishes:query") - @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) { - return success(cookCollectionDishesService.selectCookCollectionDishesById(id)); + @GetMapping(value = "/{dishesId}") + public AjaxResult getInfo(@PathVariable("dishesId") Long dishesId) { + return success(cookCollectionDishesService.selectCookCollectionDishesByDishesId(dishesId)); } /** diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/domain/CookCollectionDishes.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/domain/CookCollectionDishes.java index c9f6fab..7949e2e 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/domain/CookCollectionDishes.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/domain/CookCollectionDishes.java @@ -1,11 +1,14 @@ package com.bonus.canteen.core.cook.domain; +import com.bonus.canteen.core.common.utils.FileUrlUtil; import com.bonus.common.core.annotation.Excel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.ToString; import com.bonus.common.core.web.domain.BaseEntity; +import java.math.BigDecimal; + /** * 菜品收藏对象 cook_collection_dishes * @@ -37,5 +40,23 @@ public class CookCollectionDishes extends BaseEntity { @ApiModelProperty(value = "菜品id") private Long dishesId; + @ApiModelProperty(value = "菜品名称") + private String dishesName; + + @ApiModelProperty(value = "图片地址") + private String imageUrl; + + @ApiModelProperty(value = "价格") + private BigDecimal price; + + @ApiModelProperty(value = "售出数量") + private Integer saleNum; + + @ApiModelProperty("是否收藏(1-收藏,2-未收藏)") + private Integer isFavorites; + + public String getImageUrl() { + return FileUrlUtil.getFileUrl(this.imageUrl); + } } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/mapper/CookCollectionDishesMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/mapper/CookCollectionDishesMapper.java index 9804d99..9f2086f 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/mapper/CookCollectionDishesMapper.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/mapper/CookCollectionDishesMapper.java @@ -2,6 +2,7 @@ package com.bonus.canteen.core.cook.mapper; import java.util.List; import com.bonus.canteen.core.cook.domain.CookCollectionDishes; +import org.apache.ibatis.annotations.Param; /** * 菜品收藏Mapper接口 @@ -18,6 +19,10 @@ public interface CookCollectionDishesMapper { */ public CookCollectionDishes selectCookCollectionDishesById(Long id); + public CookCollectionDishes selectCookCollectionDishesByDishesId(Long dishesId); + + public int getCollectionCountByUserIdAndDishesId(@Param("userId") Long userId, @Param("dishesId") Long dishesId); + /** * 查询菜品收藏列表 * diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/service/ICookCollectionDishesService.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/service/ICookCollectionDishesService.java index 43d9f0e..746aa1b 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/service/ICookCollectionDishesService.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/service/ICookCollectionDishesService.java @@ -18,6 +18,8 @@ public interface ICookCollectionDishesService { */ public CookCollectionDishes selectCookCollectionDishesById(Long id); + public CookCollectionDishes selectCookCollectionDishesByDishesId(Long dishesId); + /** * 查询菜品收藏列表 * diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/service/impl/CookCollectionDishesServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/service/impl/CookCollectionDishesServiceImpl.java index e65e762..e103805 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/service/impl/CookCollectionDishesServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/cook/service/impl/CookCollectionDishesServiceImpl.java @@ -1,8 +1,12 @@ package com.bonus.canteen.core.cook.service.impl; import java.util.List; +import java.util.Objects; + +import com.bonus.canteen.core.common.enums.YesOrNoEnum; import com.bonus.common.core.exception.ServiceException; import com.bonus.common.core.utils.DateUtils; +import com.bonus.common.security.utils.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.bonus.canteen.core.cook.mapper.CookCollectionDishesMapper; @@ -20,15 +24,28 @@ public class CookCollectionDishesServiceImpl implements ICookCollectionDishesSer @Autowired private CookCollectionDishesMapper cookCollectionDishesMapper; + public CookCollectionDishes selectCookCollectionDishesById(Long id) { + return cookCollectionDishesMapper.selectCookCollectionDishesByDishesId(id); + } + /** * 查询菜品收藏 * - * @param id 菜品收藏主键 + * @param dishesId 菜品收藏主键 * @return 菜品收藏 */ @Override - public CookCollectionDishes selectCookCollectionDishesById(Long id) { - return cookCollectionDishesMapper.selectCookCollectionDishesById(id); + public CookCollectionDishes selectCookCollectionDishesByDishesId(Long dishesId) { + CookCollectionDishes result = cookCollectionDishesMapper.selectCookCollectionDishesByDishesId(dishesId); + if (Objects.nonNull(result)) { + int countDishes = this.cookCollectionDishesMapper.getCollectionCountByUserIdAndDishesId(SecurityUtils.getUserId(), dishesId); + if (countDishes > 0) { + result.setIsFavorites(YesOrNoEnum.YES.key()); + } else { + result.setIsFavorites(YesOrNoEnum.NO.key()); + } + } + return result; } /** diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/cook/CookCollectionDishesMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/cook/CookCollectionDishesMapper.xml index e63ea39..5188bcf 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/cook/CookCollectionDishesMapper.xml +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/cook/CookCollectionDishesMapper.xml @@ -12,24 +12,43 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + - select id, user_id, stall_id, dishes_id, create_by, create_time, update_by, update_time from cook_collection_dishes + select ccd.id, ccd.user_id, ccd.stall_id, ccd.dishes_id, ccd.create_by, ccd.create_time, ccd.update_by, + ccd.update_time, cd.dishes_name, cd.image_url, cd.price, cdsr.sale_num + from cook_collection_dishes ccd + left join cook_dishes cd on cd.dishes_id = ccd.dishes_id + left join cook_dishes_sale_record cdsr on ccd.dishes_id = cdsr.dishes_id + + + +