Material.java 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package com.backendsys.modules.material.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.fasterxml.jackson.annotation.JsonProperty;
  9. import com.google.gson.annotations.JsonAdapter;
  10. import jakarta.validation.constraints.NotEmpty;
  11. import jakarta.validation.constraints.NotNull;
  12. import jakarta.validation.constraints.Size;
  13. import lombok.Data;
  14. import java.time.LocalDateTime;
  15. import java.util.List;
  16. @Data
  17. @TableName("ai_material")
  18. public class Material {
  19. public static interface Detail{}
  20. public static interface Create{}
  21. public static interface Update{}
  22. public static interface Delete{}
  23. @TableId(type = IdType.AUTO)
  24. private Long id;
  25. @TableField("id")
  26. @NotNull(message="素材ID不能为空", groups = { Detail.class, Update.class, Delete.class })
  27. private Long material_id;
  28. private Long user_id;
  29. @TableField(exist = false)
  30. private String user_nickname;
  31. @NotNull(message="素材分类ID不能为空", groups = { Create.class, Update.class })
  32. private Long category_id;
  33. @TableField(exist = false)
  34. private String category_name;
  35. private String tag_ids;
  36. @TableField(exist = false)
  37. private Long tag_id;
  38. @TableField(exist = false)
  39. private List<MaterialTag> tag_list;
  40. @Size(max = 100, message = "素材名称长度不超过 {max} 个字符", groups = { Create.class, Update.class })
  41. @NotEmpty(message="素材名称不能为空", groups = { Create.class, Update.class })
  42. private String material_name;
  43. @Size(max = 1000, message = "缩略图路径长度不超过 {max} 个字符", groups = { Create.class, Update.class })
  44. private String image_thumb_url;
  45. @Size(max = 1000, message = "高清图路径长度不超过 {max} 个字符", groups = { Create.class, Update.class })
  46. private String image_url;
  47. @Size(max = 1000, message = "FLA路径长度不超过 {max} 个字符", groups = { Create.class, Update.class })
  48. private String file_url;
  49. @RangeArray(message="是否有版权,范围应是(-1否, 1是)", value = {"-1", "1"}, groups = { Create.class, Update.class })
  50. private Integer is_copyright;
  51. @JsonProperty(access = JsonProperty.Access.READ_ONLY)
  52. @JsonAdapter(LocalDateTimeAdapter.class)
  53. private LocalDateTime create_time;
  54. @JsonProperty(access = JsonProperty.Access.READ_ONLY)
  55. @JsonAdapter(LocalDateTimeAdapter.class)
  56. private LocalDateTime update_time;
  57. }