|
|
@@ -6,12 +6,9 @@ import cn.vbdsm.hj212.modbus.config.WsProperties;
|
|
|
import cn.vbdsm.hj212.modbus.utils.AESUtil;
|
|
|
import cn.vbdsm.hj212.modbus.utils.RandomHelper;
|
|
|
import cn.vbdsm.hj212.modbus.utils.WsClientUtil;
|
|
|
-import cn.vbdsm.hj212.modbus.ws.data.MockMonitor;
|
|
|
-import cn.vbdsm.hj212.modbus.ws.data.RandomHarmonic;
|
|
|
-import cn.vbdsm.hj212.modbus.ws.data.RandomPower;
|
|
|
-import cn.vbdsm.hj212.modbus.ws.data.TerminalData;
|
|
|
+import cn.vbdsm.hj212.modbus.ws.data.*;
|
|
|
|
|
|
-import com.alibaba.csp.sentinel.annotation.SentinelResource;
|
|
|
+//import com.alibaba.csp.sentinel.annotation.SentinelResource;
|
|
|
import com.alibaba.fastjson2.JSON;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import lombok.var;
|
|
|
@@ -20,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.core.io.Resource;
|
|
|
import org.springframework.core.io.ResourceLoader;
|
|
|
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
|
|
+import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
|
@@ -39,6 +37,10 @@ public class MockUploadWsService {
|
|
|
@Autowired
|
|
|
private MockMonitor mockMonitor;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private TerminalDataDao terminalDataDao;
|
|
|
+
|
|
|
+
|
|
|
// @Autowired
|
|
|
// private ResourceLoader resourceLoader;
|
|
|
|
|
|
@@ -56,7 +58,7 @@ public class MockUploadWsService {
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
- @SentinelResource("uploadBlockHandler")
|
|
|
+ //@SentinelResource("uploadBlockHandler")
|
|
|
public void loadTerminals(){
|
|
|
String terminals = mockMonitor.getTerminals();
|
|
|
String[] coms = terminals.split("&");
|
|
|
@@ -65,6 +67,9 @@ public class MockUploadWsService {
|
|
|
String[] ts = cts[1].split(",");
|
|
|
for(String t : ts){
|
|
|
TerminalData td = getTerminal(cts[0],t);
|
|
|
+ if(td==null){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
RandomPower power = new RandomPower();
|
|
|
setEngine(power,td);
|
|
|
try {
|
|
|
@@ -80,35 +85,44 @@ public class MockUploadWsService {
|
|
|
|
|
|
|
|
|
private TerminalData getTerminal(String companyId,String terminalId){
|
|
|
- String filePath = StrUtil.format("./mock/{}@{}.json",companyId,terminalId);
|
|
|
- //Resource fileResource =resourceLoader.getResource(filePath);
|
|
|
- File file = null;
|
|
|
- try {
|
|
|
- file = new File(filePath);
|
|
|
- if(file.exists()){
|
|
|
- FileReader fr = new FileReader(file);
|
|
|
- String ts = fr.readString();
|
|
|
- return JSON.parseObject(ts, TerminalData.class);
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("{}文件不存在",filePath);
|
|
|
- }
|
|
|
- return new TerminalData(terminalId,companyId);
|
|
|
+// String filePath = StrUtil.format("./mock/{}@{}.json",companyId,terminalId);
|
|
|
+// //Resource fileResource =resourceLoader.getResource(filePath);
|
|
|
+// File file = null;
|
|
|
+// try {
|
|
|
+// file = new File(filePath);
|
|
|
+// if(file.exists()){
|
|
|
+// FileReader fr = new FileReader(file);
|
|
|
+// String ts = fr.readString();
|
|
|
+// return JSON.parseObject(ts, TerminalData.class);
|
|
|
+// }
|
|
|
+// } catch (Exception e) {
|
|
|
+// log.error("{}文件不存在",filePath);
|
|
|
+// }
|
|
|
+// return new TerminalData(terminalId,companyId);
|
|
|
+ return terminalDataDao.getCurDayTerminalData(companyId,terminalId,true);
|
|
|
+
|
|
|
}
|
|
|
private void setEngine(RandomPower power, TerminalData td){
|
|
|
var dp = RandomHelper.getRandom(22000,3000,100);
|
|
|
var de = RandomHelper.getRandom(6600,600,100);
|
|
|
- var pe = td.getCurDayTotalP().equals(new BigDecimal(0))?new BigDecimal(0):td.getCurDayTotalP().add(dp);
|
|
|
- var qe = td.getCurDayTotalE().equals(new BigDecimal(0))?new BigDecimal(0):td.getCurDayTotalE().add(de);
|
|
|
+// var pe = td.getCurDayTotalP().equals(new BigDecimal(0))?new BigDecimal(0):td.getCurDayTotalP().add(dp);
|
|
|
+// var qe = td.getCurDayTotalE().equals(new BigDecimal(0))?new BigDecimal(0):td.getCurDayTotalE().add(de);
|
|
|
+ var pe = td.getDayTotal_p().equals(new BigDecimal(0))?new BigDecimal(0):td.getDayTotal_p().add(dp);
|
|
|
+ var qe = td.getDayTotal_e().equals(new BigDecimal(0))?new BigDecimal(0):td.getDayTotal_e().add(de);
|
|
|
var ps = td.getTotal_p().add(dp);
|
|
|
var qs = td.getTotal_e().add(de);
|
|
|
power.setEngine(pe,qe,ps,qs);
|
|
|
- td.SetDayTotalP(pe.equals(new BigDecimal(0))?new BigDecimal("0.01"):pe)
|
|
|
- .SetTotalP(ps)
|
|
|
- .SetDayTotalE(qe.equals(new BigDecimal(0))?new BigDecimal("0.01"):qe)
|
|
|
- .SetTotalE(qs);
|
|
|
-
|
|
|
- td.saveFileInfo();
|
|
|
+// td.SetDayTotalP(pe.equals(new BigDecimal(0))?new BigDecimal("0.01"):pe)
|
|
|
+// .SetTotalP(ps)
|
|
|
+// .SetDayTotalE(qe.equals(new BigDecimal(0))?new BigDecimal("0.01"):qe)
|
|
|
+// .SetTotalE(qs);
|
|
|
+//
|
|
|
+// td.saveFileInfo();
|
|
|
+ td.setTotal_p(ps);
|
|
|
+ td.setTotal_e(qs);
|
|
|
+ td.setDayTotal_p(pe);
|
|
|
+ td.setDayTotal_e(qe);
|
|
|
+ terminalDataDao.updateOrInsertTerminalData(td);
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -169,6 +183,7 @@ public class MockUploadWsService {
|
|
|
for (String url : urls) {
|
|
|
String result = WsClientUtil.callWebSV(url, wsProperties.getMethod(), content);
|
|
|
log.info("地址:{},企业编号:{},设备号信息:{},上传结果:{}",url,td.getCompanyId(),terminalId,result);
|
|
|
+ //log.info("地址:{},企业编号:{},设备号信息:{}",url,td.getCompanyId(),terminalId);
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
log.error("数据上报异常:" + e.getMessage() + "\nKEY:" + wsProperties.getKey() + "\nCONTENT:" + content);
|
|
|
@@ -204,4 +219,7 @@ public class MockUploadWsService {
|
|
|
DataListBuilder.buildDataList(type,map,null,ht,randomHarmonic);
|
|
|
return map;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|