SceneUtil.java 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package com.css.simulation.resource.util;
  2. import api.common.util.CollectionUtil;
  3. import api.common.util.HttpUtil;
  4. import api.common.util.LinuxUtil;
  5. import com.css.simulation.resource.scene.mapper.ScoringRulesMapper;
  6. import lombok.SneakyThrows;
  7. import lombok.Synchronized;
  8. import lombok.extern.slf4j.Slf4j;
  9. import org.apache.http.client.config.RequestConfig;
  10. import org.springframework.stereotype.Component;
  11. import javax.annotation.Resource;
  12. import java.util.List;
  13. import java.util.Map;
  14. import java.util.concurrent.TimeUnit;
  15. /**
  16. * 任务结果打分
  17. */
  18. @Component
  19. @Slf4j
  20. public class SceneUtil {
  21. @Resource
  22. private ScoringRulesMapper scoringRulesMapper;
  23. public void checkRules(String scenePackageId) {
  24. final List<String> ruleIds = scoringRulesMapper.selectDeletedRulesByPackageId(scenePackageId);
  25. if (CollectionUtil.isNotEmpty(ruleIds)) {
  26. final List<String> ruleNames = scoringRulesMapper.selectRuleNamesByRuleIds(ruleIds);
  27. throw new RuntimeException("场景测试包存在已被删除的评分规则:" + ruleNames);
  28. }
  29. }
  30. @Synchronized
  31. @SneakyThrows
  32. public String callGeneralService(RequestConfig requestConfig, String generalUrl, Map map) {
  33. String post;
  34. try {
  35. post = HttpUtil.post(HttpUtil.getHttpClient(), requestConfig, generalUrl, null, map);
  36. } catch (Exception e) {
  37. log.error("泛化接口服务崩溃,重启。");
  38. LinuxUtil.execute("./service-manager.sh restart", "/root/");
  39. TimeUnit.SECONDS.sleep(10);
  40. post = HttpUtil.post(HttpUtil.getHttpClient(), requestConfig, generalUrl, null, map);
  41. }
  42. log.info("调用泛化接口:" + generalUrl + ",响应结果为:" + post);
  43. return post;
  44. }
  45. }