123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- package com.project.zcustom.tools;
- import com.alibaba.fastjson2.JSONObject;
- import com.project.common.utils.StringUtils;
- import com.project.common.utils.http.HttpUtils;
- import com.project.zcustom.domain.addional.LargeBuilding;
- import com.project.zcustom.domain.addional.LargeBuildingControl;
- import com.project.zcustom.domain.addional.LargeBuildingControlAmmeterDetail;
- import com.project.zcustom.domain.plat.PlatApiRecord;
- import com.project.zcustom.mapper.unit.PlatBuildingMapper;
- import com.project.zcustom.service.plat.IPlatApiRecordService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import javax.annotation.Resource;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * @Description 楼宇运行监控接口
- * @Author bqyang
- * @Date 2025/2/10 16:58
- * @Version 1.0
- */
- @Service
- public class BuildingService {
- @Autowired
- private PlatBuildingMapper platBuildingMapper;
- @Resource
- IPlatApiRecordService iPlatApiRecordService;
- /**
- * 楼宇中控 接口数据同步
- */
- public void getLeftBuildingData(){
- String controlEquipment = repeat(ApiUrlConfig.getControlEquipment(), null);
- JSONObject jsonObject = JSONObject.parseObject(controlEquipment);
- Long normalNum = Long.valueOf(jsonObject.getJSONObject("sj").getString("zcdw"));
- Long abnormalNum = Long.valueOf(jsonObject.getJSONObject("sj").getString("ycdw"));
- LargeBuildingControl largeBuildingControl = new LargeBuildingControl(
- repeat(ApiUrlConfig.getControlElectricity(), null),
- repeat(ApiUrlConfig.getControlElectricityRoom(), null),
- repeat(ApiUrlConfig.getControlTodaySum(), null),
- repeat(ApiUrlConfig.getControlMonthSum(), "type=一号配电室"),
- repeat(ApiUrlConfig.getControlMonthSum(), "type=二号配电室"),
- repeat(ApiUrlConfig.getControlMonthSum(), "type=三号配电室"),
- repeat(ApiUrlConfig.getControlImportantSum(), "type=一号配电室"),
- repeat(ApiUrlConfig.getControlImportantSum(), "type=二号配电室"),
- repeat(ApiUrlConfig.getControlImportantSum(), "type=三号配电室"),
- repeat(ApiUrlConfig.getControlEquipment(), null),
- normalNum,
- abnormalNum,
- repeat(ApiUrlConfig.getControlAlarm(), null),
- repeat(ApiUrlConfig.getControlWater(), "position=23F"),
- repeat(ApiUrlConfig.getControlWater(), "position=负二")
- );
- if (platBuildingMapper.getExist() > 0){
- platBuildingMapper.updateBuildingControl(largeBuildingControl);
- }
- else platBuildingMapper.addBuildingControl(largeBuildingControl);
- }
- /**
- * 电表、异常明细
- */
- public void getLeftBuildingDataDetail(){
- LargeBuildingControl largeBuildingControl = new LargeBuildingControl();
- largeBuildingControl.setAbnormalPointOne(repeat(ApiUrlConfig.getControlAlertDetails(), "type=电表"));
- largeBuildingControl.setAbnormalPointTwo(repeat(ApiUrlConfig.getControlAlertDetails(), "type=水浸"));
- largeBuildingControl.setAbnormalPointThree(repeat(ApiUrlConfig.getControlAlertDetails(), "type=烟雾"));
- largeBuildingControl.setAbnormalPointFour(repeat(ApiUrlConfig.getControlAlertDetails(), "type=液位"));
- if (platBuildingMapper.getExist() > 0){
- platBuildingMapper.updateBuildingControl(largeBuildingControl);
- }
- else platBuildingMapper.addBuildingControl(largeBuildingControl);
- platBuildingMapper.deleteAmmeterDetails();
- String[] arr = {
- "光伏",
- "制冷机组",
- "公共照明",
- "生活水泵",
- "楼外设备",
- "消防",
- "供热设备",
- "冷源泵",
- "充电桩",
- "电梯",
- "厨房",
- "热源泵",
- "地下室",
- "办公",
- "通信辅助设备"
- };
- List<LargeBuildingControlAmmeterDetail> list = new ArrayList<>();
- for (int i=0; i<arr.length; i++){
- LargeBuildingControlAmmeterDetail largeBuildingControlAmmeterDetail = new LargeBuildingControlAmmeterDetail();
- largeBuildingControlAmmeterDetail.setAmmeterDetail(repeat(ApiUrlConfig.getControlElectricityDetail(), "type=" + arr[i]));
- largeBuildingControlAmmeterDetail.setType(arr[i]);
- list.add(largeBuildingControlAmmeterDetail);
- }
- platBuildingMapper.addAmmeterDetails(list);
- }
- /**
- * 办公能耗 / 大楼安防 接口数据同步
- */
- public void getRightBuildingDataFirstHalf(){
- LargeBuilding largeBuilding = new LargeBuilding();
- largeBuilding.setJsonFrequency(repeat(ApiUrlConfig.getJsonFrequency(), null));
- largeBuilding.setJsonPatrol(repeat(ApiUrlConfig.getJsonPatrol(), null));
- largeBuilding.setJsonPatrolPoint(repeat(ApiUrlConfig.getJsonPatrolPoint(), null));
- largeBuilding.setJsonPowerWaterMonth((repeat(ApiUrlConfig.getJsonPowerWaterMonth(), null)));
- largeBuilding.setJsonTarget(repeat(ApiUrlConfig.getJsonTarget(), null));
- largeBuilding.setJsonUseElectricity(repeat(ApiUrlConfig.getJsonUseElectricity(), null));
- largeBuilding.setJsonGreenElectricity(repeat(ApiUrlConfig.getJsonGreenElectricity(), null));
- largeBuilding.setJsonCarbon(repeat(ApiUrlConfig.getJsonCarbon(), null));
- largeBuilding.setJsonEnergyYear(repeat(ApiUrlConfig.getJsonEnergyYear(), null));
- largeBuilding.setJsonPowerYear(repeat(ApiUrlConfig.getJsonPowerYear(), null));
- largeBuilding.setJsonWaterYear(repeat(ApiUrlConfig.getJsonWaterYear(), null));
- if (platBuildingMapper.getCount() > 0){
- platBuildingMapper.updateBuilding(largeBuilding);
- }
- else {
- platBuildingMapper.insertBuilding(largeBuilding);
- }
- }
- /**
- * 办公能耗 空气概况
- * 该接口请求频率 5分钟一次
- */
- public void getRightBuildingDataSecondHalf(){
- LargeBuilding largeBuilding = new LargeBuilding();
- largeBuilding.setJsonAir(repeat(ApiUrlConfig.getJsonAir(), null));
- if (platBuildingMapper.getCount() > 0){
- platBuildingMapper.updateBuilding(largeBuilding);
- }
- else {
- platBuildingMapper.insertBuilding(largeBuilding);
- }
- }
- public String repeat(String url, String params){
- String result = null;
- try {
- if (StringUtils.isNotBlank(params)){
- String res = HttpUtils.sendGet(url, params);
- if (StringUtils.isNotBlank(res)){
- JSONObject jsonObject = JSONObject.parseObject(res);
- result = jsonObject.getString("data");
- }
- } else {
- String res = HttpUtils.sendGet(url);
- if (StringUtils.isNotBlank(res)){
- JSONObject jsonObject = JSONObject.parseObject(res);
- result = jsonObject.getString("data");
- }
- }
- } catch (Exception e){
- // 添加接口请求记录
- PlatApiRecord platApiRecord = new PlatApiRecord();
- platApiRecord.setApiUrl(url);
- platApiRecord.setApiResult(result);
- iPlatApiRecordService.save(platApiRecord);
- return result;
- }
- // 添加接口请求记录
- PlatApiRecord platApiRecord = new PlatApiRecord();
- platApiRecord.setApiUrl(url);
- platApiRecord.setApiResult(result);
- iPlatApiRecordService.save(platApiRecord);
- return result;
- }
- }
|