Material.java 2.4 KB

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