From 082b9ab8643bc5e81f2e70b8e9400fdaba62e686 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 03 九月 2025 17:19:18 +0800 Subject: [PATCH] 修改小程序首页查询重复bug --- ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml | 5 ruoyi-service/ruoyi-chargingPile/src/test/java/com/ruoyi/chargingPile/RuoYiChargingPileApplicationTests.java | 42 ++-- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 1 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java | 22 +- ruoyi-service/ruoyi-account/src/test/java/com/ruoyi/account/RuoYiAccountApplicationTests.java | 60 +++--- ruoyi-service/ruoyi-jianguan/src/test/java/com/ruoyi/jianguan/RuoYiJianGuanApplicationTests.java | 362 ++++++++++++++++++++-------------------- ruoyi-service/ruoyi-integration/src/test/java/com/ruoyi/integration/RuoYiIntegrationApplicationTests.java | 18 +- ruoyi-service/ruoyi-payment/src/test/java/com/ruoyi/payment/RuoYiPaymentApplicationTests.java | 16 8 files changed, 263 insertions(+), 263 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/test/java/com/ruoyi/account/RuoYiAccountApplicationTests.java b/ruoyi-service/ruoyi-account/src/test/java/com/ruoyi/account/RuoYiAccountApplicationTests.java index af00dff..9302669 100644 --- a/ruoyi-service/ruoyi-account/src/test/java/com/ruoyi/account/RuoYiAccountApplicationTests.java +++ b/ruoyi-service/ruoyi-account/src/test/java/com/ruoyi/account/RuoYiAccountApplicationTests.java @@ -1,30 +1,30 @@ -package com.ruoyi.account; - -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.ruoyi.common.security.service.TokenService; -import com.ruoyi.system.api.model.LoginUserApplet; -import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; - -import java.util.HashMap; -import java.util.Map; - -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = RuoYiAccountApplication.class) -public class RuoYiAccountApplicationTests { - @Autowired - private TokenService tokenService; - - @Test - public void test(){ - LoginUserApplet loginUserApplet = new LoginUserApplet(); - loginUserApplet.setUserId(1839480334642704385L); - loginUserApplet.setUserIdStr("1839480334642704385"); - loginUserApplet.setName("158****3127"); - loginUserApplet.setPhone("15828353127"); - loginUserApplet.setAvatar(""); - loginUserApplet.setAddress(""); - Map<String, Object> tokenInfos = new HashMap<>(); - System.err.println(tokenService.createTokenApplet(loginUserApplet)); - } -} +//package com.ruoyi.account; +// +//import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +//import com.ruoyi.common.security.service.TokenService; +//import com.ruoyi.system.api.model.LoginUserApplet; +//import org.junit.jupiter.api.Test; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.boot.test.context.SpringBootTest; +// +//import java.util.HashMap; +//import java.util.Map; +// +//@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = RuoYiAccountApplication.class) +//public class RuoYiAccountApplicationTests { +// @Autowired +// private TokenService tokenService; +// +// @Test +// public void test(){ +// LoginUserApplet loginUserApplet = new LoginUserApplet(); +// loginUserApplet.setUserId(1839480334642704385L); +// loginUserApplet.setUserIdStr("1839480334642704385"); +// loginUserApplet.setName("158****3127"); +// loginUserApplet.setPhone("15828353127"); +// loginUserApplet.setAvatar(""); +// loginUserApplet.setAddress(""); +// Map<String, Object> tokenInfos = new HashMap<>(); +// System.err.println(tokenService.createTokenApplet(loginUserApplet)); +// } +//} diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml index 826c3ec..fef735c 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml +++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml @@ -145,7 +145,6 @@ from t_charging_gun where - del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} group by site_id) tcg on (ts.id = tcg.site_id) @@ -160,7 +159,7 @@ t_accounting_strategy_detail a left join t_accounting_strategy b on (a.accounting_strategy_id = b.id) - where b.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} + where a.del_flag = 0 and b.del_flag = 0 and b.audit_status = 3 AND DATE_FORMAT(NOW(), '%H:%i:%s') between a.start_time and CASE WHEN a.end_time = '00:00' THEN '23:59:59' ELSE a.end_time END) tasd on (ts.accounting_strategy_id = tasd.accounting_strategy_id) <where> @@ -295,7 +294,7 @@ t_accounting_strategy_detail a left join t_accounting_strategy b on (a.accounting_strategy_id = b.id) - where b.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} + where a.del_flag = 0 and b.del_flag = 0 and b.audit_status = 3 AND DATE_FORMAT(NOW(), '%H:%i:%s') between a.start_time AND CASE WHEN a.end_time = '00:00' THEN '23:59:59' ELSE a.end_time END) tasd on (ts.accounting_strategy_id = tasd.accounting_strategy_id) <where> diff --git a/ruoyi-service/ruoyi-chargingPile/src/test/java/com/ruoyi/chargingPile/RuoYiChargingPileApplicationTests.java b/ruoyi-service/ruoyi-chargingPile/src/test/java/com/ruoyi/chargingPile/RuoYiChargingPileApplicationTests.java index 9163b5f..92edf54 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/test/java/com/ruoyi/chargingPile/RuoYiChargingPileApplicationTests.java +++ b/ruoyi-service/ruoyi-chargingPile/src/test/java/com/ruoyi/chargingPile/RuoYiChargingPileApplicationTests.java @@ -1,21 +1,21 @@ -package com.ruoyi.chargingPile; - -import com.alibaba.fastjson2.JSON; -import com.ruoyi.chargingPile.api.dto.GetPermissionConfigurationDTO; -import com.ruoyi.chargingPile.service.IPartnerService; -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.context.SpringBootTest; - -import javax.annotation.Resource; - -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = RuoYiChargingPileApplication.class) -public class RuoYiChargingPileApplicationTests { - @Resource - private IPartnerService partnerService; - - @Test - public void test(){ - GetPermissionConfigurationDTO permissionConfiguration = partnerService.getPermissionConfiguration(9, 15); - System.err.println(JSON.toJSONString(permissionConfiguration)); - } -} +//package com.ruoyi.chargingPile; +// +//import com.alibaba.fastjson2.JSON; +//import com.ruoyi.chargingPile.api.dto.GetPermissionConfigurationDTO; +//import com.ruoyi.chargingPile.service.IPartnerService; +//import org.junit.jupiter.api.Test; +//import org.springframework.boot.test.context.SpringBootTest; +// +//import javax.annotation.Resource; +// +//@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = RuoYiChargingPileApplication.class) +//public class RuoYiChargingPileApplicationTests { +// @Resource +// private IPartnerService partnerService; +// +// @Test +// public void test(){ +// GetPermissionConfigurationDTO permissionConfiguration = partnerService.getPermissionConfiguration(9, 15); +// System.err.println(JSON.toJSONString(permissionConfiguration)); +// } +//} 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 b8cf69f..9c6c59e 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,9 +1,9 @@ -package com.ruoyi.integration; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.boot.test.context.SpringBootTest; -@Slf4j -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = RuoYiIntegrationApplication.class) -public class RuoYiIntegrationApplicationTests { - -} +//package com.ruoyi.integration; +// +//import lombok.extern.slf4j.Slf4j; +//import org.springframework.boot.test.context.SpringBootTest; +//@Slf4j +//@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = RuoYiIntegrationApplication.class) +//public class RuoYiIntegrationApplicationTests { +// +//} diff --git a/ruoyi-service/ruoyi-jianguan/src/test/java/com/ruoyi/jianguan/RuoYiJianGuanApplicationTests.java b/ruoyi-service/ruoyi-jianguan/src/test/java/com/ruoyi/jianguan/RuoYiJianGuanApplicationTests.java index 53f82ef..23ff263 100644 --- a/ruoyi-service/ruoyi-jianguan/src/test/java/com/ruoyi/jianguan/RuoYiJianGuanApplicationTests.java +++ b/ruoyi-service/ruoyi-jianguan/src/test/java/com/ruoyi/jianguan/RuoYiJianGuanApplicationTests.java @@ -1,181 +1,181 @@ -package com.ruoyi.jianguan; - -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.baomidou.mybatisplus.annotation.TableField; -import com.ruoyi.jianguan.model.BaseRequestJianGuan; -import com.ruoyi.jianguan.model.BaseResult; -import com.ruoyi.jianguan.model.NotificationStationStatusResult; -import com.ruoyi.jianguan.model.QueryTokenResult; -import com.ruoyi.jianguan.util.AESUtil; -import com.ruoyi.jianguan.util.AesEncryption; -import com.ruoyi.jianguan.util.HMacMD5Util; -import com.ruoyi.jianguan.util.SequenceGenerator; -import com.ruoyi.other.api.domain.Operator; -import lombok.extern.slf4j.Slf4j; -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.context.SpringBootTest; - -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; - -@Slf4j -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = RuoYiJianGuanApplication.class) -public class RuoYiJianGuanApplicationTests { - 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 query_token = "/query_token"; - - private final static String url = "https://dataexchange.cdczpt.com/shevcs/v1"; - private final static String supervise_notification_equip_charge_status = "/notification_start_charge_result"; - - @Test - public void contextLoads() { - com.alibaba.fastjson2.JSONObject jsonObject = new com.alibaba.fastjson2.JSONObject(); - jsonObject.put("StartChargeSeq","CD34920250109232935330"); - jsonObject.put("ConnectorID","202412310000100101"); - jsonObject.put("StartChargeSeqStat",1); - - // 转化为yyyy-MM-dd HH:mm:ss格式字符串 - jsonObject.put("StartTime","2025-01-09 23:29:40"); - - HttpRequest post = HttpUtil.createPost(url+supervise_notification_equip_charge_status); - buildBody(post, jsonObject, new Operator()); - HttpResponse execute = post.execute(); - if(200 != execute.getStatus()){ - log.error("推送三方平台充电开始状态失败:" + execute.body()); - } - log.info("推送三方平台设备状态响应:" + execute.body()); - BaseResult baseResult = JSON.parseObject(execute.body(), BaseResult.class); - Integer Ret = baseResult.getRet(); - if(0 != Ret){ - log.error("推送三方平台充电开始状态失败:" + baseResult.getMsg()); - - } - //解密参数 - String decrypt = AESUtil.decrypt(baseResult.getData(), DataSecret, DataSecretIV); - log.info("推送三方平台设备状态Data:" + decrypt); - NotificationStationStatusResult notificationStationStatusResult = JSON.parseObject(decrypt, NotificationStationStatusResult.class); - System.err.println(notificationStationStatusResult); - } - @Test - public void contextLoads1() { - com.alibaba.fastjson2.JSONObject jsonObject = new com.alibaba.fastjson2.JSONObject(); - jsonObject.put("StartChargeSeq","CD34920250109232935330"); - jsonObject.put("StartChargeSeqStat",4); - jsonObject.put("ConnectorID","202412310000100101"); - jsonObject.put("ConnectorStatus",2); - - jsonObject.put("CurrentA",83); - jsonObject.put("VoltageA",344); - jsonObject.put("StartTime","2025-01-09 23:29:40"); - - LocalDateTime now = LocalDateTime.now(); - // 转化为yyyy-MM-dd HH:mm:ss格式字符串 - jsonObject.put("EndTime",now.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); - jsonObject.put("TotalPower",34.29); - jsonObject.put("TotalMoney",25.93); - - HttpRequest post = HttpUtil.createPost(url+supervise_notification_equip_charge_status); - buildBody(post, jsonObject, new Operator()); - HttpResponse execute = post.execute(); - if(200 != execute.getStatus()){ - log.error("推送三方平台充电开始状态失败:" + execute.body()); - } - log.info("推送三方平台设备状态响应:" + execute.body()); - BaseResult baseResult = JSON.parseObject(execute.body(), BaseResult.class); - Integer Ret = baseResult.getRet(); - if(0 != Ret){ - log.error("推送三方平台充电开始状态失败:" + baseResult.getMsg()); - - } - //解密参数 - String decrypt = AESUtil.decrypt(baseResult.getData(), DataSecret, DataSecretIV); - log.info("推送三方平台设备状态Data:" + decrypt); - NotificationStationStatusResult notificationStationStatusResult = JSON.parseObject(decrypt, NotificationStationStatusResult.class); - System.err.println(notificationStationStatusResult); - } - /** - * 构建请求参数和消息头 - * @param post - * @param - */ - public void buildBody(HttpRequest post, com.alibaba.fastjson2.JSONObject o, 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 encrypt = AesEncryption.encrypt(DataSecret, DataSecretIV,o.toJSONString()); -// 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:" + o.toJSONString()); - } - public String queryToken(){ - 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()); - return null; - } - 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()); - return null; - } - //解密参数 - 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 - return token; - } -} +//package com.ruoyi.jianguan; +// +//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.baomidou.mybatisplus.annotation.TableField; +//import com.ruoyi.jianguan.model.BaseRequestJianGuan; +//import com.ruoyi.jianguan.model.BaseResult; +//import com.ruoyi.jianguan.model.NotificationStationStatusResult; +//import com.ruoyi.jianguan.model.QueryTokenResult; +//import com.ruoyi.jianguan.util.AESUtil; +//import com.ruoyi.jianguan.util.AesEncryption; +//import com.ruoyi.jianguan.util.HMacMD5Util; +//import com.ruoyi.jianguan.util.SequenceGenerator; +//import com.ruoyi.other.api.domain.Operator; +//import lombok.extern.slf4j.Slf4j; +//import org.junit.jupiter.api.Test; +//import org.springframework.boot.test.context.SpringBootTest; +// +//import java.time.LocalDateTime; +//import java.time.format.DateTimeFormatter; +// +//@Slf4j +//@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = RuoYiJianGuanApplication.class) +//public class RuoYiJianGuanApplicationTests { +// 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 query_token = "/query_token"; +// +// private final static String url = "https://dataexchange.cdczpt.com/shevcs/v1"; +// private final static String supervise_notification_equip_charge_status = "/notification_start_charge_result"; +// +// @Test +// public void contextLoads() { +// com.alibaba.fastjson2.JSONObject jsonObject = new com.alibaba.fastjson2.JSONObject(); +// jsonObject.put("StartChargeSeq","CD34920250109232935330"); +// jsonObject.put("ConnectorID","202412310000100101"); +// jsonObject.put("StartChargeSeqStat",1); +// +// // 转化为yyyy-MM-dd HH:mm:ss格式字符串 +// jsonObject.put("StartTime","2025-01-09 23:29:40"); +// +// HttpRequest post = HttpUtil.createPost(url+supervise_notification_equip_charge_status); +// buildBody(post, jsonObject, new Operator()); +// HttpResponse execute = post.execute(); +// if(200 != execute.getStatus()){ +// log.error("推送三方平台充电开始状态失败:" + execute.body()); +// } +// log.info("推送三方平台设备状态响应:" + execute.body()); +// BaseResult baseResult = JSON.parseObject(execute.body(), BaseResult.class); +// Integer Ret = baseResult.getRet(); +// if(0 != Ret){ +// log.error("推送三方平台充电开始状态失败:" + baseResult.getMsg()); +// +// } +// //解密参数 +// String decrypt = AESUtil.decrypt(baseResult.getData(), DataSecret, DataSecretIV); +// log.info("推送三方平台设备状态Data:" + decrypt); +// NotificationStationStatusResult notificationStationStatusResult = JSON.parseObject(decrypt, NotificationStationStatusResult.class); +// System.err.println(notificationStationStatusResult); +// } +// @Test +// public void contextLoads1() { +// com.alibaba.fastjson2.JSONObject jsonObject = new com.alibaba.fastjson2.JSONObject(); +// jsonObject.put("StartChargeSeq","CD34920250109232935330"); +// jsonObject.put("StartChargeSeqStat",4); +// jsonObject.put("ConnectorID","202412310000100101"); +// jsonObject.put("ConnectorStatus",2); +// +// jsonObject.put("CurrentA",83); +// jsonObject.put("VoltageA",344); +// jsonObject.put("StartTime","2025-01-09 23:29:40"); +// +// LocalDateTime now = LocalDateTime.now(); +// // 转化为yyyy-MM-dd HH:mm:ss格式字符串 +// jsonObject.put("EndTime",now.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); +// jsonObject.put("TotalPower",34.29); +// jsonObject.put("TotalMoney",25.93); +// +// HttpRequest post = HttpUtil.createPost(url+supervise_notification_equip_charge_status); +// buildBody(post, jsonObject, new Operator()); +// HttpResponse execute = post.execute(); +// if(200 != execute.getStatus()){ +// log.error("推送三方平台充电开始状态失败:" + execute.body()); +// } +// log.info("推送三方平台设备状态响应:" + execute.body()); +// BaseResult baseResult = JSON.parseObject(execute.body(), BaseResult.class); +// Integer Ret = baseResult.getRet(); +// if(0 != Ret){ +// log.error("推送三方平台充电开始状态失败:" + baseResult.getMsg()); +// +// } +// //解密参数 +// String decrypt = AESUtil.decrypt(baseResult.getData(), DataSecret, DataSecretIV); +// log.info("推送三方平台设备状态Data:" + decrypt); +// NotificationStationStatusResult notificationStationStatusResult = JSON.parseObject(decrypt, NotificationStationStatusResult.class); +// System.err.println(notificationStationStatusResult); +// } +// /** +// * 构建请求参数和消息头 +// * @param post +// * @param +// */ +// public void buildBody(HttpRequest post, com.alibaba.fastjson2.JSONObject o, 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 encrypt = AesEncryption.encrypt(DataSecret, DataSecretIV,o.toJSONString()); +//// 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:" + o.toJSONString()); +// } +// public String queryToken(){ +// 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()); +// return null; +// } +// 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()); +// return null; +// } +// //解密参数 +// 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 +// return token; +// } +//} 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 031b11b..bc4d15a 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 @@ -52,7 +52,6 @@ import com.ruoyi.order.service.TChargingOrderService; import com.ruoyi.order.service.TOrderEvaluateService; import com.ruoyi.order.service.*; -import com.ruoyi.order.util.RedisLock; import com.ruoyi.order.util.mongodb.service.PlatformStartChargingReplyService; import com.ruoyi.order.util.mongodb.service.TransactionRecordService; import com.ruoyi.order.util.mongodb.service.UploadRealTimeMonitoringDataService; diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java index 66eb669..a33ba2a 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java @@ -14,19 +14,16 @@ import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.security.service.TokenService; -import com.ruoyi.order.api.model.TExchangeOrder; import com.ruoyi.order.api.model.TShoppingOrder; import com.ruoyi.order.api.model.TShoppingOrderRefund; import com.ruoyi.order.api.query.ShoppingOrderQuery; import com.ruoyi.order.api.query.TActivityStatisticsQuery; -import com.ruoyi.order.api.vo.ChargingOrderVO; import com.ruoyi.order.api.vo.TActivityStatisticslVO; import com.ruoyi.order.api.vo.TActivityVO; import com.ruoyi.order.dto.*; import com.ruoyi.order.mapper.TShoppingOrderMapper; import com.ruoyi.order.service.TShoppingOrderRefundService; import com.ruoyi.order.service.TShoppingOrderService; -import com.ruoyi.order.util.RedisLock; import com.ruoyi.other.api.domain.TCoupon; import com.ruoyi.other.api.domain.TGoods; import com.ruoyi.other.api.feignClient.CouponClient; @@ -38,7 +35,8 @@ import com.ruoyi.payment.api.model.WxPaymentRefundModel; import com.ruoyi.payment.api.vo.AliQueryOrder; import com.ruoyi.payment.api.vo.NotifyV3PayDecodeRespBody; -import io.seata.spring.annotation.GlobalTransactional; +import org.redisson.api.RLock; +import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; @@ -52,6 +50,7 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** @@ -92,6 +91,9 @@ @Autowired public RedisTemplate redisTemplate; + + @Autowired + private RedissonClient redissonClient; @@ -503,9 +505,9 @@ //商品 if(shoppingOrder.getOrderType() == 1){ //redis锁 和支付使用同一个锁 - RedisLock redisLock = new RedisLock(redisTemplate, "SHOPPING_GOODS_LOCK", 5, 30000); + RLock lock = redissonClient.getLock("SHOPPING_GOODS_LOCK"); try { - redisLock.lock(); + lock.tryLock(5, 30, TimeUnit.SECONDS); TGoods goods = goodsClient.getGoodsById(shoppingOrder.getGoodsId()).getData(); Integer inventory = goods.getInventory(); if(-1 != inventory){ @@ -516,15 +518,15 @@ e.printStackTrace(); }finally { //解锁 - redisLock.unlock(); + lock.unlock(); } } //优惠券 if(shoppingOrder.getOrderType() == 2){ //redis锁 和支付使用同一个锁 - RedisLock redisLock = new RedisLock(redisTemplate, "SHOPPING_COUPON_LOCK", 5, 30000); + RLock lock = redissonClient.getLock("SHOPPING_COUPON_LOCK"); try { - redisLock.lock(); + lock.tryLock(5, 30, TimeUnit.SECONDS); TCoupon coupon = couponClient.getCouponById1(shoppingOrder.getCouponId()).getData(); Integer inventory = coupon.getInventoryQuantity(); if(-1 != inventory){ @@ -535,7 +537,7 @@ e.printStackTrace(); }finally { //解锁 - redisLock.unlock(); + lock.unlock(); } } return AjaxResult.success(); diff --git a/ruoyi-service/ruoyi-payment/src/test/java/com/ruoyi/payment/RuoYiPaymentApplicationTests.java b/ruoyi-service/ruoyi-payment/src/test/java/com/ruoyi/payment/RuoYiPaymentApplicationTests.java index 8acda98..b999c37 100644 --- a/ruoyi-service/ruoyi-payment/src/test/java/com/ruoyi/payment/RuoYiPaymentApplicationTests.java +++ b/ruoyi-service/ruoyi-payment/src/test/java/com/ruoyi/payment/RuoYiPaymentApplicationTests.java @@ -1,8 +1,8 @@ -package com.ruoyi.payment; - -import org.springframework.boot.test.context.SpringBootTest; - -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = RuoYiPaymentApplication.class) -public class RuoYiPaymentApplicationTests { - -} +//package com.ruoyi.payment; +// +//import org.springframework.boot.test.context.SpringBootTest; +// +//@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = RuoYiPaymentApplication.class) +//public class RuoYiPaymentApplicationTests { +// +//} -- Gitblit v1.7.1