高效能源监控管理系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

256 lines
11 KiB

package com.mh;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.mh.common.core.domain.dto.ProProfileDTO;
import com.mh.common.core.domain.entity.DeviceReport;
import com.mh.common.core.domain.entity.SysParams;
import com.mh.common.core.domain.entity.SysUser;
import com.mh.common.core.domain.entity.WeatherData;
import com.mh.common.core.domain.vo.EnergyQueryVO;
import com.mh.common.utils.DateUtils;
import com.mh.common.utils.StringUtils;
import com.mh.quartz.task.DealDataTask;
import com.mh.quartz.task.GetWeatherDataTask;
import com.mh.quartz.task.HotWaterTask;
import com.mh.system.mapper.device.DataProcessMapper;
import com.mh.system.service.ISysParamsService;
import com.mh.system.service.ISysUserService;
import com.mh.system.service.device.IDeviceQrManageService;
import com.mh.system.service.operation.IAlarmRecordsService;
import com.mh.system.service.overview.IProOverviewService;
import com.mh.system.service.report.IComprehensiveReportService;
import com.mh.system.service.report.IMeterReadingsHisService;
import com.mh.system.service.report.IReportHotWaterService;
import jakarta.annotation.Resource;
import org.checkerframework.checker.units.qual.A;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.web.client.RestTemplate;
import java.util.Date;
import java.util.List;
/**
* @author LJF
* @version 1.0
* @project EEMCS
* @description 测试类
* @date 2025-01-10 11:28:36
*/
@SpringBootTest
public class MHApplicationTest {
@Autowired
private IDeviceQrManageService deviceQrManageService;
@Autowired
private ISysUserService sysUserService;
@Autowired
private HotWaterTask hotWaterTask;
@Autowired
private IAlarmRecordsService alarmRecordsService;
@Autowired
private IMeterReadingsHisService meterReadingsHisService;
@Autowired
private IReportHotWaterService reportHotWaterService;
@Autowired
private IProOverviewService proOverviewService;
@Autowired
private IComprehensiveReportService comprehensiveReportService;
@Test
public void comprehensiveReport() {
long startTime = System.currentTimeMillis();
EnergyQueryVO vo = new EnergyQueryVO();
vo.setStartTime("2025-12-24 00:00:00");
vo.setEndTime("2025-12-24 23:59:59");
vo.setPageNum(1);
vo.setPageSize(10);
vo.setTimeType("hour");
System.out.println("开始查询");
List<?> report = comprehensiveReportService.report(vo);
System.out.println("报表耗时:" + (System.currentTimeMillis() - startTime) + "ms");
}
@Test
public void testHome() throws Exception {
// 开始计时
long startTime = System.currentTimeMillis();
List<ProProfileDTO> proProfile = proOverviewService.getProProfile();
System.out.println("耗时:" + (System.currentTimeMillis() - startTime) + "ms");
}
@Test
public void reportHotWater() {
reportHotWaterService.execProRunParamHis();
}
@Test
public void testExecProMeterReadingsHis() {
meterReadingsHisService.execProMeterReadingsHis("2025-12-11");
}
@Test
public void createAlarmTask() {
alarmRecordsService.insertOrUpdateAlarmRecord("e1a3034edw6a9b3a79a86332886b24896");
}
@Test
public void calcAnalysisData() {
for (int i = 9; i < 10; i++) {
hotWaterTask.calcAnalysisData("2025-07-0"+i);
}
}
@Test
public void testDate() {
Date date = new Date();
boolean sameDay = DateUtils.isSameDay(DateUtils.stringToDate("2025-09-24 00:00:00", "yyyy-MM-dd HH:mm:ss"), date);
System.out.println(sameDay);
}
@Test
public void calcEnergyData() {
for (int i = 1; i < 17; i++) {
// i < 10,则前面添加0
if (i < 10) {
hotWaterTask.calcEnergyData("2025-10-0"+i+" 00:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 01:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 02:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 03:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 04:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 05:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 06:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 07:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 08:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 09:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 10:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 11:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 12:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 13:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 14:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 15:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 16:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 17:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 18:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 19:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 20:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 21:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 22:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 23:00:00");
} else {
hotWaterTask.calcEnergyData("2025-10-" + i + " 00:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 01:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 02:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 03:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 04:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 05:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 06:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 07:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 08:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 09:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 10:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 11:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 12:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 13:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 14:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 15:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 16:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 17:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 18:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 19:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 20:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 21:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 22:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 23:00:00");
}
}
}
@Test
public void test() throws Exception {
SysUser sysUser = sysUserService.selectUserById(1L);
System.out.println(sysUser);
deviceQrManageService.createQrCode(10, "admin");
}
@Autowired
private DealDataTask dealDeviceData;
@Test
public void dealDeviceData() {
dealDeviceData.dealDeviceData();
}
@Test
public void dealDeviceDataHour() {
dealDeviceData.dealDeviceDataHour();
}
@Test
public void dealDay2Year() {
dealDeviceData.dealDay2Year();
}
@Autowired
private GetWeatherDataTask getWeatherDataTask;
@Autowired
private ISysParamsService sysParamsService;
@Test
public void getWeatherInfo() {
getWeatherDataTask.getWeatherInfo();
// String returnResult = "{\"status\":\"1\",\"count\":\"1\",\"info\":\"OK\",\"infocode\":\"10000\",\"lives\":[{\"province\":\"广东\",\"city\":\"香洲区\",\"adcode\":\"440402\",\"weather\":\"阴\",\"temperature\":\"11\",\"winddirection\":\"东北\",\"windpower\":\"≤3\",\"humidity\":\"86\",\"reporttime\":\"2025-03-30 13:30:41\",\"temperature_float\":\"11.0\",\"humidity_float\":\"86.0\"}]}";
// if (!StringUtils.isBlank(returnResult)) {
// JSONObject jsonObject = JSON.parseObject(returnResult);
// System.out.println(jsonObject);
// if ("1".equals(jsonObject.get("status"))) {
// WeatherData weatherData = new WeatherData();
// weatherData.setProvince(jsonObject.getJSONArray("lives").getJSONObject(0).getString("province"));
// weatherData.setCity(jsonObject.getJSONArray("lives").getJSONObject(0).getString("city"));
// weatherData.setAdCode(jsonObject.getJSONArray("lives").getJSONObject(0).getString("adcode"));
// weatherData.setWeather(jsonObject.getJSONArray("lives").getJSONObject(0).getString("weather"));
// weatherData.setTemperature(jsonObject.getJSONArray("lives").getJSONObject(0).getInteger("temperature"));
// weatherData.setHumidity(jsonObject.getJSONArray("lives").getJSONObject(0).getInteger("humidity"));
// weatherData.setWindDirection(jsonObject.getJSONArray("lives").getJSONObject(0).getString("winddirection"));
// weatherData.setWindPower(jsonObject.getJSONArray("lives").getJSONObject(0).getString("windpower"));
// weatherData.setReportTime(DateUtils.stringToDate(jsonObject.getJSONArray("lives").getJSONObject(0).getString("reporttime"), "yyyy-MM-dd HH:mm:ss"));
// weatherData.setCreatedTime(new Date());
// System.out.println(weatherData);
// }
// }
}
@Autowired
private DataProcessMapper dataProcessMapper;
@Test
public void insertDataHour() {
DeviceReport data = new DeviceReport();
data.setId(315286L);
data.setDeviceNum("39001260");
data.setDeviceCode("39001260");
data.setDeviceType("5");
data.setLastValue("388063.97");
data.setLastTime(DateUtils.stringToDate("2025-04-19 10:00:00", "yyyy-MM-dd HH:mm:ss"));
data.setCurTime(DateUtils.stringToDate("2025-04-19 10:00:00", "yyyy-MM-dd HH:mm:ss"));
data.setCurValue("388063.99");
data.setUsedValue("0.02");
data.setCalcValue("0.02");
data.setRatio(1);
data.setGrade(0);
System.out.println(data);
dataProcessMapper.insertTable(data, "data_hour2025");
}
}