puzhibing
2024-10-29 32291a03e69e7c3bdb627c893d52eebde0b140fe
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
@@ -27,6 +27,7 @@
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.integration.api.feignClient.IntegrationClient;
import com.ruoyi.integration.api.feignClient.IotInterfaceClient;
import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
@@ -107,6 +108,9 @@
   @Resource
   private TFaultMessageService faultMessageService;
   
   @Resource
   private IntegrationClient integrationClient;
   
   
   
@@ -166,19 +170,19 @@
         return AjaxResult.error("设备编号已存在");
      }
      //调用华为Iot创建设备
      AddDevice addDevice = new AddDevice();
      addDevice.setProductId("66da68d21837002b28b34ec0");
      addDevice.setNodeId(chargingPile.getCode());
      addDevice.setDeviceName(chargingPile.getName());
      addDevice.setDescription(chargingPile.getNumber().toString());
      AddDeviceResp deviceResp = iotInterfaceClient.addDevice(addDevice).getData();
      if(null != deviceResp){
         int httpStatusCode = deviceResp.getHttpStatusCode();
         if(httpStatusCode == 201){
            chargingPile.setIotdDeviceId(deviceResp.getDeviceId());
            this.save(chargingPile);
         }
      }
//      AddDevice addDevice = new AddDevice();
//      addDevice.setProductId("66da68d21837002b28b34ec0");
//      addDevice.setNodeId(chargingPile.getCode());
//      addDevice.setDeviceName(chargingPile.getName());
//      addDevice.setDescription(chargingPile.getNumber().toString());
//      AddDeviceResp deviceResp = iotInterfaceClient.addDevice(addDevice).getData();
//      if(null != deviceResp){
//         int httpStatusCode = deviceResp.getHttpStatusCode();
//         if(httpStatusCode == 201){
//            chargingPile.setIotdDeviceId(deviceResp.getDeviceId());
//         }
//      }
      this.save(chargingPile);
      return AjaxResult.success();
   }
   
@@ -262,12 +266,12 @@
      for (Integer id : ids) {
         TChargingPile chargingPile = this.getById(id);
         //调用华为Iot删除设备
         if(StringUtils.isNotEmpty(chargingPile.getIotdDeviceId())){
            DeleteDeviceResp deviceResp = iotInterfaceClient.deleteDevice(chargingPile.getIotdDeviceId()).getData();
            if(null != deviceResp && deviceResp.getHttpStatusCode() == 0){
               this.removeById(chargingPile);
            }
         }
//         if(StringUtils.isNotEmpty(chargingPile.getIotdDeviceId())){
//            DeleteDeviceResp deviceResp = iotInterfaceClient.deleteDevice(chargingPile.getIotdDeviceId()).getData();
//            if(null != deviceResp && deviceResp.getHttpStatusCode() == 0){
//            }
//         }
         this.removeById(chargingPile);
      }
      return AjaxResult.success();
   }
@@ -284,6 +288,11 @@
         tChargingGun.setAccountingStrategyId(setAccountingStrategy.getAccountingStrategyId());
      }
      chargingGunService.updateBatchById(list);
      //下发硬件更新计费模板
      for (TChargingPile chargingPile : this.listByIds(id)) {
         integrationClient.setupBillingModel1(chargingPile.getCode());
      }
   }
   @Override
@@ -577,35 +586,37 @@
   @Override
   public void updateStatus() {
      List<TChargingPile> list = this.list(new LambdaQueryWrapper<TChargingPile>().eq(TChargingPile::getDelFlag, 0));
      List<TChargingPile> datas = new ArrayList();
      Map<String, Object> charging_pile_online = redisService.getCacheMap("charging_pile_online");
      for (TChargingPile chargingPile : list) {
         Long time = (Long) charging_pile_online.get(chargingPile.getCode());
         if(null != time && System.currentTimeMillis() - time > 60000){
            chargingPile.setStatus(2);
            datas.add(chargingPile);
         }
      }
      if(datas.size() > 0){
         for (TChargingPile data : datas) {
            if(data.getStatus() == 1){
               TFaultMessage faultMessage = faultMessageService.getOne(new LambdaQueryWrapper<TFaultMessage>().eq(TFaultMessage::getChargingPileId, data.getId())
                     .eq(TFaultMessage::getStatus, 1).eq(TFaultMessage::getDelFlag, 0).isNull(TFaultMessage::getEndTime));
               if(null == faultMessage){
                  faultMessage = new TFaultMessage();
                  faultMessage.setSiteId(data.getSiteId());
                  faultMessage.setChargingPileId(data.getId());
                  faultMessage.setStatus(1);
                  faultMessage.setDownTime(LocalDateTime.now());
                  faultMessage.setCreateTime(LocalDateTime.now());
                  faultMessage.setDelFlag(false);
                  faultMessage.setContent("设备离线");
                  faultMessageService.save(faultMessage);
               }
            TChargingPile chargingPile1 = new TChargingPile();
            chargingPile1.setId(chargingPile.getId());
            chargingPile1.setStatus(2);
            this.updateById(chargingPile1);
            List<TChargingGun> list1 = chargingGunService.list(new LambdaQueryWrapper<TChargingGun>().eq(TChargingGun::getChargingPileId, chargingPile.getId()));
            for (TChargingGun chargingGun : list1) {
               TChargingGun chargingGun1 = new TChargingGun();
               chargingGun1.setId(chargingGun.getId());
               chargingGun1.setStatus(1);
               chargingGunService.updateById(chargingGun1);
            }
            //添加记录
            TFaultMessage faultMessage = faultMessageService.getOne(new LambdaQueryWrapper<TFaultMessage>().eq(TFaultMessage::getChargingPileId, chargingPile.getId())
                  .eq(TFaultMessage::getStatus, 1).eq(TFaultMessage::getDelFlag, 0).isNull(TFaultMessage::getEndTime));
            if(null == faultMessage){
               faultMessage = new TFaultMessage();
               faultMessage.setSiteId(chargingPile.getSiteId());
               faultMessage.setChargingPileId(chargingPile.getId());
               faultMessage.setStatus(1);
               faultMessage.setDownTime(LocalDateTime.now());
               faultMessage.setCreateTime(LocalDateTime.now());
               faultMessage.setDelFlag(false);
               faultMessage.setContent("设备离线");
               faultMessageService.save(faultMessage);
            }
         }
         this.updateBatchById(datas);
      }
   }
}