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());