提交 27b2f03b authored 作者: 孙洁清's avatar 孙洁清

输入输出查询接口

测评报告分页条件接口 删除报告接口 新增接口todo...
上级 da9becd6
package com.zjty.autotest.config; package com.zjty.autotest.config;
import com.zjty.autotest.dao.AutoResultSetDao;
import com.zjty.autotest.mq.PushBlockQueue; import com.zjty.autotest.mq.PushBlockQueue;
import com.zjty.autotest.service.TestReportService;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner; import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -8,9 +11,12 @@ import org.springframework.stereotype.Component; ...@@ -8,9 +11,12 @@ import org.springframework.stereotype.Component;
@Component @Component
public class ProjectInitRun implements CommandLineRunner { public class ProjectInitRun implements CommandLineRunner {
@Autowired @Autowired
private PushBlockQueue pushBlockQueue; private AutoResultSetDao autoResultSetDao;
@Autowired
private TestReportService testReportService;
@Override @Override
public void run(String... args) throws Exception { public void run(String... args) throws Exception {
pushBlockQueue.start(); PushBlockQueue queue=new PushBlockQueue(autoResultSetDao,testReportService);
queue.start();
} }
} }
package com.zjty.autotest.controller; package com.zjty.autotest.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.zjty.autotest.pojo.sjq.EvaReport;
import com.zjty.autotest.pojo.sjq.TestChannel;
import com.zjty.autotest.pojo.sjq.TestReport; import com.zjty.autotest.pojo.sjq.TestReport;
import com.zjty.autotest.pojo.sjq.common.AppHttpCodeEnum; import com.zjty.autotest.pojo.sjq.common.AppHttpCodeEnum;
import com.zjty.autotest.pojo.sjq.common.ResponseResult; import com.zjty.autotest.pojo.sjq.common.ResponseResult;
...@@ -33,7 +38,9 @@ public class TestReportController { ...@@ -33,7 +38,9 @@ public class TestReportController {
public ResponseResult findByIdInData(@PathVariable String id){ public ResponseResult findByIdInData(@PathVariable String id){
TestReport testReport = testReportService.findByResultId(id); TestReport testReport = testReportService.findByResultId(id);
if(testReport!=null) { if(testReport!=null) {
return ResponseResult.okResult(testReport.getInputReport()); String inputReport = testReport.getInputReport();
TestChannel t = JSON.parseObject(inputReport, TestChannel.class);
return ResponseResult.okResult(t);
} }
return ResponseResult.errorResult(AppHttpCodeEnum.ERROR); return ResponseResult.errorResult(AppHttpCodeEnum.ERROR);
} }
...@@ -47,7 +54,9 @@ public class TestReportController { ...@@ -47,7 +54,9 @@ public class TestReportController {
public ResponseResult findByIdOutData(@PathVariable String id){ public ResponseResult findByIdOutData(@PathVariable String id){
TestReport testReport = testReportService.findByResultId(id); TestReport testReport = testReportService.findByResultId(id);
if(testReport!=null) { if(testReport!=null) {
return ResponseResult.okResult(testReport.getOutReport()); String outReport = testReport.getOutReport();
EvaReport evaReport = JSON.parseObject(outReport, EvaReport.class);
return ResponseResult.okResult(evaReport);
} }
return ResponseResult.errorResult(AppHttpCodeEnum.ERROR); return ResponseResult.errorResult(AppHttpCodeEnum.ERROR);
} }
......
...@@ -8,6 +8,6 @@ import org.springframework.data.jpa.repository.Query; ...@@ -8,6 +8,6 @@ import org.springframework.data.jpa.repository.Query;
public interface AutoResultSetDao extends JpaRepository<AutoResultSet,String>, JpaSpecificationExecutor<AutoResultSet> { public interface AutoResultSetDao extends JpaRepository<AutoResultSet,String>, JpaSpecificationExecutor<AutoResultSet> {
@Modifying @Modifying
@Query("update AutoResultSet set status=1 where id=:id") @Query(value = "update auto_result_set set status=1 where id=:id",nativeQuery = true)
int updateStatus(String id); int updateStatus(String id);
} }
package com.zjty.autotest.mq; package com.zjty.autotest.mq;
import com.zjty.autotest.dao.AutoResultSetDao;
import com.zjty.autotest.service.AsyncService; import com.zjty.autotest.service.AsyncService;
import com.zjty.autotest.service.TestReportService;
import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.LinkedBlockingQueue;
@Component
public class PushBlockQueue extends LinkedBlockingQueue<Object> {
@Autowired
private AsyncService asyncService;
public class PushBlockQueue extends LinkedBlockingQueue<Object> {
private AutoResultSetDao autoResultSetDao;
private TestReportService testReportService;
//多线程执行,采用线程池
private static ExecutorService es = Executors.newFixedThreadPool(10);
//状态标识位 //状态标识位
private boolean flag = false; private boolean flag = false;
@Async("asyncServiceExecutor")
public void zx(){ public PushBlockQueue(AutoResultSetDao autoResultSetDao,TestReportService testReportService) {
try { this.autoResultSetDao=autoResultSetDao;
while (flag) { this.testReportService=testReportService;
//从队列中取消息
Object obj = take();
//线程池派出线程来消费取出的消息
asyncService.executeAsync((String) obj);
// es.execute(new PushBlockQueueHandler(obj));
}
} catch (InterruptedException e) {
e.printStackTrace();
}
} }
/** /**
* 队列监听启动 * 队列监听启动
*/ */
...@@ -40,7 +36,25 @@ public class PushBlockQueue extends LinkedBlockingQueue<Object> { ...@@ -40,7 +36,25 @@ public class PushBlockQueue extends LinkedBlockingQueue<Object> {
} else { } else {
throw new IllegalArgumentException("队列已启动,不可重复启动!"); throw new IllegalArgumentException("队列已启动,不可重复启动!");
} }
zx(); new Thread(new Runnable() {
@Override
public void run() {
try {
while (flag) {
//从队列中取消息
// Object obj = take();
String take = QueueManager.take();
//线程池派出线程来消费取出的消息
System.out.println("取出消息:"+take);
if(!StringUtils.isEmpty(take)) {
es.execute(new PushBlockThread(autoResultSetDao, testReportService, take));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
} }
/** /**
......
package com.zjty.autotest.mq;
import com.alibaba.fastjson.JSON;
import com.zjty.autotest.dao.AutoResultSetDao;
import com.zjty.autotest.pojo.sjq.*;
import com.zjty.autotest.service.AutoResultSetService;
import com.zjty.autotest.service.TestReportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class PushBlockThread implements Runnable{
private TestReportService testReportService;
private AutoResultSetDao autoResultSetDao;
private Object obj;
public PushBlockThread(AutoResultSetDao autoResultSetDao,TestReportService testReportService,Object obj){
this.testReportService=testReportService;
this.autoResultSetDao=autoResultSetDao;
this.obj=obj;
}
@Override
public void run() {
doBusiness();
}
private void doBusiness() {
String id = (String) obj;
System.out.println("doBusiness id:" + id);
TestChannel testChannel = (TestChannel) CacheManager.getCache(id);
if (testChannel != null) {
try {
EvaReport evaReport = new EvaReport();
evaReport.setBrowser(testChannel.getBrowser());
evaReport.setFailCount(testChannel.getName() + "系统未通过测试," + "未通过测试点共" + "10" + "个");
evaReport.setProjectName(testChannel.getName());
evaReport.setCreateTime(new Date());
evaReport.setSystem("中标麒麟v7龙芯版");
evaReport.setUrl(testChannel.getUrl());
List<FailMessage> failMessages = new ArrayList<>();
FailMessage failMessage = new FailMessage();
failMessage.setUrl("https://voice.baidu.com/act/newpneumonia/newpneumonia/?from=osari_pc_1");
failMessage.setMessage("抗击疫情打不开响应超时");
failMessage.setPicture("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1584955247760&di=f073d6fd65cf71798843c6e4634358dd&imgtype=0&src=http%3A%2F%2Fa0.att.hudong.com%2F78%2F52%2F01200000123847134434529793168.jpg");
failMessages.add(failMessage);
evaReport.setFailMessages(failMessages);
List<PageRoute> pageRoutes = new ArrayList<>();
PageRoute pageRoute = new PageRoute();
pageRoute.setPageName("https://www.baidu.com/");
pageRoute.setAddress("/baidu");
pageRoute.setMessage("");
pageRoute.setResponseTime(300);
pageRoute.setSuccess(0);
pageRoute.setPicture("https://pics4.baidu.com/feed/500fd9f9d72a6059aecf87d92406529d013bbaca.jpeg?token=53433060d4d120e00d8ac6612d2303fd");
PageRoute pageRoute1 = new PageRoute();
pageRoute1.setPageName("https://www.baidu.com/");
pageRoute1.setAddress("/baidu");
pageRoute1.setMessage("不能访问");
pageRoute1.setResponseTime(300);
pageRoute1.setSuccess(1);
pageRoute1.setPicture("https://pics4.baidu.com/feed/500fd9f9d72a6059aecf87d92406529d013bbaca.jpeg?token=53433060d4d120e00d8ac6612d2303fd");
pageRoutes.add(pageRoute);
pageRoutes.add(pageRoute1);
evaReport.setPageRoutes(pageRoutes);
List<PageContentTest> pageContents = new ArrayList<>();
PageContentTest pageContentTest = new PageContentTest();
pageContentTest.setUrl("http://news.baidu.com/");
List<PageContent> contents = new ArrayList<>();
PageContent pageContent = new PageContent();
pageContent.setParms("国内");
pageContent.setMessage("");
pageContent.setResponseTime(300);
pageContent.setSuccess(0);
PageContent pageContent1 = new PageContent();
pageContent1.setParms("国外");
pageContent1.setMessage("响应时间过长");
pageContent1.setResponseTime(30000);
pageContent1.setSuccess(1);
contents.add(pageContent);
contents.add(pageContent1);
pageContentTest.setContents(contents);
pageContents.add(pageContentTest);
evaReport.setPageContents(pageContents);
//调用黄承天代码
Thread.sleep(6000);
if (testChannel.getCodeUrl() != null) {
//解压上传得代码
//获取前端代码中得网页路由地址
//比对黄承天代码中访问得地址和路由地址,黄承天是否访问全了。
}
System.out.println("修改状态");
//改变报告状态
String out = JSON.toJSONString(evaReport);
String in = JSON.toJSONString(testChannel);
System.out.println(id);
TestReport testReport = new TestReport();
testReport.setResultId(id);
testReport.setOutReport(out);
testReport.setInputReport(in);
testReport.setStatus(1);
testReportService.save(testReport);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println(Thread.currentThread().getName() + "-收到消息:" + obj);
}
}
package com.zjty.autotest.mq;
import java.util.concurrent.ArrayBlockingQueue;
public class QueueManager {
private static ArrayBlockingQueue queue=new ArrayBlockingQueue(10);
public static void put(String msg){
try {
queue.put(msg);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static String take(){
try {
String take = (String) queue.take();
return take;
} catch (InterruptedException e) {
e.printStackTrace();
}
return null;
}
}
...@@ -18,6 +18,8 @@ import javax.persistence.Id; ...@@ -18,6 +18,8 @@ import javax.persistence.Id;
public class TestReport{ public class TestReport{
@Id @Id
private String id; private String id;
@ApiModelProperty(value = "状态 0正在生成 1上传成功")
private Integer status;
@ApiModelProperty(value = "AutoResultSetId") @ApiModelProperty(value = "AutoResultSetId")
private String resultId; private String resultId;
@ApiModelProperty(value = "输入内容") @ApiModelProperty(value = "输入内容")
......
...@@ -2,7 +2,11 @@ package com.zjty.autotest.service.impl; ...@@ -2,7 +2,11 @@ package com.zjty.autotest.service.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.zjty.autotest.mq.CacheManager; import com.zjty.autotest.mq.CacheManager;
import com.zjty.autotest.pojo.report.Measure;
import com.zjty.autotest.pojo.report.Report;
import com.zjty.autotest.pojo.sjq.*; import com.zjty.autotest.pojo.sjq.*;
import com.zjty.autotest.pojo.test.Input;
import com.zjty.autotest.pojo.test.Project;
import com.zjty.autotest.service.AsyncService; import com.zjty.autotest.service.AsyncService;
import com.zjty.autotest.service.AutoResultSetService; import com.zjty.autotest.service.AutoResultSetService;
import com.zjty.autotest.service.TestReportService; import com.zjty.autotest.service.TestReportService;
...@@ -10,9 +14,8 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -10,9 +14,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.*;
import java.util.Date; import java.util.stream.Collectors;
import java.util.List;
@Service @Service
public class AsyncServiceImpl implements AsyncService { public class AsyncServiceImpl implements AsyncService {
...@@ -20,28 +23,106 @@ public class AsyncServiceImpl implements AsyncService { ...@@ -20,28 +23,106 @@ public class AsyncServiceImpl implements AsyncService {
private AutoResultSetService autoResultSetService; private AutoResultSetService autoResultSetService;
@Autowired @Autowired
private TestReportService testReportService; private TestReportService testReportService;
@Autowired
private SeleniumExecutor seleniumExecutor;
@Override @Override
@Async
public void executeAsync(String id) { public void executeAsync(String id) {
System.out.println("id:" + id); System.out.println("id:" + id);
TestChannel testChannel = (TestChannel) CacheManager.getCache(id); TestChannel testChannel = (TestChannel) CacheManager.getCache(id);
if (testChannel != null) { if (testChannel != null) {
try { try {
Project project=new Project();
project.setBrowser(testChannel.getBrowser());
project.setName(testChannel.getName());
project.setUrl(testChannel.getUrl());
List<RuleSet> ruleSets = testChannel.getRuleSets();
List<Input> inputs=new ArrayList<>();
project.setInputs(null);
if(ruleSets!=null) {
for (RuleSet ruleSet : ruleSets) {
Input input=new Input();
input.setKey(ruleSet.getDes());
input.setAttrName(ruleSet.getCommand());
input.setAttrValue(ruleSet.getTarget());
input.setValue(ruleSet.getValue());
inputs.add(input);
}
project.setInputs(inputs);
}
//调用黄承天代码
Report report = seleniumExecutor.execute(project);
List<Measure> measures = report.getMeasures();
if(measures!=null) {
long count = measures.stream().filter(m -> !m.getSuccess()).count();
System.out.println(report);
EvaReport evaReport = new EvaReport(); EvaReport evaReport = new EvaReport();
evaReport.setBrowser(testChannel.getBrowser()); evaReport.setBrowser(report.getBrowser());
evaReport.setFailCount(testChannel.getName() + "系统未通过测试," + "未通过测试点共" + "10" + "个"); if (count > 0) {
evaReport.setProjectName(testChannel.getName()); evaReport.setFailCount(testChannel.getName() + "系统未通过测试," + "未通过测试点共" + count + "个");
}
evaReport.setFailCount(testChannel.getName() + "系统通过测试," + "未通过测试点共0个");
evaReport.setProjectName(report.getProjectName());
evaReport.setCreateTime(new Date()); evaReport.setCreateTime(new Date());
evaReport.setSystem("中标麒麟v7龙芯版"); evaReport.setSystem("中标麒麟v7龙芯版");
evaReport.setUrl(testChannel.getUrl()); evaReport.setUrl(testChannel.getUrl());
List<FailMessage> failMessages = new ArrayList<>(); List<FailMessage> failMessages = new ArrayList<>();
List<Measure> measureList = measures.stream().filter(m -> !m.getSuccess()).collect(Collectors.toList());
for (Measure measure : measureList) {
FailMessage failMessage = new FailMessage(); FailMessage failMessage = new FailMessage();
failMessage.setUrl("https://voice.baidu.com/act/newpneumonia/newpneumonia/?from=osari_pc_1"); failMessage.setUrl(measure.getUrl());
failMessage.setMessage("抗击疫情打不开响应超时"); failMessage.setMessage(measure.getMessage());
failMessage.setPicture("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1584955247760&di=f073d6fd65cf71798843c6e4634358dd&imgtype=0&src=http%3A%2F%2Fa0.att.hudong.com%2F78%2F52%2F01200000123847134434529793168.jpg"); failMessage.setPicture(measure.getScreenshot());
failMessages.add(failMessage); failMessages.add(failMessage);
}
evaReport.setFailMessages(failMessages); evaReport.setFailMessages(failMessages);
List<PageRoute> pageRoutes = new ArrayList<>(); evaReport.setPageRoutes(null);
HashMap<String, List<Measure>> map = new HashMap<>();
for (Measure measure : measures) {
if(map.get(measure.getUrl())!=null){
List<Measure> measures1 = map.get(measure.getUrl());
measures1.add(measure);
map.put(measure.getUrl(),measures1);
}else {
List<Measure> mss=new ArrayList<>();
mss.add(measure);
map.put(measure.getUrl(),mss);
}
}
List<PageContentTest> pageContents = new ArrayList<>();
Set<String> strings = map.keySet();
for (String url : strings) {
PageContentTest pageContentTest = new PageContentTest();
pageContentTest.setUrl(url);
List<Measure> measures1 = map.get(url);
List<PageContent> contents = new ArrayList<>();
for (Measure measure : measures1) {
PageContent pageContent = new PageContent();
pageContent.setParms(null);
pageContent.setMessage(measure.getMessage());
pageContent.setResponseTime(measure.getResponseTime());
pageContent.setSuccess(0);
if(measure.getSuccess()) {
pageContent.setSuccess(1);
}
contents.add(pageContent);
}
pageContentTest.setContents(contents);
pageContents.add(pageContentTest);
}
evaReport.setPageContents(pageContents);
// }
/*List<PageRoute> pageRoutes = new ArrayList<>();
PageRoute pageRoute = new PageRoute(); PageRoute pageRoute = new PageRoute();
pageRoute.setPageName("https://www.baidu.com/"); pageRoute.setPageName("https://www.baidu.com/");
pageRoute.setAddress("/baidu"); pageRoute.setAddress("/baidu");
...@@ -57,31 +138,10 @@ public class AsyncServiceImpl implements AsyncService { ...@@ -57,31 +138,10 @@ public class AsyncServiceImpl implements AsyncService {
pageRoute1.setSuccess(1); pageRoute1.setSuccess(1);
pageRoute1.setPicture("https://pics4.baidu.com/feed/500fd9f9d72a6059aecf87d92406529d013bbaca.jpeg?token=53433060d4d120e00d8ac6612d2303fd"); pageRoute1.setPicture("https://pics4.baidu.com/feed/500fd9f9d72a6059aecf87d92406529d013bbaca.jpeg?token=53433060d4d120e00d8ac6612d2303fd");
pageRoutes.add(pageRoute); pageRoutes.add(pageRoute);
pageRoutes.add(pageRoute1); pageRoutes.add(pageRoute1);*/
evaReport.setPageRoutes(pageRoutes); // evaReport.setPageRoutes(pageRoutes);
List<PageContentTest> pageContents = new ArrayList<>();
PageContentTest pageContentTest = new PageContentTest();
pageContentTest.setUrl("http://news.baidu.com/");
List<PageContent> contents = new ArrayList<>();
PageContent pageContent = new PageContent();
pageContent.setParms("国内");
pageContent.setMessage("");
pageContent.setResponseTime(300);
pageContent.setSuccess(0);
PageContent pageContent1 = new PageContent();
pageContent1.setParms("国外");
pageContent1.setMessage("响应时间过长");
pageContent1.setResponseTime(30000);
pageContent1.setSuccess(1);
contents.add(pageContent);
contents.add(pageContent1);
pageContentTest.setContents(contents);
pageContents.add(pageContentTest);
evaReport.setPageContents(pageContents);
//调用黄承天代码
Thread.sleep(6000);
if (testChannel.getCodeUrl() != null) { if (testChannel.getCodeUrl() != null) {
//解压上传得代码 //解压上传得代码
//获取前端代码中得网页路由地址 //获取前端代码中得网页路由地址
...@@ -96,10 +156,12 @@ public class AsyncServiceImpl implements AsyncService { ...@@ -96,10 +156,12 @@ public class AsyncServiceImpl implements AsyncService {
testReport.setResultId(id); testReport.setResultId(id);
testReport.setOutReport(out); testReport.setOutReport(out);
testReport.setInputReport(in); testReport.setInputReport(in);
testReport.setStatus(1);
testReportService.save(testReport); testReportService.save(testReport);
CacheManager.removeCache(id);
}
// autoResultSetService.updateByid(id); // autoResultSetService.updateByid(id);
} catch (InterruptedException e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
......
...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; ...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.zjty.autotest.dao.AutoResultSetDao; import com.zjty.autotest.dao.AutoResultSetDao;
import com.zjty.autotest.mq.CacheManager; import com.zjty.autotest.mq.CacheManager;
import com.zjty.autotest.mq.PushBlockQueue; import com.zjty.autotest.mq.PushBlockQueue;
import com.zjty.autotest.mq.QueueManager;
import com.zjty.autotest.pojo.sjq.AutoResultSet; import com.zjty.autotest.pojo.sjq.AutoResultSet;
import com.zjty.autotest.pojo.sjq.TestChannel; import com.zjty.autotest.pojo.sjq.TestChannel;
import com.zjty.autotest.pojo.sjq.TestReport; import com.zjty.autotest.pojo.sjq.TestReport;
...@@ -36,11 +37,11 @@ public class AutoResultSetServiceImpl implements AutoResultSetService { ...@@ -36,11 +37,11 @@ public class AutoResultSetServiceImpl implements AutoResultSetService {
@Autowired @Autowired
private AutoResultSetDao autoResultSetDao; private AutoResultSetDao autoResultSetDao;
@Autowired @Autowired
private PushBlockQueue pushBlockQueue;
@Autowired
private TestReportService testReportService; private TestReportService testReportService;
@Autowired @Autowired
private IdWorker idWorker; private IdWorker idWorker;
@Autowired
private AsyncService asyncService;
@Override @Override
public Page<AutoResultSet> findSearch(Map whereMap, int page, int size) { public Page<AutoResultSet> findSearch(Map whereMap, int page, int size) {
Specification<AutoResultSet> specification = createSpecification(whereMap); Specification<AutoResultSet> specification = createSpecification(whereMap);
...@@ -106,8 +107,9 @@ public class AutoResultSetServiceImpl implements AutoResultSetService { ...@@ -106,8 +107,9 @@ public class AutoResultSetServiceImpl implements AutoResultSetService {
CacheManager.putCache(tid,testChannel); CacheManager.putCache(tid,testChannel);
//将数据保存到队列 //将数据保存到队列
try { try {
pushBlockQueue.put(tid); asyncService.executeAsync(tid);
// PushBlockQueue.getInstance().put(tid); // PushBlockQueue pushBlockQueue=new PushBlockQueue(autoResultSetDao,testReportService);
// QueueManager.put(tid);
return ResponseResult.okResult(save); return ResponseResult.okResult(save);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论