From 7b7bb4e3a7b5fb171a0c4d6fef983902e06a22a5 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 13 六月 2025 15:34:44 +0800 Subject: [PATCH] 川易充 --- ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/util/ChuanYiChongSuperviseUtil.java | 200 ++++++++++++++++++-------------------------------- 1 files changed, 72 insertions(+), 128 deletions(-) diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/util/ChuanYiChongSuperviseUtil.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/util/ChuanYiChongSuperviseUtil.java index 4245a71..6c9a985 100644 --- a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/util/ChuanYiChongSuperviseUtil.java +++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/util/ChuanYiChongSuperviseUtil.java @@ -35,11 +35,11 @@ // private final static String url = "https://dev-gov-hlht-sc.unievbj.com/evcs/v1.0.0"; // 正式环境 - private static final String OperatorID = "MA01H3BQ2"; - private static final String OperatorSecret = "a762796b2a8989b8"; - private static final String SigSecret = "52cd107eb677c004"; - private static final String DataSecret = "98f46ab6481d87c4"; - private static final String DataSecretIV = "978170fd1c11a70e"; + private static final String OperatorID = "906171535"; + private static final String OperatorSecret = "9jG8qysc5RxdbjvnvdmuRYQg6J82Fwj1"; + private static final String SigSecret = "RruzbZxnr74tqxe1"; + private static final String DataSecret = "3QJXn4MSj78zcpW1"; + private static final String DataSecretIV = "jhqj64V9gX8NHbu1"; private final static String url = "https://dataexchange.cdczpt.com/shevcs/v1"; private final static String query_token = "/query_token"; @@ -182,37 +182,17 @@ /** - * 推动充电开始状态 + * 推动充电结束状态 * @param info * @return */ - public NotificationEquipChargeStatusResult notificationSupEquipChargeStatus(Operator operator, com.alibaba.fastjson2.JSONObject info){ - HttpRequest post = HttpUtil.createPost(url+supervise_notification_equip_charge_status); - buildBody(post, info, operator); - HttpResponse execute = post.execute(); - if(200 != execute.getStatus()){ - log.error("推送三方平台充电状态失败:" + execute.body()); - return null; - } - log.info("推送三方平台充电状态响应:" + execute.body()); - BaseResult baseResult = JSON.parseObject(execute.body(), BaseResult.class); - Integer Ret = baseResult.getRet(); - if(0 != Ret){ - log.error("推送三方平台充电状态失败:" + baseResult.getMsg()); - return null; - } - //解密参数 - String decrypt = AESUtil.decrypt(baseResult.getData(), DataSecret, DataSecretIV); - log.info("推送三方平台充电状态Data:" + decrypt); - NotificationEquipChargeStatusResult notificationEquipChargeStatusResult = JSON.parseObject(decrypt, NotificationEquipChargeStatusResult.class); - return notificationEquipChargeStatusResult; - } + /** * 推动充电结束状态 * @param info * @return */ - public NotificationEquipChargeStatusResult notificationEquipChargeStatus(Operator operator, com.alibaba.fastjson2.JSONObject info){ + public NotificationEquipChargeStatusResult notificationSupEquipChargeStatus(Operator operator, com.alibaba.fastjson2.JSONObject info){ HttpRequest post = HttpUtil.createPost(url+supervise_notification_equip_charge_status_end); buildBody(post, info, operator); HttpResponse execute = post.execute(); @@ -326,109 +306,73 @@ } /** * 构建请求参数和消息头 - * @param post * @param */ - public void buildBodyStatus(HttpRequest post, SupStationPowerInfoResult info, Operator operator){ - Long timeStamp = Long.valueOf(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); - post.contentType("application/json;charset=utf-8"); - post.header("Authorization", "Bearer " + queryToken()); - BaseRequestJianGuan baseRequest = new BaseRequestJianGuan(); - baseRequest.setOperatorID("906171535"); - baseRequest.setTimeStamp(timeStamp+""); - baseRequest.setSeq("0001"); - String request_json1 = JacksonUtils.toJson(info); - String encrypt = AesEncryption.encrypt(DataSecret, DataSecretIV,request_json1); -// String encrypt = AesEncryption.encrypt(DataSecret, DataSecretIV,jsonString); - - baseRequest.setData(encrypt); - baseRequest.setOperator(operator); - SequenceGenerator generator = new SequenceGenerator(); - String nextSequence = generator.getNextSequence(); - - String hmacMD5 = HMacMD5Util.getHMacMD5("906171535",timeStamp+"", encrypt,nextSequence,SigSecret); -// String hmacMD5 = HMacMD5Util.getHMacMD5(OperatorID,timeStamp, data,nextSequence,OurSigSecret); - - baseRequest.setSig(hmacMD5); - String request_json = JacksonUtils.toJson(baseRequest); - post.body(request_json); - log.info("推送三方平台请求地址:" + post.getUrl()); - log.info("推送三方平台请求参数:" + request_json); - log.info("推送三方平台请求Data:" + request_json1); - } +// public void buildBodyStatus(HttpRequest post, SupStationPowerInfoResult info, Operator operator){ +// Long timeStamp = Long.valueOf(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); +// post.contentType("application/json;charset=utf-8"); +// post.header("Authorization", "Bearer " + queryToken()); +// BaseRequestJianGuan baseRequest = new BaseRequestJianGuan(); +// baseRequest.setOperatorID("906171535"); +// baseRequest.setTimeStamp(timeStamp+""); +// baseRequest.setSeq("0001"); +// String request_json1 = JacksonUtils.toJson(info); +// String encrypt = AesEncryption.encrypt(DataSecret, DataSecretIV,request_json1); +//// String encrypt = AesEncryption.encrypt(DataSecret, DataSecretIV,jsonString); +// +// baseRequest.setData(encrypt); +// baseRequest.setOperator(operator); +// SequenceGenerator generator = new SequenceGenerator(); +// String nextSequence = generator.getNextSequence(); +// +// String hmacMD5 = HMacMD5Util.getHMacMD5("906171535",timeStamp+"", encrypt,nextSequence,SigSecret); +//// String hmacMD5 = HMacMD5Util.getHMacMD5(OperatorID,timeStamp, data,nextSequence,OurSigSecret); +// +// baseRequest.setSig(hmacMD5); +// String request_json = JacksonUtils.toJson(baseRequest); +// post.body(request_json); +// log.info("推送三方平台请求地址:" + post.getUrl()); +// log.info("推送三方平台请求参数:" + request_json); +// log.info("推送三方平台请求Data:" + request_json1); +// } public static void main(String[] args) { -// BaseModel model = new BaseModel(); -// model.setOperatorID("MA01H3BQ2"); -// model.setData("AoArdDDcmHcmOMkCLHodTpY1xLtt9yhLqxvKPyfdlmEOBj1LJnQM+Z4JOZllt3Pj9rubfgxJ51zMAfzquQegJzHGAT9Y7JrKFzFe6jGtXo0="); -// model.setTimeStamp(20250205120800L); -// model.setSeq("0001"); -// Operator operator = new Operator(); -// operator.setName("XinDianTu"); -// operator.setSigSecret("S94xUpTpOIlLJBk8"); -// model.setOperator(operator); -// String key = operator.getSigSecret(); -// -// String m = new StringBuilder(model.getOperatorID()).append(model.getData()).append(model.getTimeStamp()).append(model.getSeq()).toString(); -// byte[] hmacMd5 = SignUtil.getHMacMD5Bytes(key.getBytes(), m.getBytes()); -// // 打印计算得到的签名Sig -// String s = SignUtil.bytesToHexString(hmacMd5); -// System.err.println(s); +// 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 = 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(); - -// BaseModel model = new BaseModel(); -// model.setOperatorID("MA25CNM38"); -// model.setData("xQYYEPiwoc4JENnQsF50qP6Tmnj7uU/AshWn3QbIgrMIk8zvFpy6fWLIiLzQHcLPFCihqH1uzoNhGVNcS8Wvf5gIx9+cWJvYtjwtsjAGMEwNQ6y+rF1jjKnqCNcQbHbhqJ2l76sD54QCFKyenKxymrXri19bDV8hizn3nBw+jcHBtqKHWzjdSHwPDWPIw4rXnrbWLya2PXVgYtVg93WPtliw+0xsqW0BxJamE70/Ilbg4wB5fOAOvXmbLFI+v9jRjpcA7ImhprqPMYkXYAfa2QlICrJEBK7DfpJvRMzKzeT90kOAITqIqFvbfV0ti+greRqToLP6ni4o6w3ID42UmKasIpLTnx+qtR4bVTBTRuDzXvNXDA92RqHaJO21xbSen1eHN/yGfrchBIM0gmav7EpaYAerfU4ubnmJ6xujR6okYepJwBD5DiSIrObfS+GWVPRekvnjvm7BC02NXTrGKA=="); -// model.setTimeStamp(20250205161426L); -// model.setSeq("0001"); -// Operator operator = new Operator(); -// operator.setOurOperatorId("2921700136"); -// operator.setOurSigSecret("KBm5J2fbGzyhX023"); -// model.setOperator(operator); -// String key = operator.getOurSigSecret(); -// -// String m = new StringBuilder(operator.getOurOperatorId()).append(model.getData()).append(model.getTimeStamp()).append(model.getSeq()).toString(); -// byte[] hmacMd5 = SignUtil.getHMacMD5Bytes(key.getBytes(), m.getBytes()); -// // 打印计算得到的签名Sig -// String s = SignUtil.bytesToHexString(hmacMd5); -// System.err.println(s); - - HttpRequest post = HttpUtil.createPost("https://dataexchange.cdczpt.com/shevcs/v1" + 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 = 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 } } -- Gitblit v1.7.1