Article.java 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package com.backendsys.modules.cms.article.entity;
  2. import com.backendsys.config.Mybatis.handler.timezone.LocalDateTimeAdapter;
  3. import com.backendsys.entity.validator.RangeArray;
  4. import com.baomidou.mybatisplus.annotation.IdType;
  5. import com.baomidou.mybatisplus.annotation.TableField;
  6. import com.baomidou.mybatisplus.annotation.TableId;
  7. import com.baomidou.mybatisplus.annotation.TableName;
  8. import com.google.gson.annotations.JsonAdapter;
  9. import jakarta.validation.constraints.NotEmpty;
  10. import jakarta.validation.constraints.NotNull;
  11. import lombok.Data;
  12. import java.time.LocalDateTime;
  13. import java.util.List;
  14. @Data
  15. @TableName("cms_article")
  16. public class Article {
  17. public static interface Detail{}
  18. public static interface Create{}
  19. public static interface Update{}
  20. public static interface Delete{}
  21. public static interface DeleteBatch{}
  22. @TableField(exist = false)
  23. private String lang;
  24. @TableId(type = IdType.AUTO)
  25. private Long id;
  26. @TableField("id")
  27. @NotNull(message="article_id 不能为空", groups = { Detail.class, Update.class, Delete.class })
  28. private Long article_id;
  29. private String uid;
  30. private String thumb;
  31. @TableField(exist = false)
  32. @NotNull(message="article_id 不能为空", groups = { Delete.class })
  33. private List<Long> article_ids;
  34. @TableField(exist = false)
  35. private String title;
  36. @TableField(exist = false)
  37. private String description;
  38. @TableField(exist = false)
  39. private String content;
  40. @TableField(exist = false)
  41. private String meta_keyword;
  42. @TableField(exist = false)
  43. private String meta_description;
  44. @TableField(exist = false)
  45. @NotEmpty(message="内容不能为空", groups = { Create.class, Update.class})
  46. private List<ArticleI18n> translations;
  47. private Long user_id;
  48. private Long category_id;
  49. @RangeArray(message="资讯状态取值有误,范围应是(-1禁用, 1启用)", value = {"-1", "1"}, groups = { Create.class, Update.class})
  50. private Integer status;
  51. private Integer is_top;
  52. @JsonAdapter(LocalDateTimeAdapter.class)
  53. private LocalDateTime create_time;
  54. private String update_time;
  55. }