浏览代码

获取用户对该菜品是否点赞

ssk 3 月之前
父节点
当前提交
859d50e7c6

+ 22 - 9
alien-store/src/main/java/shop/alien/store/controller/StoreMenuController.java

@@ -5,6 +5,7 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
 import shop.alien.entity.result.R;
+import shop.alien.entity.store.LifeLikeRecord;
 import shop.alien.entity.store.StoreMenu;
 import shop.alien.entity.store.vo.StoreMenuVo;
 import shop.alien.store.service.StoreMenuService;
@@ -55,10 +56,10 @@ public class StoreMenuController {
     public R<String> delete(@RequestParam(value = "ids") List<Integer> ids, @RequestParam(value = "dishType") int dishType) {
         log.info("StoreRecommendController.delete?ids={}", ids);
         boolean flag = false;
-        flag =  storeMenuService.deleteMenu(ids, dishType);
-        if(flag){
+        flag = storeMenuService.deleteMenu(ids, dishType);
+        if (flag) {
             return R.success("删除成功");
-        }else{
+        } else {
             return R.fail("删除失败");
         }
     }
@@ -79,10 +80,10 @@ public class StoreMenuController {
         log.info("StoreRecommendController.getSortMenuInfo?storeMenuVo={}", storeMenuVo);
         Boolean flag = false;
         flag = storeMenuService.getSortMenuInfo(storeMenuVo);
-        if(flag){
-             return R.success("已更新排序");
-        }else{
-             return R.fail("排序失败");
+        if (flag) {
+            return R.success("已更新排序");
+        } else {
+            return R.fail("排序失败");
         }
     }
 
@@ -93,9 +94,9 @@ public class StoreMenuController {
         log.info("StoreRecommendController.saveMenuSort?storeMenuList={}", storeMenuList);
         Boolean flag = false;
         flag = storeMenuService.saveMenuSort(storeMenuList);
-        if(flag){
+        if (flag) {
             return R.success("已更新排序");
-        }else{
+        } else {
             return R.fail("排序失败");
         }
     }
@@ -110,4 +111,16 @@ public class StoreMenuController {
         log.info("StoreRecommendController.getMenuCountByStoreId?id={}", storeId);
         return R.data(storeMenuService.getMenuCountByStoreId(storeId));
     }
+
+    @ApiOperation("获取用户对该菜品是否点赞")
+    @ApiOperationSupport(order = 8)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "userId", value = "用户id", dataType = "String", paramType = "query", required = true),
+            @ApiImplicitParam(name = "menuId", value = "菜品id", dataType = "Integer", paramType = "query", required = true)
+    })
+    @GetMapping("/getMenuLikeStatus")
+    public R<Boolean> getMenuLikeStatus(String userId, Integer menuId) {
+        log.info("StoreRecommendController.getMenuLikeStatus?userId={}&menuId={}", userId, menuId);
+        return R.data(storeMenuService.getMenuLikeStatus(userId, menuId));
+    }
 }

+ 9 - 0
alien-store/src/main/java/shop/alien/store/service/StoreMenuService.java

@@ -67,5 +67,14 @@ public interface StoreMenuService extends IService<StoreMenu> {
 
 
     StoreMenuVo getMenuCountByStoreId(int storeId);
+
+    /**
+     * 获取用户对该菜品是否点赞
+     *
+     * @param userId  用户id
+     * @param menuId 菜品id
+     * @return boolean
+     */
+    boolean getMenuLikeStatus(String userId, Integer menuId);
 }
 

+ 55 - 39
alien-store/src/main/java/shop/alien/store/service/impl/StoreMenuServiceImpl.java

