Activity.java 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413
  1. package com.uas.console.donate.model;
  2. import com.alibaba.fastjson.annotation.JSONField;
  3. import com.fasterxml.jackson.annotation.JsonIgnore;
  4. import com.uas.console.donate.util.CollectionUtils;
  5. import javax.persistence.*;
  6. import java.io.Serializable;
  7. import java.text.SimpleDateFormat;
  8. import java.util.Date;
  9. import java.util.Set;
  10. @Entity
  11. @Table(name="donate$activity")
  12. public class Activity implements Serializable{
  13. private static final long serialVersionUID = 1L;
  14. private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  15. @Id
  16. @GeneratedValue(strategy= GenerationType.IDENTITY)
  17. @Column(name="act_id")
  18. private Long id;
  19. /**
  20. * 活动编号
  21. */
  22. @Column(name = "act_code")
  23. private String code;
  24. /**
  25. * 活动名
  26. */
  27. @Column(name="act_name")
  28. private String name;
  29. /**
  30. * 活动简介
  31. */
  32. @Column(name="act_summary")
  33. private String summary;
  34. /**
  35. * 开始时间
  36. */
  37. @Column(name="act_start_time")
  38. private Date startTime;
  39. /**
  40. * 结束时间
  41. */
  42. @Column(name="act_end_time")
  43. private Date endTime;
  44. /**
  45. * 开奖日期
  46. */
  47. @Column(name="act_lucky_time")
  48. private Date luckyTime;
  49. /**
  50. * 兑奖开始时间
  51. */
  52. @Column(name="act_receive_start")
  53. private Date receiveStartTime;
  54. /**
  55. * 兑奖结束时间
  56. */
  57. @Column(name="act_receive_end")
  58. private Date receiveEndTime;
  59. /**
  60. * 活动提交人UU
  61. * @return
  62. */
  63. @Column(name="act_useruu")
  64. private Long userUU;
  65. /**
  66. * 活动提交人
  67. * @return
  68. */
  69. @Column(name="act_person")
  70. private String person;
  71. /**
  72. * 活动提交时间
  73. * @return
  74. */
  75. @Column(name = "act_submit")
  76. private Date submitTime;
  77. /**
  78. * 是否发布,1:草稿 2:发布
  79. */
  80. @Column(name="act_publish")
  81. private Integer publish;
  82. /**
  83. * 活动优先级
  84. */
  85. @Column(name="act_priority")
  86. private Integer priority;
  87. /**
  88. * 活动参加人数
  89. * @return
  90. */
  91. @Column(name="act_joined_person")
  92. private Integer joinedPerson;
  93. /**
  94. * 活动中奖人数
  95. * @return
  96. */
  97. @Column(name="act_lucky_person")
  98. private Integer luckyPerson;
  99. /**
  100. * 活动领奖人数
  101. */
  102. @Column(name = "act_receive_person")
  103. private Integer receivePerson;
  104. /**
  105. * 已筹集善款
  106. * @return
  107. */
  108. @Column(name="act_amount")
  109. private Double amount;
  110. /**
  111. * 相关项目数
  112. */
  113. @Column(name = "act_connect_project")
  114. private Integer sumconnect;
  115. /**
  116. * 活动中奖概率
  117. * @return
  118. */
  119. @Column(name = "act_chance")
  120. private Double chance;
  121. /**
  122. * 活动缩略图
  123. * @return
  124. */
  125. @Column(name = "act_img")
  126. private String actImg;
  127. /**
  128. * 活动背景
  129. * @return
  130. */
  131. @Column(name = "act_banner")
  132. private String banner;
  133. /**
  134. * 参与记录
  135. * @return
  136. */
  137. @OneToMany(mappedBy = "activity", cascade = CascadeType.REFRESH, fetch = FetchType.EAGER)
  138. @OrderBy("id")
  139. private Set<ActivityRecode> activityRecords;
  140. /**
  141. * 奖品
  142. * @return
  143. */
  144. @OneToMany(mappedBy = "activity", cascade = {CascadeType.REFRESH, CascadeType.PERSIST}, fetch = FetchType.EAGER)
  145. @OrderBy("awardLevel")
  146. private Set<Award> awards;
  147. /**
  148. * 关联项目
  149. * @return
  150. */
  151. @OneToMany(fetch = FetchType.EAGER, cascade = {CascadeType.REFRESH})
  152. @JoinTable(name = "donate$activityproject", joinColumns = @JoinColumn(name = "act_id", referencedColumnName = "act_id"), inverseJoinColumns = @JoinColumn(name="pro_id", referencedColumnName = "pro_id"))
  153. private Set<Project> projects;
  154. /**
  155. * 奖品总数
  156. */
  157. @Transient
  158. private Integer awardAmount;
  159. public Long getId() {
  160. return id;
  161. }
  162. public void setId(Long id) {
  163. this.id = id;
  164. }
  165. public String getCode() {
  166. return code;
  167. }
  168. public void setCode(String code) {
  169. this.code = code;
  170. }
  171. public String getName() {
  172. return name;
  173. }
  174. public void setName(String name) {
  175. this.name = name;
  176. }
  177. public String getSummary() {
  178. return summary;
  179. }
  180. public void setSummary(String summary) {
  181. this.summary = summary;
  182. }
  183. public String getStartTime() {
  184. Date date=this.startTime;
  185. return date!=null?sdf.format(this.startTime):null;
  186. }
  187. public void setStartTime(Date startTime) {
  188. this.startTime = startTime;
  189. }
  190. public String getEndTime() {
  191. Date date=this.endTime;
  192. return date!=null?sdf.format(this.endTime):null;
  193. }
  194. public void setEndTime(Date endTime) {
  195. this.endTime = endTime;
  196. }
  197. public String getLuckyTime() {
  198. Date date=this.luckyTime;
  199. return date!=null?sdf.format(this.luckyTime):null;
  200. }
  201. public void setLuckyTime(Date luckyTime) {
  202. this.luckyTime = luckyTime;
  203. }
  204. public String getReceiveStartTime() {
  205. Date date=this.receiveStartTime;
  206. return date!=null?sdf.format(this.receiveStartTime):null;
  207. }
  208. public void setReceiveStartTime(Date receiveStartTime) {
  209. this.receiveStartTime = receiveStartTime;
  210. }
  211. public String getReceiveEndTime() {
  212. Date date=this.receiveEndTime;
  213. return date!=null?sdf.format(this.receiveEndTime):null;
  214. }
  215. public void setReceiveEndTime(Date receiveEndTime) {
  216. this.receiveEndTime = receiveEndTime;
  217. }
  218. public String getPerson() {
  219. return person;
  220. }
  221. public void setPerson(String person) {
  222. this.person = person;
  223. }
  224. public String getSubmitTime() {
  225. Date date=this.submitTime;
  226. return date!=null?sdf.format(this.submitTime):null;
  227. }
  228. public void setSubmitTime(Date submitTime) {
  229. this.submitTime = submitTime;
  230. }
  231. public Integer getPublish() {
  232. return publish;
  233. }
  234. public void setPublish(Integer publish) {
  235. this.publish = publish;
  236. }
  237. public Integer getPriority() {
  238. return priority;
  239. }
  240. public void setPriority(Integer priority) {
  241. this.priority = priority;
  242. }
  243. public Integer getLuckyPerson() {
  244. return luckyPerson;
  245. }
  246. public void setLuckyPerson(Integer luckyPerson) {
  247. this.luckyPerson = luckyPerson;
  248. }
  249. public Integer getReceivePerson() {
  250. return receivePerson;
  251. }
  252. public void setReceivePerson(Integer receivePerson) {
  253. this.receivePerson = receivePerson;
  254. }
  255. public Double getAmount() {
  256. return amount;
  257. }
  258. public void setAmount(Double amount) {
  259. this.amount = amount;
  260. }
  261. public Integer getSumconnect() {
  262. return sumconnect;
  263. }
  264. public void setSumconnect(Integer sumconnect) {
  265. this.sumconnect = sumconnect;
  266. }
  267. public Double getChance() {
  268. return chance;
  269. }
  270. public void setChance(Double chance) {
  271. this.chance = chance;
  272. }
  273. public String getActImg() {
  274. return actImg;
  275. }
  276. public void setActImg(String actImg) {
  277. this.actImg = actImg;
  278. }
  279. public Integer getJoinedPerson() {
  280. return joinedPerson;
  281. }
  282. public void setJoinedPerson(Integer joinedPerson) {
  283. this.joinedPerson = joinedPerson;
  284. }
  285. public Long getUserUU() {
  286. return userUU;
  287. }
  288. public void setUserUU(Long userUU) {
  289. this.userUU = userUU;
  290. }
  291. public Integer getAwardAmount() {
  292. Integer amount = 0;
  293. if (!CollectionUtils.isEmpty(this.getAwards())) {
  294. for (Award award : this.getAwards()) {
  295. amount += award.getAmount();
  296. }
  297. }
  298. return amount;
  299. }
  300. public void setAwardAmount(Integer awardAmount) {
  301. this.awardAmount = awardAmount;
  302. }
  303. @JsonIgnore
  304. @JSONField(serialize = false)
  305. public Set<ActivityRecode> getActivityRecords() {
  306. return activityRecords;
  307. }
  308. public void setActivityRecords(Set<ActivityRecode> activityRecords) {
  309. this.activityRecords = activityRecords;
  310. }
  311. public String getBanner() {
  312. return banner;
  313. }
  314. public void setBanner(String banner) {
  315. this.banner = banner;
  316. }
  317. public Set<Award> getAwards() {
  318. return awards;
  319. }
  320. public void setAwards(Set<Award> awards) {
  321. this.awards = awards;
  322. }
  323. public Set<Project> getProjects() {
  324. return projects;
  325. }
  326. public void setProjects(Set<Project> projects) {
  327. this.projects = projects;
  328. }
  329. }