user/guns-admin/pom.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
user/guns-admin/src/main/java/com/supersavedriving/user/config/RedissonConfig.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/OrderServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/util/RedisUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
user/guns-admin/pom.xml
@@ -67,10 +67,9 @@ </dependency> <dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> <version>3.16.8</version> <artifactId>redisson</artifactId> <version>3.14.0</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> @@ -143,15 +142,6 @@ <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>cn.jpush.api</groupId> user/guns-admin/src/main/java/com/supersavedriving/user/config/RedissonConfig.java
New file @@ -0,0 +1,28 @@ package com.supersavedriving.user.config; import org.redisson.Redisson; import org.redisson.api.RedissonClient; import org.redisson.config.Config; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class RedissonConfig { @Value("${spring.redis.host}") private String host; @Value("${spring.redis.password}") private String password; @Value("${spring.redis.port}") private Integer port; @Bean public RedissonClient redissonClient() { Config config = new Config(); config.useSingleServer().setAddress("redis://" + host + ":" + port); config.useSingleServer().setPassword(password); return Redisson.create(config); } } user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/OrderServiceImpl.java
@@ -440,7 +440,7 @@ @Override public ResultUtil travelOrder(Integer uid, TravelOrder travelOrder) throws Exception { RLock lock1 = redissonClient.getLock("travelOrder:" + uid); boolean lock2 = lock1.tryLock(5, TimeUnit.SECONDS); boolean lock2 = lock1.tryLock(5, 10, TimeUnit.SECONDS); if(!lock2){ return ResultUtil.error("系统繁忙,请稍后重试"); } @@ -568,6 +568,7 @@ * 订单推送逻辑 */ public void pushOrder(Long orderId){ RLock lock1 = redissonClient.getLock("pushOrder:" + orderId); try { Order order = this.selectById(orderId); /** @@ -577,20 +578,8 @@ * 合适司:积分 > 评分 > 距离 * 3.司机没有接单直接将订单置入大厅 */ boolean lock = redisUtil.lock(5); if(!lock){ int num1 = 1; while (num1 <= 10){ Thread.sleep(3000);//等待3秒 lock = redisUtil.lock(5); if(lock){ break; }else{ num1++; } } } if(!lock){ boolean lock2 = lock1.tryLock(5, 10, TimeUnit.SECONDS); if(!lock2){ order.setHallOrder(1); this.updateById(order); ExtraPushOrder(order); @@ -786,10 +775,10 @@ ExtraPushOrder(order); redisUtil.setStrValue("lobbyOrder", "true"); } redisUtil.unlock(); }catch (Exception e){ e.printStackTrace(); redisUtil.unlock(); }finally { lock1.unlock(); } } user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/util/RedisUtil.java
@@ -1,17 +1,10 @@ package com.supersavedriving.user.modular.system.util; import com.supersavedriving.user.core.util.ToolUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.Pipeline; import javax.annotation.Resource; import java.io.IOException; import java.util.*; import java.util.UUID; import java.util.concurrent.TimeUnit; @@ -103,7 +96,7 @@ int num1 = 1; while (num1 <= 10){ try { Thread.sleep(3000);//等待3秒 Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } @@ -119,6 +112,7 @@ return b; }catch (Exception e){ e.printStackTrace(); }finally { unlock(); } return false;