SysFile.java 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package com.backendsys.modules.upload.entity;
  2. import com.baomidou.mybatisplus.annotation.*;
  3. import jakarta.validation.constraints.NotEmpty;
  4. import jakarta.validation.constraints.NotNull;
  5. import jakarta.validation.constraints.Size;
  6. import lombok.Data;
  7. import java.util.List;
  8. @Data
  9. @TableName("sys_file")
  10. public class SysFile {
  11. public static interface Update{}
  12. public static interface UpdateBatch{}
  13. public static interface Delete{}
  14. public static interface DeleteBatch{}
  15. @TableId(type = IdType.AUTO)
  16. @NotNull(message = "id 不能为空", groups = { Update.class })
  17. private Long id;
  18. @TableField(exist = false)
  19. @NotNull(message = "ids 不能为空", groups = { UpdateBatch.class })
  20. @Size(min = 1, message = "ids 的数量必须大于 0", groups = { UpdateBatch.class })
  21. private List<Long> ids;
  22. @TableField(updateStrategy = FieldStrategy.NOT_NULL)
  23. private Long category_id;
  24. @TableField(exist = false)
  25. private String category_name;
  26. private String request_id;
  27. private String upload_id;
  28. private Integer upload_chunk_count;
  29. private Integer upload_chunk_index;
  30. private Long user_id;
  31. @TableField(exist = false)
  32. private String username;
  33. @NotEmpty(message = "文件名不能为空", groups = { Update.class })
  34. @Size(max = 50, message = "文件名长度不超过 {max} 字符", groups = { Update.class })
  35. private String name;
  36. private String content_type;
  37. private String url;
  38. private String url_thumb;
  39. @NotEmpty(message = "object_key 不能为空", groups = { Delete.class })
  40. private String object_key;
  41. @TableField(exist = false)
  42. @NotNull(message = "object_keys 不能为空", groups = { DeleteBatch.class })
  43. @Size(min = 1, message = "object_keys 的数量必须大于 0", groups = { DeleteBatch.class })
  44. private List<String> object_keys;
  45. private Long size;
  46. private String md5;
  47. private Integer target; // 上传目标 (-1:本地, 1:腾讯云, 2:阿里云, 3.抖音云)
  48. @TableField(exist = false)
  49. private String target_label;
  50. private String upload_time;
  51. private String create_time;
  52. private String update_time;
  53. }