package com.sandu.ximon.admin.newnova.file; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.sandu.common.execption.BusinessException; import com.sandu.common.file.FileService; import com.sandu.common.file.FileUploadDto; import com.sandu.common.file.impl.LocalFileUploadImpl; import com.sandu.common.service.impl.BaseServiceImpl; import com.sandu.ximon.admin.newnova.param.NewNovaFileParam; import com.sandu.ximon.admin.security.SecurityUtils; import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils; import com.sandu.ximon.dao.domain.NewNovaFile; import com.sandu.ximon.dao.mapper.NewNovaFileMapper; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import java.util.List; /** * @author LiuHaoNan * @date 2022/11/8 */ @Service @AllArgsConstructor public class NewNovaFileService extends BaseServiceImpl { // private final LocalFileServiceImpl localFileService; private final LocalFileUploadImpl localFileUpload; /** * 文件添加 * * @param param * @return */ public boolean addProgramFile(NewNovaFileParam param) { NewNovaFile file = new NewNovaFile(); BeanUtils.copyProperties(param, file); file.setUserId(SecurityUtils.getUserId()); file.setUserName(SecurityUtils.getUsername()); /** * 诺瓦文件新增 日志记录开始 */ String content = "文件内容:" + JSON.toJSONString(file); StoreOperationRecordsUtils.storeOperationData(null, null, "诺瓦文件新增", content); /** * 诺瓦文件新增 日志记录结束 */ return save(file); } /** * 文件删除 * * @param fileIds * @return */ public boolean deleteFile(List fileIds) { List NewNovaFiles = listByIds(fileIds); if (NewNovaFiles.isEmpty()) { throw new BusinessException("未找到该节目"); } /** * 诺瓦文件删除 日志记录开始 */ String content = "文件id:" + fileIds + "文件内容:" + JSON.toJSONString(NewNovaFiles); StoreOperationRecordsUtils.storeOperationData(null, null, "诺瓦文件删除", content); /** * 诺瓦文件删除 日志记录结束 */ return removeByIds(fileIds); } /** * 文件列表 * * @return */ public LambdaQueryWrapper listFile() { LambdaQueryWrapper NewNovaFileLambdaQueryWrapper = Wrappers.lambdaQuery(NewNovaFile.class); if (SecurityUtils.getClientId() != null) { return NewNovaFileLambdaQueryWrapper.eq(NewNovaFile::getUserId, SecurityUtils.getUserId()); } else { return NewNovaFileLambdaQueryWrapper; } } /** * 文件上传 * * @param multipartFile * @return */ public NewNovaFile uploadFile(MultipartFile multipartFile) { FileUploadDto fileUploadDto = localFileUpload.uploadFile(multipartFile); NewNovaFile novaFile = new NewNovaFile(); novaFile.setName(fileUploadDto.getOriginName()); novaFile.setRealName(fileUploadDto.getFileName()); novaFile.setFileType(fileUploadDto.getFileType()); novaFile.setRealUrl(fileUploadDto.getRealUrl()); novaFile.setFileUrl(fileUploadDto.getFileUrl()); novaFile.setMd5(fileUploadDto.getMd5()); novaFile.setSize(fileUploadDto.getFileSize().toString()); if (FileService.videoSuffixList.contains(novaFile.getFileType())) { novaFile.setDuration(fileUploadDto.getDuration()); novaFile.setScreenShot(fileUploadDto.getScreenShot()); } return novaFile; } }