package com.xiaopeng.maintenance.controller; import com.xiaopeng.api.model.maintenance.XpShift; import com.xiaopeng.common.core.domain.R; 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.VerifyRangeDTO; import com.xiaopeng.maintenance.model.query.XpShiftQuery; import com.xiaopeng.maintenance.service.IXpClockInService; import com.xiaopeng.maintenance.service.IXpShiftService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** *

* 班次管理 前端控制器 *

* * @author xiaochen * @since 2026-02-06 */ @Api(tags = "班次管理") @RestController @RequestMapping("/xp-shift") public class XpShiftController { @Autowired private IXpShiftService xpShiftService; @Autowired private TokenService tokenService; @ApiOperation(value = "班次管理分页列表", tags = "管理后台-运维执行") @PostMapping("/api/v1/shift/pageList") public R> pageList(@RequestBody XpShiftQuery query) { PageInfo pageInfo = xpShiftService.pageList(query); return R.ok(pageInfo); } @ApiOperation(value = "班次管理新增", tags = "管理后台-运维执行") @PostMapping("/api/v1/shift/add") @AdminOperationLog( businessType = AdminBusinessType.SHIFT_MANAGEMENT, operationType = AdminOperationType.ADD, content = "新增班次", appendRequestData = true ) public R add(@RequestBody XpShift dto) { return xpShiftService.add(dto); } @ApiOperation(value = "班次管理编辑", tags = "管理后台-运维执行") @PostMapping("/api/v1/shift/edit") @AdminOperationLog( businessType = AdminBusinessType.SHIFT_MANAGEMENT, operationType = AdminOperationType.EDIT, content = "编辑班次", appendRequestData = true ) public R edit(@RequestBody XpShift dto) { return xpShiftService.edit(dto); } @ApiOperation(value = "班次管理删除", tags = "管理后台-运维执行") @DeleteMapping("/api/v1/shift/deleteById") @AdminOperationLog( businessType = AdminBusinessType.SHIFT_MANAGEMENT, operationType = AdminOperationType.DELETE, contentExpression = "'删除班次,id=' + #p0", appendRequestData = false ) public R deleteById(@RequestParam Long id) { xpShiftService.removeById(id); return R.ok(); } @ApiOperation(value = "排班考勤-排班计划管理-获取所有班次数据", tags = "管理后台-运维执行") @GetMapping("/api/v1/shift/queryList") public R> queryList() { List pageInfo = xpShiftService.queryList(); return R.ok(pageInfo); } }