diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapLogisticController.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapLogisticController.java index 7e6c3fab..ac641daf 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapLogisticController.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapLogisticController.java @@ -1,20 +1,29 @@ package com.cloud.kicc.commonbiz.controller; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.cloud.kicc.common.core.api.R; import com.cloud.kicc.common.core.constant.AppConstants; import com.cloud.kicc.commonbiz.api.entity.MapLogistic; +import com.cloud.kicc.commonbiz.api.entity.MapLogisticPoint; +import com.cloud.kicc.commonbiz.api.entity.MapTask; +import com.cloud.kicc.commonbiz.api.entity.MapTaskPreset; +import com.cloud.kicc.commonbiz.service.IMapLogisticPointService; import com.cloud.kicc.commonbiz.service.IMapLogisticService; +import com.cloud.kicc.commonbiz.service.IMapTaskPresetService; +import com.cloud.kicc.commonbiz.service.IMapTaskService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.Arrays; +import java.util.List; /** *

@@ -31,6 +40,9 @@ import java.util.Arrays; public class MapLogisticController { private final IMapLogisticService iMapLogisticService; + private final IMapTaskService iMapTaskService; + private final IMapTaskPresetService iMapTaskPresetService; + private final IMapLogisticPointService iMapLogisticPointService; private LambdaQueryWrapper getQueryWrapper(MapLogistic mapLogistic) { return new LambdaQueryWrapper() @@ -47,10 +59,32 @@ public class MapLogisticController { return R.ok(iPage.getRecords(), iPage.getTotal()); } - @GetMapping("/{id:\\w+}") - @ApiOperation(value = "根据id获取") - public R getById(@PathVariable("id") String id) { - MapLogistic mapLogistic = iMapLogisticService.getById(id); + @GetMapping("/{courierUserId:\\w+}") + @ApiOperation(value = "根据收样员id获取地图数据") + public R getById(@PathVariable String courierUserId) { + MapLogistic mapLogistic = iMapLogisticService.getOne(Wrappers.lambdaQuery().eq(MapLogistic::getCourierUserId, courierUserId)); + if (ObjectUtil.isNotEmpty(mapLogistic)) { + List mapTaskList = iMapTaskService + .list(Wrappers.lambdaQuery().eq(MapTask::getMapLogisticId, mapLogistic.getId())); + mapTaskList.forEach(item -> { + item.setKey(item.getId()); + List mapTaskPresetList = iMapTaskPresetService + .list(Wrappers.lambdaQuery().eq(MapTaskPreset::getMapTaskId, item.getId())); + mapTaskPresetList.forEach(childItem -> { + childItem.setKey(childItem.getId()); + }); + item.setMapTaskPreset(mapTaskPresetList); + }); + + List mapLogisticPointList = iMapLogisticPointService + .list(Wrappers.lambdaQuery().eq(MapLogisticPoint::getMapLogisticId, mapLogistic.getId())); + mapLogisticPointList.forEach(item -> { + item.setKey(item.getId()); + }); + + mapLogistic.setMapTask(mapTaskList); + mapLogistic.setMapLogisticPoint(mapLogisticPointList); + } return R.ok(mapLogistic); } diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/MapLogisticServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/MapLogisticServiceImpl.java index 6729fff6..66c8b1cf 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/MapLogisticServiceImpl.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/MapLogisticServiceImpl.java @@ -13,12 +13,9 @@ import com.cloud.kicc.commonbiz.service.IMapLogisticService; import com.cloud.kicc.commonbiz.service.IMapTaskPresetService; import com.cloud.kicc.commonbiz.service.IMapTaskService; import lombok.RequiredArgsConstructor; -import org.apache.poi.ss.formula.functions.T; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Optional; - /** *

* 地图核心主任务表 服务实现类 @@ -48,13 +45,12 @@ public class MapLogisticServiceImpl extends ServiceImpl item.getKey().equals("1")).findFirst().get(); - if (ObjectUtil.isNotEmpty(mapLogisticPoint)){ - mapLogisticPoint.setMapLogisticId(mapLogistic.getId()); - mapLogisticPoint.setMapTaskId(mapTask.getId()); - iMapLogisticPointService.save(mapLogisticPoint); - } + mapLogistic.getMapLogisticPoint().stream() + .filter(item -> item.getKey().equals(mapTask.getKey())).findFirst().ifPresent(item -> { + item.setMapLogisticId(mapLogistic.getId()); + item.setMapTaskId(mapTask.getId()); + iMapLogisticPointService.save(item); + }); if (ObjectUtil.isNotEmpty(mapTask.getMapTaskPreset())) { mapTask.getMapTaskPreset().forEach(mapTaskPreset -> { mapTaskPreset.setMapLogisticId(mapLogistic.getId());