Pu Zhibing
11 小时以前 c05a14bba4b86d83918d7cdc01635785bf5694c2
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
@@ -19,6 +19,7 @@
import com.ruoyi.chargingPile.dto.GetChargingGunMonitoring;
import com.ruoyi.chargingPile.mapper.TChargingPileMapper;
import com.ruoyi.chargingPile.service.*;
import com.ruoyi.chargingPile.util.mongodb.service.UploadRealTimeMonitoringDataService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.web.domain.AjaxResult;
@@ -42,6 +43,7 @@
import com.ruoyi.system.api.feignClient.SysUserClient;
import com.ruoyi.system.api.feignClient.SysUserRoleClient;
import com.ruoyi.system.api.model.SysUserRoleVo;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -95,7 +97,7 @@
   private AppUserCarClient appUserCarClient;
   
   @Resource
   private UploadRealTimeMonitoringDataClient uploadRealTimeMonitoringDataClient;
   private UploadRealTimeMonitoringDataService uploadRealTimeMonitoringDataService;
   @Resource
   private SysUserRoleClient sysUserRoleClient;
@@ -104,7 +106,7 @@
   private IotInterfaceClient iotInterfaceClient;
   
   @Resource
   private RedisService redisService;
   private RedisTemplate redisTemplate;
   
   @Resource
   private TFaultMessageService faultMessageService;
@@ -405,7 +407,7 @@
                  // 查询正在充电的单子的实时记录
                  TChargingOrder chargingOrder = chargingOrderClient.getOrderDetailByGunId(chargingGun.getId()).getData();
                  if(Objects.nonNull(chargingOrder)){
                     UploadRealTimeMonitoringData uploadRealTimeMonitoringData = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrder.getCode()).getData();
                     UploadRealTimeMonitoringData uploadRealTimeMonitoringData = uploadRealTimeMonitoringDataService.getLastDataById(chargingOrder.getCode());
                     if(null != uploadRealTimeMonitoringData){
                        chargingGun.setSoc(uploadRealTimeMonitoringData.getSoc());
                     }else{
@@ -635,7 +637,7 @@
                  gunMonitoring.setLicensePlate(chargingOrder.getPlateNum());
               }
               UploadRealTimeMonitoringData data = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrder.getCode()).getData();
               UploadRealTimeMonitoringData data = uploadRealTimeMonitoringDataService.getLastDataById(chargingOrder.getCode());
               gunMonitoring.setChargingRatio(BigDecimal.valueOf(data.getSoc()));
               gunMonitoring.setElectricQuantity(data.getCharging_degree().toString());
               gunMonitoring.setSoc(data.getSoc().toString());
@@ -701,16 +703,11 @@
    */
   @Override
   public void updateStatus() {
      Map<String, Object> charging_gun_online = redisService.getCacheMap("charging_gun_online");
      Set<String> keySet = charging_gun_online.keySet();
      List<TChargingGun> list = new ArrayList<>();
      if(keySet.size() > 0){
         list = chargingGunService.list(new LambdaQueryWrapper<TChargingGun>().eq(TChargingGun::getDelFlag, 0).in(TChargingGun::getFullNumber, keySet));
      }
      List<TChargingGun> list = chargingGunService.list(new LambdaQueryWrapper<TChargingGun>().eq(TChargingGun::getDelFlag, 0));
      for (TChargingGun chargingGun : list) {
         Long time = (Long) charging_gun_online.get(chargingGun.getFullNumber());
         //判断设备是否真的离线3分钟(2分钟+代码中的60秒间隔处理存储)
         if(null != time && System.currentTimeMillis() - time > 180000){
         Long time = (Long) redisTemplate.opsForHash().get("charging_gun_online", chargingGun.getFullNumber());
         //判断设备是否真的离线5分钟
         if(null != time && System.currentTimeMillis() - time > 300000){
            TChargingGun chargingGun1 = new TChargingGun();
            chargingGun1.setId(chargingGun.getId());
            chargingGun1.setStatus(1);