|
@@ -9,15 +9,23 @@ import cn.com.qmth.stmms.ms.commons.utils.OssUtil;
|
|
|
import cn.com.qmth.stmms.ms.core.domain.Paper;
|
|
|
import cn.com.qmth.stmms.ms.core.repository.PaperRepo;
|
|
|
import cn.com.qmth.stmms.ms.core.repository.StudentRepo;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.google.gson.JsonObject;
|
|
|
+import javafx.scene.transform.Rotate;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.http.HttpStatus;
|
|
|
import org.springframework.http.ResponseEntity;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.awt.image.RasterOp;
|
|
|
import java.util.HashSet;
|
|
|
+import java.util.LinkedList;
|
|
|
+import java.util.Queue;
|
|
|
import java.util.concurrent.ExecutorService;
|
|
|
import java.util.concurrent.Executors;
|
|
|
+import java.util.concurrent.LinkedBlockingQueue;
|
|
|
|
|
|
/**
|
|
|
* Created by zhengmin on 2017/2/24.
|
|
@@ -25,6 +33,8 @@ import java.util.concurrent.Executors;
|
|
|
@RestController
|
|
|
@RequestMapping("api/images")
|
|
|
public class ImageApi {
|
|
|
+ private static final org.slf4j.Logger LOGGER = LoggerFactory.getLogger(ImageApi.class);
|
|
|
+
|
|
|
|
|
|
@Autowired
|
|
|
private PaperRepo paperRepo;
|
|
@@ -47,17 +57,25 @@ public class ImageApi {
|
|
|
@Resource
|
|
|
ImageServerConfig imageServerConfig;
|
|
|
|
|
|
- private ExecutorService executor = Executors.newFixedThreadPool(10);
|
|
|
+ private ExecutorService executor = Executors.newFixedThreadPool(1);
|
|
|
|
|
|
private HashSet<String> papers = new HashSet<String>();
|
|
|
|
|
|
+ LinkedBlockingQueue<RotateTask> queue = new LinkedBlockingQueue<>();
|
|
|
+
|
|
|
@RequestMapping(value = "{paperId}/rotate", method = RequestMethod.GET)
|
|
|
public ResponseEntity rotate(@PathVariable Long paperId, @RequestParam int degree) {
|
|
|
Paper paper = paperRepo.findOne(paperId);
|
|
|
- if (!papers.contains(paper.getExamNumber())) {
|
|
|
+ /*if (!papers.contains(paper.getExamNumber())) {
|
|
|
executor.submit(new RotateTask(paper, degree, paperRepo, systemConfig, papers, imageConfig, studentRepo, ossUtil, aliYunOssConfig, imageServerConfig));
|
|
|
papers.add(paper.getExamNumber());
|
|
|
+ }*/
|
|
|
+ RotateTask rotateTask = new RotateTask(paper, degree, paperRepo, systemConfig, papers, imageConfig, studentRepo, ossUtil, aliYunOssConfig, imageServerConfig);
|
|
|
+ queue.offer(rotateTask);
|
|
|
+ while (queue.size() > 0) {
|
|
|
+ executor.submit(queue.poll());
|
|
|
}
|
|
|
+
|
|
|
return new ResponseEntity(HttpStatus.OK);
|
|
|
}
|
|
|
|