From 9512bd0ebc7e5f22cdbcda8b4bb9fca67937a67c Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期六, 21 九月 2024 10:06:45 +0800 Subject: [PATCH] 1 --- src/main/java/com/se/simu/service/SimuService.java | 119 +++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 82 insertions(+), 37 deletions(-) diff --git a/src/main/java/com/se/simu/service/SimuService.java b/src/main/java/com/se/simu/service/SimuService.java index 5ae433c..406fefe 100644 --- a/src/main/java/com/se/simu/service/SimuService.java +++ b/src/main/java/com/se/simu/service/SimuService.java @@ -13,7 +13,9 @@ import com.se.simu.domain.vo.CreateSimuVo; import com.se.simu.domain.vo.SimuVo; import com.se.simu.helper.StringHelper; +import com.se.simu.helper.WebHelper; import com.se.simu.mapper.SimuMapper; +import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -22,6 +24,8 @@ import javax.annotation.Resource; import java.io.File; import java.util.List; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; /** * 浠跨湡鏈嶅姟绫� @@ -42,16 +46,39 @@ @Resource SimuMapper simuMapper; - public Integer getMaxId() { - return simuMapper.selectMaxId(); + /** + * 鑾峰彇 + */ + public IPage<SimuPo> get(SimuVo vo) { + QueryWrapper<SimuPo> wrapper = getPageWrapper(vo); + + Page<SimuPo> page = new Page<>(vo.getPageIndex(), vo.getPageSize()); + page.addOrder(OrderItem.desc("id")); + + IPage<SimuPo> paged = simuMapper.selectPage(page, wrapper); + + return paged; } - public boolean create(CreateSimuVo vo) { - DataPo data = BeanUtil.copyProperties(vo, DataPo.class); - SimuPo simu = new SimuPo(vo.getNum(), vo.getName(), JSONUtil.toJsonStr(data), 0, vo.getBak()); - // + private QueryWrapper<SimuPo> getPageWrapper(SimuVo vo) { + QueryWrapper<SimuPo> wrapper = new QueryWrapper<>(); + if (null != vo.getId()) { + wrapper.eq("id", vo.getId()); + } + if (null != vo.getPid()) { + wrapper.eq("pid", vo.getPid()); + } + if (null != vo.getNum()) { + wrapper.eq("num", vo.getNum()); + } + if (!StringUtils.isEmpty(vo.getName())) { + wrapper.like("lower(name)", vo.getName().trim().toLowerCase()); + } + if (!CollUtil.isEmpty(vo.getStatus())) { + wrapper.in("status", vo.getStatus()); + } - return true; + return wrapper; } /** @@ -87,38 +114,56 @@ return FileUtil.del(dir); } - /** - * 鑾峰彇 - */ - public IPage<SimuPo> get(SimuVo vo) { - QueryWrapper<SimuPo> wrapper = getPageWrapper(vo); - - Page<SimuPo> page = new Page<>(vo.getPageIndex(), vo.getPageSize()); - page.addOrder(OrderItem.desc("id")); - - IPage<SimuPo> paged = simuMapper.selectPage(page, wrapper); - - return paged; + public Integer getMaxId() { + return simuMapper.selectMaxId(); } - private QueryWrapper<SimuPo> getPageWrapper(SimuVo vo) { - QueryWrapper<SimuPo> wrapper = new QueryWrapper<>(); - if (null != vo.getId()) { - wrapper.eq("id", vo.getId()); - } - if (null != vo.getPid()) { - wrapper.eq("pid", vo.getPid()); - } - if (null != vo.getNum()) { - wrapper.eq("num", vo.getNum()); - } - if (!StringUtils.isEmpty(vo.getName())) { - wrapper.like("lower(name)", vo.getName().trim().toLowerCase()); - } - if (!CollUtil.isEmpty(vo.getStatus())) { - wrapper.in("status", vo.getStatus()); - } + public boolean create(CreateSimuVo vo) { + DataPo data = BeanUtil.copyProperties(vo, DataPo.class); + SimuPo simu = new SimuPo(vo.getNum(), vo.getName(), JSONUtil.toJsonStr(data), 0, vo.getBak()); + // - return wrapper; + return true; + } + + private void asyncCall(SimuPo simu) { + ExecutorService executor = Executors.newSingleThreadExecutor(); + executor.execute(new Runnable() { + @Override + @SneakyThrows + public void run() { + scopeTask(simu); + } + }); + executor.shutdown(); + } + + private void scopeTask(SimuPo simu) { + try { + DataPo data = JSONUtil.toBean(simu.getData(), DataPo.class); + update(simu, 1, null); + + //boolean flag = tifService.splitTif(dsd); + //update(simu, flag ? 2 : 20, flag ? null : "鍒囧垎鏁版嵁鍑洪敊"); + //if (!flag) return; + + //flag = aiService.sendRequest(task.getDataType(), dsd.getDataTime()); + //update(simu, flag ? 3 : 20, flag ? null : "璇嗗埆鏁版嵁鍑洪敊"); + //if (!flag) return; + + //flag = geoJsonService.processResults(task, dsd); + //update(simu, flag ? 10 : 20, flag ? "鎵ц瀹屾垚" : "澶勭悊缁撴灉鍑洪敊"); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + update(simu, -10, ex.getMessage()); + } + } + + private void update(SimuPo simu, int status, String rs) { + simu.setStatus(status); + if (null != rs) simu.setResult(rs); + simu.setUpdateTime(WebHelper.getCurrentTimestamp()); + + simuMapper.updateById(simu); } } -- Gitblit v1.9.3