liujie
2023-08-10 03552ae04973a224b5ccfce34e64999ea6a13d44
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java
@@ -186,6 +186,9 @@
        driver.setApprovalUserId(null);
        driver.setStatus(1);
        driver.setSource(driverRegisterWarpper.getSource());
        driver.setName(driverRegisterWarpper.getName());
        driver.setIdcard(driverRegisterWarpper.getIdcard());
        driver.setCarAge(driverRegisterWarpper.getCarAge());
        return driver;
    }
@@ -402,7 +405,8 @@
    @Override
    public ResultUtil<List<String>> queryDriverPosition(Integer uid) throws Exception {
    public ResultUtil< HashMap<String, Object> > queryDriverPosition(Integer uid) throws Exception {
        HashMap<String, Object> map = new HashMap<>();
        DriverWork driverWork = driverWorkService.selectOne(new EntityWrapper<DriverWork>().eq("driverId", uid).eq("status", 1));
        if(null == driverWork){
            return ResultUtil.error("请先上班");
@@ -423,13 +427,36 @@
            Query query = Query.query(Criteria.where("location").withinSphere(circle));
            List<Location> locations = mongoTemplate.find(query, Location.class);
            locations.forEach(s -> {
                int i=0;
                Driver driver = this.baseMapper.selectById(s.getDriverId());
                i = driver.getServerStatus();
                if(driver.getServerStatus()==2){
                    List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("driverId", s.getDriverId()).eq("state", 102));
                    if(orders.size()>0){
                        i = 3;
                    }
                }
                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.add(s.getLocation().getX() + "," + s.getLocation().getY()+","+i);
                }
            });
        }
        return ResultUtil.success(list);
        List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("hallOrder",1).eq("state",101));
        map.put("driver",list);
        ArrayList<String> blue = new ArrayList<>();
        orders.forEach(e-> blue.add(e.getStartLng()+","+e.getStartLat()));
        map.put("orderList",blue);
        List<Order> ordersOne = orderService.selectList(new EntityWrapper<Order>().eq("state",301));
        ArrayList<String> red = new ArrayList<>();
        ordersOne.forEach(e-> red.add(e.getStartLng()+","+e.getStartLat()));
        map.put("cancelOrder",red);
        return ResultUtil.success(map);
    }
@@ -901,4 +928,40 @@
        this.updateById(driver);
        return ResultUtil.success();
    }
    @Override
    public ResultUtil<HashMap<String, Object>> queryDriverOrderNum(String time,Integer uid) {
        String sTime = null;
        String eTime =null;
        EntityWrapper<Order> wrapper = new EntityWrapper<>();
        EntityWrapper<AppUser> wrapperOne = new EntityWrapper<>();
        if(ToolUtil.isNotEmpty(time)){
            sTime = time.split(" - ")[0]+" 00:00:00";
            eTime = time.split(" - ")[1]+" 23:59:59";
            wrapper.between("orderTakingTime",sTime,eTime);
            wrapperOne.between("createTime",sTime,eTime);
        }
        ArrayList<Integer> objects = new ArrayList<>();
        objects.add(101);
        objects.add(201);
        objects.add(301);
        objects.add(401);
        wrapper.eq("driverId",uid);
        wrapper.notIn("state",objects);
        HashMap<String, Object> map = new HashMap<>();
        int orderNum = orderService.selectCount(wrapper);
        map.put("orderNum",orderNum);
        // 有效时长
        int okTime =  this.baseMapper.getTime(sTime,eTime,uid);
        map.put("okTime",okTime);
        wrapperOne.eq("inviterType",2);
        wrapperOne.eq("inviterId",uid);
        int userNum = appUserService.selectCount(wrapperOne);
        map.put("userNum",userNum);
        return ResultUtil.success(map);
    }
}