package com.zt.modules.oss.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.zt.common.service.BaseService; import com.zt.core.oss.dto.OssDto; import com.zt.core.oss.service.QdISysOssService; import com.zt.modules.oss.cloud.AbstractStorageService; import com.zt.modules.oss.constant.OssConstant; import com.zt.modules.oss.dao.QdSysOssDao; import com.zt.modules.oss.enums.CloudChannel; import com.zt.modules.oss.mapstruct.QdOssMapper; import com.zt.modules.oss.model.QdSysOss; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.stream.Collectors; /** * 文件上传 * * @author hehz */ @Service public class QdSysOssService extends BaseService implements QdISysOssService { @Autowired private QdOssMapper ossMapper; @Autowired private AbstractStorageService AbstractStorageService; @Override public List getOsses(Long busiId, String busiType, String busiField) { List list = baseDao .selectList( new QueryWrapper().lambda().eq(QdSysOss::getBusiType, busiType) .eq(QdSysOss::getBusiId, busiId).eq(QdSysOss::getBusiField, busiField) .orderByAsc(true, QdSysOss::getSort)).stream().map(d -> { OssDto dto = ossMapper.toDto(d); dto.setUrl(getOssUrl(d)); return dto; }).collect(Collectors.toList()); return list; } private String getOssUrl(QdSysOss oss) { String url = oss.getUrl(); String idPart = OssConstant.ID + "=" + oss.getId(); oss.setUrl(url + (url.indexOf("?") > 0 ? "&" : "?") + idPart); if (CloudChannel.LOCAL.getValue().equals(oss.getChannel())) {// 本地 url = AbstractStorageService.getQdConfig().getQdLocalDomain() + "/sys/oss/qdContent"; } return url + (url.indexOf("?") > 0 ? "&" : "?") + idPart; } public QdSysOss getById(Long id) { QdSysOss oss = baseDao.selectById(id); oss.setUrl(getOssUrl(oss)); return oss; } }