From 266f87f7c62ffb97b5080aee908c72c827156109 Mon Sep 17 00:00:00 2001 From: tortoise <2891138827@qq.com> Date: Mon, 9 Sep 2024 10:48:39 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9C=80=E6=B1=823?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sims/controller/RecordController.java | 2 ++ .../sims/controller/RevokedController.java | 31 ++++++++++++++++--- .../top/suyiiyii/sims/mapper/MpRevRecord.java | 17 ++++++++++ .../suyiiyii/sims/mapper/RecordMapper.java | 4 +++ .../suyiiyii/sims/service/RecordService.java | 11 +++++++ .../suyiiyii/sims/service/RevokedService.java | 8 ++++- 6 files changed, 68 insertions(+), 5 deletions(-) create mode 100644 src/main/java/top/suyiiyii/sims/mapper/MpRevRecord.java diff --git a/src/main/java/top/suyiiyii/sims/controller/RecordController.java b/src/main/java/top/suyiiyii/sims/controller/RecordController.java index 5476d18..07b6157 100644 --- a/src/main/java/top/suyiiyii/sims/controller/RecordController.java +++ b/src/main/java/top/suyiiyii/sims/controller/RecordController.java @@ -2,6 +2,7 @@ package top.suyiiyii.sims.controller; import io.swagger.v3.oas.annotations.Operation; import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpSession; import lombok.Data; import org.modelmapper.ModelMapper; @@ -100,6 +101,7 @@ RecordController { } + @AuthAccess(allowRoles = {"admin"}) @Operation(summary = "添加奖惩记录") @PostMapping("/admin/record") diff --git a/src/main/java/top/suyiiyii/sims/controller/RevokedController.java b/src/main/java/top/suyiiyii/sims/controller/RevokedController.java index 23b8bb0..34b2765 100644 --- a/src/main/java/top/suyiiyii/sims/controller/RevokedController.java +++ b/src/main/java/top/suyiiyii/sims/controller/RevokedController.java @@ -3,12 +3,14 @@ package top.suyiiyii.sims.controller; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; +import jakarta.servlet.http.HttpServletRequest; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.modelmapper.ModelMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import top.suyiiyii.sims.common.AuthAccess; +import top.suyiiyii.sims.common.JwtInterceptor; import top.suyiiyii.sims.common.Result; import top.suyiiyii.sims.dto.CommonResponse; import top.suyiiyii.sims.dto.RecordDto; @@ -43,8 +45,9 @@ public class RevokedController { NotificationService notificationService; @Autowired CategoryService categoryService; -@Autowired + @Autowired RecordService recordService; + //TODO 普通成员向管理员申请撤销 @AuthAccess(allowRoles = {"user"}) @Operation(summary = "成员申请撤销") @@ -83,21 +86,41 @@ public class RevokedController { @AuthAccess(allowRoles = {"admin"}) @Operation(summary = "管理员处理撤销申请") @PutMapping("/{id}") - public Result revoked( @PathVariable Integer id,RevokedRequest revokedRequest) { + public Result revoked(@PathVariable Integer id, RevokedRequest revokedRequest, HttpServletRequest request) { + String userId = String.valueOf(JwtInterceptor.getUserIdFromReq(request)); if(revokedRequest.getAdminRemark().isBlank()) { throw new ServiceException("撤销备注不能为空"); } if(!"批准".equals(revokedRequest.getStatus()) && !"拒绝".equals(revokedRequest.getStatus()) ) { throw new ServiceException("状态不合法"); } +/* if("批准".equals(revokedRequest.getStatus())){ + recordService.update(id,userId,revokedRequest.getStatus(),revokedRequest.getAdminRemark(), + revokedRequest.getReason(),revokedRequest.getHandleTime()); + }*/ revokedService.updateRevokeRequest(id, revokedRequest.getStatus(),revokedRequest.getAdminRemark(), revokedRequest.getReason(),revokedRequest.getHandleTime()); -//TODO 要加到记录里面去 - return Result.success(CommonResponse.factory("申请成功")); + //TODO 要加到记录里面去 + revokedService.addRevokedRecord(id,userId,revokedRequest.getReason(),revokedRequest.getHandleTime()); + return Result.success(CommonResponse.factory("申请成功")); } + @AuthAccess(allowRoles = {"admin"}) + @Operation(summary = "撤销单个奖惩记录") + @DeleteMapping("/admin/records/{id}") + public Result adminDeleteRecord(@PathVariable Integer id, String reason, HttpServletRequest request) { + Integer i = recordService.IsRecord(id); + String userId = String.valueOf(JwtInterceptor.getUserIdFromReq(request)); + if(i==null) { + throw new RuntimeException("该记录不存在"); + } + recordService.revokeUpdate(id,reason,userId); + return Result.msg("撤销成功"); + } + + @Data public static class Request { private Integer userId; diff --git a/src/main/java/top/suyiiyii/sims/mapper/MpRevRecord.java b/src/main/java/top/suyiiyii/sims/mapper/MpRevRecord.java new file mode 100644 index 0000000..9cffa50 --- /dev/null +++ b/src/main/java/top/suyiiyii/sims/mapper/MpRevRecord.java @@ -0,0 +1,17 @@ +package top.suyiiyii.sims.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import top.suyiiyii.sims.entity.RevokeRequest; +import top.suyiiyii.sims.entity.RevokedRecord; + +/** + * @Author tortoise + * @Date 2024/9/9 10:08 + * @PackageName:top.suyiiyii.sims.mapper + * @ClassName: MpRevRecord + * @Description: TODO + * @Version 1.0 + */ +public interface MpRevRecord extends BaseMapper { + void addRevokedRecord(Integer id, String userId, String reason, Long handleTime); +} diff --git a/src/main/java/top/suyiiyii/sims/mapper/RecordMapper.java b/src/main/java/top/suyiiyii/sims/mapper/RecordMapper.java index 7605de8..5c56ab4 100644 --- a/src/main/java/top/suyiiyii/sims/mapper/RecordMapper.java +++ b/src/main/java/top/suyiiyii/sims/mapper/RecordMapper.java @@ -83,4 +83,8 @@ public interface RecordMapper { Integer IsRecord(Integer id); @Select("SELECT category_id FROM record WHERE id = #{id}") Integer getCategoryIdById(Integer id); +@Update("UPDATE record SET is_revoked=#{isRevoked},operator_user_id=#{userId},revoke_remark = #{adminRemark}, revoke_reason = #{reason}, lsat_update_time = #{handleTime} WHERE id = #{id}") + void update(Integer id ,Boolean isRevoked,String userId, String adminRemark, String reason, Long handleTime); +@Update("UPDATE record SET is_revoked=#{isRevoked},operator_user_id=#{userId},revoke_remark = #{reason}, revoke_reason = #{revokeReason} WHERE id = #{id}") + void Rupdate(Integer id, String reason, Boolean isRevoked,String revokeReason, String userId); } diff --git a/src/main/java/top/suyiiyii/sims/service/RecordService.java b/src/main/java/top/suyiiyii/sims/service/RecordService.java index 9d4c65c..bc8e3f0 100644 --- a/src/main/java/top/suyiiyii/sims/service/RecordService.java +++ b/src/main/java/top/suyiiyii/sims/service/RecordService.java @@ -89,4 +89,15 @@ public class RecordService { public Integer getCategoryIdById(Integer id) { return recordMapper.getCategoryIdById(id); } + + public void update(Integer id, String userId, String adminRemark, String reason, Long handleTime) { + Boolean isRevoked=true; + recordMapper.update(id, isRevoked,userId, adminRemark, reason, handleTime); + } + + public void revokeUpdate(Integer id, String reason,String userId) { + String revokeReason="申请撤销"; + Boolean isRevoked=true; + recordMapper.Rupdate(id, reason,isRevoked,revokeReason,userId); + } } diff --git a/src/main/java/top/suyiiyii/sims/service/RevokedService.java b/src/main/java/top/suyiiyii/sims/service/RevokedService.java index 21f6a35..bc774b3 100644 --- a/src/main/java/top/suyiiyii/sims/service/RevokedService.java +++ b/src/main/java/top/suyiiyii/sims/service/RevokedService.java @@ -4,6 +4,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import top.suyiiyii.sims.controller.RevokedController; import top.suyiiyii.sims.entity.RevokeRequest; +import top.suyiiyii.sims.mapper.MpRevRecord; import top.suyiiyii.sims.mapper.MpRevRequestMapper; import java.util.List; @@ -21,7 +22,8 @@ public class RevokedService { @Autowired MpRevRequestMapper mpRevRequestMapper; - +@Autowired +MpRevRecord mpRevRecord; public void addRevokeRequest(RevokeRequest revokeRequest) { revokeRequest.setStatus("待审核"); mpRevRequestMapper.insert(revokeRequest); @@ -36,4 +38,8 @@ public class RevokedService { mpRevRequestMapper.update(id, status, adminRemark, reason, handleTime); } + + public void addRevokedRecord(Integer id, String userId, String reason, Long handleTime) { + mpRevRecord.addRevokedRecord(id, userId, reason, handleTime); + } }