ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java
@@ -3,6 +3,7 @@ import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient; import com.ruoyi.chargingPile.api.model.TChargingPile; import com.ruoyi.chargingPile.api.vo.SiteInfoVO; import com.ruoyi.chargingPile.api.vo.UpdateChargingPileStatusVo; import com.ruoyi.common.core.domain.R; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -58,7 +59,7 @@ } @Override public void updateChargingPileStatus(String pile_code, String gun_code, Integer status) { public void updateChargingPileStatus(UpdateChargingPileStatusVo vo) { log.error("修改充电桩状态失败:" + throwable.getMessage()); } ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingPileClient.java
@@ -3,14 +3,12 @@ import com.ruoyi.chargingPile.api.factory.ChargingPileFallbackFactory; import com.ruoyi.chargingPile.api.model.TChargingPile; import com.ruoyi.chargingPile.api.vo.SiteInfoVO; import com.ruoyi.chargingPile.api.vo.UpdateChargingPileStatusVo; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.util.List; @@ -53,9 +51,7 @@ /** * 修改充电桩状态 * @param code * @param status */ @PostMapping("/t-charging-pile/updateChargingPileStatus") void updateChargingPileStatus(@RequestParam("pile_code") String pile_code, @RequestParam("gun_code") String gun_code, @RequestParam("status") Integer status); void updateChargingPileStatus(@RequestBody UpdateChargingPileStatusVo vo); } ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/UpdateChargingPileStatusVo.java
New file @@ -0,0 +1,15 @@ package com.ruoyi.chargingPile.api.vo; import lombok.Data; /** * @author zhibing.pu * @Date 2024/11/4 11:37 */ @Data public class UpdateChargingPileStatusVo { private String pile_code; private String gun_code; private Integer status; } ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java
@@ -8,6 +8,7 @@ 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.api.vo.UpdateChargingPileStatusVo; import com.ruoyi.chargingPile.dto.ChargeMonitoring; import com.ruoyi.chargingPile.dto.ChargingGunCountMonitoring; import com.ruoyi.chargingPile.dto.ChargingGunMonitoring; @@ -219,11 +220,13 @@ /** * 更新充电桩状态 * @param status */ @ResponseBody @PostMapping("/updateChargingPileStatus") public void updateChargingPileStatus(@RequestParam("pile_code") String pile_code, @RequestParam("gun_code") String gun_code, @RequestParam("status") Integer status){ public void updateChargingPileStatus(@RequestBody UpdateChargingPileStatusVo vo){ String pile_code = vo.getPile_code(); String gun_code = vo.getGun_code(); Integer status = vo.getStatus(); Map<String, Object> charging_pile_online = redisService.getCacheMap("charging_gun_online"); Long time = (Long) charging_pile_online.get(pile_code + gun_code); //小于30秒才处理数据,防止频繁查询数据 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java
@@ -9,6 +9,7 @@ import com.ruoyi.chargingPile.api.model.TChargingGun; import com.ruoyi.chargingPile.api.model.TFaultMessage; import com.ruoyi.chargingPile.api.vo.GetChargingGunByCode; import com.ruoyi.chargingPile.api.vo.UpdateChargingPileStatusVo; import com.ruoyi.integration.api.model.*; import com.ruoyi.integration.iotda.constant.SendTagConstant; import com.ruoyi.integration.iotda.enums.ServiceIdMenu; @@ -149,7 +150,11 @@ BeanUtils.copyProperties(pingMessage,ping); pingService.create(ping); chargingPileClient.updateChargingPileStatus(pingMessage.getCharging_pile_code(), pingMessage.getCharging_gun_code(), pingMessage.getCharging_gun_status()); UpdateChargingPileStatusVo vo1 = new UpdateChargingPileStatusVo(); vo1.setGun_code(pingMessage.getCharging_gun_code()); vo1.setPile_code(pingMessage.getCharging_pile_code()); vo1.setStatus(pingMessage.getCharging_gun_status()); chargingPileClient.updateChargingPileStatus(vo1); break; case SendTagConstant.END_CHARGE: EndChargeMessage endChargeMessage = message.getEndChargeMessage();