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
+
+
+
+