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