From 29cd606f6e2c614f765aa043435e6ca110c5c6cf Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期五, 16 八月 2024 18:14:27 +0800 Subject: [PATCH] 代码初始化 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java | 80 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 80 insertions(+), 0 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java index 84fb6c9..f8860db 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java @@ -13,17 +13,22 @@ import com.doumee.core.utils.Utils; import com.doumee.dao.business.PlatformJobMapper; import com.doumee.dao.business.PlatformMapper; +import com.doumee.dao.business.join.PlatformJobJoinMapper; import com.doumee.dao.business.model.Platform; import com.doumee.dao.business.model.PlatformBooks; import com.doumee.dao.business.model.PlatformJob; +import com.doumee.dao.business.model.PlatformReason; import com.doumee.dao.web.reqeust.JobDetailDTO; +import com.doumee.dao.web.reqeust.LineUpDetailDTO; import com.doumee.dao.web.reqeust.SignInDTO; import com.doumee.dao.web.response.DriverHomeVO; +import com.doumee.dao.web.response.LineUpVO; import com.doumee.service.business.PlatformJobService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -34,6 +39,7 @@ import java.util.Date; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * 鏈堝彴璋冨害浣滀笟淇℃伅琛⊿ervice瀹炵幇 @@ -45,6 +51,9 @@ @Autowired private PlatformJobMapper platformJobMapper; + + @Autowired + private PlatformJobJoinMapper platformJobJoinMapper; @Autowired private SystemDictDataBiz systemDictDataBiz; @@ -328,7 +337,78 @@ + @Override + public LineUpVO lineUpDetail(LineUpDetailDTO lineUpDetailDTO){ + if(Objects.isNull(lineUpDetailDTO) + || Objects.isNull(lineUpDetailDTO.getQueryType())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + LineUpVO lineUpVO = new LineUpVO(); + //鏌ヨ鎵�鏈変换鍔� + List<PlatformJob> platformJobList = platformJobJoinMapper.selectJoinList(PlatformJob.class, + new MPJLambdaWrapper<PlatformJob>() + .selectAll(PlatformJob.class) + .selectAs(PlatformReason::getGroupId,PlatformJob::getGroupId) + .leftJoin(PlatformBooks.class,PlatformBooks::getJobId,PlatformJob::getId) + .leftJoin(PlatformReason.class,PlatformReason::getId,PlatformBooks::getReasonId) + .eq(PlatformJob::getIsdeleted,Constants.ZERO) + .eq(Constants.equalsInteger(lineUpDetailDTO.getQueryType(),Constants.ZERO) + ,PlatformJob::getDrivierPhone,lineUpDetailDTO.getMobile()) + .eq(Constants.equalsInteger(lineUpDetailDTO.getQueryType(),Constants.ONE) + ,PlatformJob::getId,lineUpDetailDTO.getJobId()) + .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey(), + Constants.PlatformJobStatus.IN_WAIT.getKey(), + Constants.PlatformJobStatus.CALLED.getKey()) + .orderByAsc(PlatformJob::getSignDate) + ); + //鑾峰彇鎵�鏈夋湀鍙� + List<Integer> platformIdList = platformJobList.stream().map(m->m.getGroupId()).collect(Collectors.toList()); + List<Platform> platformList = platformMapper.selectList(new QueryWrapper<Platform>().lambda() + .eq(Platform::getIsdeleted,Constants.ZERO) + .in(Platform::getId,platformIdList)); + for (Platform platform:platformList) { + //鏌ヨ鏈湀鍙颁笅 鑷繁鐨勬暟鎹� 鏈�鏃╃鍒扮殑 + PlatformJob platformJob = platformJobList.stream().filter(i->Constants.equalsInteger(i.getGroupId(),platform.getId())).findFirst().orElse(null); + //鏌ヨ鍦ㄥ綋鍓嶆湀鍙颁笅 绛惧埌鎺掗槦杞﹁締鏁版嵁 + List<PlatformJob> platformJobSignInList = platformJobJoinMapper.selectJoinList(PlatformJob.class, + new MPJLambdaWrapper<PlatformJob>() + .selectAll(PlatformJob.class) + .selectAs(PlatformReason::getGroupId,PlatformJob::getGroupId) + .leftJoin(PlatformBooks.class,PlatformBooks::getJobId,PlatformJob::getId) + .leftJoin(PlatformReason.class,PlatformReason::getId,PlatformBooks::getReasonId) + .eq(PlatformJob::getIsdeleted,Constants.ZERO) + .ge(Objects.nonNull(platformJob),PlatformJob::getSignDate,DateUtil.getDate(platformJob.getSignDate(),"yyyy-MM-dd HH:mm:ss")) + .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey(), + Constants.PlatformJobStatus.IN_WAIT.getKey(), + Constants.PlatformJobStatus.CALLED.getKey()) + .orderByDesc(PlatformJob::getSignDate)); + platform.setSignJobList(platformJobSignInList); + //鏌ヨ褰撳墠鏈堝彴涓� + List<PlatformJob> platformJobWorkList = platformJobJoinMapper.selectJoinList(PlatformJob.class, + new MPJLambdaWrapper<PlatformJob>() + .selectAll(PlatformJob.class) + .selectAs(PlatformReason::getGroupId,PlatformJob::getGroupId) + .leftJoin(PlatformBooks.class,PlatformBooks::getJobId,PlatformJob::getId) + .leftJoin(PlatformReason.class,PlatformReason::getId,PlatformBooks::getReasonId) + .eq(PlatformJob::getIsdeleted,Constants.ZERO) + .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey()) + .orderByDesc(PlatformJob::getSignDate)); + platform.setSignJobList(platformJobSignInList); + platform.setWorkJobList(platformJobWorkList); + } + + + + + + + + lineUpVO.setPlatformList(platformList); + + + return lineUpVO; + } -- Gitblit v1.9.3