From 41e84c3bf3baa9f9f91bbb5343945f0032ae960d Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期六, 11 三月 2023 17:36:43 +0800 Subject: [PATCH] 新增加司机端接口 --- driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverWorkServiceImpl.java | 46 ++++++++++++++++++++++++++++++++++++---------- 1 files changed, 36 insertions(+), 10 deletions(-) diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverWorkServiceImpl.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverWorkServiceImpl.java index be255cf..9b94d76 100644 --- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverWorkServiceImpl.java +++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverWorkServiceImpl.java @@ -1,16 +1,20 @@ package com.supersavedriving.driver.modular.system.service.impl; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; 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.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.IDriverService; -import com.supersavedriving.driver.modular.system.service.IDriverWorkService; -import com.supersavedriving.driver.modular.system.service.ISystemConfigService; +import com.supersavedriving.driver.modular.system.service.*; +import com.supersavedriving.driver.modular.system.util.RedisUtil; import com.supersavedriving.driver.modular.system.util.ResultUtil; +import com.supersavedriving.driver.modular.system.service.IDriverWorkService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -30,6 +34,15 @@ @Autowired private ISystemConfigService systemConfigService; + @Autowired + private IOrderService orderService; + + @Autowired + private IOrderTransferService orderTransferService; + + @Autowired + private RedisUtil redisUtil; + @@ -47,6 +60,18 @@ if(driver.getBalance() == null || driver.getBalance().compareTo(num1) < 0){ return ResultUtil.error("账户余额不足,请先充值"); } + systemConfig = systemConfigService.selectOne(new EntityWrapper<SystemConfig>().eq("type", 1)); + JSONObject jsonObject = JSON.parseObject(systemConfig.getContent()); + Integer num5 = jsonObject.getInteger("num5"); + OrderTransfer orderTransfer = orderTransferService.selectOne(new EntityWrapper<OrderTransfer>().eq("oldDriverId", driverId) + .eq("status", 1).isNotNull("successTime").orderBy("createTime desc limit 0, 1")); + if(null != orderTransfer){ + int i = Double.valueOf((System.currentTimeMillis() - orderTransfer.getSuccessTime().getTime()) / 60000).intValue(); + if(num5 > i){ + return ResultUtil.error("暂时还无法上班,请稍后重试"); + } + } + DriverWork driverWork = this.selectOne(new EntityWrapper<DriverWork>().eq("driverId", 1).eq("status", 1)); if(null != driverWork){ return ResultUtil.error("您正在上班中"); @@ -56,7 +81,7 @@ driverWork.setWorkTime(new Date()); driverWork.setOnlineTime(0L); driverWork.setStatus(1); - this.updateById(driverWork); + this.insert(driverWork); return ResultUtil.success(); } @@ -70,16 +95,17 @@ */ @Override public ResultUtil driverOffWork(Integer driverId, Long onlineTime) throws Exception { - DriverWork driverWork = this.selectOne(new EntityWrapper<DriverWork>().eq("driverId", 1).eq("status", 2)); - if(null != driverWork){ - return ResultUtil.error("您已下班,不能重复操作"); - } - driverWork = this.selectOne(new EntityWrapper<DriverWork>().eq("driverId", 1).eq("status", 1)); + DriverWork driverWork = this.selectOne(new EntityWrapper<DriverWork>().eq("driverId", driverId).eq("status", 1)); if(null == driverWork){ return ResultUtil.error("您还未上班"); } driverWork.setOffWorkTime(new Date()); - driverWork.setOnlineTime(onlineTime); + driverWork.setOnlineTime(0L); + String value = redisUtil.getValue("ONLINE" + driverId); + if(ToolUtil.isNotEmpty(value)){ + Integer online = Integer.valueOf(value.split("_")[0]); + driverWork.setOnlineTime(online.longValue()); + } driverWork.setStatus(2); this.updateById(driverWork); return ResultUtil.success(); -- Gitblit v1.7.1