From 65807b1a334e55b0f30dd53df8bdac81d2dc4dbd Mon Sep 17 00:00:00 2001 From: whycxzp <perryhsu@163.com> Date: 星期二, 25 五月 2021 10:50:54 +0800 Subject: [PATCH] 更新试验接口 --- src/main/java/com/whyc/service/ExperimentService.java | 85 ++++++++++++++++++++++++++++++++++++++---- 1 files changed, 77 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/whyc/service/ExperimentService.java b/src/main/java/com/whyc/service/ExperimentService.java index 1ab0ea2..0e06260 100644 --- a/src/main/java/com/whyc/service/ExperimentService.java +++ b/src/main/java/com/whyc/service/ExperimentService.java @@ -13,6 +13,7 @@ import com.whyc.pojo.ExperimentBaseDataKZ; import com.whyc.pojo.ExperimentPoint; import com.whyc.pojo.ExperimentPrecondition; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -28,6 +29,7 @@ import static java.lang.Thread.sleep; @Service +@Slf4j public class ExperimentService { @Resource @@ -270,6 +272,9 @@ /** * 鍚姩娴嬭瘯鐐�,骞跺湪娴嬭瘯鏃堕暱杩囧悗,杩斿洖娴嬭瘯缁撴灉 + * 娴嬭瘯鐐圭殑缁撴潫,缁撴潫鍒嗕袱绉嶆儏鍐�: + * 鎯呭喌涓�:缁忚繃棰勫畾鐨勬祴璇曟椂闀�,鍋滄 + * 鎯呭喌浜�:鏇存柊浜嗘暟鎹簱鐨勬煇涓瓧娈�,浠g爜寰幆鍒ゆ柇杩欎釜瀛楁,濡傛灉涓�2鍒欏仠姝㈠疄楠屽苟杩斿洖缁撴灉 * @return */ public Response startExperimentPoint(ExperimentPoint point){ @@ -280,34 +285,98 @@ //绛夊緟duration鏃堕棿 Integer duration = point.getDuration(); Integer durationSecond = duration*60; - try { + final boolean[] threadStatus = {true}; + //閲囩敤绾跨▼鐨勫師鍥犳槸闈炵嚎绋媠leep鍚庢棤娉曟墽琛屾墜鍔ㄧ粨鏉熸潯浠跺垽鏂唬鐮� + Thread t = new Thread(){ + @Override + public void run() { + try { + sleep(10000); + threadStatus[0] = false; + } catch (InterruptedException e) { + interrupt(); + log.warn("t1绾跨▼琚墦鏂�"); + //e.printStackTrace(); + } + }; + }; + t.start(); + + boolean statusFlag =true; + //鎵嬪姩鍋滄鍜屾祴璇曠偣棰勮鏃堕棿,1涓潯浠舵垚绔嬪氨缁堟娴嬭瘯 + while(statusFlag && threadStatus[0]){ + //鏌ヨ娴嬭瘯鐐圭姸鎬佹槸鍚﹁鎵撴柇 + QueryWrapper<ExperimentPoint> wrapper = Wrappers.query(); + wrapper.select("status").eq("id",point.getId()); + ExperimentPoint currentPoint = pointMapper.selectOne(wrapper); + if(currentPoint.getStatus()==3){ + statusFlag = false; + } + } + log.warn("娴嬭瘯鐐圭粨鏉�"); + if (t.isAlive()) { + t.interrupt(); + } + + /*try { //sleep(durationSecond); //婕旂ず闇�瑕�,浣跨敤5s sleep(5000); + } catch (InterruptedException e) { e.printStackTrace(); - } + }*/ pointMapper.updateEndTime(point.getId(),new Date()); //杩斿洖杩欐鏃堕棿鐨勬祴璇曠粨鏋� //TODO 杩欐鏃堕棿鍐呯殑鏁版嵁,闇�瑕佽繘琛屽姩鎬佽绠� Map<String,String> resMap = new HashMap<>(); int value = (int) (100 + Math.random() * 10); resMap.put("骞冲潎鍔熺巼",value+"kW"); - setExperimentState(point.getExperimentId(),1); return new Response().set(1,resMap); } - public void setExperimentState(String id,int status){ - Experiment experiment = mapper.selectById(id); - experiment.setStatus(status); - mapper.updateById(experiment); - } public Response finishExperiment(String experimentId) { mapper.updateStatusAndTime(experimentId,2,"end_time",new Date()); return new Response().setMsg(1,"鐘舵�佹洿鏂版垚鍔�"); } + public Response finishExperimentPoint(Integer id) { + ExperimentPoint point = new ExperimentPoint(); + point.setId(id); + //涓柇淇″彿 + point.setStatus(3); + pointMapper.updateById(point); + return new Response().setMsg(1,"娴嬭瘯鐐逛腑鏂俊鍙锋洿鏂版垚鍔�"); + } + + public Response setPrecondition(Integer id) { + switch (id){ + case 1:{ + commonMapper.setPrecondition("`db_3.5mw_motor`.tb_central_monitor_sys_rt","10001","switch_close","0"); + } + case 2:{ + + } + case 3:{ + + } + case 4:{ + + } + case 5:{ + + } + case 6:{ + + } + case 7:{ + + } + } + return new Response().setMsg(1,"璁剧疆瀹屾垚"); + } + /*======History======*/ public Response<PageInfo<Experiment>> getPage(Integer pageNum, Integer pageSize, ExperimentConditionDTO condition) { -- Gitblit v1.9.1