xuhy
2023-04-07 7454b6532cd2a5c68235a45f1cc540e25f1ffaf4
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverWorkServiceImpl.java
@@ -5,12 +5,9 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.supersavedriving.driver.core.util.ToolUtil;
import com.supersavedriving.driver.modular.system.model.*;
import com.supersavedriving.driver.modular.system.service.*;
import com.supersavedriving.driver.modular.system.dao.DriverWorkMapper;
import com.supersavedriving.driver.modular.system.model.Driver;
import com.supersavedriving.driver.modular.system.model.DriverWork;
import com.supersavedriving.driver.modular.system.model.OrderTransfer;
import com.supersavedriving.driver.modular.system.model.SystemConfig;
import com.supersavedriving.driver.modular.system.service.*;
import com.supersavedriving.driver.modular.system.util.RedisUtil;
import com.supersavedriving.driver.modular.system.util.ResultUtil;
@@ -18,7 +15,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
* 司机上下班操作记录
@@ -42,7 +41,6 @@
    @Autowired
    private RedisUtil redisUtil;
@@ -95,6 +93,11 @@
     */
    @Override
    public ResultUtil driverOffWork(Integer driverId, Long onlineTime) throws Exception {
        List<Integer> state = Arrays.asList(102, 103, 104, 105, 106, 201, 401);
        int count = orderService.selectCount(new EntityWrapper<Order>().eq("driverId", driverId).eq("status", 1).in("state", state));
        if(count > 0){
            return ResultUtil.error("还有未完成的订单");
        }
        DriverWork driverWork = this.selectOne(new EntityWrapper<DriverWork>().eq("driverId", driverId).eq("status", 1));
        if(null == driverWork){
            return ResultUtil.error("您还未上班");
@@ -108,6 +111,9 @@
        }
        driverWork.setStatus(2);
        this.updateById(driverWork);
        Driver driver = driverService.selectById(driverId);
        driver.setServerStatus(1);
        driverService.updateById(driver);
        return ResultUtil.success();
    }
}