diff --git a/src/main/java/com/sqx/modules/artificer/dao/ArtificerDao.java b/src/main/java/com/sqx/modules/artificer/dao/ArtificerDao.java index 8f2133c..e6160e3 100644 --- a/src/main/java/com/sqx/modules/artificer/dao/ArtificerDao.java +++ b/src/main/java/com/sqx/modules/artificer/dao/ArtificerDao.java @@ -70,4 +70,7 @@ public interface ArtificerDao extends BaseMapper { void insertJfDetail(Long artificerId, String artificerName, Integer type, BigDecimal integral,String remarks); int queryInServiceCount(); + + List getArtificerAdjustList(); + } diff --git a/src/main/java/com/sqx/modules/task/service/impl/AllTaskServiceImpl.java b/src/main/java/com/sqx/modules/task/service/impl/AllTaskServiceImpl.java index 5c7c812..abf348b 100644 --- a/src/main/java/com/sqx/modules/task/service/impl/AllTaskServiceImpl.java +++ b/src/main/java/com/sqx/modules/task/service/impl/AllTaskServiceImpl.java @@ -19,6 +19,8 @@ import com.sqx.modules.bl.userZxsc.entity.BlUserZxsc; import com.sqx.modules.common.dao.CommonInfoDao; import com.sqx.modules.common.entity.CommonInfo; import com.sqx.modules.task.service.AllTaskSercice; +import com.sqx.modules.traveladjust.entity.TravelAdjust; +import com.sqx.modules.traveladjust.service.TravelAdjustService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -69,6 +71,9 @@ public class AllTaskServiceImpl implements AllTaskSercice { private ArtificerTimeDao artificerTimeDao; @Autowired private ArtificerTimeIdelDao artificerTimeIdelDao; + @Autowired + private TravelAdjustService travelAdjustService; + /** * 计算技师升级规则 每天半夜1点执行,预留12点到01点之间的计算间隔,用于触发其他计算逻辑 @@ -510,4 +515,29 @@ public class AllTaskServiceImpl implements AllTaskSercice { } return map; } + + /** + * 出行方式自动调整 每30分钟 + */ + @Scheduled(cron = "0 1/30 * * * ?") + public void travelAdjust() { + log.info("----------------出行方式自动调整 定时任务-------------"); + //当前时间 + Calendar calendar = Calendar.getInstance(); + String businessTime = DateUtils.format(calendar.getTime(), "HH:mm:ss"); + TravelAdjust travelAdjust = travelAdjustService.getTravelType(businessTime); + if(travelAdjust!=null){ + Integer cxfs = travelAdjust.getTravelType1();//1公交 2出租 3免费 + BigDecimal mfgls = travelAdjust.getTravelNum1();//免费公里数 + //获取技师是否可调整出行方式为否的数据 + List adjustList = artificerDao.getArtificerAdjustList(); + for (Artificer artificer : adjustList) { + artificer.setTripWay(cxfs); + artificer.setTripWayNum(mfgls); + artificerDao.updateById(artificer); + } + } + log.info("----------------完成出行方式自动调整 定时任务-------------"); + } + } diff --git a/src/main/resources/mapper/artificer/ArtificerDao.xml b/src/main/resources/mapper/artificer/ArtificerDao.xml index 1ed4591..6660203 100644 --- a/src/main/resources/mapper/artificer/ArtificerDao.xml +++ b/src/main/resources/mapper/artificer/ArtificerDao.xml @@ -500,4 +500,10 @@ ) + +