7 changed files with 144 additions and 69 deletions
@ -0,0 +1,130 @@ |
|||
package com.hxjt.dataupload.controller; |
|||
|
|||
import com.hxjt.dataupload.service.FxfxdxService; |
|||
import com.hxjt.dataupload.task.AsyncTask; |
|||
import com.hxjt.dataupload.utils.JsonData; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.http.ResponseEntity; |
|||
import org.springframework.stereotype.Controller; |
|||
import org.springframework.web.bind.annotation.*; |
|||
import org.springframework.web.multipart.MultipartFile; |
|||
|
|||
import java.io.File; |
|||
import java.io.IOException; |
|||
import java.io.InputStream; |
|||
import java.nio.file.Files; |
|||
import java.nio.file.Path; |
|||
import java.nio.file.Paths; |
|||
import java.nio.file.StandardCopyOption; |
|||
import java.util.HashMap; |
|||
import java.util.Map; |
|||
import java.util.UUID; |
|||
import java.util.concurrent.ExecutionException; |
|||
import java.util.concurrent.Future; |
|||
|
|||
/** |
|||
* liwenxuan |
|||
*/ |
|||
|
|||
@RestController |
|||
@RequestMapping("dataupload/api/v1") |
|||
public class UploadController { |
|||
|
|||
@Autowired |
|||
private AsyncTask asyncTask; |
|||
|
|||
@Autowired |
|||
private FxfxdxService fxfxdxService; |
|||
|
|||
@RequestMapping("list") |
|||
public Object list(){ |
|||
|
|||
Map<String,String > map = new HashMap<>(); |
|||
map.put("1","asdfdsa"); |
|||
map.put("2","S6543465"); |
|||
|
|||
return map; |
|||
|
|||
} |
|||
@GetMapping("async") |
|||
public JsonData testAsync(){ |
|||
long begin = System.currentTimeMillis(); |
|||
/*asyncTask.task1(); |
|||
asyncTask.task2(); |
|||
asyncTask.task3();*/ |
|||
Future<String> task4 = asyncTask.task4(); |
|||
Future<String> task5 = asyncTask.task5(); |
|||
for(;;){ |
|||
if(task4.isDone() && task5.isDone()){ |
|||
try { |
|||
String task4Result = task4.get(); |
|||
System.out.println(task4Result); |
|||
|
|||
String task5Result = task5.get(); |
|||
System.out.println(task5Result); |
|||
|
|||
|
|||
}catch (InterruptedException e){ |
|||
e.printStackTrace(); |
|||
}catch (ExecutionException e){ |
|||
e.printStackTrace(); |
|||
}finally { |
|||
break; |
|||
} |
|||
|
|||
} |
|||
} |
|||
|
|||
long end = System.currentTimeMillis(); |
|||
return JsonData.buildSuccess(end-begin); |
|||
} |
|||
|
|||
/*获取用户有权限的启用状态的表单列表树形结构*/ |
|||
@RequestMapping(value = "/getOTBILLIDById") |
|||
public JsonData getCustomerFormList(@RequestBody Map<String,String> requestBody) { |
|||
//System.out.println(requestBody.get("id"));
|
|||
if(!StringUtils.isBlank(requestBody.get("id"))){ |
|||
String result = fxfxdxService.getOTBILLIDById(requestBody.get("id")); |
|||
return JsonData.buildSuccess(result); |
|||
}else{ |
|||
return JsonData.buildError("请先输入id"); |
|||
} |
|||
} |
|||
|
|||
@PostMapping("/uploadPDF") |
|||
public ResponseEntity<String> uploadPdf(@RequestParam("file") MultipartFile file) { |
|||
String uploadDir = "F://dataUpload/zypPdfs/"; |
|||
// 1. 验证文件类型和大小
|
|||
if (file.isEmpty()) { |
|||
return ResponseEntity.badRequest().body("文件不能为空"); |
|||
} |
|||
if (!file.getContentType().equals("application/pdf")) { |
|||
return ResponseEntity.badRequest().body("仅支持PDF格式"); |
|||
} |
|||
if (file.getSize() > 10 * 1024 * 1024) { // 限制10MB
|
|||
return ResponseEntity.badRequest().body("文件大小超过限制"); |
|||
} |
|||
|
|||
try { |
|||
// 确保目录存在
|
|||
File targetDir = new File(uploadDir); |
|||
if (!targetDir.exists()) { |
|||
targetDir.mkdirs(); // 自动创建多级目录
|
|||
} |
|||
|
|||
// 生成唯一文件名(可选,避免重复覆盖)
|
|||
String fileName = UUID.randomUUID() + "_" + file.getOriginalFilename(); |
|||
|
|||
// 构建目标文件的绝对路径
|
|||
File targetFile = new File(targetDir.getAbsolutePath() + File.separator + fileName); |
|||
|
|||
// 保存文件到磁盘
|
|||
file.transferTo(targetFile); |
|||
return ResponseEntity.ok("上传成功"); |
|||
} catch (IOException e) { |
|||
return ResponseEntity.internalServerError().body("文件存储失败:" + e.getMessage()); |
|||
} |
|||
} |
|||
} |
|||
|
|||
@ -1,69 +0,0 @@ |
|||
package com.hxjt.dataupload.controller; |
|||
|
|||
import com.hxjt.dataupload.task.AsyncTask; |
|||
import com.hxjt.dataupload.utils.JsonData; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Controller; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import java.util.HashMap; |
|||
import java.util.Map; |
|||
import java.util.concurrent.ExecutionException; |
|||
import java.util.concurrent.Future; |
|||
|
|||
/** |
|||
* liwenxuan |
|||
*/ |
|||
|
|||
@RestController |
|||
@RequestMapping("/api/v1/video") |
|||
public class VideoController { |
|||
|
|||
@Autowired |
|||
private AsyncTask asyncTask; |
|||
|
|||
@RequestMapping("list") |
|||
public Object list(){ |
|||
|
|||
Map<String,String > map = new HashMap<>(); |
|||
map.put("1","asdfdsa"); |
|||
map.put("2","S6543465"); |
|||
|
|||
return map; |
|||
|
|||
} |
|||
@GetMapping("async") |
|||
public JsonData testAsync(){ |
|||
long begin = System.currentTimeMillis(); |
|||
/*asyncTask.task1(); |
|||
asyncTask.task2(); |
|||
asyncTask.task3();*/ |
|||
Future<String> task4 = asyncTask.task4(); |
|||
Future<String> task5 = asyncTask.task5(); |
|||
for(;;){ |
|||
if(task4.isDone() && task5.isDone()){ |
|||
try { |
|||
String task4Result = task4.get(); |
|||
System.out.println(task4Result); |
|||
|
|||
String task5Result = task5.get(); |
|||
System.out.println(task5Result); |
|||
|
|||
|
|||
}catch (InterruptedException e){ |
|||
e.printStackTrace(); |
|||
}catch (ExecutionException e){ |
|||
e.printStackTrace(); |
|||
}finally { |
|||
break; |
|||
} |
|||
|
|||
} |
|||
} |
|||
|
|||
long end = System.currentTimeMillis(); |
|||
return JsonData.buildSuccess(end-begin); |
|||
} |
|||
|
|||
|
|||
} |
|||
Loading…
Reference in new issue