|
|
@@ -0,0 +1,50 @@
|
|
|
+package com.zsElectric.boot.common.util.electric;
|
|
|
+
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
+import com.google.gson.JsonObject;
|
|
|
+import com.zsElectric.boot.common.constant.ConnectivityConstants;
|
|
|
+import com.zsElectric.boot.common.util.AESCryptoUtil;
|
|
|
+import com.zsElectric.boot.common.util.HmacMD5Util;
|
|
|
+import com.zsElectric.boot.common.util.OkHttpUtil;
|
|
|
+import com.zsElectric.boot.common.util.SequenceGenUtil;
|
|
|
+import jakarta.annotation.Resource;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
+
|
|
|
+@Slf4j
|
|
|
+public class ChargingUtil {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private TokenManager tokenManager;
|
|
|
+ @Resource
|
|
|
+ private OkHttpUtil okHttpUtil;
|
|
|
+
|
|
|
+ public JsonObject chargingRequest(String url, Map<String,Object> queryParms) {
|
|
|
+ Map<String, String> headers = Map.of(
|
|
|
+ "Authorization", "Bearer " + tokenManager.getValidAccessToken()
|
|
|
+ );
|
|
|
+ try {
|
|
|
+ RequestParmsEntity requestParms = new RequestParmsEntity();
|
|
|
+ SequenceGenUtil.SequenceResult result = SequenceGenUtil.generate();
|
|
|
+
|
|
|
+ requestParms
|
|
|
+ .setOperatorID(ConnectivityConstants.OPERATOR_ID)
|
|
|
+ .setData(AESCryptoUtil.decrypt(queryParms.toString(),ConnectivityConstants.DATA_SECRET,ConnectivityConstants.DATA_SECRET_IV))
|
|
|
+ .setTimeStamp(result.getTimestamp())
|
|
|
+ .setSeq(result.getSequence())
|
|
|
+ .setSig(HmacMD5Util.genSign(requestParms.getOperatorID(),requestParms.getData(),requestParms.getTimeStamp(),requestParms.getSeq(),ConnectivityConstants.SIG_SECRET));
|
|
|
+
|
|
|
+ JsonObject response = okHttpUtil.doPostForm(url, BeanUtil.beanToMap(requestParms), headers);
|
|
|
+
|
|
|
+ if (Objects.isNull(response)) {
|
|
|
+ log.error("调用第三方接口获取Token失败");
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ return response;
|
|
|
+ }catch (Exception e){
|
|
|
+ throw new RuntimeException("调用第三方接口发生异常", e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|