123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- package cn.rankin.resourceservice.dto;
- import java.io.Serializable;
- import java.util.*;
- import javax.persistence.*;
- import cn.rankin.common.utils.enums.BaseStatusEnum;
- import cn.rankin.data.api.resource.entity.Resource;
- import cn.rankin.common.utils.constant.ResourceType;
- import cn.rankin.resourceservice.controller.ResourceController;
- import lombok.Data;
- import org.apache.commons.lang.StringUtils;
- @Data
- public class ResourceRemote implements Serializable {
- private static final long serialVersionUID = 1L;
- // 主键 uuid
- private String id;
- // 资源编号
- private String no;
- // 名称
- private String title;
- // 类型
- private Integer type;
- private Date createTime;
- @Temporal(TemporalType.TIMESTAMP)
- private Date updateTime;
- //表示状态,取值{0,1}, 分别表示{'正常状态','已删除'}
- @Enumerated(EnumType.ORDINAL)
- private BaseStatusEnum status = BaseStatusEnum.NORMAL;
- @Transient
- private Set<ResourceVideo> videos = new HashSet<ResourceVideo>();
- @Transient
- private Set<ResourceAudio> audios = new HashSet<ResourceAudio>();
- public List<Resource> toNativeResource() {
- if (type == null) {
- return new ArrayList<>();
- }
- if (type.intValue() == ResourceType.AUDIO) {
- return toNativeAudio();
- }else if (type.intValue() == ResourceType.VIDEO) {
- return toNativeVideo();
- }
- return new ArrayList<>();
- }
- public List<Resource> toNativeVideo() {
- List<Resource> resourceList = new ArrayList<>();
- videos.forEach(v -> {
- Resource resource = new Resource();
- resource.setId(v.getId());
- resource.setRid(v.getRid());
- resource.setCode(no);
- resource.setName(title);
- resource.setType(type);
- if(StringUtils.isNotBlank(v.getFullPath())){
- resource.setUrl(v.getFullPath()
- .replace(ResourceController.HTTP_VIDEO_DOMAIN, ResourceController.HTTPS_VIDEO_DOMAIN)
- .replace(ResourceController.LJ_VIDEO_DOMAIN, ResourceController.HTTPS_VIDEO_DOMAIN));
- }else{
- resource.setUrl(v.getFullPath());
- }
- resource.setFormat(v.getFormat());
- resource.setQuality(v.getQuality());
- resource.setSize(v.getSize());
- resource.setPath(v.getPath());
- resource.setStatus(v.getStatus());
- resource.setGmtCreated(v.getCreateTime());
- resource.setGmtModified(v.getUpdateTime());
- resourceList.add(resource);
- });
- return resourceList;
- }
- public List<Resource> toNativeAudio() {
- List<Resource> resourceList = new ArrayList<>();
- audios.forEach(v -> {
- Resource resource = new Resource();
- resource.setId(v.getId());
- resource.setCode(no);
- resource.setName(title);
- resource.setType(type);
- resource.setUrl(v.getFullPath());
- resource.setFormat(v.getFormat());
- resource.setSize(v.getSize());
- resource.setPath(v.getPath());
- resource.setStatus(v.getStatus());
- resource.setGmtCreated(v.getCreateTime());
- resource.setGmtModified(v.getUpdateTime());
- resourceList.add(resource);
- });
- return resourceList;
- }
- }
|