Pu Zhibing
4 天以前 0cc73a9ffcdd356e0b797e458b400acfb660da94
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/NettyServiceImpl.java
@@ -3,20 +3,17 @@
import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
import com.stylefeng.guns.modular.system.service.INettyService;
import com.stylefeng.guns.modular.system.util.RedisUtil;
import com.stylefeng.guns.modular.system.util.ResultUtil;
import com.stylefeng.guns.modular.system.warpper.EndPushWarpper;
import com.stylefeng.guns.modular.system.warpper.OrderServerWarpper;
import com.stylefeng.guns.modular.system.warpper.OrderStatusWarpper;
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.List;
@Service
@@ -51,11 +48,10 @@
        }
        return ResultUtil.success(endPushWarpper);
    }
    @Resource
    private RedisUtil redisUtil;
   @Resource
   private RedisTemplate redisTemplate;
    /**
     * 获取服务中的订单数据
@@ -82,19 +78,19 @@
            //从redis中拿取最后的距离参数
            String value = redisUtil.getValue("DISTANCE:"+orderServerWarpper.getState()+":"+ orderId);
           String value = (String) redisTemplate.opsForValue().get("DISTANCE:" + orderServerWarpper.getState() + ":" + orderId);
            if (value==null){
                redisUtil.setStrValue("DISTANCE:" + orderId,reservationMileage);
               redisTemplate.opsForValue().set("DISTANCE:" + orderId, reservationMileage);
                String s = new BigDecimal(reservationMileage).setScale(2, RoundingMode.HALF_UP).toString();
                orderServerWarpper.setReservationMileage(s);
            }else {
                //最近的一次距离
                String recent = redisUtil.getValue("DISTANCE:"+orderServerWarpper.getState()+":"+orderId);
                BigDecimal recentDecimal = new BigDecimal(recent).setScale(2, RoundingMode.HALF_UP);
               String recent = (String) redisTemplate.opsForValue().get("DISTANCE:" + orderServerWarpper.getState() + ":" + orderId);
               BigDecimal recentDecimal = new BigDecimal(recent).setScale(2, RoundingMode.HALF_UP);
                BigDecimal bigDecimal = new BigDecimal(reservationMileage).setScale(2, RoundingMode.HALF_UP);
                if (bigDecimal.compareTo(recentDecimal)<0){
                    orderServerWarpper.setReservationMileage(bigDecimal.toString());
                    redisUtil.setStrValue("DISTANCE:" +orderServerWarpper.getState()+":"+ orderId,reservationMileage);
                   orderServerWarpper.setReservationMileage(bigDecimal.toString());
                   redisTemplate.opsForValue().set("DISTANCE:" + orderServerWarpper.getState() + ":" + orderId, reservationMileage);
                }else {
                    orderServerWarpper.setReservationMileage(recentDecimal.toString());
                }
@@ -103,19 +99,19 @@
        }
        String reservationTime = orderServerWarpper.getReservationTime();
        if (reservationTime!=null){
            String value = redisUtil.getValue("TIME:"+orderServerWarpper.getState()+":"+ orderId);
           String value = (String) redisTemplate.opsForValue().get("TIME:" + orderServerWarpper.getState() + ":" + orderId);
            if (value==null){
                redisUtil.setStrValue("TIME:" + orderId,reservationTime);
               redisTemplate.opsForValue().set("TIME:" + orderId, reservationTime);
                String s = new BigDecimal(reservationTime).setScale(2, RoundingMode.HALF_UP).toString();
                orderServerWarpper.setReservationTime(s);
            }else {
                //最近的一次距离
                String recent = redisUtil.getValue("TIME:"+orderServerWarpper.getState()+":"+orderId);
                BigDecimal recentDecimal = new BigDecimal(recent).setScale(2, RoundingMode.HALF_UP);
               String recent = (String) redisTemplate.opsForValue().get("TIME:" + orderServerWarpper.getState() + ":" + orderId);
               BigDecimal recentDecimal = new BigDecimal(recent).setScale(2, RoundingMode.HALF_UP);
                BigDecimal bigDecimal = new BigDecimal(reservationTime).setScale(2, RoundingMode.HALF_UP);
                if (bigDecimal.compareTo(recentDecimal)<0){
                    orderServerWarpper.setReservationTime(bigDecimal.toString());
                    redisUtil.setStrValue("TIME:" +orderServerWarpper.getState()+":"+ orderId,reservationTime);
                   orderServerWarpper.setReservationTime(bigDecimal.toString());
                   redisTemplate.opsForValue().set("TIME:" + orderServerWarpper.getState() + ":" + orderId, reservationTime);
                }else {
                    orderServerWarpper.setReservationTime(recentDecimal.toString());
                }