SysFile.java 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. public static interface SelectByMd5{}
  16. @TableId(type = IdType.AUTO)
  17. @NotNull(message = "id 不能为空", groups = { Update.class })
  18. private Long id;
  19. @TableField(exist = false)
  20. @NotNull(message = "ids 不能为空", groups = { UpdateBatch.class })
  21. @Size(min = 1, message = "ids 的数量必须大于 0", groups = { UpdateBatch.class })
  22. private List<Long> ids;
  23. @TableField(updateStrategy = FieldStrategy.NOT_NULL)
  24. private Long category_id;
  25. @TableField(exist = false)
  26. private String category_name;
  27. private String request_id;
  28. private String upload_id;
  29. private Integer upload_chunk_count;
  30. private Integer upload_chunk_index;
  31. private Long user_id;
  32. @TableField(exist = false)
  33. private String username;
  34. @NotEmpty(message = "文件名不能为空", groups = { Update.class })
  35. @Size(max = 50, message = "文件名长度不超过 {max} 字符", groups = { Update.class })
  36. private String name;
  37. private String content_type;
  38. private String url;
  39. private String url_thumb;
  40. @NotEmpty(message = "object_key 不能为空", groups = { Delete.class })
  41. private String object_key;
  42. @TableField(exist = false)
  43. @NotNull(message = "object_keys 不能为空", groups = { DeleteBatch.class })
  44. @Size(min = 1, message = "object_keys 的数量必须大于 0", groups = { DeleteBatch.class })
  45. private List<String> object_keys;
  46. private Long size;
  47. @NotEmpty(message = "md5 不能为空", groups = { SelectByMd5.class })
  48. private String md5;
  49. private Integer target; // 上传目标 (-1:本地, 1:腾讯云, 2:阿里云, 3.抖音云)
  50. @TableField(exist = false)
  51. private String target_label;
  52. @TableField(exist = false)
  53. private Boolean is_exist;
  54. private String upload_time;
  55. private String create_time;
  56. private String update_time;
  57. }