ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Ping.java
@@ -13,6 +13,8 @@ @Document(collection = "ping") //指定要对应的文档名(表名) @Accessors(chain = true) public class Ping extends BaseModel { @Id private String id; private String charging_pile_code;// 桩编码 private String charging_gun_code;// 抢号 private Integer charging_gun_status;// 抢状态(0:正常,1:故障) ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Pong.java
@@ -13,6 +13,8 @@ @Document(collection = "pong") //指定要对应的文档名(表名) @Accessors(chain = true) public class Pong extends BaseModel { @Id private String id; private String charging_pile_code;// 桩编码 private String charging_gun_code;// 抢号 private Integer charging_gun_status;// 心跳应答(0) ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/SystemConfigurationClientFallbackFactory.java
New file @@ -0,0 +1,21 @@ package com.ruoyi.other.api.factory; import com.ruoyi.common.core.domain.R; import com.ruoyi.other.api.feignClient.SystemConfigurationClient; import org.springframework.cloud.openfeign.FallbackFactory; /** * @author zhibing.pu * @Date 2025/2/17 9:46 */ public class SystemConfigurationClientFallbackFactory implements FallbackFactory<SystemConfigurationClient> { @Override public SystemConfigurationClient create(Throwable cause) { return new SystemConfigurationClient() { @Override public R<String> getServerPhone() { return R.fail("获取客服电话失败:" + cause.getMessage()); } }; } } ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/SystemConfigurationClient.java
New file @@ -0,0 +1,23 @@ package com.ruoyi.other.api.feignClient; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.other.api.factory.SystemConfigurationClientFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; /** * @author zhibing.pu * @Date 2025/2/17 9:45 */ @FeignClient(contextId = "SystemConfigurationClient", value = ServiceNameConstants.OTHER_SERVICE, fallbackFactory = SystemConfigurationClientFallbackFactory.class) public interface SystemConfigurationClient { /** * 获取客服电话 * @return */ @PostMapping(value = "/t-system-configuration/getServerPhone") R<String> getServerPhone(); } ruoyi-api/ruoyi-api-other/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -10,3 +10,4 @@ com.ruoyi.other.api.factory.WebSocketFallbackFactory com.ruoyi.other.api.factory.UserTagFallbackFactory com.ruoyi.other.api.factory.OperatorFallbackFactory com.ruoyi.other.api.factory.SystemConfigurationClientFallbackFactory ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java
@@ -22,6 +22,7 @@ import com.ruoyi.order.api.model.TChargingOrderAccountingStrategy; import com.ruoyi.other.api.domain.Operator; import com.ruoyi.other.api.feignClient.OperatorClient; import com.ruoyi.other.api.feignClient.SystemConfigurationClient; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; @@ -78,6 +79,9 @@ @Resource private ParkingRecordClient parkingRecordClient; @Resource private SystemConfigurationClient systemConfigurationClient; @@ -268,7 +272,7 @@ List<TChargingPile> tChargingPiles = chargingPileClient.getChargingPileBySiteIds(siteIds).getData(); List<Integer> collect1 = tChargingPiles.stream().map(TChargingPile::getId).collect(Collectors.toList()); List<TChargingGun> chargingGunList = chargingGunClient.getChargingGunByChargingPileIds(collect1).getData(); String serviceTel = systemConfigurationClient.getServerPhone().getData(); List<StationInfo> StationInfos = new ArrayList<>(); for (Site datum : sites) { StationInfo stationInfo = new StationInfo(); @@ -280,7 +284,7 @@ stationInfo.setAreaCode(datum.getDistrictsCode()); stationInfo.setAddress(datum.getAddress()); stationInfo.setStationTel(datum.getPhone()); stationInfo.setServiceTel(datum.getServicePhone()); stationInfo.setServiceTel(serviceTel); switch (datum.getSiteType()){ case 0: stationInfo.setStationType(StationTypeEnum.OTHER.getType()); ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PingServiceImpl.java
@@ -37,6 +37,6 @@ @Override public void delPing() { mongoTemplate.remove(new Query().addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusDays(1)))); mongoTemplate.remove(new Query().addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusDays(1))), Ping.class); } } ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/util/TaskUtil.java
@@ -36,9 +36,9 @@ @Scheduled(cron = "0 0 0 * * ?") @Scheduled(cron = "0 0 3 * * ?") public void task2() { pingService.delPing(); pongService.delPong(); // pingService.delPing(); // pongService.delPong(); } } ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -761,6 +761,18 @@ /** * * @param code */ @ResponseBody @PostMapping(value = "/refund") public R refund(@RequestParam(value = "code") String code){ chargingOrderService.refund(code); return R.ok(); } /** * 远程启动失败后退款回调 */ @ResponseBody ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
@@ -102,6 +102,11 @@ AjaxResult chargingOrderStartupFailureWxRefund(String out_refund_no, String refund_id, String tradeState, String success_time); /** * 启动失败退款操作 * @param code */ void refund(String code); /** * 获取充电中的详情 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TSystemConfigurationController.java
@@ -1,7 +1,9 @@ package com.ruoyi.other.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; @@ -66,5 +68,19 @@ return AjaxResult.success(); } /** * 获取客服电话 * @return */ @PostMapping(value = "/getServerPhone") public R<String> getServerPhone(){ TSystemConfiguration one = systemConfigurationService.getOne(new LambdaQueryWrapper<TSystemConfiguration>().eq(TSystemConfiguration::getType, 1)); if(null != one){ return R.ok(one.getContent()); } return R.ok(); } }