puzhibing
2023-06-24 36695821ea10197d7758babc7bc2b5dfb66dd88e
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java
@@ -44,6 +44,7 @@
import java.net.InetAddress;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* 司机
@@ -219,8 +220,10 @@
        driver.setCityCode(branchOffice.getCityCode());
        driver.setAreaCode(branchOffice.getDistrictCode());
        driver.setAreaName(branchOffice.getDistrictName());
        driver.setInviterType(driverRegisterWarpper.getInviterType());
        driver.setInviterId(driverRegisterWarpper.getInviterId());
        if(null != driverRegisterWarpper.getInviterId()){
            driver.setInviterType(driverRegisterWarpper.getInviterType());
            driver.setInviterId(driverRegisterWarpper.getInviterId());
        }
        driver.setApprovalStatus(1);
        driver.setApprovalNotes("");
        driver.setApprovalTime(null);
@@ -241,6 +244,9 @@
     */
    @Override
    public ResultUtil<TokenWarpper> driverLogin(String receiver, String phone, String code) throws Exception {
        if(ToolUtil.isEmpty(receiver)){
            receiver = "+86";
        }
        String value = redisUtil.getValue(receiver + phone);
        if(!"12345".equals(code) && ToolUtil.isEmpty(value)){
            return ResultUtil.error("短信验证码无效");
@@ -463,12 +469,18 @@
            // 构造query对象
            Query query = Query.query(Criteria.where("location").withinSphere(circle));
            List<Location> locations = mongoTemplate.find(query, Location.class);
            locations.forEach(s -> {
                String value1 = redisUtil.getValue("DRIVER" + s.getDriverId());
                if(s.getDriverId().compareTo(uid) != 0 && ToolUtil.isNotEmpty(value1)){
                    list.add(s.getLocation().getX() + "," + s.getLocation().getY());
            List<Integer> collect = locations.stream().map(Location::getDriverId).collect(Collectors.toList());
            List<Driver> drivers = this.selectBatchIds(collect);
            for (Driver driver : drivers) {
                String value1 = redisUtil.getValue("DRIVER" + driver.getId());
                if(ToolUtil.isEmpty(value1)){
                    continue;
                }
            });
                if(driver.getId().compareTo(uid) == 0){
                    continue;
                }
                list.add(value1 + "," + driver.getServerStatus());
            }
        }
        return ResultUtil.success(list);
    }