Pu Zhibing
22 小时以前 74dbde1f3b2f42c42a67ccd1df82f4d89c729559
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java
@@ -6,48 +6,52 @@
import com.ruoyi.chargingPile.api.model.*;
import com.ruoyi.chargingPile.api.query.TChargingGunQuery;
import com.ruoyi.chargingPile.api.vo.TChargingGunVO;
import com.ruoyi.chargingPile.api.dto.PageChargingPileListDTO;
import com.ruoyi.chargingPile.api.model.Site;
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.BatchSetAccountingStrategy;
import com.ruoyi.chargingPile.api.query.PageChargingPileList;
import com.ruoyi.chargingPile.api.vo.UpdateChargingPileStatusVo;
import com.ruoyi.chargingPile.dto.ChargeMonitoring;
import com.ruoyi.chargingPile.dto.ChargingGunCountMonitoring;
import com.ruoyi.chargingPile.dto.ChargingGunMonitoring;
import com.ruoyi.chargingPile.dto.GetChargingGunMonitoring;
import com.ruoyi.chargingPile.service.*;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.chargingPile.api.dto.PageChargingPileListDTO;
import com.ruoyi.chargingPile.api.model.TChargingPile;
import com.ruoyi.chargingPile.api.query.BatchSetAccountingStrategy;
import com.ruoyi.chargingPile.service.ISiteService;
import com.ruoyi.chargingPile.service.TChargingGunService;
import com.ruoyi.chargingPile.service.TChargingPileService;
import com.ruoyi.chargingPile.service.TFaultMessageService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.chargingPile.api.query.PageChargingPileList;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.log.enums.OperatorType;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.security.annotation.Logical;
import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.ruoyi.integration.api.elutong.model.ConnectorStatusInfo;
import com.ruoyi.integration.api.elutong.model.ConnectorStatusReq;
import com.ruoyi.integration.api.feignClient.ELuTongClient;
import com.ruoyi.integration.api.feignClient.TCECClient;
import com.ruoyi.order.api.feignClient.ChargingOrderClient;
import com.ruoyi.order.api.model.TChargingOrder;
import com.ruoyi.order.api.vo.TChargingOrderVo;
import com.ruoyi.other.api.domain.TVip;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
@@ -58,6 +62,7 @@
 * @author xiaochen
 * @since 2024-08-06
 */
@Slf4j
@Api(tags = "充电桩")
@RestController
@RequestMapping("/t-charging-pile")
@@ -80,6 +85,14 @@
   @Resource
   private ISiteService siteService;
   @Resource
   private ELuTongClient eLuTongClient;
   @Resource
   private ISiteService siteService;
    @Autowired
@@ -271,6 +284,7 @@
                  public void run() {
                     //推送状态给三方平台
                     tcecClient.pushChargingGunStatus(tChargingGun.getFullNumber(), 2);
                            pushConnectorStatus(tChargingGun);
                  }
               }).start();
            }
@@ -302,6 +316,7 @@
                  public void run() {
                     //推送状态给三方平台
                     tcecClient.pushChargingGunStatus(tChargingGun.getFullNumber(), 7);
                            pushConnectorStatus(tChargingGun);
                  }
               }).start();
            }
@@ -359,6 +374,7 @@
                     public void run() {
                        //推送状态给三方平台
                        tcecClient.pushChargingGunStatus(tChargingGun.getFullNumber(), 5);
                                pushConnectorStatus(tChargingGun);
                     }
                  }).start();
               }
@@ -375,6 +391,7 @@
                     public void run() {
                        //推送状态给三方平台
                        tcecClient.pushChargingGunStatus(tChargingGun.getFullNumber(), 3);
                                pushConnectorStatus(tChargingGun);
                     }
                  }).start();
               }
@@ -389,5 +406,60 @@
         }
      }
   }
   /**
    * 推送设备接口状态信息
    * @param chargingGun
    */
   private void pushConnectorStatus(TChargingGun chargingGun){
      Site site = siteService.getById(chargingGun.getSiteId());
      if(StringUtils.isNotEmpty(site.getSerAreaCode())){
         ConnectorStatusReq connectorStatusReq = new ConnectorStatusReq();
         connectorStatusReq.setOperatorId("91510903906171535D");
         connectorStatusReq.setSerAreaCode(site.getSerAreaCode());
         connectorStatusReq.setStationId(site.getCode());
         List<ConnectorStatusInfo> connectorStatusInfos = new ArrayList<>();
         connectorStatusInfos.add(buildConnectorStatus(chargingGun));
         connectorStatusReq.setItemSize(connectorStatusInfos.size());
         connectorStatusReq.setConnectorStatusInfos(connectorStatusInfos);
         R r = eLuTongClient.pushConnectorStatus(connectorStatusReq);
         if(200 != r.getCode()){
            log.error(r.getMsg());
         }
      }
   }
   private ConnectorStatusInfo buildConnectorStatus(TChargingGun chargingGun){
      ConnectorStatusInfo connectorStatusInfo = new ConnectorStatusInfo();
      connectorStatusInfo.setConnectorId(chargingGun.getCode());
      switch (chargingGun.getStatus()){
         case 1:
            connectorStatusInfo.setStatus(0);
            break;
         case 2:
            connectorStatusInfo.setStatus(1);
            break;
         case 3:
            connectorStatusInfo.setStatus(2);
            break;
         case 4:
            connectorStatusInfo.setStatus(3);
            break;
         case 5:
            connectorStatusInfo.setStatus(3);
            break;
         case 6:
            connectorStatusInfo.setStatus(4);
            break;
         case 7:
            connectorStatusInfo.setStatus(255);
            break;
      }
      connectorStatusInfo.setSoc(0D);
      connectorStatusInfo.setRemainingTime(0);
      return connectorStatusInfo;
   }
}