فهرست منبع

add spu info favorite flag

Mr.qian 2 هفته پیش
والد
کامیت
504809d23d

+ 7 - 0
mall-service/src/main/java/com/txz/mall/dao/MidFavoriteMapper.java

@@ -1,7 +1,14 @@
 package com.txz.mall.dao;
 
 import com.txz.mall.core.Mapper;
+import com.txz.mall.dao.impl.MidFavoriteMapperImpl;
 import com.txz.mall.model.MidFavorite;
+import dto.FavoriteDTO;
+import org.apache.ibatis.annotations.SelectProvider;
 
 public interface MidFavoriteMapper extends Mapper<MidFavorite> {
+    
+    @SelectProvider(type = MidFavoriteMapperImpl.class, method = "getFavoriteFlag")
+    int getFavoriteFlag(FavoriteDTO dto);
+    
 }

+ 16 - 0
mall-service/src/main/java/com/txz/mall/dao/impl/MidFavoriteMapperImpl.java

@@ -0,0 +1,16 @@
+package com.txz.mall.dao.impl;
+
+import dto.FavoriteDTO;
+
+/**
+ * @author: MTD®️
+ * @date: 2025/8/27
+ */
+
+public class MidFavoriteMapperImpl {
+    
+    public String getFavoriteFlag(FavoriteDTO dto) {
+        return "select count(id) from m_mid_favorite  where user_id = #{userId} and product_id = #{productId} and is_valid = 1";
+    }
+    
+}

+ 23 - 4
mall-service/src/main/java/com/txz/mall/service/impl/StoreProductServiceImpl.java

@@ -13,14 +13,19 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.txz.mall.constants.Constants;
 import com.txz.mall.core.AbstractService;
+import com.txz.mall.core.AuthService;
 import com.txz.mall.core.ServiceException;
+import com.txz.mall.dao.MidFavoriteMapper;
 import com.txz.mall.dao.StoreCombinationMapper;
-import com.txz.mall.dao.StoreProductMapper;
-import com.txz.mall.model.*;
+import com.txz.mall.model.ProductAttr;
+import com.txz.mall.model.ProductAttrValue;
+import com.txz.mall.model.StoreOrder;
+import com.txz.mall.model.StoreProduct;
 import com.txz.mall.service.ProductAttrService;
 import com.txz.mall.service.ProductAttrValueService;
 import com.txz.mall.service.StoreProductService;
 import com.txz.mall.util.EasyExcelUtil;
+import dto.FavoriteDTO;
 import dto.StoreProductAddRequest;
 import dto.StoreProductAttrAddRequest;
 import dto.StoreProductAttrValueAddRequest;
@@ -53,16 +58,19 @@ import java.util.stream.Collectors;
 @Transactional
 @Slf4j
 public class StoreProductServiceImpl extends AbstractService<StoreProduct> implements StoreProductService {
-    @Resource
-    private StoreProductMapper storeProductMapper;
+    
     @Resource
     private ProductAttrService attrService;
+    
     @Resource
     private ProductAttrValueService attrValueService;
     
     @Resource
     private StoreCombinationMapper combinationMapper;
     
+    @Resource
+    private MidFavoriteMapper midFavoriteMapper;
+    
     @Override
     public void importFile(MultipartFile file) {
         String name = file.getOriginalFilename();
@@ -147,6 +155,17 @@ public class StoreProductServiceImpl extends AbstractService<StoreProduct> imple
         //        }
         Long cid = combinationMapper.getIdByProductId(storeProduct.getId());
         storeProductResponse.setCid(cid);
+        
+        try {
+            Long tokenUserId = AuthService.getTokenUserId(null);
+            int favoriteFlag = midFavoriteMapper.getFavoriteFlag(FavoriteDTO.builder().productId(storeProduct.getId()).userId(tokenUserId).build());
+            storeProductResponse.setFavoriteFlag(
+                    (favoriteFlag == 0) ? (Boolean.FALSE) : (Boolean.TRUE)
+            );
+        } catch (Exception e) {
+        
+        }
+        
         return storeProductResponse;
     }
     

+ 5 - 0
mall-service/src/main/java/vo/StoreProductInfoVO.java

@@ -175,4 +175,9 @@ public class StoreProductInfoVO implements Serializable {
      * 拼团商品id
      */
     private Long cid;
+    
+    /**
+     * 收藏标识
+     */
+    private Boolean favoriteFlag = Boolean.FALSE;
 }