ソースを参照

1.批量删除收藏列表
2.商品详情接口加入用户收藏字段返回

plf 3 年 前
コミット
4b759850f9

+ 20 - 1
src/main/java/com/caimei365/commodity/controller/UserLikeApi.java

@@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+
 /**
  * @author zzj 2021/9/17
  */
@@ -56,11 +57,29 @@ public class UserLikeApi {
     public ResponseJson<PaginationVo<ProductItemVo>> likes(Integer userID,
                                                            @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
                                                            @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
-        if(userID==null){
+        if (userID == null) {
             return ResponseJson.error("非法参数");
         }
         return userLikeService.findLikeList(userID, pageNum, pageSize);
     }
 
+    /**
+     * 个人中心删除收藏商品列表
+     *
+     * @param userID 用户Id
+     */
+    @ApiOperation("收藏商品列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(required = true, name = "userId", value = "用户Id"),
+            @ApiImplicitParam(required = true, name = "productIDs", value = "商品id字符串")
+    })
+    @GetMapping("/deleteList")
+    public ResponseJson<String> likes(Integer userID, String productIDs) {
+        if (userID == null || productIDs == null) {
+            return ResponseJson.error("非法参数");
+        }
+        return userLikeService.deleteList(userID, productIDs);
+    }
+
 
 }

+ 5 - 0
src/main/java/com/caimei365/commodity/model/vo/ProductDetailVo.java

@@ -20,6 +20,11 @@ import java.util.List;
 @Data
 public class ProductDetailVo implements Serializable {
     private static final long serialVersionUID = 1L;
+
+    /**
+     * 用户收藏标记(1收藏,0未收藏)
+     */
+    private Integer userLike;
     /**
      * 商品productID
      */

+ 8 - 0
src/main/java/com/caimei365/commodity/service/UserLikeService.java

@@ -25,4 +25,12 @@ public interface UserLikeService {
      * @return
      */
     ResponseJson<PaginationVo<ProductItemVo>> findLikeList(Integer userID, int pageNum, int pageSize);
+
+    /**
+     * 批量移除收藏商品
+     * @param userID
+     * @param productIDs
+     * @return
+     */
+    ResponseJson<String> deleteList(Integer userID, String productIDs);
 }

+ 6 - 0
src/main/java/com/caimei365/commodity/service/impl/PageServiceImpl.java

@@ -35,6 +35,9 @@ import java.util.stream.Collectors;
 public class PageServiceImpl implements PageService {
     @Value("${caimei.wwwDomain}")
     private String domain;
+
+    @Resource
+    private UserLikeMapper likeMapper;
     @Resource
     private PageMapper pageMapper;
     @Resource
@@ -474,6 +477,9 @@ public class PageServiceImpl implements PageService {
                 }
                 product.setLadderPriceList(ladderPrices);
             }
+            //查询商品收藏情况,1未收藏,0未收藏
+            Integer like = likeMapper.findLike(userId, productId);
+            product.setUserLike(like);
         }
         return ResponseJson.success(product);
     }

+ 28 - 1
src/main/java/com/caimei365/commodity/service/impl/UserLikeServiceImpl.java

@@ -1,5 +1,6 @@
 package com.caimei365.commodity.service.impl;
 
+import com.aliyun.opensearch.sdk.dependencies.com.google.common.collect.Lists;
 import com.caimei365.commodity.components.PriceUtilService;
 import com.caimei365.commodity.mapper.UserLikeMapper;
 import com.caimei365.commodity.model.ResponseJson;
@@ -65,4 +66,30 @@ public class UserLikeServiceImpl implements UserLikeService {
         PaginationVo<ProductItemVo> pageData = new PaginationVo<>(productList);
         return ResponseJson.success(pageData);
     }
-}
+
+    @Override
+    public ResponseJson<String> deleteList(Integer userID, String productIDs) {
+        if (productIDs == null || userID == null) {
+            return ResponseJson.error("商品Id参数错误", null);
+        }
+        List<Integer> productIdList = Lists.newArrayList();
+        if (productIDs.contains(",")) {
+            String[] productArr = productIDs.split(",");
+            for (String id : productArr) {
+                Integer ids=Integer.parseInt(id);
+                productIdList.add(ids);
+            }
+        } else {
+            productIdList.add(Integer.parseInt(productIDs));
+        }
+
+        for (Integer productID : productIdList) {
+            Integer like = likeMapper.findLike(userID, productID);
+            if (like != 1) {
+                return ResponseJson.error("产品参数错误");
+            }
+            likeMapper.like(userID, productID, 0);
+        }
+        return ResponseJson.success("批量删除成功");
+    }
+}