|
@@ -5,10 +5,12 @@ import cn.com.qmth.stmms.ms.admin.service.DataUploadService;
|
|
|
import cn.com.qmth.stmms.ms.collect.dto.CollectStuDTO;
|
|
|
import cn.com.qmth.stmms.ms.collect.dto.CollectSubjectDTO;
|
|
|
import cn.com.qmth.stmms.ms.collect.dto.LoginDTO;
|
|
|
+import cn.com.qmth.stmms.ms.commons.config.AliYunOssConfig;
|
|
|
import cn.com.qmth.stmms.ms.commons.config.ImageCompressionConfig;
|
|
|
import cn.com.qmth.stmms.ms.commons.config.ImageConfig;
|
|
|
import cn.com.qmth.stmms.ms.commons.config.SystemConfig;
|
|
|
import cn.com.qmth.stmms.ms.commons.constant.SystemConstant;
|
|
|
+import cn.com.qmth.stmms.ms.commons.utils.CommandUtil;
|
|
|
import cn.com.qmth.stmms.ms.commons.utils.MD5Util;
|
|
|
import cn.com.qmth.stmms.ms.commons.utils.image.ImageCompression;
|
|
|
import cn.com.qmth.stmms.ms.core.domain.MarkSubject;
|
|
@@ -31,6 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.util.FileCopyUtils;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
import javax.imageio.ImageIO;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
@@ -76,6 +79,9 @@ public class CollectApi {
|
|
|
@Autowired
|
|
|
ImageConfig imageConfig;
|
|
|
|
|
|
+ @Resource
|
|
|
+ AliYunOssConfig aliYunOssConfig;
|
|
|
+
|
|
|
@RequestMapping("user/login")
|
|
|
public LoginDTO login(@RequestParam String loginname, @RequestParam String password) {
|
|
|
LoginDTO loginDTO = null;
|
|
@@ -511,4 +517,59 @@ public class CollectApi {
|
|
|
markSubjectRepo.save(markSubject);
|
|
|
return true;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 执行oss脚本
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "oss/execScript/{workId}", method = RequestMethod.GET)
|
|
|
+ public boolean execScript(@PathVariable Long workId) {
|
|
|
+ try {
|
|
|
+// String result = CommandUtil.run("/Users/king/ossutilmac64 cp -r /Users/king/stmms-ms/static/images/ oss://epcc-test/ms/images/ -u");
|
|
|
+ String imageResult = CommandUtil.run(new StringJoiner("").add(aliYunOssConfig.getUtil()).add(" ").add(systemConfig.getImageDir()).add(" ").add(aliYunOssConfig.getImageDir()).toString());
|
|
|
+ LOGGER.info("oss/execScript imageResult:{}", imageResult);
|
|
|
+ String thumbResult = CommandUtil.run(new StringJoiner("").add(aliYunOssConfig.getUtil()).add(" ").add(systemConfig.getThumbDir()).add(" ").add(aliYunOssConfig.getThumbDir()).toString());
|
|
|
+ LOGGER.info("oss/execScript thumbResult:{}", thumbResult);
|
|
|
+ String sheetResult = CommandUtil.run(new StringJoiner("").add(aliYunOssConfig.getUtil()).add(" ").add(systemConfig.getSheetDir()).add(" ").add(aliYunOssConfig.getSheetDir()).toString());
|
|
|
+ LOGGER.info("oss/execScript sheetResult:{}", sheetResult);
|
|
|
+ String watermarkResult = CommandUtil.run(new StringJoiner("").add(aliYunOssConfig.getUtil()).add(" ").add(systemConfig.getWatermark()).add(" ").add(aliYunOssConfig.getWatermark()).toString());
|
|
|
+ LOGGER.info("oss/execScript watermarkResult:{}", watermarkResult);
|
|
|
+ deleteFile(new File(systemConfig.getImageDir() + File.separator + workId));
|
|
|
+ deleteFile(new File(systemConfig.getThumbDir() + File.separator + workId));
|
|
|
+ deleteFile(new File(systemConfig.getSheetDir() + File.separator + workId));
|
|
|
+ deleteFile(new File(systemConfig.getWatermark() + File.separator + workId));
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除文件夹
|
|
|
+ *
|
|
|
+ * @param file
|
|
|
+ */
|
|
|
+ public void deleteFile(File file) throws Exception {
|
|
|
+ //判断文件不为null或文件目录存在
|
|
|
+ if (Objects.isNull(file) || !file.exists()) {
|
|
|
+ LOGGER.info(file.getAbsolutePath() + " 文件删除失败,请检查文件路径是否正确");
|
|
|
+ throw new Exception("无需重复上传");
|
|
|
+ }
|
|
|
+ //取得这个目录下的所有子文件对象
|
|
|
+ File[] files = file.listFiles();
|
|
|
+ //遍历该目录下的文件对象
|
|
|
+ for (File f : files) {
|
|
|
+ //打印文件名
|
|
|
+ //判断子目录是否存在子目录,如果是文件则删除
|
|
|
+ if (f.isDirectory()) {
|
|
|
+ deleteFile(f);
|
|
|
+ } else {
|
|
|
+ f.delete();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //删除空文件夹 for循环已经把上一层节点的目录清空。
|
|
|
+ file.delete();
|
|
|
+ }
|
|
|
}
|