Commit 310387bf authored by ZWT's avatar ZWT

feat(吉林演示): 松原

1.天气数据接收定时任务,解决代码扫描问题,修改文件读取相关代码,解决资源未关流问题;
2.修改登录验证码生成工具类,解决代码扫描问题,修复随机数不安全问题;
3.删除除主程序启动类外其他启动类模块,解决代码扫描问题;
4.删除自定义httputlis类,解决代码扫描问题,替换部分代码远程调用方法;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 329e4df5
......@@ -19,7 +19,6 @@ import pps.core.base.mapper.BaseDataViewMapper;
import pps.core.base.mapper.BaseModelValMapper;
import pps.core.base.service.data.base_data.*;
import pps.core.base.service.data.base_line.ImportFileInput;
import pps.core.base.utils.HttpUtils;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.utils.ExcelUtils;
import pps.core.common.utils.ExportExcelUtils;
......@@ -29,6 +28,7 @@ import xstartup.base.XContext;
import xstartup.base.data.CustomQueryInput;
import xstartup.base.tool.XStorageTool;
import xstartup.base.util.XCopyUtils;
import xstartup.base.util.XHttpUtils;
import xstartup.base.util.XJsonUtils;
import xstartup.data.*;
import xstartup.error.XError;
......@@ -284,20 +284,18 @@ public class BaseDataService {
try {
String jsonString = XJsonUtils.toJson(calcBaseDataInput);
context.getLogger().info(jsonString);
Object ret = HttpUtils.send2("http://121.36.43.217:8098/model/predict", jsonString);
returnMap = XJsonUtils.toMap(ret.toString());
String result = XHttpUtils.postAsJson("http://121.36.43.217:8098/model/predict", jsonString, 10000);
returnMap = XJsonUtils.toMap(result);
return returnMap;
} catch (Exception e) {
return returnMap;
}
}
public void doTrainData(XContext context, CalcBaseDataInput calcBaseDataInput) {
public void doTrainData(CalcBaseDataInput calcBaseDataInput) {
try {
String jsonString = XJsonUtils.toJson(calcBaseDataInput);
context.getLogger().info(jsonString);
HttpUtils.send2("http://121.36.43.217:8098/model/train",
jsonString);
XHttpUtils.postAsJson("http://121.36.43.217:8098/model/train", jsonString, 10000);
} catch (Exception e) {
throw new RuntimeException("调用预测接口失败");
}
......@@ -316,11 +314,11 @@ public class BaseDataService {
if (CollUtil.isNotEmpty(input.getKeyNames())) {
for (String keyName : input.getKeyNames()) {
CalcBaseDataInput calcBaseDataInput = new CalcBaseDataInput("", keyName, input.getLineId(), "train_val", DateUtil.formatDateTime(ent.getBeginDate()), DateUtil.formatDateTime(ent.getEndDate()));
doTrainData(context, calcBaseDataInput);
doTrainData(calcBaseDataInput);
}
} else {
CalcBaseDataInput calcBaseDataInput = new CalcBaseDataInput("", input.getKeyName(), input.getLineId(), "train_val", DateUtil.formatDateTime(ent.getBeginDate()), DateUtil.formatDateTime(ent.getEndDate()));
doTrainData(context, calcBaseDataInput);
doTrainData(calcBaseDataInput);
}
return XServiceResult.OK;
}
......
......@@ -13,13 +13,13 @@ import pps.core.base.entity.BaseProjectInfoPredictedDataEnt;
import pps.core.base.mapper.*;
import pps.core.base.service.data.base_line_attenuation_rate.CreateBaseLineAttenuationRateInput;
import pps.core.base.service.data.base_project_info.*;
import pps.core.base.utils.HttpUtils;
import pps.core.common.session.PpsUserSession;
import pps.core.system.entity.SysAreaEnt;
import pps.core.system.mapper.SysAreaMapper;
import xstartup.annotation.XService;
import xstartup.base.XContext;
import xstartup.base.util.XCopyUtils;
import xstartup.base.util.XHttpUtils;
import xstartup.base.util.XJsonUtils;
import xstartup.core.base.helper.XThreadHelper;
import xstartup.data.XListResult;
......@@ -221,9 +221,8 @@ public class BaseProjectInfoService {
try {
String jsonString = XJsonUtils.toJson(calcProjectInfoPredictedDataInput);
context.getLogger().info(jsonString);
Object ret = HttpUtils.send2("http://121.36.43.217:8098//model/yearmodel",
jsonString);
returnMap = XJsonUtils.toMap(ret.toString());
String result = XHttpUtils.postAsJson("http://121.36.43.217:8098//model/yearmodel", jsonString, 10000);
returnMap = XJsonUtils.toMap(result);
return returnMap;
} catch (Exception e) {
throw new RuntimeException("调用预测接口失败");
......
......@@ -20,11 +20,11 @@ import pps.core.base.mapper.BasePhotovoltaicPlantViewMapper;
import pps.core.base.mapper.PlantPredictedPowerDataMapper;
import pps.core.base.mapper.PlantPredictedPowerDataViewMapper;
import pps.core.base.mapper.WeatherDataMapper;
import pps.core.base.utils.HttpUtils;
import pps.core.common.constant.BusinessConstant;
import xstartup.annotation.XService;
import xstartup.base.XContext;
import xstartup.base.util.XCopyUtils;
import xstartup.base.util.XHttpUtils;
import xstartup.core.base.helper.XThreadHelper;
import xstartup.data.XServiceResult;
import xstartup.feature.api.annotation.XApiGet;
......@@ -261,7 +261,7 @@ public class BaseWatherCloudServiceImpl implements BaseWatherCloudService {
//训练接口http://127.0.0.1:10098/aiprediction/xgbtrain?plantId=018a64635ac47cf58895147b0e1bf7e3
//自动调用预测接口
HttpUtils.send2("http://127.0.0.1:10098/aiprediction/xgbreason?plantId=" + plantId, "");
XHttpUtils.postAsJson("http://127.0.0.1:10098/aiprediction/xgbreason?plantId=" + plantId);
}
} catch (Exception e) {
context.getLogger().error(e.getMessage());
......@@ -465,7 +465,7 @@ public class BaseWatherCloudServiceImpl implements BaseWatherCloudService {
public XServiceResult crawlBaseWatherData(XContext context) {
try {
//请求省份接口。获取省份列表
String provinceStr = HttpUtils.send2(provinceUrl, "");
String provinceStr = XHttpUtils.postAsJson(provinceUrl);
//解析省份列表字符串,把字符串解析成json对象
JSONObject jsonObject = JSONObject.parseObject(provinceStr);
//处理json对象,变为数组
......@@ -478,7 +478,7 @@ public class BaseWatherCloudServiceImpl implements BaseWatherCloudService {
//甘肃 .陕西 (全国周期抓取耗费时间超长,共有2400个城市)
if (CharSequenceUtil.equals(provinceCode, "AJL")) {
//请求省份下的区信息
String cityString = HttpUtils.send2(cityUrl + provinceCode, "");
String cityString = XHttpUtils.postAsJson(cityUrl + provinceCode);
//解析区json,把字符串解析成json对象
JSONObject cityObj = JSONObject.parseObject(cityString);
//处理json对象,变为数组
......
......@@ -11,9 +11,9 @@ import org.jsoup.select.Elements;
import pps.core.base.entity.BaseWatherEnt;
import pps.core.base.mapper.WeatherDataMapper;
import pps.core.base.service.data.base_wather.GetBaseWatherInput;
import pps.core.base.utils.HttpUtils;
import xstartup.annotation.XService;
import xstartup.base.XContext;
import xstartup.base.util.XHttpUtils;
import xstartup.core.base.helper.XThreadHelper;
import xstartup.data.XServiceResult;
import xstartup.feature.api.annotation.XApiGet;
......@@ -209,7 +209,7 @@ public class BaseWatherService {
String provinceUrl = "http://weather.cma.cn/api/dict/province";
String cityUrl = "http://weather.cma.cn/api/dict/province/";
//请求省份接口。获取省份列表
String provinceStr = HttpUtils.send2(provinceUrl, "");
String provinceStr = XHttpUtils.postAsJson(provinceUrl);
//解析省份列表字符串,把字符串解析成json对象
JSONObject jsonObject = JSONObject.parseObject(provinceStr);
//处理json对象,变为数组
......@@ -222,7 +222,7 @@ public class BaseWatherService {
//甘肃 .陕西 (全国周期抓取耗费时间超长,共有2400个城市)
if (CharSequenceUtil.equals(provinceCode, "AJL")) {
//请求省份下的区信息
String cityString = HttpUtils.send2(cityUrl + provinceCode, "");
String cityString = XHttpUtils.postAsJson(provinceUrl + provinceCode);
//解析区json,把字符串解析成json对象
JSONObject cityObj = JSONObject.parseObject(cityString);
//处理json对象,变为数组
......
package pps.core.base.utils;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.nio.charset.StandardCharsets;
public class HttpUtils {
public static String send2(String url, String param) throws Exception {
URL localURL = new URL(url);
URLConnection connection = localURL.openConnection();
HttpURLConnection httpURLConnection = (HttpURLConnection) connection;
httpURLConnection.setDoOutput(true);
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setRequestProperty("Accept", "application/json");
httpURLConnection.setRequestProperty("Content-Type", "application/json");
httpURLConnection.setRequestProperty("Content-Length", String.valueOf(param.length()));
httpURLConnection.setConnectTimeout(10000);
OutputStream outputStream = null;
OutputStreamWriter outputStreamWriter = null;
InputStream inputStream = null;
String resultBuffer = "";
try {
outputStream = httpURLConnection.getOutputStream();
outputStreamWriter = new OutputStreamWriter(outputStream);
outputStreamWriter.write(param);
outputStreamWriter.flush();
if (httpURLConnection.getResponseCode() >= 300) {
throw new Exception(
"HTTP Request is not success, Response code is " + httpURLConnection.getResponseCode());
}
inputStream = httpURLConnection.getInputStream();
resultBuffer = convertStreamToString(inputStream);
System.out.println(resultBuffer);
} catch (Exception ignored) {
} finally {
if (outputStreamWriter != null) {
outputStreamWriter.close();
}
if (outputStream != null) {
outputStream.close();
}
if (inputStream != null) {
inputStream.close();
}
}
return resultBuffer;
}
public static String convertStreamToString(InputStream is) {
StringBuilder sb1 = new StringBuilder();
byte[] bytes = new byte[4096];
int size;
try {
while ((size = is.read(bytes)) > 0) {
String str = new String(bytes, 0, size, StandardCharsets.UTF_8);
sb1.append(str);
}
} catch (IOException ignored) {
} finally {
try {
is.close();
} catch (IOException ignored) {
}
}
return sb1.toString();
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment