Pu Zhibing
2024-12-25 0d49fd3475ffef0d26c8b68c0c8d5ae04fff2386
DriverAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -9,6 +9,10 @@
import com.stylefeng.guns.core.shiro.ShiroUser;
import com.stylefeng.guns.core.util.JwtTokenUtil;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.crossCity.dao.LinePriceMapper;
import com.stylefeng.guns.modular.crossCity.model.DriverLine;
import com.stylefeng.guns.modular.crossCity.model.LinePrice;
import com.stylefeng.guns.modular.crossCity.server.IDriverLineService;
import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics;
import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
import com.stylefeng.guns.modular.system.dao.*;
@@ -34,6 +38,7 @@
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@Service
@@ -134,6 +139,12 @@
    private Map<String, Long> loginTime = new HashMap<>();//登录时间
    private Map<String, Integer> loginFailures = new HashMap<>();//登录失败次数
    @Autowired
    private IDriverLineService driverLineService;
    @Resource
    private LinePriceMapper linePriceMapper;
@@ -152,7 +163,7 @@
            sb.append((int) (random.nextDouble() * 10));
        }
        String authCode = sb.toString();
        String sms = "短信验证码【" + authCode + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!";
        String sms = "您的验证码是:" + authCode + ",请勿将验证码透露给他人!";
        //发送验证码短信
        redisUtil.setStrValue(phone, authCode, 5 * 60);//设置五分钟过期
@@ -171,13 +182,7 @@
                templateCode = "c230a6b92504473c97c17741e1cc0b9d";//修改密码
                break;
        }
//        HuaWeiSMSUtil.sendSms("[\"" + authCode + "\"]", phone, "8822061324669", templateCode);
        String sData = aLiSendSms.sendSms(phone, "SMS_467580138", "{\"code\":\"" + authCode + "\"}");
//        JSONObject jsonObject = JSON.parseObject(sData);
//        String message = jsonObject.getString("Message");
//        if(!"OK".equals(message)){
//            return ResultUtil.error("");
//        }
        SmsUtil.sendZTHYSms(phone, sms);
        System.out.println(sms);
        return ResultUtil.success();
    }
@@ -507,9 +512,9 @@
        loginWarpper.setAppid(UUIDUtil.getRandomCode());
        //创建高德猎鹰的终端数据
        String tid = gdFalconUtil.createTerminal(phone);
        loginWarpper.setServerId(gdFalconUtil.getServerId());
        loginWarpper.setTerminalId(tid);
//        String tid = gdFalconUtil.createTerminal(phone);
//        loginWarpper.setServerId(gdFalconUtil.getServerId());
//        loginWarpper.setTerminalId(tid);
        return ResultUtil.success(loginWarpper);
    }
@@ -869,8 +874,36 @@
        }
        boolean idle = carService.idle(carId);
        if(!idle){
            return ResultUtil.error("车辆正在服务中");
        }
        Integer integer1 = driverMapper.selectCount(new EntityWrapper<Driver>().eq("carId", carId).eq("authState", 2).ne("flag", 3));
        if(integer1 > 0){
            return ResultUtil.error("车辆已被绑定了");
        }
        ///判断车辆车型是否与实际关联线路需要的车型匹配
        Integer integer = driverServiceMapper.selectCount(new EntityWrapper<DriverService>().eq("driverId", uid).eq("type", 3));
        if(integer > 0){
            CarService carService1 = new CarService();
            carService1.setCarId(carId);
            carService1.setType(3);
            CarService carService2 = carServiceMapper.selectOne(carService1);
            if(null == carService2){
                return ResultUtil.error("当前车辆不能运营城际业务");
            }
            Integer serverCarModelId = carService2.getServerCarModelId();
            List<DriverLine> driverLines = driverLineService.selectList(new EntityWrapper<DriverLine>().eq("driverId", uid));
            List<Integer> collect = driverLines.stream().map(DriverLine::getLineId).collect(Collectors.toList());
            if(collect.size() == 0){
                return ResultUtil.error("司机还未关联线路");
            }
            List<LinePrice> linePrices = linePriceMapper.selectList(new EntityWrapper<LinePrice>().in("lineId", collect).eq("state", 1));
            for (LinePrice linePrice : linePrices) {
                if(!linePrice.getServerCarModelId().equals(serverCarModelId)){
                    return ResultUtil.error("当前车辆的城际业务车型与司机关联线路的车型不一致");
                }
            }
        }
        driver.setCarId(carId);
        this.updateById(driver);
        return ResultUtil.success();
@@ -1278,9 +1311,9 @@
        loginWarpper.setAppid(UUIDUtil.getRandomCode());
        //创建高德猎鹰的终端数据
        String tid = gdFalconUtil.createTerminal(driver.getPhone());
        loginWarpper.setServerId(gdFalconUtil.getServerId());
        loginWarpper.setTerminalId(tid);
//        String tid = gdFalconUtil.createTerminal(driver.getPhone());
//        loginWarpper.setServerId(gdFalconUtil.getServerId());
//        loginWarpper.setTerminalId(tid);
        return ResultUtil.success(loginWarpper);
    }
@@ -1374,9 +1407,9 @@
        loginWarpper.setAppid(UUIDUtil.getRandomCode());
        //创建高德猎鹰的终端数据
        String tid = gdFalconUtil.createTerminal(driver.getPhone());
        loginWarpper.setServerId(gdFalconUtil.getServerId());
        loginWarpper.setTerminalId(tid);
//        String tid = gdFalconUtil.createTerminal(driver.getPhone());
//        loginWarpper.setServerId(gdFalconUtil.getServerId());
//        loginWarpper.setTerminalId(tid);
        return ResultUtil.success(loginWarpper);
    }
@@ -1460,9 +1493,9 @@
        loginWarpper.setAppid(UUIDUtil.getRandomCode());
        //创建高德猎鹰的终端数据
        String tid = gdFalconUtil.createTerminal(driver.getPhone());
        loginWarpper.setServerId(gdFalconUtil.getServerId());
        loginWarpper.setTerminalId(tid);
//        String tid = gdFalconUtil.createTerminal(driver.getPhone());
//        loginWarpper.setServerId(gdFalconUtil.getServerId());
//        loginWarpper.setTerminalId(tid);
        return ResultUtil.success(loginWarpper);
    }