Browse Source

删除党建声音文件

dev_shibei_match
zhaoqifeng 4 years ago
parent
commit
c67d86d16d
  1. 16
      epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/dto/form/RemoveFileFormDTO.java
  2. 16
      epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/dto/result/RemoveFileResultDTO.java
  3. 9
      epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AbstractCloudStorageService.java
  4. 15
      epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AliyunCloudStorageService.java
  5. 13
      epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/FastDFSCloudStorageService.java
  6. 13
      epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/LocalCloudStorageService.java
  7. 13
      epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QcloudCloudStorageService.java
  8. 13
      epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QiniuCloudStorageService.java
  9. 9
      epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java
  10. 4
      epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/dao/OssDao.java
  11. 10
      epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java
  12. 41
      epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java
  13. 6
      epmet-module/epmet-oss/epmet-oss-server/src/main/resources/mapper/SysOssDao.xml

16
epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/dto/form/RemoveFileFormDTO.java

@ -0,0 +1,16 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2021/3/30 9:51
*/
@Data
public class RemoveFileFormDTO implements Serializable {
private static final long serialVersionUID = 3889369412733647229L;
private String url;
}

16
epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/dto/result/RemoveFileResultDTO.java

@ -0,0 +1,16 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2021/3/30 9:52
*/
@Data
public class RemoveFileResultDTO implements Serializable {
private static final long serialVersionUID = 6509372741520843201L;
private Boolean delSuccess;
}

9
epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AbstractCloudStorageService.java

@ -107,4 +107,13 @@ public abstract class AbstractCloudStorageService {
*/
public abstract void down(String privacyType) throws IOException;
/**
* 文件删除
* @author zhaoqifeng
* @date 2021/3/30 11:05
* @param objectName
* @return boolean
*/
public abstract boolean delete(String objectName);
}

15
epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AliyunCloudStorageService.java

@ -81,6 +81,21 @@ public class AliyunCloudStorageService extends AbstractCloudStorageService {
return props.getAliyunDomain() + "/" + path;
}
@Override
public boolean delete(String objectName) {
CloudStorageConfig.AliyunCloudStorageConfigProps props = getPropsByprivacyType(null);
OSSClient client = new OSSClient(props.getAliyunEndPoint(), props.getAliyunAccessKeyId(),
props.getAliyunAccessKeySecret());
try {
client.deleteObject(props.getAliyunBucketName(), props.getAliyunPrefix() + objectName);
client.shutdown();
} catch (Exception e){
return false;
}
return true;
}
@Override
public String uploadSuffix(byte[] data, String suffix, String privacyType) {
CloudStorageConfig.AliyunCloudStorageConfigProps props = getPropsByprivacyType(privacyType);

13
epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/FastDFSCloudStorageService.java

@ -65,4 +65,17 @@ public class FastDFSCloudStorageService extends AbstractCloudStorageService {
public void down(String privacyType) throws IOException {
}
/**
* 文件删除
*
* @param objectName
* @return boolean
* @author zhaoqifeng
* @date 2021/3/30 11:05
*/
@Override
public boolean delete(String objectName) {
return false;
}
}

13
epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/LocalCloudStorageService.java

@ -58,4 +58,17 @@ public class LocalCloudStorageService extends AbstractCloudStorageService {
public void down(String privacyType) throws IOException {
}
/**
* 文件删除
*
* @param objectName
* @return boolean
* @author zhaoqifeng
* @date 2021/3/30 11:05
*/
@Override
public boolean delete(String objectName) {
return false;
}
}

13
epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QcloudCloudStorageService.java

@ -88,4 +88,17 @@ public class QcloudCloudStorageService extends AbstractCloudStorageService {
public void down(String privacyType) throws IOException {
}
/**
* 文件删除
*
* @param objectName
* @return boolean
* @author zhaoqifeng
* @date 2021/3/30 11:05
*/
@Override
public boolean delete(String objectName) {
return false;
}
}

13
epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QiniuCloudStorageService.java

@ -82,4 +82,17 @@ public class QiniuCloudStorageService extends AbstractCloudStorageService {
public void down(String privacyType) throws IOException {
}
/**
* 文件删除
*
* @param objectName
* @return boolean
* @author zhaoqifeng
* @date 2021/3/30 11:05
*/
@Override
public boolean delete(String objectName) {
return false;
}
}

9
epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java

@ -23,6 +23,8 @@ import com.epmet.commons.tools.validator.group.AliyunGroup;
import com.epmet.commons.tools.validator.group.QcloudGroup;
import com.epmet.commons.tools.validator.group.QiniuGroup;
import com.epmet.dto.UploadDTO;
import com.epmet.dto.form.RemoveFileFormDTO;
import com.epmet.dto.result.RemoveFileResultDTO;
import com.epmet.dto.result.UploadImgResultDTO;
import com.epmet.entity.OssEntity;
import com.epmet.enums.OssTypeEnum;
@ -354,4 +356,11 @@ public class OssController {
return ossService.uploadVoice(file);
}
@PostMapping("article/remove/file")
public Result<RemoveFileResultDTO> articleRemoveFile(@RequestBody RemoveFileFormDTO formDTO) {
RemoveFileResultDTO resultDTO = new RemoveFileResultDTO();
resultDTO.setDelSuccess(ossService.articleRemoveFile(formDTO));
return new Result<RemoveFileResultDTO>().ok(resultDTO);
}
}

