Pu Zhibing
10 小时以前 f5da7281ee8fed938198afcd33a2a619f08a37f0
user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/OrderServiceImpl.java
@@ -19,6 +19,8 @@
import com.supersavedriving.user.modular.system.util.mongodb.model.Location;
import com.supersavedriving.user.modular.system.warpper.*;
import io.swagger.models.auth.In;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
@@ -41,6 +43,7 @@
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@@ -77,6 +80,9 @@
    @Autowired
    private RedisUtil redisUtil;
    @Autowired
    private RedissonClient redissonClient;
    @Autowired
    private MongoTemplate mongoTemplate;
@@ -433,8 +439,9 @@
     */
    @Override
    public ResultUtil travelOrder(Integer uid, TravelOrder travelOrder) throws Exception {
        boolean lock = redisUtil.lock(uid + "_travelOrder");
        if(!lock){
        RLock lock1 = redissonClient.getLock("travelOrder:" + uid);
        boolean lock2 = lock1.tryLock(5, TimeUnit.SECONDS);
        if(!lock2){
            return ResultUtil.error("系统繁忙,请稍后重试");
        }
        try {
@@ -549,7 +556,7 @@
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            redisUtil.unlock(uid + "_travelOrder");
            lock1.unlock();
        }
        return ResultUtil.error("系统异常");
    }