package com.ruoyi.other.service.impl;
|
|
import cn.hutool.core.bean.BeanUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.ruoyi.basic.enums.ApplicationTypeEnum;
|
import com.ruoyi.basic.enums.RecordTypeEnum;
|
import com.ruoyi.basic.utils.FileUtil;
|
import com.ruoyi.other.dto.PdaVersionDTO;
|
import com.ruoyi.other.mapper.PdaVersionMapper;
|
import com.ruoyi.other.pojo.PdaVersion;
|
import com.ruoyi.other.service.PdaVersionService;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.util.Assert;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@Service
|
@RequiredArgsConstructor
|
@Transactional(rollbackFor = Exception.class)
|
public class PdaVersionServiceImpl extends ServiceImpl<PdaVersionMapper, PdaVersion> implements PdaVersionService {
|
|
private final PdaVersionMapper pdaVersionMapper;
|
|
private final FileUtil fileUtil;
|
|
@Override
|
public IPage<PdaVersionDTO> getAllVersion(Page<PdaVersion> page, PdaVersion pdaVersion) {
|
LambdaQueryWrapper<PdaVersion> queryWrapper = new LambdaQueryWrapper<>();
|
queryWrapper.orderByDesc(PdaVersion::getCreateTime);
|
Page<PdaVersion> pdaVersionPage = pdaVersionMapper.selectPage(page, queryWrapper);
|
Page<PdaVersionDTO> pdaVersionDTOPage = new Page<>(page.getCurrent(), page.getSize());
|
List<PdaVersionDTO> pdaVersionDTOList = new ArrayList<>();
|
pdaVersionPage.getRecords().forEach(item -> {
|
PdaVersionDTO pdaVersionDTO = new PdaVersionDTO();
|
BeanUtil.copyProperties(item, pdaVersionDTO);
|
pdaVersionDTO.setStorageBlobVOList(fileUtil.getStorageBlobVOsByApplicationAndRecordTypeAndRecordId(ApplicationTypeEnum.APK, RecordTypeEnum.PDA_VERSION, item.getId()));
|
String downloadURL = fileUtil.getFileDownloadURLByApplicationAndRecordTypeAndRecordId(ApplicationTypeEnum.APK, RecordTypeEnum.PDA_VERSION, item.getId()).get(0) == null ?
|
"" : fileUtil.getFileDownloadURLByApplicationAndRecordTypeAndRecordId(ApplicationTypeEnum.APK, RecordTypeEnum.PDA_VERSION, item.getId()).get(0);
|
pdaVersionDTO.setDownloadURL(downloadURL);
|
pdaVersionDTOList.add(pdaVersionDTO);
|
});
|
pdaVersionDTOPage.setRecords(pdaVersionDTOList);
|
return pdaVersionDTOPage;
|
}
|
|
@Override
|
public boolean add(PdaVersionDTO pdaVersion) {
|
// 参数校验
|
Assert.hasText(pdaVersion.getVersion(), "版本号不能为空");
|
pdaVersionMapper.insert(pdaVersion);
|
fileUtil.saveStorageAttachment(ApplicationTypeEnum.APK, RecordTypeEnum.PDA_VERSION, pdaVersion.getId(), pdaVersion.getStorageBlobDTOList());
|
return true;
|
}
|
}
|