liujie
2026-06-09 c96fbe6b0aeb413a17c429133ee6d81d138144b9
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpCheckLocationController.java
@@ -1,11 +1,14 @@
package com.xiaopeng.maintenance.controller;
import cn.hutool.core.collection.CollUtil;
import com.xiaopeng.api.feignClient.vehicleConvoy.XpFleetClient;
import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
import com.xiaopeng.api.model.maintenance.XpCheckLocation;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.core.enums.DisabledEnum;
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.common.security.service.TokenService;
import com.xiaopeng.maintenance.dto.LocationUpdateStatusDTO;
import com.xiaopeng.maintenance.model.query.XpCheckLocationQuery;
@@ -16,7 +19,11 @@
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import com.xiaopeng.common.log.annotation.AdminOperationLog;
import com.xiaopeng.common.log.enums.AdminBusinessType;
import com.xiaopeng.common.log.enums.AdminOperationType;
/**
 * @author MiTao
@@ -37,14 +44,23 @@
        return R.ok(xpCheckLocationService.lambdaQuery().eq(XpCheckLocation::getStatus, DisabledEnum.YES.getCode()).list());
    }
    @GetMapping("/inner/check-location/queryById")
    @GetMapping("/logan/inner/check-location/queryById")
    @ApiOperation(value = "根据ID查询打卡地址", tags = {"内部接口"})
    public R<XpCheckLocation> queryById(@RequestParam Long id) {
        return R.ok(xpCheckLocationService.getById(id));
    }
    @PostMapping("/logan/inner/check-location/listByIds")
    @ApiOperation(value = "根据ID列表批量查询打卡地址", tags = {"内部接口"})
    public R<List<XpCheckLocation>> listByIds(@RequestBody List<Long> ids) {
        if (CollUtil.isEmpty(ids)) {
            return R.ok(new ArrayList<>());
        }
        return R.ok(xpCheckLocationService.listByIds(ids));
    }
    @ApiOperation(value = "根据ID查询打卡地址", tags = {"运维APP-排班与考勤"})
    @GetMapping("/api/v1/check-location/queryByUserId")
    @GetMapping("/maintenance-app/api/v1/check-location/queryByUserId")
    public R<XpCheckLocation> queryByUserId() {
        Long id = tokenService.getLoginOperationUser().getId();
        return R.ok(xpCheckLocationService.queryByUserId(id));
@@ -59,6 +75,12 @@
    @PostMapping("/api/v1/check-location/add")
    @ApiOperation(value = "新增打卡地", tags = {"管理后台-运维执行"})
    @AdminOperationLog(
            businessType = AdminBusinessType.CHECK_LOCATION_MANAGEMENT,
            operationType = AdminOperationType.ADD,
            content = "新增打卡地点",
            appendRequestData = true
    )
    public  R<String> add(@RequestBody XpCheckLocation dto){
        xpCheckLocationService.save(dto);
        return R.ok();
@@ -66,6 +88,12 @@
    @PostMapping("/api/v1/check-location/edit")
    @ApiOperation(value = "编辑打卡地", tags = {"管理后台-运维执行"})
    @AdminOperationLog(
            businessType = AdminBusinessType.CHECK_LOCATION_MANAGEMENT,
            operationType = AdminOperationType.EDIT,
            content = "编辑打卡地点",
            appendRequestData = true
    )
    public  R<String> edit(@RequestBody XpCheckLocation dto){
        xpCheckLocationService.updateById(dto);
        return R.ok();
@@ -73,6 +101,12 @@
    @DeleteMapping("/api/v1/check-location/deleteById")
    @ApiOperation(value = "删除打卡地", tags = {"管理后台-运维执行"})
    @AdminOperationLog(
            businessType = AdminBusinessType.CHECK_LOCATION_MANAGEMENT,
            operationType = AdminOperationType.DELETE,
            contentExpression = "'删除打卡地点,id=' + #p0",
            appendRequestData = false
    )
    public  R<String> deleteById(@RequestParam Long id){
        // 判断打卡地是否已被使用
        Long data = xpFleetClient.getUseCountByLocationId(id).getData();
@@ -85,6 +119,12 @@
    @PostMapping("/api/v1/check-location/updateStatus")
    @ApiOperation(value = "启用禁用打卡地", tags = {"管理后台-运维执行"})
    @AdminOperationLog(
            businessType = AdminBusinessType.CHECK_LOCATION_MANAGEMENT,
            operationTypeExpression = "#p0.status == 1 ? T(com.xiaopeng.common.log.enums.AdminOperationType).ENABLE : T(com.xiaopeng.common.log.enums.AdminOperationType).DISABLE",
            contentExpression = "(#p0.status == 1 ? '启用打卡地点,id=' : '禁用打卡地点,id=') + #p0.id",
            appendRequestData = false
    )
    public  R<String> updateStatus(@RequestBody LocationUpdateStatusDTO dto){
        XpCheckLocation xpCheckLocation = xpCheckLocationService.getById(dto.getId());
        xpCheckLocation.setStatus(dto.getStatus());