|
@@ -0,0 +1,95 @@
|
|
|
+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;
|
|
|
+import com.caimei365.commodity.model.vo.PaginationVo;
|
|
|
+import com.caimei365.commodity.model.vo.ProductItemVo;
|
|
|
+import com.caimei365.commodity.service.PageService;
|
|
|
+import com.caimei365.commodity.service.UserLikeService;
|
|
|
+import com.github.pagehelper.PageHelper;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+
|
|
|
+/**
|
|
|
+ * @author zzj 2021/9/17
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class UserLikeServiceImpl implements UserLikeService {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private UserLikeMapper likeMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private PriceUtilService priceUtilService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private PageService pageService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseJson<String> likeOne(Integer userId, Integer productId) {
|
|
|
+ //findLike为空则添加收藏,1取消,0收藏。
|
|
|
+ Integer flag = likeMapper.findLike(userId, productId);
|
|
|
+ if (flag == null) {
|
|
|
+ likeMapper.insert(userId, productId);
|
|
|
+ return ResponseJson.success("收藏成功");
|
|
|
+ }
|
|
|
+ if (flag.equals(1)) {
|
|
|
+ likeMapper.disLike(userId, productId, 0);
|
|
|
+ return ResponseJson.success("取消收藏");
|
|
|
+ }
|
|
|
+ if (flag.equals(0)) {
|
|
|
+ likeMapper.like(userId, productId, 1);
|
|
|
+ return ResponseJson.success("收藏成功");
|
|
|
+ }
|
|
|
+ return ResponseJson.error("收藏失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseJson<PaginationVo<ProductItemVo>> findLikeList(Integer userId, int pageNum, int pageSize) {
|
|
|
+ if (null == userId) {
|
|
|
+ return ResponseJson.error("参数错误:用户Id不能为空!", null);
|
|
|
+ }
|
|
|
+ PageHelper.startPage(pageNum, pageSize);
|
|
|
+ List<ProductItemVo> productList = likeMapper.findLikeList(userId);
|
|
|
+ productList.forEach(product -> {
|
|
|
+ // 设置商品主图及价格
|
|
|
+ priceUtilService.setProductDetails(userId, product);
|
|
|
+ //优惠券标识
|
|
|
+ Boolean couponsLogo = pageService.setCouponsLogo(userId, product.getProductId(), 2);
|
|
|
+ product.setCouponsLogo(couponsLogo);
|
|
|
+ });
|
|
|
+ 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("批量删除成功");
|
|
|
+ }
|
|
|
+}
|