CourseVO.java 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package cn.seecoder.courselearning.vo.course;
  2. import cn.seecoder.courselearning.po.course.Course;
  3. import com.fasterxml.jackson.annotation.JsonFormat;
  4. import lombok.Data;
  5. import lombok.NonNull;
  6. import java.util.Date;
  7. @Data
  8. public class CourseVO {
  9. private Integer id;
  10. private String name;
  11. private String type;
  12. private String intro;
  13. private String picture;
  14. private String school;
  15. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  16. private Date createTime;
  17. private Integer cost;
  18. private Integer teacherId;
  19. private String teacherName;
  20. // 课程点赞数
  21. private Integer likes;
  22. // 标记当前用户(学生)是否已购买解锁
  23. private boolean bought;
  24. // 标记当前用户(老师)是否有权限管理课程
  25. private boolean manageable;
  26. public CourseVO() {
  27. bought = false;
  28. }
  29. public CourseVO(@NonNull Course course){
  30. id = course.getId();
  31. name = course.getName();
  32. type = course.getType();
  33. intro = course.getIntro();
  34. picture = course.getPicture();
  35. school = course.getSchool();
  36. createTime = course.getCreateTime();
  37. cost = course.getCost();
  38. teacherId = course.getTeacherId();
  39. teacherName = course.getTeacherName();
  40. likes = course.getLikes();
  41. bought = false;
  42. manageable = false;
  43. }
  44. public CourseVO(@NonNull Course course, boolean bought, boolean manageable){
  45. id = course.getId();
  46. name = course.getName();
  47. type = course.getType();
  48. intro = course.getIntro();
  49. picture = course.getPicture();
  50. school = course.getSchool();
  51. createTime = course.getCreateTime();
  52. cost = course.getCost();
  53. teacherId = course.getTeacherId();
  54. teacherName = course.getTeacherName();
  55. likes = course.getLikes();
  56. this.bought = bought;
  57. this.manageable = manageable;
  58. }
  59. }