From 581646569a0273486c742a60961ecd98e60c6773 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期三, 20 五月 2026 17:08:10 +0800
Subject: [PATCH] 1.处理后台巡游打卡计划多个用户选择 2.优惠券新增字段类型
---
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpClockInController.java | 74 ++++++++++++++++++++++++++++++-------
1 files changed, 60 insertions(+), 14 deletions(-)
diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpClockInController.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpClockInController.java
index de89bec..2b1f46f 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpClockInController.java
+++ b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpClockInController.java
@@ -1,31 +1,35 @@
package com.xiaopeng.maintenance.controller;
-import com.xiaopeng.api.model.maintenance.XpErrorType;
import com.xiaopeng.common.core.domain.R;
+import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.common.security.service.TokenService;
import com.xiaopeng.maintenance.dto.ClockDTO;
-import com.xiaopeng.maintenance.dto.ShiftAttendanceDTO;
+import com.xiaopeng.maintenance.dto.ClockInStatisticsDto;
+import com.xiaopeng.maintenance.dto.GetClockInStatisticsDetailsDto;
import com.xiaopeng.maintenance.dto.VerifyRangeDTO;
import com.xiaopeng.maintenance.service.IXpClockInService;
-import com.xiaopeng.maintenance.vo.ShiftAttendanceVO;
-import io.swagger.annotations.Api;
+import com.xiaopeng.maintenance.vo.ClockInStatisticsDetailsVo;
+import com.xiaopeng.maintenance.vo.ClockInStatisticsVo;
import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
/**
* <p>
* 打卡明细 前端控制器
* </p>
+ * 打卡管理 Controller
*
* @author xiaochen
+ * @author mitao
+ * @date 2026-02-14
* @since 2026-02-06
*/
-@Api(tags = "打卡明细")
+@Slf4j
@RestController
@RequestMapping("")
public class XpClockInController {
@@ -34,27 +38,69 @@
private IXpClockInService xpClockInService;
@Autowired
private TokenService tokenService;
+
@ApiOperation(value = "校验是否在打卡范围内", tags = "运维APP-排班与考勤")
- @PostMapping("/api/v1/clock/verifyRange")
+ @PostMapping("/maintenance-app/api/v1/clock/verifyRange")
public R<Boolean> verifyRange(@RequestBody VerifyRangeDTO dto) {
return R.ok(xpClockInService.verifyRange(dto));
}
@ApiOperation(value = "上班打卡", tags = "运维APP-排班与考勤")
- @PostMapping("/api/v1/clock/clockIn")
- public R<String> clockIn(@RequestBody ClockDTO dto) {
+ @PostMapping("/maintenance-app/api/v1/clock/clockIn")
+ public R<Integer> clockIn(@RequestBody ClockDTO dto) {
Long id = tokenService.getLoginOperationUser().getId();
dto.setOperationsUserId(id);
return xpClockInService.clockIn(dto);
}
+ /**
+ * 检查用户是否上班中(内部接口)
+ */
+ @GetMapping("/logan/inner/clock-in/checkWorkStatus")
+ @ApiOperation(value = "检查用户是否上班中", tags = {"内部接口"})
+ public R<Integer> checkWorkStatus(@RequestParam("appUserId") Long appUserId) {
+ log.info("检查用户上班状态, appUserId={}", appUserId);
+ Integer workFlag = xpClockInService.checkWorkStatus(appUserId);
+ return R.ok(workFlag);
+ }
+
@ApiOperation(value = "下班打卡", tags = "运维APP-排班与考勤")
- @PostMapping("/api/v1/clock/clockOut")
- public R<String> clockOut(@RequestBody ClockDTO dto) {
+ @PostMapping("/maintenance-app/api/v1/clock/clockOut")
+ public R<Integer> clockOut(@RequestBody ClockDTO dto) {
Long id = tokenService.getLoginOperationUser().getId();
dto.setOperationsUserId(id);
return xpClockInService.clockOut(dto);
}
+
+ @ApiOperation(value = "排班考勤打卡统计列表", tags = {"管理后台-运维执行"})
+ @PostMapping("/api/v1/clock/getClockInStatistics")
+ public R<PageInfo<ClockInStatisticsDto>> getClockInStatistics(@RequestBody ClockInStatisticsVo vo) {
+ PageInfo<ClockInStatisticsDto> clockInStatistics = xpClockInService.getClockInStatistics(vo);
+ return R.ok(clockInStatistics);
+ }
+
+
+ @ApiOperation(value = "排班考勤打卡统计导出", tags = {"管理后台-运维执行"})
+ @PostMapping("/api/v1/clock/exportClockInStatistics")
+ public void exportClockInStatistics(@RequestBody ClockInStatisticsVo vo, HttpServletResponse response) {
+ xpClockInService.exportClockInStatistics(vo, response);
+ }
+
+
+ @ApiOperation(value = "排班考勤打卡统计详情列表", tags = {"管理后台-运维执行"})
+ @PostMapping("/api/v1/clock/getClockInStatisticsDetails")
+ public R<GetClockInStatisticsDetailsDto> getClockInStatisticsDetails(@RequestBody ClockInStatisticsDetailsVo query) {
+ GetClockInStatisticsDetailsDto clockInStatisticsDetails = xpClockInService.getClockInStatisticsDetails(query);
+ return R.ok(clockInStatisticsDetails);
+ }
+
+
+ @ApiOperation(value = "排班考勤打卡统计详情导出", tags = {"管理后台-运维执行"})
+ @PostMapping("/api/v1/clock/exportClockInStatisticsDetails")
+ public void exportClockInStatisticsDetails(@RequestBody ClockInStatisticsDetailsVo query, HttpServletResponse response) {
+ xpClockInService.exportClockInStatisticsDetails(query, response);
+ }
+
}
--
Gitblit v1.7.1