Quellcode durchsuchen

修改逻辑提交

zsy vor 3 Monaten
Ursprung
Commit
640a9a2a4c

+ 9 - 1
src/main/java/com/rf/fileCrack/config/StaticScheduleTask.java

@@ -4,10 +4,12 @@ import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.rf.fileCrack.file.dao.model.FileEntity;
+import com.rf.fileCrack.file.rest.FileController;
 import com.rf.fileCrack.file.service.FileService;
 import com.rf.fileCrack.socket.WebSocketServer;
 import com.rf.fileCrack.utils.SendEmail;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.http.HttpResponse;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Profile;
@@ -39,7 +41,13 @@ public class StaticScheduleTask {
     public void updateFileStatus() throws IOException {
         List<FileEntity> fileEntitys = this.fileService.findByFileStatus("1");
         for (FileEntity fileEntity : fileEntitys){
-            WebSocketServer.sendInfo(fileEntity.getId());
+            HttpResponse response = FileController.HttpClient(fileEntity.getFilePath(),fileEntity.getId());
+            if (response.getStatusLine().getStatusCode() == 200){
+                fileEntity.setFileStatus("2");
+                fileEntity.setUpdateTime(DateUtil.now());
+                this.fileService.save(fileEntity);
+            }
+            //WebSocketServer.sendInfo(fileEntity.getId());
         }
         fileEntitys = this.fileService.findByFileStatus("3");
         for (FileEntity fileEntity : fileEntitys){

+ 46 - 8
src/main/java/com/rf/fileCrack/file/rest/FileController.java

@@ -12,6 +12,12 @@ import com.rf.fileCrack.utils.SendEmail;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang.StringUtils;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.mime.MultipartEntityBuilder;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.stereotype.Controller;
@@ -77,7 +83,13 @@ public class FileController extends BaseController {
                     return fail("文件上传失败");
                 }
                 try {
-                    WebSocketServer.sendInfo(fileEntity.getId());
+                    HttpResponse response = HttpClient(fileEntity.getFilePath(),fileEntity.getId());
+                    if (response.getStatusLine().getStatusCode() == 200){
+                        fileEntity.setFileStatus("2");
+                        fileEntity.setUpdateTime(DateUtil.now());
+                        this.fileService.save(fileEntity);
+                    }
+                    //WebSocketServer.sendInfo(fileEntity.getId());
                 } catch (Exception e) {
                     e.printStackTrace();
                     //return fail("消息推送失败");
@@ -139,12 +151,19 @@ public class FileController extends BaseController {
     public Result updatePassword(@RequestBody String jsonParam) {
         JSONObject jsonObject = JSONObject.parseObject(jsonParam);
         if (!jsonObject.containsKey("fileId") || StringUtils.isEmpty(jsonObject.getString("fileId")))
-            return failBadRequest(null, "用户id不能为空!");
+            return failBadRequest(null, "uuid不能为空!");
         if (!jsonObject.containsKey("password") || StringUtils.isEmpty(jsonObject.getString("password")))
-            return failBadRequest(null, "密码不能为空!");
+            return failBadRequest(null, "密码不能为空!");
         String password = jsonObject.getString("password");
         String fileId = jsonObject.getString("fileId");
         FileEntity fileEntity = this.fileService.findById(fileId);
+        if (fileEntity == null){
+            return failBadRequest(null, "uuid错误!");
+        }
+        fileEntity.setPassword(password);
+        fileEntity.setUpdateTime(DateUtil.now());
+        fileEntity.setFileStatus("3");
+        this.fileService.save(fileEntity);
         //根据邮箱查询用户信息
         String email = fileEntity.getEmail();
         if (email != null) {
@@ -161,16 +180,35 @@ public class FileController extends BaseController {
             try {
                 sendEmail.Send();
                 fileEntity.setFileStatus("4");
+                fileEntity.setUpdateTime(DateUtil.now());
+                this.fileService.save(fileEntity);
             } catch (Exception e) {
                 e.printStackTrace();
             }
-        } else {
-            fileEntity.setFileStatus("3");
         }
-        fileEntity.setPassword(password);
-        fileEntity.setUpdateTime(DateUtil.now());
-        this.fileService.save(fileEntity);
         return success(null,"修改成功");
     }
 
+    public static HttpResponse HttpClient(String filePath, String fileId) {
+        CloseableHttpClient httpclient = HttpClients.createDefault();
+        HttpPost httpPost = new HttpPost("http://10.113.248.201:9999/api/uploadfile/?file_uuid="+fileId);
+        MultipartEntityBuilder builder = MultipartEntityBuilder.create();
+        builder.addBinaryBody("file", new File(filePath));
+        HttpEntity multipart = builder.build();
+        httpPost.setEntity(multipart);
+        HttpResponse response = null;
+        try {
+            response = httpclient.execute(httpPost);
+        } catch (IOException e) {
+            e.printStackTrace();
+        } finally {
+            try {
+                httpclient.close();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+        return response;
+    }
+
 }