PunchInController.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. package com.punchsettle.server.service.controller;
  2. import java.util.List;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.validation.annotation.Validated;
  5. import org.springframework.web.bind.annotation.GetMapping;
  6. import org.springframework.web.bind.annotation.PostMapping;
  7. import org.springframework.web.bind.annotation.RequestBody;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.bind.annotation.RestController;
  10. import com.punchsettle.server.common.valid.Delete;
  11. import com.punchsettle.server.common.valid.Query;
  12. import com.punchsettle.server.common.valid.Save;
  13. import com.punchsettle.server.common.valid.Update;
  14. import com.punchsettle.server.pojo.punchin.PunchInDataQuery;
  15. import com.punchsettle.server.pojo.punchin.PunchInDataVO;
  16. import com.punchsettle.server.pojo.punchin.PunchInRecordRequest;
  17. import com.punchsettle.server.pojo.punchin.PunchInRequest;
  18. import com.punchsettle.server.pojo.punchin.PunchInVO;
  19. import com.punchsettle.server.pojo.punchin.PunchInWithRecordVO;
  20. import com.punchsettle.server.service.manager.IPunchInManager;
  21. /**
  22. * @author tyuio
  23. * @version 1.0.0
  24. * @description 打卡任务 controller
  25. * @date 2024/11/25 14:48
  26. */
  27. @RestController
  28. @RequestMapping("/punchIn")
  29. public class PunchInController {
  30. @Autowired
  31. private IPunchInManager punchInManager;
  32. /**
  33. * 查询打卡任务
  34. */
  35. @GetMapping("/queryPunchIns")
  36. public List<PunchInWithRecordVO> queryPunchIns() {
  37. return punchInManager.queryPunchInAndRecord();
  38. }
  39. /**
  40. * 查询指定打卡任务
  41. * @param request
  42. * @return
  43. */
  44. @PostMapping("queryPunchInById")
  45. public PunchInVO queryPunchInById(@RequestBody @Validated({Query.class}) PunchInRequest request) {
  46. return punchInManager.queryPunchInById(request.getId());
  47. }
  48. /**
  49. * 新增打卡任务
  50. */
  51. @PostMapping("/savePunchIn")
  52. public void save(@RequestBody @Validated({Save.class}) PunchInRequest request) {
  53. punchInManager.saveOrUpdatePunchIn(request);
  54. }
  55. /**
  56. * 更新打卡任务
  57. */
  58. @PostMapping("/updatePunchIn")
  59. public void update(@RequestBody @Validated({Update.class}) PunchInRequest request) {
  60. punchInManager.saveOrUpdatePunchIn(request);
  61. }
  62. /**
  63. * 删除打卡任务
  64. */
  65. @PostMapping("/deletePunchIn")
  66. public void delete(@RequestBody @Validated({Delete.class}) PunchInRequest request) {
  67. punchInManager.deletePunchIn(request.getId());
  68. }
  69. /**
  70. * 打卡
  71. */
  72. @PostMapping("/doPunchIn")
  73. public void doPunchIn(@RequestBody @Validated({PunchInRequest.DoPunchIn.class}) PunchInRequest request) {
  74. punchInManager.doPunchIn(request);
  75. }
  76. /**
  77. * 归档
  78. * @param request
  79. */
  80. @PostMapping("/archivePunchIn")
  81. public void archivePunchIn(@RequestBody @Validated({PunchInRequest.Archive.class}) PunchInRequest request) {
  82. punchInManager.archivePunchIn(request.getId());
  83. }
  84. /**
  85. * 补打卡
  86. */
  87. @PostMapping("/remakePunchIn")
  88. public void remakePunchIn(@RequestBody @Validated({PunchInRecordRequest.Remake.class}) PunchInRecordRequest request) {
  89. punchInManager.remakePunchIn(request);
  90. }
  91. /**
  92. * 撤销误打卡
  93. * @param request
  94. */
  95. @PostMapping("/revokePunchIn")
  96. public void revokePunchIn(@RequestBody @Validated({PunchInRecordRequest.Revoke.class}) PunchInRecordRequest request) {
  97. punchInManager.revokePunchIn(request);
  98. }
  99. /**
  100. * 查询历史打卡数据
  101. * @param query
  102. */
  103. @PostMapping("/queryPunchInData")
  104. public PunchInDataVO queryPunchInData(@RequestBody @Validated PunchInDataQuery query) {
  105. return punchInManager.queryPunchInData(query);
  106. }
  107. }