Pārlūkot izejas kodu

返回的数据判断是否已收藏

詹子聪 5 gadi atpakaļ
vecāks
revīzija
3134cfb124

+ 21 - 0
src/main/java/com/miekir/shibei/bean/db/FavBean.java

@@ -0,0 +1,21 @@
+package com.miekir.shibei.bean.db;
+
+import javax.persistence.*;
+
+/**
+ * 收藏
+ */
+@Entity
+@Table(name = "t_fav", schema = "eden", catalog = "")
+public class FavBean {
+    @Id
+    @GeneratedValue(strategy= GenerationType.AUTO)
+    @Column(name = "id", nullable = false, insertable = true, updatable = false)
+    public long id;
+
+    @Column(name = "email", nullable = false, insertable = true, updatable = false)
+    public String email;
+
+    @Column(name = "goodsId", nullable = false, insertable = true, updatable = false, columnDefinition = "bigint default 0")
+    public long goodsId;
+}

+ 15 - 1
src/main/java/com/miekir/shibei/controller/api/GoodsController.java

@@ -2,8 +2,10 @@ package com.miekir.shibei.controller.api;
 
 import com.alibaba.fastjson.JSON;
 import com.miekir.shibei.bean.*;
+import com.miekir.shibei.bean.db.FavBean;
 import com.miekir.shibei.bean.db.GoodsBean;
 import com.miekir.shibei.bean.db.SystemBean;
+import com.miekir.shibei.repository.FavRepository;
 import com.miekir.shibei.repository.GoodsRepository;
 import com.miekir.shibei.repository.SystemRepository;
 import com.miekir.shibei.repository.UserRepository;
@@ -31,6 +33,9 @@ public class GoodsController {
     @Autowired
     private SystemRepository systemRepository;
 
+    @Autowired
+    private FavRepository favRepository;
+
     private final Random mRandom = new Random();
 
     /**
@@ -121,7 +126,7 @@ public class GoodsController {
      */
     @RequestMapping(value = "/api/getGoodsList", method = RequestMethod.GET, produces = "application/json; charset=utf-8")
     @ResponseBody
-    public String getGoodsList(int pageNum, int pageSize) {
+    public String getGoodsList(@RequestHeader HttpHeaders header, int pageNum, int pageSize) {
         ResponseResult<List<GoodsBean>> responseResult = new ResponseResult<List<GoodsBean>>();
         responseResult.setMessage("获取失败");
 
@@ -131,6 +136,8 @@ public class GoodsController {
             responseResult.setMessage("休息时间到");
             return JSON.toJSONString(responseResult);
         }
+        String email = header.getFirst("email");
+        List<Long> favBeanList = favRepository.findFavListByEmail(email);
 
         // 自带的分页查询。这里不使用分页查询,而是返回随机的数据
         List<GoodsBean> goodsBeanList;
@@ -142,6 +149,13 @@ public class GoodsController {
         try {
             Sort sort = new Sort(Sort.Direction.DESC,"updateTimeMillis");
             goodsBeanList = goodsRepository.findAll(new PageRequest(randomPageNum, pageSize, sort)).getContent();
+
+            // 当前商品是否已收藏
+            for (GoodsBean goodsBean : goodsBeanList) {
+                if (favBeanList.contains(goodsBean.id)) {
+                    goodsBean.isFavorite = true;
+                }
+            }
         } catch (Exception e) {
             e.printStackTrace();
             return JSON.toJSONString(responseResult);

+ 22 - 0
src/main/java/com/miekir/shibei/repository/FavRepository.java

@@ -0,0 +1,22 @@
+package com.miekir.shibei.repository;
+
+import com.miekir.shibei.bean.db.FavBean;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * Created by sjj on 2015/10/24 0024.
+ */
+// 添加注解
+@Repository
+public interface FavRepository extends JpaRepository<FavBean, Long> {
+    @Transactional
+    @Query(value="select favBean.goodsId from FavBean favBean where favBean.email=:email")
+    public List<Long> findFavListByEmail(@Param("email") String email);
+}