package com.sandu.ximon.admin.service; 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.FileUploadDto; import com.sandu.common.file.impl.AliOssFileServiceImpl; import com.sandu.common.service.impl.BaseServiceImpl; import com.sandu.ximon.admin.security.SecurityUtils; import com.sandu.ximon.dao.domain.FileOperationRecord; import com.sandu.ximon.dao.domain.LedSFile; import com.sandu.ximon.dao.mapper.LedSFileMapper; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; /** * @Author liuhaonan * @Date 2022/1/13 16:27 * @Version 1.0 */ @Service @AllArgsConstructor public class LedSFileService extends BaseServiceImpl { private final LedSFileMapper ledSFileMapper; private final AliOssFileServiceImpl aliOssFileService; private final FileOperationRecordService fileOperationRecordService; public boolean addProgramFile(MultipartFile file) { FileUploadDto fileUploadDto = aliOssFileService.uploadFile(file); if("mp4".equals(fileUploadDto.getFileType())){ fileUploadDto.setScreenShot(fileUploadDto.getFileUrl()+"?x-oss-process=video/snapshot,t_10000,m_fast"); } FileOperationRecord fileOperationRecord=new FileOperationRecord(); if("mp4".equals(fileUploadDto.getFileType())){ fileUploadDto.setScreenShot(fileUploadDto.getFileUrl()+"?x-oss-process=video/snapshot,t_10000,m_fast"); } BeanUtils.copyProperties(fileUploadDto, fileOperationRecord); fileOperationRecordService.save(fileOperationRecord); LedSFile sFile = new LedSFile(); BeanUtils.copyProperties(fileUploadDto, sFile); sFile.setCilentId(SecurityUtils.getClientId()); if (SecurityUtils.getClientId() != null) { sFile.setUserName(SecurityUtils.getUsername()); } // save(sFile); return save(sFile); // return fileUploadDto; } public boolean deleteFile(Long id) { LedSFile byId = getById(id); if (byId == null) { throw new BusinessException("未找到该节目"); } return removeById(id); } public LambdaQueryWrapper listFile(){ LambdaQueryWrapper ledProgramFileLambdaQueryWrapper = Wrappers.lambdaQuery(LedSFile.class); if(SecurityUtils.getClientId()!=null){ return ledProgramFileLambdaQueryWrapper.eq(LedSFile::getCilentId,SecurityUtils.getUserId()); }else { return ledProgramFileLambdaQueryWrapper; } } }