From 580568e9fc54fab8459023c4647d509d7fff3fec Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 16 四月 2025 14:28:48 +0800
Subject: [PATCH] 监管平台

---
 ruoyi-service/ruoyi-integration/src/test/java/com/ruoyi/integration/RuoYiIntegrationApplicationTests.java |   63 ++++++++++++++++++++++++++++++-
 1 files changed, 61 insertions(+), 2 deletions(-)

diff --git a/ruoyi-service/ruoyi-integration/src/test/java/com/ruoyi/integration/RuoYiIntegrationApplicationTests.java b/ruoyi-service/ruoyi-integration/src/test/java/com/ruoyi/integration/RuoYiIntegrationApplicationTests.java
index e069794..c4bcc6b 100644
--- a/ruoyi-service/ruoyi-integration/src/test/java/com/ruoyi/integration/RuoYiIntegrationApplicationTests.java
+++ b/ruoyi-service/ruoyi-integration/src/test/java/com/ruoyi/integration/RuoYiIntegrationApplicationTests.java
@@ -1,6 +1,11 @@
 package com.ruoyi.integration;
 
-import com.alibaba.fastjson2.JSON;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpResponse;
+import cn.hutool.http.HttpUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.nacos.common.utils.JacksonUtils;
 import com.ruoyi.chargingPile.api.feignClient.ChargingGunClient;
 import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient;
 import com.ruoyi.chargingPile.api.feignClient.SiteClient;
@@ -12,14 +17,19 @@
 import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
 import com.ruoyi.integration.barrierGate.model.CloudParkingOrder;
 import com.ruoyi.integration.barrierGate.server.ParkingOrderService;
+import com.ruoyi.integration.drainage.AESUtil;
 import com.ruoyi.integration.drainage.TCECSuperviseUtil;
 import com.ruoyi.integration.drainage.model.*;
+import com.ruoyi.integration.drainage.util.AesEncryption;
+import com.ruoyi.integration.drainage.util.HMacMD5Util;
+import com.ruoyi.integration.drainage.util.SequenceGenerator;
 import com.ruoyi.integration.mongodb.service.UploadRealTimeMonitoringDataService;
 import com.ruoyi.order.api.dto.ChargingStatisticeDTO;
 import com.ruoyi.order.api.feignClient.ChargingOrderClient;
 import com.ruoyi.order.api.model.TChargingOrder;
 import com.ruoyi.other.api.domain.Operator;
 import com.ruoyi.other.api.feignClient.OperatorClient;
+import lombok.extern.slf4j.Slf4j;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
@@ -37,7 +47,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
-
+@Slf4j
 @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = RuoYiIntegrationApplication.class)
 public class RuoYiIntegrationApplicationTests {
 	@Resource
@@ -382,4 +392,53 @@
 		return connectorInfos;
 	}
 
+	private final static String query_token = "/query_token";
+	private static final String OperatorID = "MA01H3BQ2";
+	private static final String OperatorSecret = "f1331ef0b37c2d1b";
+	private static final String SigSecret = "a6fedf0e1b27d6f7";
+	private static final String DataSecret = "50a61b93919c9604";
+	private static final String DataSecretIV = "7c8ac6861661d584";
+	private final static String url = "https://dev-gov-hlht-sc.unievbj.com/evcs/v1.0.0";
+	@Test
+	public void test5(){
+		HttpRequest post = HttpUtil.createPost(url + query_token);
+		JSONObject info = new JSONObject();
+		info.put("OperatorID", "906171535");
+		info.put("OperatorSecret", OperatorSecret);
+		Long timeStamp = Long.valueOf(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
+		post.contentType("application/json;charset=utf-8");
+		BaseRequestJianGuan baseRequest = new BaseRequestJianGuan();
+		baseRequest.setOperatorID("906171535");
+		baseRequest.setTimeStamp(timeStamp+"");
+		baseRequest.setSeq("0001");
+		String jsonString = JacksonUtils.toJson(info);
+		SequenceGenerator generator = new SequenceGenerator();
+		String nextSequence = generator.getNextSequence();
+		String data = AesEncryption.encrypt(DataSecret, DataSecretIV,jsonString);
+		String hmacMD5 = HMacMD5Util.getHMacMD5("906171535",timeStamp+"", data,nextSequence,SigSecret);
+		baseRequest.setData(data);
+		baseRequest.setSig(hmacMD5);
+		String request_json = JacksonUtils.toJson(baseRequest);
+		log.info("获取三方平台授权token请求地址:" + post.getUrl());
+		log.info("获取三方平台授权token请求参数:" + request_json);
+		log.info("获取三方平台授权token请求Data:" + jsonString);
+		post.body(request_json);
+		HttpResponse execute = post.execute();
+		if(200 != execute.getStatus()){
+			log.error("获取三方平台授权token失败:" + execute.body());
+		}
+		log.info("获取三方平台授权token响应参数:" + execute.body());
+		BaseResult baseResult = com.alibaba.fastjson.JSON.parseObject(execute.body(), BaseResult.class);
+		Integer Ret = baseResult.getRet();
+		if(0 != Ret){
+			log.error("获取三方平台授权token失败:" + baseResult.getMsg());
+		}
+		//解密参数
+		String decrypt = AESUtil.decrypt(baseResult.getData(), DataSecret, DataSecretIV);
+		log.info("获取三方平台授权token响应Data:" + decrypt);
+		QueryTokenResult queryTokenResult = JSON.parseObject(decrypt, QueryTokenResult.class);
+		String token = queryTokenResult.getAccessToken();
+//		Long tokenAvailableTime = LocalDateTime.now().toEpochSecond(ZoneOffset.UTC) + queryTokenResult.getTokenAvailab
+		System.err.println(token);
+	}
 }

--
Gitblit v1.7.1