luodangjia
2024-10-25 bdb93c5eee83971e77abb6c589f0e608cf586d75
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,35 @@
      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 = faultMessageService.getOne(new LambdaQueryWrapper<TFaultMessage>().eq(TFaultMessage::getChargingPileId, chargingPile.getId())
                  .eq(TFaultMessage::getStatus, 2).eq(TFaultMessage::getDelFlag, 0).isNull(TFaultMessage::getEndTime));
            if(null == faultMessage){
               faultMessage = new TFaultMessage();
               faultMessage.setSiteId(chargingPile.getSiteId());
               faultMessage.setChargingPileId(chargingPile.getId());
               faultMessage.setStatus(2);
               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());
         }
      }
   }
}