package com.punchsettle.server.service.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; 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 com.punchsettle.server.common.valid.Delete; import com.punchsettle.server.common.valid.Query; import com.punchsettle.server.common.valid.Save; import com.punchsettle.server.common.valid.Update; import com.punchsettle.server.pojo.punchin.PunchInDataQuery; import com.punchsettle.server.pojo.punchin.PunchInDataVO; import com.punchsettle.server.pojo.punchin.PunchInRecordRequest; import com.punchsettle.server.pojo.punchin.PunchInRequest; import com.punchsettle.server.pojo.punchin.PunchInVO; import com.punchsettle.server.pojo.punchin.PunchInWithRecordVO; import com.punchsettle.server.service.manager.IPunchInManagerV1; /** * @author tyuio * @version 1.0.0 * @description 打卡任务 controller * @date 2024/11/25 14:48 */ @RestController @RequestMapping("/punchIn") public class PunchInController { @Autowired private IPunchInManagerV1 punchInManager; /** * 查询打卡任务 */ @GetMapping("/queryPunchIns") public List queryPunchIns() { return punchInManager.queryPunchInAndRecord(); } /** * 查询指定打卡任务 * @param request * @return */ @PostMapping("queryPunchInById") public PunchInVO queryPunchInById(@RequestBody @Validated({Query.class}) PunchInRequest request) { return punchInManager.queryPunchInById(request.getId()); } /** * 新增打卡任务 */ @PostMapping("/savePunchIn") public void save(@RequestBody @Validated({Save.class}) PunchInRequest request) { punchInManager.saveOrUpdatePunchIn(request); } /** * 更新打卡任务 */ @PostMapping("/updatePunchIn") public void update(@RequestBody @Validated({Update.class}) PunchInRequest request) { punchInManager.saveOrUpdatePunchIn(request); } /** * 删除打卡任务 */ @PostMapping("/deletePunchIn") public void delete(@RequestBody @Validated({Delete.class}) PunchInRequest request) { punchInManager.deletePunchIn(request.getId()); } /** * 打卡 */ @PostMapping("/doPunchIn") public void doPunchIn(@RequestBody @Validated({PunchInRequest.DoPunchIn.class}) PunchInRequest request) { punchInManager.doPunchIn(request); } /** * 归档 * @param request */ @PostMapping("/archivePunchIn") public void archivePunchIn(@RequestBody @Validated({PunchInRequest.Archive.class}) PunchInRequest request) { punchInManager.archivePunchIn(request.getId()); } /** * 补打卡 */ @PostMapping("/remakePunchIn") public void remakePunchIn(@RequestBody @Validated({PunchInRecordRequest.Remake.class}) PunchInRecordRequest request) { punchInManager.remakePunchIn(request); } /** * 撤销误打卡 * @param request */ @PostMapping("/revokePunchIn") public void revokePunchIn(@RequestBody @Validated({PunchInRecordRequest.Revoke.class}) PunchInRecordRequest request) { punchInManager.revokePunchIn(request); } /** * 查询历史打卡数据 * @param query */ @PostMapping("/queryPunchInData") public PunchInDataVO queryPunchInData(@RequestBody @Validated PunchInDataQuery query) { return punchInManager.queryPunchInData(query); } }