From c96fbe6b0aeb413a17c429133ee6d81d138144b9 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 09 六月 2026 10:58:52 +0800
Subject: [PATCH] Merge branch '1.0' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.0
---
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpCheckLocationController.java | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 100 insertions(+), 4 deletions(-)
diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpCheckLocationController.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpCheckLocationController.java
index 27cd985..56c7fd2 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpCheckLocationController.java
+++ b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpCheckLocationController.java
@@ -1,18 +1,29 @@
package com.xiaopeng.maintenance.controller;
+import cn.hutool.core.collection.CollUtil;
+import com.xiaopeng.api.feignClient.vehicleConvoy.XpFleetClient;
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;
import com.xiaopeng.maintenance.service.IXpCheckLocationService;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Lazy;
import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+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
@@ -24,6 +35,8 @@
@RequiredArgsConstructor(onConstructor_ = @Lazy)
public class XpCheckLocationController {
private final IXpCheckLocationService xpCheckLocationService;
+ private final XpFleetClient xpFleetClient;
+ private final TokenService tokenService;
@GetMapping("/api/v1/check-location/list")
@ApiOperation(value = "获取打卡地址列表", tags = {"管理后台-车队管理"})
@@ -31,9 +44,92 @@
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("/maintenance-app/api/v1/check-location/queryByUserId")
+ public R<XpCheckLocation> queryByUserId() {
+ Long id = tokenService.getLoginOperationUser().getId();
+ return R.ok(xpCheckLocationService.queryByUserId(id));
+ }
+
+ @PostMapping("/api/v1/check-location/pageList")
+ @ApiOperation(value = "获取打卡地址分页列表", tags = {"管理后台-运维执行"})
+ public R<PageInfo<XpCheckLocation>> pageList(@RequestBody XpCheckLocationQuery query){
+ PageInfo<XpCheckLocation> pageList = xpCheckLocationService.pageList(query);
+ return R.ok(pageList);
+ }
+
+ @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();
+ }
+
+ @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();
+ }
+
+ @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();
+ if (data > 0) {
+ return R.fail("打卡地已被使用,请先解除关联");
+ }
+ xpCheckLocationService.removeById(id);
+ return R.ok();
+ }
+
+ @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());
+ xpCheckLocationService.updateById(xpCheckLocation);
+ return R.ok();
+ }
+
}
--
Gitblit v1.7.1