Programme.java 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. package com.izouma.wenlvju.domain.performance;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import com.izouma.wenlvju.annotations.Searchable;
  4. import com.izouma.wenlvju.annotations.SearchableOne;
  5. import com.izouma.wenlvju.converter.VideoObjectConverter;
  6. import com.izouma.wenlvju.domain.BaseEntity;
  7. import com.izouma.wenlvju.domain.VideoObject;
  8. import com.izouma.wenlvju.dto.ProgUploadDTO;
  9. import com.izouma.wenlvju.dto.ProgrammeDTO;
  10. import com.izouma.wenlvju.enums.CompetitionGroup;
  11. import com.izouma.wenlvju.enums.ProgrammeStatus;
  12. import com.izouma.wenlvju.enums.SignedIn;
  13. import io.swagger.annotations.ApiModel;
  14. import io.swagger.annotations.ApiModelProperty;
  15. import lombok.AllArgsConstructor;
  16. import lombok.Builder;
  17. import lombok.Data;
  18. import lombok.NoArgsConstructor;
  19. import org.hibernate.annotations.Where;
  20. import javax.persistence.*;
  21. import java.time.LocalDateTime;
  22. @Data
  23. @AllArgsConstructor
  24. @NoArgsConstructor
  25. @Builder
  26. @Entity
  27. @Where(clause = "del = 0")
  28. @ApiModel(value = "节目安排")
  29. public class Programme extends BaseEntity {
  30. private Long performanceId;
  31. @Searchable
  32. @SearchableOne
  33. @ApiModelProperty(value = "节目名称")
  34. private String name;
  35. private Long parentSpecialtyId;
  36. @ApiModelProperty(value = "参赛专业")
  37. private Long specialtyId;
  38. @Enumerated(EnumType.STRING)
  39. @ApiModelProperty(value = "参赛组别")
  40. private CompetitionGroup competitionGroup;
  41. @ApiModelProperty(value = "参赛级别")
  42. private Long levelSettingId;
  43. @ApiModelProperty(value = "作品时长")
  44. private int durationOfWork;
  45. @SearchableOne
  46. @ApiModelProperty(value = "指导老师")
  47. private String instructor;
  48. @ApiModelProperty(value = "指导老师电话")
  49. private String instructorPhone;
  50. @ApiModelProperty(value = "联系人")
  51. private String contact;
  52. @ApiModelProperty(value = "联系电话")
  53. private String phone;
  54. @ApiModelProperty(value = "考级机构")
  55. private Long gradingOrganizationId;
  56. @ApiModelProperty(value = "承办单位")
  57. private Long organizationId;
  58. @ApiModelProperty(value = "考级点")
  59. private String examPoint;
  60. @Column(columnDefinition = "TEXT")
  61. @Convert(converter = VideoObjectConverter.class)
  62. @ApiModelProperty(value = "节目视频")
  63. private VideoObject video;
  64. @Column(columnDefinition = "TEXT")
  65. @ApiModelProperty(value = "节目文件附件")
  66. private String annex;
  67. @ApiModelProperty(value = "分组id")
  68. private Long arrangeId;
  69. @ApiModelProperty(value = "复审分组id")
  70. private Long reviewArrangeId;
  71. @ApiModelProperty(value = "状态")
  72. @Enumerated(EnumType.STRING)
  73. private ProgrammeStatus programmeStatus;
  74. private int process;
  75. // @ApiModelProperty(value = "流程")
  76. // @Enumerated(EnumType.STRING)
  77. // private ProgrammeProcess programmeProcess;
  78. @ApiModelProperty(value = "签到管理")
  79. @Enumerated(EnumType.STRING)
  80. private SignedIn signedIn;
  81. // @Column(columnDefinition = "TEXT")
  82. // @ApiModelProperty(value = "情况说明")
  83. // private String description;
  84. //
  85. // @ApiModelProperty(value = "签到时间")
  86. // private LocalDateTime signedAt;
  87. @ApiModelProperty(value = "参演人数")
  88. private int quantity;
  89. private String address;
  90. /*
  91. 表演时间
  92. */
  93. private LocalDateTime showBegin;
  94. private LocalDateTime showEnd;
  95. @ApiModelProperty(value = "全部签到")
  96. private boolean allSigned;
  97. @ApiModelProperty(value = "评分")
  98. private Double score;
  99. @ApiModelProperty(value = "复审评分")
  100. private Double reviewScore;
  101. @ApiModelProperty(value = "全部评分")
  102. private boolean allScore;
  103. @ApiModelProperty(value = "奖项")
  104. private Long awardId;
  105. @Transient
  106. private String specialty;
  107. public Programme(ProgrammeDTO dto) {
  108. BeanUtil.copyProperties(dto, this);
  109. }
  110. public Programme(ProgUploadDTO dto) {
  111. BeanUtil.copyProperties(dto, this);
  112. }
  113. }