Files
Tbed/src/main/java/cn/hellohao/service/impl/deleImages.java
T
2022-05-09 16:46:40 +08:00

107 lines
4.1 KiB
Java

package cn.hellohao.service.impl;
import cn.hellohao.pojo.Images;
import cn.hellohao.pojo.Keys;
import cn.hellohao.pojo.Msg;
import cn.hellohao.service.ImgAndAlbumService;
import cn.hellohao.service.ImgService;
import cn.hellohao.service.ImgTempService;
import cn.hellohao.utils.LocUpdateImg;
import cn.hellohao.utils.progress.MyProgress;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.List;
@Service
public class deleImages {
@Autowired
private NOSImageupload nosImageupload;
@Autowired
private OSSImageupload ossImageupload;
@Autowired
private COSImageupload cosImageupload;
@Autowired
private KODOImageupload kodoImageupload;
@Autowired
private USSImageupload ussImageupload;
@Autowired
private UFileImageupload uFileImageupload;
@Autowired
private FTPImageupload ftpImageupload;
@Autowired
private ImgAndAlbumService imgAndAlbumService;
@Autowired
private ImgTempService imgTempService;
@Autowired
private ImgService imgService;
@Autowired
private KeysServiceImpl keysService;
public Msg dele(HttpSession httpSession,Integer... imgIds) {
Msg msg = new Msg();
MyProgress myProgress = new MyProgress();
myProgress.InitializeDelImg();
List<Integer> ids = new ArrayList<>();
int successCount = 0;
List<String> errorIds = new ArrayList<>();
for (Integer id : imgIds) {
//删除图片
boolean isDele = false;
try {
Images image = imgService.selectByPrimaryKey(id);
Keys key = keysService.selectKeys(image.getSource());
if (key.getStorageType() == 1) {
isDele = nosImageupload.delNOS(key.getId(), image);
} else if (key.getStorageType() == 2) {
isDele = ossImageupload.delOSS(key.getId(), image);
} else if (key.getStorageType() == 3) {
isDele = ussImageupload.delUSS(key.getId(), image);
} else if (key.getStorageType() == 4) {
isDele = kodoImageupload.delKODO(key.getId(), image);
} else if (key.getStorageType() == 5) {
isDele = LocUpdateImg.deleteLOCImg(image);
} else if (key.getStorageType() == 6) {
isDele = cosImageupload.delCOS(key.getId(), image);
} else if (key.getStorageType() == 7) {
isDele = ftpImageupload.delFTP(key.getId(), image);
} else if (key.getStorageType() == 8) {
isDele = uFileImageupload.delUFile(key.getId(), image);
} else {
System.err.println("未获取到对象存储参数,删除失败。");
}
if(isDele){
try {
imgAndAlbumService.deleteImgAndAlbum(image.getImgurl());
imgTempService.delImgAndExp(image.getImguid());
imgService.deleimg(image.getId());
ids.add(image.getId());
successCount++;
System.out.println("删除成功加一个"+image.getId());
} catch (Exception e) {
e.printStackTrace();
System.err.println(image.getImgname()+":图片数据库记录时发生错误");
errorIds.add(image.getImgurl());
}
}
myProgress.setDelSuccessCount(successCount);
myProgress.setDelSuccessImgList(ids);
myProgress.setDelErrorImgListt(errorIds);
if(null !=httpSession){
httpSession.setAttribute("myProgressForDel",myProgress);
}
} catch (Exception e) {
System.err.println("删除的时候发生了一些异常");
e.printStackTrace();
}
}
myProgress.setDelOCT(true);
msg.setData(ids);
return msg;
}
}