puzhibing
2023-08-16 c29395d786cfebf83659924a0477b5d0aed2a093
Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/SuperSaveDriving
2个文件已修改
66 ■■■■ 已修改文件
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/PushUtil.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java
@@ -161,10 +161,14 @@
            return ResultUtil.error("该用户还有未完成的订单", "");
        }
        Driver driver = driverService.selectById(uid);
        DriverWork driverWork = driverWorkService.selectOne(new EntityWrapper<DriverWork>().eq("driverId", uid).eq("status", 1));
        Order order1 = this.selectOne(new EntityWrapper<Order>().eq("driverId", uid).eq("status", 1).in("state", Arrays.asList(102, 103, 104, 105, 201, 401)));
        Order order = new Order();
        if(driverWork != null && null == order1){
        if(driver.getServerStatus().equals(1)){
            order.setDriverId(driver.getId());
            order.setState(104);
        }else if(driverWork != null && null == order1){
            order.setDriverId(uid);
            driver.setServerStatus(2);
            order.setOrderTakingTime(new Date());
@@ -218,12 +222,10 @@
        }
        order.setCreateTime(new Date());
        order = getOrderPrice(1, d, 0, order, city);
        order.setState(null == order.getDriverId() ? 101 : 102);
        order.setStatus(1);
        if(driver.getServerStatus().equals(1)){
            order.setDriverId(driver.getId());
            order.setState(105);
        if(!driver.getServerStatus().equals(1)) {
            order.setState(null == order.getDriverId() ? 101 : 102);
        }
        order.setStatus(1);
        this.insert(order);
        driverService.updateById(driver);
@@ -1171,14 +1173,16 @@
    @Override
    public ResultUtil transferOrder(Integer uid, Long orderId, String cause, String phone) throws Exception {
        // 7.13改动
        Driver driver=null;
        OrderTransfer orderTransfer = new OrderTransfer();
        Order order = this.selectById(orderId);
        if(phone!=null && !"".equals(phone)) {
            Integer oldId = order.getDriverId();
            List<Driver> drivers = driverService.selectList(new EntityWrapper<Driver>().eq("phone", phone));
            if (drivers.size() == 0) {
                return ResultUtil.error("暂无该司机,无法转单");
            } else {
                Driver driver = drivers.get(0);
                 driver = drivers.get(0);
                if (driver.getServerStatus() != 1) {
                    return ResultUtil.error("司机正在服务中,无法转单。");
                }
@@ -1188,15 +1192,20 @@
                order.setDriverId(driver.getId());
                orderTransfer.setNewDriverId(driver.getId());
            }
        }
        if(order.getDriverId().compareTo(uid) != 0){
            return ResultUtil.error("无权操作");
            order.setState(104);
            driver.setServerStatus(2);
            driverService.updateById(driver);
            Driver driver1 = driverService.selectById(oldId);
            driver1.setServerStatus(1);
            driverService.updateById(driver1);
        }else {
            order.setState(201);
        }
        if(order.getState() > 104){
            return ResultUtil.error("订单不支持转单");
        }
        order.setOldState(order.getState());
        order.setState(201);
        this.updateById(order);
@@ -1215,6 +1224,13 @@
                    pushOrder(finalOrder.getId());
                }
            }).start();
        }else {
            if(driver!=null){
                PushOrderInfoWarpper pushOrderInfoWarpper = new PushOrderInfoWarpper();
                pushOrderInfoWarpper.setId(order.getId());
                pushOrderInfoWarpper.setState(201);
                pushUtil.pushGrabOrder(driver.getId(), 2, order.getId(),1);
            }
        }
        return ResultUtil.success();
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/PushUtil.java
@@ -297,4 +297,32 @@
            System.err.println(jsonObject1.getString("msg"));
        }
    }
    public void pushChangeServer(Integer id, Integer type){
        Map<String, Object> map = new HashMap<>();
        JSONObject msg = new JSONObject();
        msg.put("code", 200);
        msg.put("msg", "SUCCESS");
        msg.put("method", "CHANGE_SERVER");
        msg.put("data", map);
        //调用推送
        HttpHeaders headers = new HttpHeaders();
        // 以表单的方式提交
        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
        //将请求头部和参数合成一个请求
        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
        params.add("msg", msg.toJSONString());
        params.add("id", id.toString());
        params.add("type", type.toString());
        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
        String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class);
        JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
        if(jsonObject1.getIntValue("code") != 200){
            logger.debug(jsonObject1.getString("msg"));
            System.err.println(jsonObject1.getString("msg"));
        }
    }
}