Pu Zhibing
2024-10-24 d2230c638cc57b7dc4fa4570e79cbc93107926b0
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.chargingPile.api.model.TChargingGun;
import com.ruoyi.chargingPile.api.model.TChargingPile;
import com.ruoyi.chargingPile.api.model.TFaultMessage;
import com.ruoyi.chargingPile.api.query.TChargingGunQuery;
import com.ruoyi.chargingPile.api.vo.TChargingGunVO;
import com.ruoyi.chargingPile.dto.ChargeMonitoring;
@@ -39,6 +40,7 @@
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -61,6 +63,9 @@
   
   @Resource
   private RedisService redisService;
   @Resource
   private TFaultMessageService faultMessageService;
    @Autowired
@@ -218,9 +223,30 @@
      TChargingPile chargingPile = chargingPileService.getOne(new LambdaQueryWrapper<TChargingPile>()
            .eq(TChargingPile::getCode, code).eq(TChargingPile::getDelFlag, 0));
      if(null != chargingPile){
         chargingPile.setStatus(0 == status ? 1 : 3);
         chargingPileService.updateById(chargingPile);
         redisService.getCacheMap("charging_pile_online").put(code, System.currentTimeMillis());
         if(chargingPile.getStatus() == 1){
            TFaultMessage 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);
            chargingPile.setStatus(0 == status ? 1 : 3);
            chargingPileService.updateById(chargingPile);
         }
         if(chargingPile.getStatus() != 1 && 0 == status){
            TFaultMessage one = faultMessageService.getOne(new LambdaQueryWrapper<TFaultMessage>().eq(TFaultMessage::getChargingPileId, chargingPile.getId()).isNull(TFaultMessage::getEndTime));
            if(null != one){
               one.setEndTime(LocalDateTime.now());
               faultMessageService.updateById(one);
            }
         }
         if(0 == status){
            redisService.getCacheMap("charging_pile_online").put(code, System.currentTimeMillis());
         }
      }
   }
}