@@ -53,10 +53,10 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
     @Override
     public List<StoreMenuVo> getStoreMenu(Integer storeId, Integer dishType, String phoneId) {
 
-        if(dishType == 0){
+        if (dishType == 0) {
             List<StoreMenuVo> collect = storeMenuMapper.getStoreMenuList(storeId, null);
             return collect.stream().sorted(Comparator.comparing(StoreMenuVo::getSort)).collect(Collectors.toList());
-        }else {
+        } else {
             List<StoreMenuVo> collect = storeMenuMapper.getStoreMenuList(storeId, dishType);
             collect.forEach(item -> {
                 if (StringUtils.isNotEmpty(phoneId)) {
@@ -87,6 +87,7 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
 
     /**
      * 新增或修改门店菜品
+     *
      * @param storeMenu
      * @return
      */
@@ -95,36 +96,37 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
         boolean flag = false;
         LambdaQueryWrapper<StoreMenu> storeMenuLambdaQueryWrapper = new LambdaQueryWrapper<>();
         //修改菜品
-        if(storeMenu.getId()!=null){
+        if (storeMenu.getId() != null) {
             flag = this.updateById(storeMenu);
-            if(!flag){
+            if (!flag) {
                 log.error("菜单修改失败");
                 return R.fail("菜单修改失败");
             }
             return R.success("菜单修改成功");
-        }else{//新增菜品
-           if(StringUtils.isEmpty(storeMenu.getDishName())){
-               return R.fail("请输入菜品名称");
-           }
-           storeMenuLambdaQueryWrapper.eq(StoreMenu::getStoreId,storeMenu.getStoreId());
-           List<StoreMenu> menuList = this.list(storeMenuLambdaQueryWrapper);
-           if(CollectionUtil.isNotEmpty(menuList)){
-              int maxSort = menuList.stream().map(StoreMenu::getSort).reduce(Integer::max).get();
-               storeMenu.setSort(maxSort+1);
-           }else{
-               storeMenu.setSort(1);
-           }
+        } else {//新增菜品
+            if (StringUtils.isEmpty(storeMenu.getDishName())) {
+                return R.fail("请输入菜品名称");
+            }
+            storeMenuLambdaQueryWrapper.eq(StoreMenu::getStoreId, storeMenu.getStoreId());
+            List<StoreMenu> menuList = this.list(storeMenuLambdaQueryWrapper);
+            if (CollectionUtil.isNotEmpty(menuList)) {
+                int maxSort = menuList.stream().map(StoreMenu::getSort).reduce(Integer::max).get();
+                storeMenu.setSort(maxSort + 1);
+            } else {
+                storeMenu.setSort(1);
+            }
             //保存菜品
             flag = this.save(storeMenu);
-           if(!flag){
-               return R.fail("菜品新增失败");
-           }
+            if (!flag) {
+                return R.fail("菜品新增失败");
+            }
         }
         return R.success("新增菜品成功");
     }
 
     /**
      * 新增或修改门店菜品new
+     *
      * @param storeMenuVo
      * @return
      */
@@ -133,7 +135,7 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
         boolean flag = false;
         LambdaQueryWrapper<StoreMenu> storeMenuLambdaQueryWrapper = new LambdaQueryWrapper<>();
         int imgId = 0;
-        if (storeMenuVo.getImgId() == null ||storeMenuVo.getImgId() == 0) {
+        if (storeMenuVo.getImgId() == null || storeMenuVo.getImgId() == 0) {
             StoreImg storeImg = new StoreImg();
             storeImg.setStoreId(storeMenuVo.getStoreId());
             storeImg.setImgType(7);
@@ -147,13 +149,13 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
 
         // 封装storeMenu参数
         StoreMenu storeMenu = new StoreMenu();
-        BeanUtils.copyProperties(storeMenuVo,storeMenu);
+        BeanUtils.copyProperties(storeMenuVo, storeMenu);
         storeMenu.setImgId(imgId);
 
         //修改菜品
-        if(storeMenu.getId()!=null){
+        if (storeMenu.getId() != null) {
             flag = this.updateById(storeMenu);
-            if(!flag){
+            if (!flag) {
                 log.error("菜单修改失败");
                 return R.fail("菜单修改失败");
             }
@@ -161,21 +163,21 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
         } else {
             //新增菜品
             // 校验菜品参数
-            if(StringUtils.isEmpty(storeMenu.getDishName())){
+            if (StringUtils.isEmpty(storeMenu.getDishName())) {
                 return R.fail("请输入菜品名称");
             }
 
-            storeMenuLambdaQueryWrapper.eq(StoreMenu::getStoreId,storeMenu.getStoreId());
+            storeMenuLambdaQueryWrapper.eq(StoreMenu::getStoreId, storeMenu.getStoreId());
             List<StoreMenu> menuList = this.list(storeMenuLambdaQueryWrapper);
-            if(CollectionUtil.isNotEmpty(menuList)){
+            if (CollectionUtil.isNotEmpty(menuList)) {
                 int maxSort = menuList.stream().map(StoreMenu::getSort).reduce(Integer::max).get();
-                storeMenu.setSort(maxSort+1);
-            }else{
+                storeMenu.setSort(maxSort + 1);
+            } else {
                 storeMenu.setSort(1);
             }
             //保存菜品
             flag = this.save(storeMenu);
-            if(!flag){
+            if (!flag) {
                 return R.fail("菜品新增失败");
             }
         }
@@ -185,18 +187,19 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
 
     /**
      * 菜品排序信息
+     *
      * @param storeMenuVo
      * @return
      */
     @Override
     public Boolean getSortMenuInfo(StoreMenuVo storeMenuVo) {
         boolean flag = false;
-        if(CollectionUtil.isNotEmpty(storeMenuVo.getSortList())){
-            for(int i = 0; i<storeMenuVo.getSortList().size(); i++ ){
+        if (CollectionUtil.isNotEmpty(storeMenuVo.getSortList())) {
+            for (int i = 0; i < storeMenuVo.getSortList().size(); i++) {
                 LambdaQueryWrapper<StoreMenu> lambdaQueryWrapper = new LambdaQueryWrapper();
-                lambdaQueryWrapper.eq(StoreMenu::getId,storeMenuVo.getSortList().get(i).getId());
+                lambdaQueryWrapper.eq(StoreMenu::getId, storeMenuVo.getSortList().get(i).getId());
                 StoreMenu storeMenu = this.getOne(lambdaQueryWrapper);
-                storeMenu.setSort(i+1);
+                storeMenu.setSort(i + 1);
                 flag = this.updateById(storeMenu);
             }
         }
@@ -210,6 +213,7 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
 
     /**
      * 删除菜品或推荐菜 根据类型区分
+     *
      * @param ids
      * @param dishType 0:菜品 1:推荐菜
      * @return
@@ -218,12 +222,12 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
     public Boolean deleteMenu(List<Integer> ids, int dishType) {
         QueryWrapper<StoreMenu> queryWrapperMenu = new QueryWrapper<>();
         boolean flag = false;
-        if(dishType == 0){
+        if (dishType == 0) {
             flag = this.removeByIds(ids);
-        }else{
-            queryWrapperMenu.in("id",ids);
+        } else {
+            queryWrapperMenu.in("id", ids);
             List<StoreMenu> storeMenuList = baseMapper.selectList(queryWrapperMenu);
-            storeMenuList.forEach(item->{
+            storeMenuList.forEach(item -> {
                 item.setDishType(0);
                 this.updateById(item);
             });
@@ -239,12 +243,12 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
         updateWrapper.eq(StoreMenu::getStoreId, storeId);
         updateWrapper.eq(StoreMenu::getDeleteFlag, 0);
         List<StoreMenu> storeMenuList = storeMenuMapper.selectList(updateWrapper);
-        if(CollectionUtils.isNotEmpty(storeMenuList)) {
+        if (CollectionUtils.isNotEmpty(storeMenuList)) {
             storeMenuVo.setMenuCount(storeMenuList.size());
             Map<Integer, List<StoreMenu>> groupByDishType = storeMenuList.stream()
                     .collect(Collectors.groupingBy(StoreMenu::getDishType));
             List<StoreMenu> suggestList = groupByDishType.get(1);
-            if(CollectionUtils.isNotEmpty(suggestList)) {
+            if (CollectionUtils.isNotEmpty(suggestList)) {
                 storeMenuVo.setSuggestCount(suggestList.size());
             } else {
                 storeMenuVo.setSuggestCount(0);
@@ -255,4 +259,16 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
         }
         return storeMenuVo;
     }
+
+    /**
+     * 获取用户对该菜品是否点赞
+     *
+     * @param userId 用户id
+     * @param menuId 菜品id
+     * @return boolean
+     */
+    @Override
+    public boolean getMenuLikeStatus(String userId, Integer menuId) {
+        return lifeLikeRecordMapper.selectCount(new QueryWrapper<LifeLikeRecord>().eq("dianzan_id", userId).eq("huifu_id", menuId).eq("delete_flag", 0)) > 0;
+    }
 }