From 34519422f35d642179631b8a9c60f5d93d1732e3 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 28 八月 2024 18:05:14 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 39 ++++++++++++++++++- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/MyChargingOrderList.java | 6 +++ ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SendMessageFallbackFactory.java | 34 +++++++++++++++++ ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStartCharging.java | 2 + ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/SendMessageClient.java | 26 +++++++++++++ 5 files changed, 104 insertions(+), 3 deletions(-) diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SendMessageFallbackFactory.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SendMessageFallbackFactory.java new file mode 100644 index 0000000..863530b --- /dev/null +++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SendMessageFallbackFactory.java @@ -0,0 +1,34 @@ +package com.ruoyi.integration.api.factory; + +import com.ruoyi.common.core.domain.R; +import com.ruoyi.integration.api.feignClient.ChargingHandshakeClient; +import com.ruoyi.integration.api.feignClient.SendMessageClient; +import com.ruoyi.integration.api.model.ChargingHandshake; +import com.ruoyi.integration.api.model.PlatformStartCharging; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +/** + * 充电桩服务降级处理 + * + * @author ruoyi + */ +@Component +public class SendMessageFallbackFactory implements FallbackFactory<SendMessageClient> +{ + private static final Logger log = LoggerFactory.getLogger(SendMessageFallbackFactory.class); + + @Override + public SendMessageClient create(Throwable throwable) { + log.error("发送充电桩消息失败:{}", throwable.getMessage()); + return new SendMessageClient() { + + + @Override + public void platformStartCharging(PlatformStartCharging platformStartCharging) { + } + }; + } +} diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/SendMessageClient.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/SendMessageClient.java new file mode 100644 index 0000000..0657802 --- /dev/null +++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/SendMessageClient.java @@ -0,0 +1,26 @@ +package com.ruoyi.integration.api.feignClient; + +import com.ruoyi.common.core.constant.ServiceNameConstants; +import com.ruoyi.integration.api.factory.SendMessageFallbackFactory; +import com.ruoyi.integration.api.model.EndCharge; +import com.ruoyi.integration.api.model.PlatformStartCharging; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * @author zhibing.pu + * @Date 2024/8/28 16:53 + */ +@FeignClient(contextId = "SendMessageClient", value = ServiceNameConstants.INTEGRATION_SERVICE, fallbackFactory = SendMessageFallbackFactory.class) +public interface SendMessageClient { + + + /** + * 远程控制启动充电 + * @param platformStartCharging + * @return + */ + @PostMapping("/sendMessage/platformStartCharging") + void platformStartCharging(@RequestBody PlatformStartCharging platformStartCharging); +} diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStartCharging.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStartCharging.java index 5edb4de..b19b471 100644 --- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStartCharging.java +++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStartCharging.java @@ -2,6 +2,7 @@ import lombok.Data; import lombok.experimental.Accessors; +import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.mapping.Document; import java.math.BigDecimal; @@ -15,6 +16,7 @@ @Accessors(chain = true) public class PlatformStartCharging extends BaseModel { + @Id private String transaction_serial_number; // 交易流水号 private String charging_pile_code; // 桩编码 private String charging_gun_code; // 抢号 diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/MyChargingOrderList.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/MyChargingOrderList.java index 9c1613b..1e3e064 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/MyChargingOrderList.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/MyChargingOrderList.java @@ -31,4 +31,10 @@ private BigDecimal payMoney; @ApiModelProperty("订单时间") private String createTime; + @ApiModelProperty("评价状态(1=待评价,2=已评价)") + private Integer evaluate; + @ApiModelProperty("电费") + private BigDecimal electricCharge; + @ApiModelProperty("服务费") + private BigDecimal serviceCharge; } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java index d38e967..e8b1df8 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java @@ -23,8 +23,10 @@ import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.integration.api.feignClient.ChargingHandshakeClient; +import com.ruoyi.integration.api.feignClient.SendMessageClient; import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient; import com.ruoyi.integration.api.model.ChargingHandshake; +import com.ruoyi.integration.api.model.PlatformStartCharging; import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData; import com.ruoyi.order.api.model.TChargingOrder; import com.ruoyi.order.api.model.TChargingOrderAccountingStrategy; @@ -105,6 +107,9 @@ @Resource private ChargingHandshakeClient chargingHandshakeClient; + @Resource + private SendMessageClient sendMessageClient; + @@ -137,7 +142,9 @@ myChargingOrderList.setCreateTime(tChargingOrder.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); orderLists.add(myChargingOrderList); } + list = this.baseMapper.getMyChargingOrderList(appUserId, query.getType(), null, null); map.put("list", orderLists); + map.put("totle", list.size()); return map; } @@ -414,10 +421,25 @@ preChargeCheck.setSecureConnectionDetection(false); String key = "AQJC_" + chargingOrder.getChargingGunId(); redisService.setCacheObject(key, preChargeCheck); - //开始检测充电桩状,将检查状态写入缓存。检测完成后开始开启充电 - //充电结束后需要计算退款剩余金额 - // todo 需要完善 + //根据当前充值的金额和计费模板算出充电的金额 + BigDecimal rechargeAmount = chargingOrder.getRechargeAmount(); + //计算充电金额,会员需要将折扣金额加入到充电总金额中 + +// TAppUser appUser = appUserClient.getUserById(chargingOrder.getAppUserId()).getData(); +// if(){ +// appUser.getVipId() +// } +// +// +// //调用远程启动充电消息 +// PlatformStartCharging platformStartCharging = new PlatformStartCharging(); +// platformStartCharging.setTransaction_serial_number(chargingOrder.getCode()); +// platformStartCharging.setCharging_pile_code(); +// platformStartCharging.setCharging_gun_code(); +// platformStartCharging.setCard_number(); +// platformStartCharging.setAccount_balance() +// sendMessageClient.platformStartCharging(platformStartCharging); return AjaxResult.success(); } @@ -484,10 +506,21 @@ chargingOrder.setEndMode(1); this.updateById(chargingOrder); //调用硬件停止充电,停止成功后开始计算费用退款 + + + // todo 待完善 return AjaxResult.success(); } + + + public void endCharge(){ + + } + + + @Override public TCharingOrderVO chargingOrder(ChargingOrderQuery dto) { -- Gitblit v1.7.1