liujie
2026-06-09 c96fbe6b0aeb413a17c429133ee6d81d138144b9
xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpTestPointManagementController.java
@@ -8,18 +8,20 @@
import com.xiaopeng.api.dto.operation.PointUpdateDto;
import com.xiaopeng.api.dto.operation.XpPointEnableDisableDto;
import com.xiaopeng.api.model.map.XpTestPoint;
import com.xiaopeng.api.model.operation.XpElectronicFence;
import com.xiaopeng.api.model.operation.XpElectronicFenceArea;
import com.xiaopeng.api.model.operation.XpTestElectronicFence;
import com.xiaopeng.api.model.operation.XpTestElectronicFenceArea;
import com.xiaopeng.api.model.operation.XpTestElectronicFenceArea;
import com.xiaopeng.api.query.operation.PointListQuery;
import com.xiaopeng.api.query.operation.PointPageListListQuery;
import com.xiaopeng.api.vo.map.QueryTestPoint;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.core.web.controller.BaseController;
import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.common.log.annotation.AdminOperationLog;
import com.xiaopeng.common.log.enums.AdminBusinessType;
import com.xiaopeng.common.log.enums.AdminOperationType;
import com.xiaopeng.map.dto.XpPointSpecialDto;
import com.xiaopeng.map.service.XpElectronicFenceAreaService;
import com.xiaopeng.map.service.XpElectronicFenceService;
import com.xiaopeng.map.service.XpTestPointService;
import com.xiaopeng.map.service.*;
import com.xiaopeng.map.vo.SpecialPointListVo;
import com.xiaopeng.map.vo.SpecialPointVo;
import io.swagger.annotations.Api;
@@ -47,23 +49,23 @@
    @Resource
    private XpTestPointService xpTestPointService;
    @Resource
    private XpElectronicFenceAreaService xpElectronicFenceAreaService;
    private XpTestElectronicFenceAreaService xpElectronicFenceAreaService;
    @Resource
    private XpElectronicFenceService xpElectronicFenceService;
    private XpTestElectronicFenceService xpElectronicFenceService;
    @ApiOperation(value = "获取所有运营中的区域", response = XpElectronicFenceArea.class)
    @ApiOperation(value = "获取所有运营中的区域", response = XpTestElectronicFenceArea.class)
    @PostMapping("/api/v1/testPoint/listElectronicFenceArea")
    public R<List<XpElectronicFenceArea>> listElectronicFenceArea() {
    public R<List<XpTestElectronicFenceArea>> listElectronicFenceArea() {
        // 获取所有启用的电子围栏
        List<XpElectronicFence> electronicFences = xpElectronicFenceService.lambdaQuery().eq(XpElectronicFence::getStatus, 2).list();
        List<Long> electronicFenceIds = electronicFences.stream().map(XpElectronicFence::getId).collect(Collectors.toList());
        List<XpTestElectronicFence> electronicFences = xpElectronicFenceService.lambdaQuery().eq(XpTestElectronicFence::getStatus, 2).list();
        List<Long> electronicFenceIds = electronicFences.stream().map(XpTestElectronicFence::getId).collect(Collectors.toList());
        if (electronicFenceIds.isEmpty()) {
            return R.ok(new ArrayList<XpElectronicFenceArea>());
            return R.ok(new ArrayList<XpTestElectronicFenceArea>());
        }
        // 获取电子围栏下启用的运营区域
        List<XpElectronicFenceArea> electronicFenceAreaList = xpElectronicFenceAreaService.lambdaQuery().in(XpElectronicFenceArea::getElectronicId, electronicFenceIds)
                .eq(XpElectronicFenceArea::getAreaStatus, 1).list();
        List<XpTestElectronicFenceArea> electronicFenceAreaList = xpElectronicFenceAreaService.lambdaQuery().in(XpTestElectronicFenceArea::getTestElectronicId, electronicFenceIds)
                .eq(XpTestElectronicFenceArea::getAreaStatus, 1).list();
        return R.ok(electronicFenceAreaList);
    }
@@ -236,7 +238,7 @@
     * @param pointId
     * @return
     */
    @GetMapping("/inner/v1/testPoint/nowInTimePoint")
    @GetMapping("/logan/inner/v1/testPoint/nowInTimePoint")
    public R<Boolean> nowInTimePoint(@RequestParam Long pointId){
        return R.ok(xpTestPointService.nowInTimePoint(pointId));
    }
@@ -251,4 +253,16 @@
        List<XpTestPoint> xpTestPoints = xpTestPointService.listByIds(query.getIds());
        return R.ok(xpTestPoints);
    }
    /**
     * 编辑点位
     * @param xpPoint
     * @return
     */
    @PostMapping("/logan/inner/v1/testPoint/editTestPoint")
    public R<?> editXpPoint(@RequestBody XpTestPoint xpPoint){
        xpTestPointService.updateById(xpPoint);
        return R.ok();
    }
}