4
epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/dao/OssDao.java

@ -11,6 +11,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.OssEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 文件上传
@ -19,5 +20,6 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface OssDao extends BaseDao<OssEntity> {
OssEntity selectByUrl(@Param("url") String url);
void deleteDataById(@Param("id") String id);
}

10
epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java

@ -11,6 +11,7 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.RemoveFileFormDTO;
import com.epmet.dto.result.UploadImgResultDTO;
import com.epmet.entity.OssEntity;
import org.springframework.web.multipart.MultipartFile;
@ -35,4 +36,13 @@ public interface OssService extends BaseService<OssEntity> {
Result<UploadImgResultDTO> uploadVariedFile(MultipartFile file);
Result<UploadImgResultDTO> uploadVoice(MultipartFile file);
/**
* 删除附件
* @author zhaoqifeng
* @date 2021/3/30 9:55
* @param formDTO
* @return boolean
*/
boolean articleRemoveFile(RemoveFileFormDTO formDTO);
}

41
epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java

@ -14,11 +14,16 @@ import com.epmet.cloud.AbstractCloudStorageService;
import com.epmet.cloud.OssFactory;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constants.PrivacyType;
import com.epmet.dao.OssDao;
import com.epmet.dto.form.RemoveFileFormDTO;
import com.epmet.dto.result.UploadImgResultDTO;
import com.epmet.entity.OssEntity;
import com.epmet.exception.ModuleErrorCode;
@ -26,15 +31,22 @@ import com.epmet.service.OssService;
import org.apache.commons.io.FilenameUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.Date;
import java.util.Map;
import java.util.Objects;
@Service
public class OssServiceImpl extends BaseServiceImpl<OssDao, OssEntity> implements OssService {
private static final Logger logger = LoggerFactory.getLogger(OssServiceImpl.class);
@Autowired
private RedisUtils redisUtils;
@Override
public PageData<OssEntity> page(Map<String, Object> params) {
IPage<OssEntity> page = baseDao.selectPage(
@ -161,6 +173,7 @@ public class OssServiceImpl extends BaseServiceImpl<OssDao, OssEntity> implement
}
//保存文件信息
OssEntity ossEntity = new OssEntity();
ossEntity.setUrl(url);
baseDao.insert(ossEntity);
//文件信息
@ -169,4 +182,32 @@ public class OssServiceImpl extends BaseServiceImpl<OssDao, OssEntity> implement
return new Result<UploadImgResultDTO>().ok(dto);
}
/**
* 删除附件
*
* @return boolean
* @author zhaoqifeng
* @date 2021/3/30 9:55
* @param formDTO
*/
@Override
public boolean articleRemoveFile(RemoveFileFormDTO formDTO) {
String[] strings = formDTO.getUrl().split(StrConstant.SEPARATOR);
String fileName = strings[strings.length - 1];
OssEntity entity = baseDao.selectByUrl(formDTO.getUrl());
long thirty = 30*60*1000;
Date now = new Date();
long time = now.getTime() - entity.getCreatedTime().getTime();
if (time > thirty) {
return false;
}
baseDao.deleteDataById(entity.getId());
String dateStr = DateUtils.format(entity.getCreatedTime(), DateUtils.DATE_PATTERN_YYYYMMDD);
fileName = StrConstant.SEPARATOR + dateStr + StrConstant.SEPARATOR + fileName;
String key = RedisKeys.getOssFileKey(formDTO.getUrl());
redisUtils.delete(key);
return Objects.requireNonNull(OssFactory.build()).delete(fileName);
}
}

6
epmet-module/epmet-oss/epmet-oss-server/src/main/resources/mapper/SysOssDao.xml

@ -2,5 +2,11 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.OssDao">
<delete id="deleteDataById">
delete from sys_oss where id = #{id}
</delete>
<select id="selectByUrl" resultType="com.epmet.entity.OssEntity">
select id, created_time from sys_oss where url = #{url}
</select>
</mapper>

Loading…
Cancel
Save