ResourceDetail.java 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package cn.rankin.resourceservice.dto;
  2. import cn.rankin.common.utils.enums.BaseStatusEnum;
  3. import cn.rankin.data.api.resource.entity.Resource;
  4. import cn.rankin.common.utils.constant.ResourceType;
  5. import cn.rankin.resourceservice.controller.ResourceController;
  6. import lombok.Data;
  7. import lombok.ToString;
  8. import org.apache.commons.lang.StringUtils;
  9. import java.io.Serializable;
  10. import java.util.Date;
  11. @Data
  12. @ToString
  13. public class ResourceDetail implements Serializable {
  14. private String rid;
  15. private String no;
  16. private String title;
  17. private Integer type;
  18. private String id;
  19. private String bucket;
  20. private String format;
  21. private Long size;
  22. private Date createTime;
  23. private Date updateTime;
  24. private BaseStatusEnum status;
  25. private String fullPath;
  26. // 清晰度, {fluent, standard, high, superclear}
  27. private String quality;
  28. // 类型
  29. private Integer dataRate;
  30. public Resource toNativeResource() {
  31. if (type.intValue() == ResourceType.AUDIO) {
  32. return toNativeAudio();
  33. } else if (type.intValue() == ResourceType.VIDEO) {
  34. return toNativeVideo();
  35. }
  36. return null;
  37. }
  38. public Resource toNativeVideo() {
  39. Resource resource = new Resource();
  40. resource.setId(id);
  41. resource.setCode(no);
  42. resource.setName(title);
  43. resource.setType(type);
  44. if(StringUtils.isNotBlank(fullPath)){
  45. resource.setUrl(fullPath.replace(ResourceController.HTTP_VIDEO_DOMAIN, ResourceController.HTTPS_VIDEO_DOMAIN)
  46. .replace(ResourceController.LJ_VIDEO_DOMAIN, ResourceController.HTTPS_VIDEO_DOMAIN));
  47. }else{
  48. resource.setUrl(fullPath);
  49. }
  50. resource.setFormat(format);
  51. resource.setQuality(quality);
  52. resource.setSize(size);
  53. resource.setStatus(status);
  54. resource.setGmtCreated(createTime);
  55. resource.setGmtModified(updateTime);
  56. return resource;
  57. }
  58. public Resource toNativeAudio() {
  59. Resource resource = new Resource();
  60. resource.setId(id);
  61. resource.setCode(no);
  62. resource.setName(title);
  63. resource.setType(type);
  64. resource.setUrl(fullPath);
  65. resource.setFormat(format);
  66. resource.setSize(size);
  67. resource.setStatus(status);
  68. resource.setGmtCreated(createTime);
  69. resource.setGmtModified(updateTime);
  70. return resource;
  71. }
  72. }