PiMultiTask.java 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package com.punchsettle.server.atomic.entity;
  2. import java.io.Serial;
  3. import java.io.Serializable;
  4. import com.punchsettle.server.atomic.ContinueTask;
  5. import com.punchsettle.server.common.pojo.BaseEntity;
  6. import com.punchsettle.server.common.constant.CommonEnableStatusEnum;
  7. import com.punchsettle.server.constant.PunchInExtraMethodEnum;
  8. import com.punchsettle.server.constant.VersionStatusEnum;
  9. import jakarta.persistence.Column;
  10. import jakarta.persistence.Table;
  11. import lombok.Data;
  12. import lombok.EqualsAndHashCode;
  13. /**
  14. * @author tyuio
  15. * @version 1.0.0
  16. * @description 打卡多任务表
  17. * @date 2025/04/08 09:49
  18. */
  19. @Data
  20. @EqualsAndHashCode(callSuper = true)
  21. @Table(name = "pi_multi_task")
  22. public class PiMultiTask extends BaseEntity implements Serializable, ContinueTask {
  23. @Serial
  24. private static final long serialVersionUID = -8616950431388861152L;
  25. /**
  26. * 打卡多任务唯一ID
  27. */
  28. @Column(name = "unique_id")
  29. private Long uniqueId;
  30. /**
  31. * 任务状态(活跃-ACTIVE,归档-ARCHIVE,删除-DELETE)
  32. * @see VersionStatusEnum
  33. */
  34. @Column(name = "task_status")
  35. private VersionStatusEnum taskStatus;
  36. /**
  37. * 任务修改版本
  38. */
  39. @Column(name = "task_version")
  40. private Integer taskVersion;
  41. /**
  42. * 用户ID
  43. */
  44. @Column(name = "user_id")
  45. private Long userId;
  46. /**
  47. * 是否启用多任务积分计算(ENABLED-启用,DISABLED-关闭)
  48. * @see CommonEnableStatusEnum
  49. */
  50. @Column(name = "task_points_status")
  51. private CommonEnableStatusEnum taskPointsStatus;
  52. /**
  53. * 打卡完成次数
  54. */
  55. @Column(name = "punch_in_done_count")
  56. private Integer punchInDoneCount;
  57. /**
  58. * 奖励的积分(基本)
  59. */
  60. @Column(name = "points")
  61. private Integer points;
  62. /**
  63. * 是否启用连续规则(ENABLED-启用,DISABLED-关闭)
  64. * @see CommonEnableStatusEnum
  65. */
  66. @Column(name = "continue_status")
  67. private CommonEnableStatusEnum continueStatus;
  68. /**
  69. * 宽限期(单位:天)
  70. */
  71. @Column(name = "grace_day")
  72. private Integer graceDay;
  73. /**
  74. * 连续中断次数
  75. */
  76. @Column(name = "continue_interrupted_count")
  77. private Integer continueInterruptedCount;
  78. /**
  79. * 惩罚天数(单位:天)
  80. */
  81. @Column(name = "penalty_day")
  82. private Integer penaltyDay;
  83. /**
  84. * 额外奖励方式(无-NONE,固定-FIXED,区间-INTERVAL)
  85. * @see PunchInExtraMethodEnum
  86. */
  87. @Column(name = "extra_method")
  88. private PunchInExtraMethodEnum extraMethod;
  89. /**
  90. * 奖励的积分(额外)
  91. */
  92. @Column(name = "extra_points")
  93. private Integer extraPoints;
  94. }