ソースを参照

fix: set likes and liked for CourseVO

kenny67nju 5 年 前
コミット
f4e30a3249

+ 5 - 1
src/main/java/cn/seecoder/courselearning/serviceimpl/course/CourseServiceImpl.java

@@ -89,7 +89,11 @@ public class CourseServiceImpl implements CourseService {
                 bought = order.getStatus().equals(Constant.ORDER_STATUS_SUCCESS);
             manageable = uid.equals(course.getTeacherId());
         }
-        return new CourseVO(course, bought, manageable);
+        int likes=courseLikesMapper.count(courseId, uid) ;
+        if(likes>0)
+            return new CourseVO(course, bought, manageable,likes);
+        else
+            return new CourseVO(course, bought, manageable);
     }
 
     @Override

+ 17 - 0
src/main/java/cn/seecoder/courselearning/vo/course/CourseVO.java

@@ -76,4 +76,21 @@ public class CourseVO {
         this.bought = bought;
         this.manageable = manageable;
     }
+
+    public CourseVO(@NonNull Course course, boolean bought, boolean manageable, int courselikes){
+        id = course.getId();
+        name = course.getName();
+        type = course.getType();
+        intro = course.getIntro();
+        picture = course.getPicture();
+        school = course.getSchool();
+        createTime = course.getCreateTime();
+        cost = course.getCost();
+        teacherId = course.getTeacherId();
+        teacherName = course.getTeacherName();
+        likes = courselikes;
+        liked = courselikes>0;
+        this.bought = bought;
+        this.manageable = manageable;
+    }
 }