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; ...@@ -19,7 +19,6 @@ import pps.core.base.mapper.BaseDataViewMapper;
import pps.core.base.mapper.BaseModelValMapper; import pps.core.base.mapper.BaseModelValMapper;
import pps.core.base.service.data.base_data.*; import pps.core.base.service.data.base_data.*;
import pps.core.base.service.data.base_line.ImportFileInput; 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.constant.BusinessConstant;
import pps.core.common.utils.ExcelUtils; import pps.core.common.utils.ExcelUtils;
import pps.core.common.utils.ExportExcelUtils; import pps.core.common.utils.ExportExcelUtils;
...@@ -29,6 +28,7 @@ import xstartup.base.XContext; ...@@ -29,6 +28,7 @@ import xstartup.base.XContext;
import xstartup.base.data.CustomQueryInput; import xstartup.base.data.CustomQueryInput;
import xstartup.base.tool.XStorageTool; import xstartup.base.tool.XStorageTool;
import xstartup.base.util.XCopyUtils; import xstartup.base.util.XCopyUtils;
import xstartup.base.util.XHttpUtils;
import xstartup.base.util.XJsonUtils; import xstartup.base.util.XJsonUtils;
import xstartup.data.*; import xstartup.data.*;
import xstartup.error.XError; import xstartup.error.XError;
...@@ -284,20 +284,18 @@ public class BaseDataService { ...@@ -284,20 +284,18 @@ public class BaseDataService {
try { try {
String jsonString = XJsonUtils.toJson(calcBaseDataInput); String jsonString = XJsonUtils.toJson(calcBaseDataInput);
context.getLogger().info(jsonString); context.getLogger().info(jsonString);
Object ret = HttpUtils.send2("http://121.36.43.217:8098/model/predict", jsonString); String result = XHttpUtils.postAsJson("http://121.36.43.217:8098/model/predict", jsonString, 10000);
returnMap = XJsonUtils.toMap(ret.toString()); returnMap = XJsonUtils.toMap(result);
return returnMap; return returnMap;
} catch (Exception e) { } catch (Exception e) {
return returnMap; return returnMap;
} }
} }
public void doTrainData(XContext context, CalcBaseDataInput calcBaseDataInput) { public void doTrainData(CalcBaseDataInput calcBaseDataInput) {
try { try {
String jsonString = XJsonUtils.toJson(calcBaseDataInput); String jsonString = XJsonUtils.toJson(calcBaseDataInput);
context.getLogger().info(jsonString); XHttpUtils.postAsJson("http://121.36.43.217:8098/model/train", jsonString, 10000);
HttpUtils.send2("http://121.36.43.217:8098/model/train",
jsonString);
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException("调用预测接口失败"); throw new RuntimeException("调用预测接口失败");
} }
...@@ -316,11 +314,11 @@ public class BaseDataService { ...@@ -316,11 +314,11 @@ public class BaseDataService {
if (CollUtil.isNotEmpty(input.getKeyNames())) { if (CollUtil.isNotEmpty(input.getKeyNames())) {
for (String keyName : input.getKeyNames()) { for (String keyName : input.getKeyNames()) {
CalcBaseDataInput calcBaseDataInput = new CalcBaseDataInput("", keyName, input.getLineId(), "train_val", DateUtil.formatDateTime(ent.getBeginDate()), DateUtil.formatDateTime(ent.getEndDate())); CalcBaseDataInput calcBaseDataInput = new CalcBaseDataInput("", keyName, input.getLineId(), "train_val", DateUtil.formatDateTime(ent.getBeginDate()), DateUtil.formatDateTime(ent.getEndDate()));
doTrainData(context, calcBaseDataInput); doTrainData(calcBaseDataInput);
} }
} else { } else {
CalcBaseDataInput calcBaseDataInput = new CalcBaseDataInput("", input.getKeyName(), input.getLineId(), "train_val", DateUtil.formatDateTime(ent.getBeginDate()), DateUtil.formatDateTime(ent.getEndDate())); 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; return XServiceResult.OK;
} }
......
...@@ -13,13 +13,13 @@ import pps.core.base.entity.BaseProjectInfoPredictedDataEnt; ...@@ -13,13 +13,13 @@ import pps.core.base.entity.BaseProjectInfoPredictedDataEnt;
import pps.core.base.mapper.*; import pps.core.base.mapper.*;
import pps.core.base.service.data.base_line_attenuation_rate.CreateBaseLineAttenuationRateInput; import pps.core.base.service.data.base_line_attenuation_rate.CreateBaseLineAttenuationRateInput;
import pps.core.base.service.data.base_project_info.*; import pps.core.base.service.data.base_project_info.*;
import pps.core.base.utils.HttpUtils;
import pps.core.common.session.PpsUserSession; import pps.core.common.session.PpsUserSession;
import pps.core.system.entity.SysAreaEnt; import pps.core.system.entity.SysAreaEnt;
import pps.core.system.mapper.SysAreaMapper; import pps.core.system.mapper.SysAreaMapper;
import xstartup.annotation.XService; import xstartup.annotation.XService;
import xstartup.base.XContext; import xstartup.base.XContext;
import xstartup.base.util.XCopyUtils; import xstartup.base.util.XCopyUtils;
import xstartup.base.util.XHttpUtils;
import xstartup.base.util.XJsonUtils; import xstartup.base.util.XJsonUtils;
import xstartup.core.base.helper.XThreadHelper; import xstartup.core.base.helper.XThreadHelper;
import xstartup.data.XListResult; import xstartup.data.XListResult;
...@@ -221,9 +221,8 @@ public class BaseProjectInfoService { ...@@ -221,9 +221,8 @@ public class BaseProjectInfoService {
try { try {
String jsonString = XJsonUtils.toJson(calcProjectInfoPredictedDataInput); String jsonString = XJsonUtils.toJson(calcProjectInfoPredictedDataInput);
context.getLogger().info(jsonString); context.getLogger().info(jsonString);
Object ret = HttpUtils.send2("http://121.36.43.217:8098//model/yearmodel", String result = XHttpUtils.postAsJson("http://121.36.43.217:8098//model/yearmodel", jsonString, 10000);
jsonString); returnMap = XJsonUtils.toMap(result);
returnMap = XJsonUtils.toMap(ret.toString());
return returnMap; return returnMap;
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException("调用预测接口失败"); throw new RuntimeException("调用预测接口失败");
......
...@@ -20,11 +20,11 @@ import pps.core.base.mapper.BasePhotovoltaicPlantViewMapper; ...@@ -20,11 +20,11 @@ import pps.core.base.mapper.BasePhotovoltaicPlantViewMapper;
import pps.core.base.mapper.PlantPredictedPowerDataMapper; import pps.core.base.mapper.PlantPredictedPowerDataMapper;
import pps.core.base.mapper.PlantPredictedPowerDataViewMapper; import pps.core.base.mapper.PlantPredictedPowerDataViewMapper;
import pps.core.base.mapper.WeatherDataMapper; import pps.core.base.mapper.WeatherDataMapper;
import pps.core.base.utils.HttpUtils;
import pps.core.common.constant.BusinessConstant; import pps.core.common.constant.BusinessConstant;
import xstartup.annotation.XService; import xstartup.annotation.XService;
import xstartup.base.XContext; import xstartup.base.XContext;
import xstartup.base.util.XCopyUtils; import xstartup.base.util.XCopyUtils;
import xstartup.base.util.XHttpUtils;
import xstartup.core.base.helper.XThreadHelper; import xstartup.core.base.helper.XThreadHelper;
import xstartup.data.XServiceResult; import xstartup.data.XServiceResult;
import xstartup.feature.api.annotation.XApiGet; import xstartup.feature.api.annotation.XApiGet;
...@@ -261,7 +261,7 @@ public class BaseWatherCloudServiceImpl implements BaseWatherCloudService { ...@@ -261,7 +261,7 @@ public class BaseWatherCloudServiceImpl implements BaseWatherCloudService {
//训练接口http://127.0.0.1:10098/aiprediction/xgbtrain?plantId=018a64635ac47cf58895147b0e1bf7e3 //训练接口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) { } catch (Exception e) {
context.getLogger().error(e.getMessage()); context.getLogger().error(e.getMessage());
...@@ -465,7 +465,7 @@ public class BaseWatherCloudServiceImpl implements BaseWatherCloudService { ...@@ -465,7 +465,7 @@ public class BaseWatherCloudServiceImpl implements BaseWatherCloudService {
public XServiceResult crawlBaseWatherData(XContext context) { public XServiceResult crawlBaseWatherData(XContext context) {
try { try {
//请求省份接口。获取省份列表 //请求省份接口。获取省份列表
String provinceStr = HttpUtils.send2(provinceUrl, ""); String provinceStr = XHttpUtils.postAsJson(provinceUrl);
//解析省份列表字符串,把字符串解析成json对象 //解析省份列表字符串,把字符串解析成json对象
JSONObject jsonObject = JSONObject.parseObject(provinceStr); JSONObject jsonObject = JSONObject.parseObject(provinceStr);
//处理json对象,变为数组 //处理json对象,变为数组
...@@ -478,7 +478,7 @@ public class BaseWatherCloudServiceImpl implements BaseWatherCloudService { ...@@ -478,7 +478,7 @@ public class BaseWatherCloudServiceImpl implements BaseWatherCloudService {
//甘肃 .陕西 (全国周期抓取耗费时间超长,共有2400个城市) //甘肃 .陕西 (全国周期抓取耗费时间超长,共有2400个城市)
if (CharSequenceUtil.equals(provinceCode, "AJL")) { if (CharSequenceUtil.equals(provinceCode, "AJL")) {
//请求省份下的区信息 //请求省份下的区信息
String cityString = HttpUtils.send2(cityUrl + provinceCode, ""); String cityString = XHttpUtils.postAsJson(cityUrl + provinceCode);
//解析区json,把字符串解析成json对象 //解析区json,把字符串解析成json对象
JSONObject cityObj = JSONObject.parseObject(cityString); JSONObject cityObj = JSONObject.parseObject(cityString);
//处理json对象,变为数组 //处理json对象,变为数组
......
...@@ -11,9 +11,9 @@ import org.jsoup.select.Elements; ...@@ -11,9 +11,9 @@ import org.jsoup.select.Elements;
import pps.core.base.entity.BaseWatherEnt; import pps.core.base.entity.BaseWatherEnt;
import pps.core.base.mapper.WeatherDataMapper; import pps.core.base.mapper.WeatherDataMapper;
import pps.core.base.service.data.base_wather.GetBaseWatherInput; import pps.core.base.service.data.base_wather.GetBaseWatherInput;
import pps.core.base.utils.HttpUtils;
import xstartup.annotation.XService; import xstartup.annotation.XService;
import xstartup.base.XContext; import xstartup.base.XContext;
import xstartup.base.util.XHttpUtils;
import xstartup.core.base.helper.XThreadHelper; import xstartup.core.base.helper.XThreadHelper;
import xstartup.data.XServiceResult; import xstartup.data.XServiceResult;
import xstartup.feature.api.annotation.XApiGet; import xstartup.feature.api.annotation.XApiGet;
...@@ -209,7 +209,7 @@ public class BaseWatherService { ...@@ -209,7 +209,7 @@ public class BaseWatherService {
String provinceUrl = "http://weather.cma.cn/api/dict/province"; String provinceUrl = "http://weather.cma.cn/api/dict/province";
String cityUrl = "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对象 //解析省份列表字符串,把字符串解析成json对象
JSONObject jsonObject = JSONObject.parseObject(provinceStr); JSONObject jsonObject = JSONObject.parseObject(provinceStr);
//处理json对象,变为数组 //处理json对象,变为数组
...@@ -222,7 +222,7 @@ public class BaseWatherService { ...@@ -222,7 +222,7 @@ public class BaseWatherService {
//甘肃 .陕西 (全国周期抓取耗费时间超长,共有2400个城市) //甘肃 .陕西 (全国周期抓取耗费时间超长,共有2400个城市)
if (CharSequenceUtil.equals(provinceCode, "AJL")) { if (CharSequenceUtil.equals(provinceCode, "AJL")) {
//请求省份下的区信息 //请求省份下的区信息
String cityString = HttpUtils.send2(cityUrl + provinceCode, ""); String cityString = XHttpUtils.postAsJson(provinceUrl + provinceCode);
//解析区json,把字符串解析成json对象 //解析区json,把字符串解析成json对象
JSONObject cityObj = JSONObject.parseObject(cityString); JSONObject cityObj = JSONObject.parseObject(cityString);
//处理json对象,变为数组 //处理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