From ce333b790b529265748dc768c531f9f26c36fa85 Mon Sep 17 00:00:00 2001
From: hello-hao <923453645@qq.com>
Date: Fri, 6 May 2022 17:42:00 +0800
Subject: [PATCH] =?UTF-8?q?:art:=E4=BC=98=E5=8C=96=E5=9B=BE=E5=83=8F?=
=?UTF-8?q?=E5=88=A0=E9=99=A4=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 2 +-
.../hellohao/controller/AdminController.java | 115 ++++++++----------
.../hellohao/controller/IndexController.java | 78 +++---------
.../java/cn/hellohao/quartz/job/FirstJob.java | 16 +--
.../hellohao/service/impl/COSImageupload.java | 6 +-
.../hellohao/service/impl/FTPImageupload.java | 6 +-
.../service/impl/KODOImageupload.java | 6 +-
.../hellohao/service/impl/NOSImageupload.java | 12 +-
.../hellohao/service/impl/OSSImageupload.java | 7 +-
.../service/impl/UFileImageupload.java | 10 +-
.../hellohao/service/impl/USSImageupload.java | 10 +-
.../cn/hellohao/service/impl/deleImages.java | 107 ++++++++++++++++
src/main/java/cn/hellohao/utils/FirstRun.java | 9 +-
.../java/cn/hellohao/utils/LocUpdateImg.java | 5 +-
.../hellohao/utils/progress/MyProgress.java | 74 +++++++++++
15 files changed, 295 insertions(+), 168 deletions(-)
create mode 100644 src/main/java/cn/hellohao/service/impl/deleImages.java
create mode 100644 src/main/java/cn/hellohao/utils/progress/MyProgress.java
diff --git a/pom.xml b/pom.xml
index 172c76c..7bf38c0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -67,7 +67,7 @@
org.apache.shiro
shiro-spring
- 1.7.1
+ 1.9.0
com.auth0
diff --git a/src/main/java/cn/hellohao/controller/AdminController.java b/src/main/java/cn/hellohao/controller/AdminController.java
index 763d6e8..d5cc132 100644
--- a/src/main/java/cn/hellohao/controller/AdminController.java
+++ b/src/main/java/cn/hellohao/controller/AdminController.java
@@ -6,6 +6,7 @@ import cn.hellohao.pojo.vo.PageResultBean;
import cn.hellohao.service.*;
import cn.hellohao.service.impl.*;
import cn.hellohao.utils.*;
+import cn.hellohao.utils.progress.MyProgress;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
@@ -16,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpSession;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -49,21 +51,8 @@ public class AdminController {
private AlbumService albumService;
@Autowired
AlbumServiceImpl albumServiceI;
-
@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;
+ private deleImages deleimages;
@PostMapping(value = "/overviewData") //new
@@ -415,10 +404,16 @@ public class AdminController {
@PostMapping("/deleImages") //new
@ResponseBody
- public Msg deleImages(@RequestParam(value = "data", defaultValue = "") String data) {
+ public Msg deleImages(HttpSession httpSession, @RequestParam(value = "data", defaultValue = "") String data) {
Msg msg = new Msg();
JSONObject jsonObj = JSONObject.parseObject(data);
- JSONArray images = jsonObj.getJSONArray("images");
+ final String images = jsonObj.getString("images");
+ if(images==null){
+ msg.setCode("404");
+ msg.setInfo("为获取到图像信息");
+ return msg;
+ }
+ final String[] split = images.split(",");
Subject subject = SecurityUtils.getSubject();
User user = (User) subject.getPrincipal();
@@ -427,65 +422,55 @@ public class AdminController {
msg.setInfo("当前用户信息不存在");
return msg;
}
- if(images.size()==0){
+ if(split.length==0){
msg.setCode("404");
msg.setInfo("为获取到图像信息");
return msg;
}
- for (int i = 0; i < images.size(); i++) {
- Integer imgid = images.getInteger(i);
+ List imgIds = new ArrayList();
+ for (int i = 0; i < split.length; i++) {
+ Integer imgid = Integer.valueOf(split[i]);
Images image = imgService.selectByPrimaryKey(imgid);
- Integer keyid = image.getSource();
- String imgname = image.getImgname();
- Keys key = keysService.selectKeys(keyid);
-
if(!subject.hasRole("admin")){
if(!image.getUserid().equals(user.getId())){
break;
}
}
- boolean isDele = false;
- try{
- if (key.getStorageType() == 1) {
- isDele = nosImageupload.delNOS(key.getId(), imgname);
- } else if (key.getStorageType() == 2) {
- isDele = ossImageupload.delOSS(key.getId(), imgname);
- } else if (key.getStorageType() == 3) {
- isDele = ussImageupload.delUSS(key.getId(), imgname);
- } else if (key.getStorageType() == 4) {
- isDele = kodoImageupload.delKODO(key.getId(), imgname);
- } else if (key.getStorageType() == 5) {
- isDele = LocUpdateImg.deleteLOCImg(imgname);
- }else if (key.getStorageType() == 6) {
- isDele = cosImageupload.delCOS(key.getId(), imgname);
- }else if (key.getStorageType() == 7) {
- isDele = ftpImageupload.delFTP(key.getId(), imgname);
- }else if (key.getStorageType() == 8) {
- isDele = uFileImageupload.delUFile(key.getId(), imgname);
- }else {
- System.err.println("未获取到对象存储参数,删除失败");
- }
- }catch (Exception e){
- e.printStackTrace();
- }
- if(isDele){
- try {
- imgTempService.delImgAndExp(image.getImguid());
- imgService.deleimg(imgid);
- imgAndAlbumService.deleteImgAndAlbum(image.getImgurl());
- } catch (Exception e) {
- e.printStackTrace();
- msg.setInfo("图片记录删除失败,请重试");
- msg.setCode("500");
- return msg;
- }
- msg.setInfo("删除成功");
- }else{
- imgTempService.delImgAndExp(image.getImguid());
- imgService.deleimg(imgid);
- imgAndAlbumService.deleteImgAndAlbum(image.getImgurl());
- msg.setInfo("图片记录已删除,但是图片源删除失败");
- }
+ imgIds.add(imgid);
+ }
+ if(imgIds.size()==0){
+ msg.setCode("110404");
+ }else{
+ deleimages.dele(httpSession,imgIds.stream().toArray(Integer[]::new));
+ msg.setCode("200");
+ }
+ return msg;
+ }
+
+ @PostMapping("/GetDelprogress") //new
+ @ResponseBody
+ public Msg GetDelprogress(HttpSession httpSession) {
+ Msg msg =new Msg();
+ JSONObject jsonObject = new JSONObject();
+ MyProgress myProgress = (MyProgress)httpSession.getAttribute("myProgressForDel");
+ if(null==myProgress){
+ jsonObject.put("succ",myProgress.getDelSuccessCount());
+ jsonObject.put("errorlist",new ArrayList());
+ jsonObject.put("oklist",new ArrayList());
+ jsonObject.put("delover",false);
+ }else{
+ jsonObject.put("succ",myProgress.getDelSuccessCount());
+ jsonObject.put("errorlist",myProgress.getDelErrorImgListt());
+ jsonObject.put("oklist",myProgress.getDelSuccessImgList());
+ jsonObject.put("delover",myProgress.getDelOCT());
+ }
+ msg.setData(jsonObject);
+ if(myProgress.getDelOCT()){
+ System.out.println("循环遍历的值:"+myProgress.getDelOCT());
+ msg.setCode("100");
+ }else{
+ msg.setCode("110666");
+ msg.setInfo("正在执行");
}
return msg;
}
diff --git a/src/main/java/cn/hellohao/controller/IndexController.java b/src/main/java/cn/hellohao/controller/IndexController.java
index fb44748..8c2ff76 100644
--- a/src/main/java/cn/hellohao/controller/IndexController.java
+++ b/src/main/java/cn/hellohao/controller/IndexController.java
@@ -21,6 +21,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.*;
+import java.util.List;
@Controller
public class IndexController {
@@ -37,27 +38,9 @@ public class IndexController {
@Autowired
private UploadServicel uploadServicel;
@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;
+ private deleImages deleimages;
@Autowired
AlbumServiceImpl albumService;
- @Autowired
- private KeysService keysService;
- @Autowired
- private ImgTempService imgTempService;
- @Autowired
- private ImgAndAlbumService imgAndAlbumService;
@RequestMapping(value = "/webInfo")
@@ -264,60 +247,31 @@ public class IndexController {
JSONObject jsonObj = JSONObject.parseObject(data);
String imguid = jsonObj.getString("imguid");
Images image = imgService.selectImgUrlByImgUID(imguid);
+ if(null==image){
+ msg.setInfo("图像已不存在,删除成功");
+ return msg;
+ }
+ //判断是不是自己的图片 因为这里的删除功能只能是首页上传后才会调用的接口 能删除的图片只能是自己的
Subject subject = SecurityUtils.getSubject();
User user = (User) subject.getPrincipal();
if(null!=user){
+ //由于integer类型的==比较方式适用于-128~127之间,所以超过这个范围就会不对
+// if(user.getId()!=image.getUserid()){
if(!user.getId().equals(image.getUserid())){
msg.setInfo("删除失败,该图片不允许你执行操作");
msg.setCode("100403");
return msg;
}
}
- Integer keyid = image.getSource();
- String imgname = image.getImgname();
- Keys key = keysService.selectKeys(keyid);
- //删除图片
- boolean isDele = false;
- if (key.getStorageType() == 1) {
- isDele = nosImageupload.delNOS(key.getId(), imgname);
- } else if (key.getStorageType() == 2) {
- isDele = ossImageupload.delOSS(key.getId(), imgname);
- } else if (key.getStorageType() == 3) {
- isDele = ussImageupload.delUSS(key.getId(), imgname);
- } else if (key.getStorageType() == 4) {
- isDele = kodoImageupload.delKODO(key.getId(), imgname);
- } else if (key.getStorageType() == 5) {
- isDele = LocUpdateImg.deleteLOCImg(imgname);
- }else if (key.getStorageType() == 6) {
- isDele = cosImageupload.delCOS(key.getId(), imgname);
- }else if (key.getStorageType() == 7) {
- isDele = ftpImageupload.delFTP(key.getId(), imgname);
- }else if (key.getStorageType() == 8) {
- isDele = uFileImageupload.delUFile(key.getId(), imgname);
- }else {
- System.err.println("未获取到对象存储参数,删除失败。");
- }
- //删除库
- if(isDele){
- try {
- imgAndAlbumService.deleteImgAndAlbum(image.getImgurl());
- imgTempService.delImgAndExp(image.getImguid());
- imgService.deleimg(image.getId());
- } catch (Exception e) {
- e.printStackTrace();
- msg.setInfo("图片记录时发生错误");
- msg.setCode("500");
- return msg;
- }
- msg.setInfo("删除成功");
- }else{
- imgAndAlbumService.deleteImgAndAlbum(image.getImgurl());
- imgTempService.delImgAndExp(image.getImguid());
- imgService.deleimg(image.getId());
- msg.setInfo("图片记录已删除,但是图片源删除失败");
+ msg = deleimages.dele(null,image.getId());
+ List Delids = (List)msg.getData();
+ if(!Delids.contains(image.getId())){
msg.setCode("500");
+ msg.setInfo("图像删除失败");
+ }else{
+ msg.setCode("200");
+ msg.setInfo("图像已成功删除");
}
- System.out.println("返回的值:"+msg.toString());
return msg;
}
diff --git a/src/main/java/cn/hellohao/quartz/job/FirstJob.java b/src/main/java/cn/hellohao/quartz/job/FirstJob.java
index 5567876..4601205 100644
--- a/src/main/java/cn/hellohao/quartz/job/FirstJob.java
+++ b/src/main/java/cn/hellohao/quartz/job/FirstJob.java
@@ -63,21 +63,21 @@ public class FirstJob {
imgService.deleimgForImgUid(images.getImguid());
Keys keys = keysService.selectKeys(images.getSource());
if(keys.getStorageType()==1){
- firstJob.nosImageupload.delNOS(keys.getId(),images.getImgname());
+ firstJob.nosImageupload.delNOS(keys.getId(),images);
}else if (keys.getStorageType()==2){
- firstJob.ossImageupload.delOSS(keys.getId(), images.getImgname());
+ firstJob.ossImageupload.delOSS(keys.getId(), images);
}else if(keys.getStorageType()==3){
- firstJob.ussImageupload.delUSS(keys.getId(), images.getImgname());
+ firstJob.ussImageupload.delUSS(keys.getId(), images);
}else if(keys.getStorageType()==4){
- firstJob.kodoImageupload.delKODO(keys.getId(), images.getImgname());
+ firstJob.kodoImageupload.delKODO(keys.getId(), images);
}else if(keys.getStorageType()==5){
- LocUpdateImg.deleteLOCImg(images.getImgname());
+ LocUpdateImg.deleteLOCImg(images);
}else if(keys.getStorageType()==6){
- firstJob.cosImageupload.delCOS(keys.getId(),images.getImgname());
+ firstJob.cosImageupload.delCOS(keys.getId(),images);
}else if(keys.getStorageType()==7){
- firstJob.ftpImageupload.delFTP(keys.getId(), images.getImgname());
+ firstJob.ftpImageupload.delFTP(keys.getId(), images);
}else if(keys.getStorageType()==8){
- firstJob.uFileImageupload.delUFile(keys.getId(), images.getImgname());
+ firstJob.uFileImageupload.delUFile(keys.getId(), images);
}else{
System.err.println("未获取到对象存储参数,上传失败。");
}
diff --git a/src/main/java/cn/hellohao/service/impl/COSImageupload.java b/src/main/java/cn/hellohao/service/impl/COSImageupload.java
index 1bc4148..7b59ee6 100644
--- a/src/main/java/cn/hellohao/service/impl/COSImageupload.java
+++ b/src/main/java/cn/hellohao/service/impl/COSImageupload.java
@@ -1,5 +1,7 @@
package cn.hellohao.service.impl;
+import cn.hellohao.config.GlobalConstant;
+import cn.hellohao.pojo.Images;
import cn.hellohao.pojo.Keys;
import cn.hellohao.pojo.ReturnImage;
import cn.hellohao.pojo.UploadConfig;
@@ -93,10 +95,10 @@ public class COSImageupload {
return ret;
}
- public Boolean delCOS(Integer keyID, String fileName) {
+ public Boolean delCOS(Integer keyID, Images images) {
boolean b = true;
try {
- cosClient.deleteObject(key.getBucketname(), fileName);
+ cosClient.deleteObject(key.getBucketname(), images.getImgname());
} catch (Exception e) {
e.printStackTrace();
b = false;
diff --git a/src/main/java/cn/hellohao/service/impl/FTPImageupload.java b/src/main/java/cn/hellohao/service/impl/FTPImageupload.java
index e110bb4..de9682e 100644
--- a/src/main/java/cn/hellohao/service/impl/FTPImageupload.java
+++ b/src/main/java/cn/hellohao/service/impl/FTPImageupload.java
@@ -1,5 +1,7 @@
package cn.hellohao.service.impl;
+import cn.hellohao.config.GlobalConstant;
+import cn.hellohao.pojo.Images;
import cn.hellohao.pojo.Keys;
import cn.hellohao.pojo.ReturnImage;
import cn.hellohao.pojo.UploadConfig;
@@ -114,7 +116,7 @@ public class FTPImageupload {
}
}
- public Boolean delFTP(Integer keyID, String fileName) {
+ public Boolean delFTP(Integer keyID, Images images) {
boolean b = true;
try {
String[] host = key.getEndpoint().split("\\:");
@@ -123,7 +125,7 @@ public class FTPImageupload {
//创建FTP客户端,所有的操作都基于FTPClinet
FTPUtils ftps = new FTPUtils(h, p, key.getAccessKey(), key.getAccessSecret());
ftps.open();
- b = ftps.deleteFile(fileName);
+ b = ftps.deleteFile(images.getImgname());
} catch (Exception e) {
e.printStackTrace();
b = false;
diff --git a/src/main/java/cn/hellohao/service/impl/KODOImageupload.java b/src/main/java/cn/hellohao/service/impl/KODOImageupload.java
index 2cc7a82..3af36c0 100644
--- a/src/main/java/cn/hellohao/service/impl/KODOImageupload.java
+++ b/src/main/java/cn/hellohao/service/impl/KODOImageupload.java
@@ -1,5 +1,7 @@
package cn.hellohao.service.impl;
+import cn.hellohao.config.GlobalConstant;
+import cn.hellohao.pojo.Images;
import cn.hellohao.pojo.Keys;
import cn.hellohao.pojo.ReturnImage;
import cn.hellohao.pojo.UploadConfig;
@@ -117,10 +119,10 @@ public class KODOImageupload {
return ret;
}
- public Boolean delKODO(Integer keyID, String fileName) {
+ public Boolean delKODO(Integer keyID, Images images) {
boolean b = true;
try {
- bucketManager.delete(key.getBucketname(), fileName);
+ bucketManager.delete(key.getBucketname(), images.getImgname());
} catch (Exception ex) {
b = false;
}
diff --git a/src/main/java/cn/hellohao/service/impl/NOSImageupload.java b/src/main/java/cn/hellohao/service/impl/NOSImageupload.java
index f3b71b6..8651df2 100644
--- a/src/main/java/cn/hellohao/service/impl/NOSImageupload.java
+++ b/src/main/java/cn/hellohao/service/impl/NOSImageupload.java
@@ -4,7 +4,9 @@ import java.io.File;
import java.io.FileInputStream;
import java.util.*;
+import cn.hellohao.config.GlobalConstant;
import cn.hellohao.exception.StorageSourceInitException;
+import cn.hellohao.pojo.Images;
import cn.hellohao.pojo.ReturnImage;
import cn.hellohao.pojo.UploadConfig;
import cn.hellohao.utils.*;
@@ -76,15 +78,13 @@ public class NOSImageupload {
return ret;
}
-
- public Boolean delNOS(Integer keyID, String fileName) {
+ public Boolean delNOS(Integer keyID, Images images) {
boolean b =true;
try {
//这种方法不能删除指定文件夹下的文件
- boolean isExist = nosClient.doesObjectExist(key.getBucketname(), fileName, null);
- if (isExist) {
- nosClient.deleteObject(key.getBucketname(), fileName);
- }
+// boolean isExist = nosClient.doesObjectExist(key.getBucketname(), fileName, null);
+// if (isExist) { }
+ nosClient.deleteObject(key.getBucketname(), images.getImgname());
} catch (Exception e) {
e.printStackTrace();
b =false;
diff --git a/src/main/java/cn/hellohao/service/impl/OSSImageupload.java b/src/main/java/cn/hellohao/service/impl/OSSImageupload.java
index ee2787e..a4154eb 100644
--- a/src/main/java/cn/hellohao/service/impl/OSSImageupload.java
+++ b/src/main/java/cn/hellohao/service/impl/OSSImageupload.java
@@ -1,5 +1,7 @@
package cn.hellohao.service.impl;
+import cn.hellohao.config.GlobalConstant;
+import cn.hellohao.pojo.Images;
import cn.hellohao.pojo.Keys;
import cn.hellohao.pojo.Msg;
import cn.hellohao.pojo.ReturnImage;
@@ -67,10 +69,11 @@ public class OSSImageupload {
return ret;
}
- public boolean delOSS(Integer keyID, String fileName){
+ public boolean delOSS(Integer keyID, Images images){
boolean b =true;
try {
- ossClient.deleteObject(key.getBucketname(), fileName);
+// OSSClient ossClient = new OSSClient(key.getEndpoint(), key.getAccessKey(), key.getAccessSecret());
+ ossClient.deleteObject(key.getBucketname(), images.getImgname());
} catch (Exception e) {
e.printStackTrace();
b = false;
diff --git a/src/main/java/cn/hellohao/service/impl/UFileImageupload.java b/src/main/java/cn/hellohao/service/impl/UFileImageupload.java
index 3238245..a4be075 100644
--- a/src/main/java/cn/hellohao/service/impl/UFileImageupload.java
+++ b/src/main/java/cn/hellohao/service/impl/UFileImageupload.java
@@ -1,9 +1,7 @@
package cn.hellohao.service.impl;
-import cn.hellohao.pojo.Keys;
-import cn.hellohao.pojo.Msg;
-import cn.hellohao.pojo.ReturnImage;
-import cn.hellohao.pojo.UploadConfig;
+import cn.hellohao.config.GlobalConstant;
+import cn.hellohao.pojo.*;
import cn.hellohao.utils.*;
import com.UpYun;
import com.aliyun.oss.model.ObjectMetadata;
@@ -73,10 +71,10 @@ public class UFileImageupload {
return ret;
}
- public Boolean delUFile(Integer keyID, String fileName) {
+ public Boolean delUFile(Integer keyID, Images images) {
boolean b = true;
try {
- boolean result = uFile.deleteFile(fileName, null);
+ boolean result = uFile.deleteFile(images.getImgname(), null);
} catch (Exception e) {
e.printStackTrace();
b = false;
diff --git a/src/main/java/cn/hellohao/service/impl/USSImageupload.java b/src/main/java/cn/hellohao/service/impl/USSImageupload.java
index a694cc9..b8ddebd 100644
--- a/src/main/java/cn/hellohao/service/impl/USSImageupload.java
+++ b/src/main/java/cn/hellohao/service/impl/USSImageupload.java
@@ -1,9 +1,7 @@
package cn.hellohao.service.impl;
-import cn.hellohao.pojo.Keys;
-import cn.hellohao.pojo.Msg;
-import cn.hellohao.pojo.ReturnImage;
-import cn.hellohao.pojo.UploadConfig;
+import cn.hellohao.config.GlobalConstant;
+import cn.hellohao.pojo.*;
import cn.hellohao.utils.*;
import com.UpYun;
import com.aliyun.oss.OSSClient;
@@ -77,10 +75,10 @@ public class USSImageupload {
return ret;
}
- public Boolean delUSS(Integer keyID, String fileName) {
+ public Boolean delUSS(Integer keyID, Images images) {
boolean b = true;
try {
- boolean result = upyun.deleteFile(fileName, null);
+ boolean result = upyun.deleteFile(images.getImgname(), null);
} catch (Exception e) {
e.printStackTrace();
b=false;
diff --git a/src/main/java/cn/hellohao/service/impl/deleImages.java b/src/main/java/cn/hellohao/service/impl/deleImages.java
new file mode 100644
index 0000000..9d923f1
--- /dev/null
+++ b/src/main/java/cn/hellohao/service/impl/deleImages.java
@@ -0,0 +1,107 @@
+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 ids = new ArrayList<>();
+ int successCount = 0;
+ List 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("未获取到对象存储参数,删除失败。");
+ }
+// Integer delret = imgMapper.deleimg(images.getId());
+ 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;
+ }
+}
diff --git a/src/main/java/cn/hellohao/utils/FirstRun.java b/src/main/java/cn/hellohao/utils/FirstRun.java
index 60d9784..74b698e 100644
--- a/src/main/java/cn/hellohao/utils/FirstRun.java
+++ b/src/main/java/cn/hellohao/utils/FirstRun.java
@@ -85,11 +85,10 @@ public class FirstRun implements InitializingBean {
RunSqlScript.RunInsert(sql9);
Print.Normal("Stage 7");
}
-
-// Integer ret6 = RunSqlScript.RunSelectCount(judgeTable+"'imgandalbum' and column_name = 'notes' and TABLE_SCHEMA='picturebed'");
+// Integer ret6 = RunSqlScript.RunSelectCount(judgeTable+" 'imgdata' and column_name = 'idname'");
// if(ret6==0){
// RunSqlScript.RunInsert(sql11);
-// Print.Normal("Stage 8");
+// Print.Normal("Add imgdata.idname");
// }
RunSqlScript.RunInsert(sql10);
@@ -116,8 +115,10 @@ public class FirstRun implements InitializingBean {
//添加imgdata表字段md5key
private String sql8 = "alter table imgdata add md5key varchar(5000)";
private String sql9 = "ALTER TABLE config ADD theme int(4) DEFAULT '1' COMMENT '主题' ";
-//修改字段长度
+ //修改字段长度
private String sql10 = "alter table config modify column `explain` varchar(1000),modify column links varchar(1000),modify column notice varchar(1000),modify column baidu varchar(1000)";
+ // 图片标识名字段
+ private String sql11 = "alter table `imgdata` add idname varchar(255) DEFAULT '未命名' ;";
//添加imgandalbum字段notes(添加画廊图片说明)
// private String sql11 = "alter table imgandalbum add notes varchar(1000) DEFAULT ' '";
diff --git a/src/main/java/cn/hellohao/utils/LocUpdateImg.java b/src/main/java/cn/hellohao/utils/LocUpdateImg.java
index dd4c1d6..b4e899e 100644
--- a/src/main/java/cn/hellohao/utils/LocUpdateImg.java
+++ b/src/main/java/cn/hellohao/utils/LocUpdateImg.java
@@ -1,6 +1,7 @@
package cn.hellohao.utils;
import cn.hellohao.config.GlobalConstant;
+import cn.hellohao.pojo.Images;
import cn.hellohao.pojo.Keys;
import cn.hellohao.pojo.ReturnImage;
import cn.hellohao.pojo.UploadConfig;
@@ -14,10 +15,10 @@ import java.util.Map;
import java.util.UUID;
public class LocUpdateImg {
- public static boolean deleteLOCImg(String imagename){
+ public static boolean deleteLOCImg(Images images){
boolean isDele = false;
try {
- String filePath = GlobalConstant.LOCPATH + File.separator+imagename;
+ String filePath = GlobalConstant.LOCPATH + File.separator+images.getImgname();
File file = new File(filePath);
isDele = file.delete();
}catch (Exception e){
diff --git a/src/main/java/cn/hellohao/utils/progress/MyProgress.java b/src/main/java/cn/hellohao/utils/progress/MyProgress.java
new file mode 100644
index 0000000..b7b31bc
--- /dev/null
+++ b/src/main/java/cn/hellohao/utils/progress/MyProgress.java
@@ -0,0 +1,74 @@
+package cn.hellohao.utils.progress;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class MyProgress {
+
+ //删除图片时候的数据
+ private int delSuccessCount=0;//已经成功的个数
+ private List delErrorImgListt = new ArrayList<>();//已经失败的图片
+ private boolean delOCT=false; //控制开关
+ private List delSuccessImgList = new ArrayList<>(); //删除成功的图片
+
+ public void InitializeDelImg(){
+ //删除图片时候的数据
+ this.delSuccessCount=0;//已经成功的个数
+ this.delErrorImgListt = new ArrayList<>();//已经失败的图片
+ this.delOCT=false; //控制开关
+ this.delSuccessImgList = new ArrayList<>(); //删除成功的图片
+ }
+
+ public MyProgress() {
+ }
+
+ public MyProgress(int delSuccessCount, List delErrorImgListt, boolean delOCT, List delSuccessImgList) {
+
+ this.delSuccessCount = delSuccessCount;
+ this.delErrorImgListt = delErrorImgListt;
+ this.delOCT = delOCT;
+ this.delSuccessImgList = delSuccessImgList;
+ }
+
+ public int getDelSuccessCount() {
+ return delSuccessCount;
+ }
+
+ public void setDelSuccessCount(int delSuccessCount) {
+ this.delSuccessCount = delSuccessCount;
+ }
+
+ public List getDelErrorImgListt() {
+ return delErrorImgListt;
+ }
+
+ public void setDelErrorImgListt(List delErrorImgListt) {
+ this.delErrorImgListt = delErrorImgListt;
+ }
+
+ public boolean getDelOCT() {
+ return delOCT;
+ }
+
+ public void setDelOCT(boolean delOCT) {
+ this.delOCT = delOCT;
+ }
+
+ public List getDelSuccessImgList() {
+ return delSuccessImgList;
+ }
+
+ public void setDelSuccessImgList(List delSuccessImgList) {
+ this.delSuccessImgList = delSuccessImgList;
+ }
+
+ @Override
+ public String toString() {
+ return "MyProgress{" +
+ ", delSuccessCount=" + delSuccessCount +
+ ", delErrorImgListt=" + delErrorImgListt +
+ ", delOCT=" + delOCT +
+ ", delSuccessImgList=" + delSuccessImgList +
+ '}';
+ }
+}
\ No newline at end of file