mirror of
				https://github.com/suyiiyii/SIMS.git
				synced 2025-11-04 15:54:52 +08:00 
			
		
		
		
	需求3
This commit is contained in:
		
							parent
							
								
									2d66f086b9
								
							
						
					
					
						commit
						266f87f7c6
					
				@ -2,6 +2,7 @@ package top.suyiiyii.sims.controller;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import io.swagger.v3.oas.annotations.Operation;
 | 
					import io.swagger.v3.oas.annotations.Operation;
 | 
				
			||||||
import jakarta.servlet.http.HttpServletRequest;
 | 
					import jakarta.servlet.http.HttpServletRequest;
 | 
				
			||||||
 | 
					import jakarta.servlet.http.HttpServletResponse;
 | 
				
			||||||
import jakarta.servlet.http.HttpSession;
 | 
					import jakarta.servlet.http.HttpSession;
 | 
				
			||||||
import lombok.Data;
 | 
					import lombok.Data;
 | 
				
			||||||
import org.modelmapper.ModelMapper;
 | 
					import org.modelmapper.ModelMapper;
 | 
				
			||||||
@ -100,6 +101,7 @@ RecordController {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @AuthAccess(allowRoles = {"admin"})
 | 
					    @AuthAccess(allowRoles = {"admin"})
 | 
				
			||||||
    @Operation(summary = "添加奖惩记录")
 | 
					    @Operation(summary = "添加奖惩记录")
 | 
				
			||||||
    @PostMapping("/admin/record")
 | 
					    @PostMapping("/admin/record")
 | 
				
			||||||
 | 
				
			|||||||
@ -3,12 +3,14 @@ package top.suyiiyii.sims.controller;
 | 
				
			|||||||
import io.swagger.v3.oas.annotations.Operation;
 | 
					import io.swagger.v3.oas.annotations.Operation;
 | 
				
			||||||
import io.swagger.v3.oas.annotations.responses.ApiResponse;
 | 
					import io.swagger.v3.oas.annotations.responses.ApiResponse;
 | 
				
			||||||
import io.swagger.v3.oas.annotations.responses.ApiResponses;
 | 
					import io.swagger.v3.oas.annotations.responses.ApiResponses;
 | 
				
			||||||
 | 
					import jakarta.servlet.http.HttpServletRequest;
 | 
				
			||||||
import lombok.Data;
 | 
					import lombok.Data;
 | 
				
			||||||
import lombok.extern.slf4j.Slf4j;
 | 
					import lombok.extern.slf4j.Slf4j;
 | 
				
			||||||
import org.modelmapper.ModelMapper;
 | 
					import org.modelmapper.ModelMapper;
 | 
				
			||||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
					import org.springframework.beans.factory.annotation.Autowired;
 | 
				
			||||||
import org.springframework.web.bind.annotation.*;
 | 
					import org.springframework.web.bind.annotation.*;
 | 
				
			||||||
import top.suyiiyii.sims.common.AuthAccess;
 | 
					import top.suyiiyii.sims.common.AuthAccess;
 | 
				
			||||||
 | 
					import top.suyiiyii.sims.common.JwtInterceptor;
 | 
				
			||||||
import top.suyiiyii.sims.common.Result;
 | 
					import top.suyiiyii.sims.common.Result;
 | 
				
			||||||
import top.suyiiyii.sims.dto.CommonResponse;
 | 
					import top.suyiiyii.sims.dto.CommonResponse;
 | 
				
			||||||
import top.suyiiyii.sims.dto.RecordDto;
 | 
					import top.suyiiyii.sims.dto.RecordDto;
 | 
				
			||||||
@ -43,8 +45,9 @@ public class RevokedController {
 | 
				
			|||||||
    NotificationService notificationService;
 | 
					    NotificationService notificationService;
 | 
				
			||||||
    @Autowired
 | 
					    @Autowired
 | 
				
			||||||
    CategoryService categoryService;
 | 
					    CategoryService categoryService;
 | 
				
			||||||
@Autowired
 | 
					    @Autowired
 | 
				
			||||||
    RecordService recordService;
 | 
					    RecordService recordService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //TODO 普通成员向管理员申请撤销
 | 
					    //TODO 普通成员向管理员申请撤销
 | 
				
			||||||
    @AuthAccess(allowRoles = {"user"})
 | 
					    @AuthAccess(allowRoles = {"user"})
 | 
				
			||||||
    @Operation(summary = "成员申请撤销")
 | 
					    @Operation(summary = "成员申请撤销")
 | 
				
			||||||
@ -83,21 +86,41 @@ public class RevokedController {
 | 
				
			|||||||
    @AuthAccess(allowRoles = {"admin"})
 | 
					    @AuthAccess(allowRoles = {"admin"})
 | 
				
			||||||
    @Operation(summary = "管理员处理撤销申请")
 | 
					    @Operation(summary = "管理员处理撤销申请")
 | 
				
			||||||
    @PutMapping("/{id}")
 | 
					    @PutMapping("/{id}")
 | 
				
			||||||
    public Result<CommonResponse> revoked( @PathVariable Integer id,RevokedRequest revokedRequest) {
 | 
					    public Result<CommonResponse> revoked(@PathVariable Integer id, RevokedRequest revokedRequest, HttpServletRequest request) {
 | 
				
			||||||
 | 
					        String userId = String.valueOf(JwtInterceptor.getUserIdFromReq(request));
 | 
				
			||||||
        if(revokedRequest.getAdminRemark().isBlank()) {
 | 
					        if(revokedRequest.getAdminRemark().isBlank()) {
 | 
				
			||||||
            throw new ServiceException("撤销备注不能为空");
 | 
					            throw new ServiceException("撤销备注不能为空");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if(!"批准".equals(revokedRequest.getStatus()) && !"拒绝".equals(revokedRequest.getStatus()) ) {
 | 
					        if(!"批准".equals(revokedRequest.getStatus()) && !"拒绝".equals(revokedRequest.getStatus()) ) {
 | 
				
			||||||
            throw new ServiceException("状态不合法");
 | 
					            throw new ServiceException("状态不合法");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					/*        if("批准".equals(revokedRequest.getStatus())){
 | 
				
			||||||
 | 
					            recordService.update(id,userId,revokedRequest.getStatus(),revokedRequest.getAdminRemark(),
 | 
				
			||||||
 | 
					                    revokedRequest.getReason(),revokedRequest.getHandleTime());
 | 
				
			||||||
 | 
					        }*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        revokedService.updateRevokeRequest(id,
 | 
					        revokedService.updateRevokeRequest(id,
 | 
				
			||||||
                revokedRequest.getStatus(),revokedRequest.getAdminRemark(),
 | 
					                revokedRequest.getStatus(),revokedRequest.getAdminRemark(),
 | 
				
			||||||
                revokedRequest.getReason(),revokedRequest.getHandleTime());
 | 
					                revokedRequest.getReason(),revokedRequest.getHandleTime());
 | 
				
			||||||
//TODO 要加到记录里面去
 | 
					            //TODO 要加到记录里面去
 | 
				
			||||||
        return Result.success(CommonResponse.factory("申请成功"));
 | 
					            revokedService.addRevokedRecord(id,userId,revokedRequest.getReason(),revokedRequest.getHandleTime());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return Result.success(CommonResponse.factory("申请成功"));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    @AuthAccess(allowRoles = {"admin"})
 | 
				
			||||||
 | 
					    @Operation(summary = "撤销单个奖惩记录")
 | 
				
			||||||
 | 
					    @DeleteMapping("/admin/records/{id}")
 | 
				
			||||||
 | 
					    public Result<CommonResponse> 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
 | 
					    @Data
 | 
				
			||||||
    public static class Request {
 | 
					    public static class Request {
 | 
				
			||||||
        private Integer userId;
 | 
					        private Integer userId;
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										17
									
								
								src/main/java/top/suyiiyii/sims/mapper/MpRevRecord.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								src/main/java/top/suyiiyii/sims/mapper/MpRevRecord.java
									
									
									
									
									
										Normal file
									
								
							@ -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<RevokedRecord> {
 | 
				
			||||||
 | 
					    void addRevokedRecord(Integer id, String userId, String reason, Long handleTime);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -83,4 +83,8 @@ public interface RecordMapper {
 | 
				
			|||||||
    Integer IsRecord(Integer id);
 | 
					    Integer IsRecord(Integer id);
 | 
				
			||||||
@Select("SELECT category_id FROM record WHERE id = #{id}")
 | 
					@Select("SELECT category_id FROM record WHERE id = #{id}")
 | 
				
			||||||
    Integer getCategoryIdById(Integer 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);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -89,4 +89,15 @@ public class RecordService {
 | 
				
			|||||||
    public Integer getCategoryIdById(Integer  id) {
 | 
					    public Integer getCategoryIdById(Integer  id) {
 | 
				
			||||||
        return recordMapper.getCategoryIdById(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);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -4,6 +4,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 | 
				
			|||||||
import org.springframework.stereotype.Service;
 | 
					import org.springframework.stereotype.Service;
 | 
				
			||||||
import top.suyiiyii.sims.controller.RevokedController;
 | 
					import top.suyiiyii.sims.controller.RevokedController;
 | 
				
			||||||
import top.suyiiyii.sims.entity.RevokeRequest;
 | 
					import top.suyiiyii.sims.entity.RevokeRequest;
 | 
				
			||||||
 | 
					import top.suyiiyii.sims.mapper.MpRevRecord;
 | 
				
			||||||
import top.suyiiyii.sims.mapper.MpRevRequestMapper;
 | 
					import top.suyiiyii.sims.mapper.MpRevRequestMapper;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.util.List;
 | 
					import java.util.List;
 | 
				
			||||||
@ -21,7 +22,8 @@ public class RevokedService {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    @Autowired
 | 
					    @Autowired
 | 
				
			||||||
    MpRevRequestMapper mpRevRequestMapper;
 | 
					    MpRevRequestMapper mpRevRequestMapper;
 | 
				
			||||||
 | 
					@Autowired
 | 
				
			||||||
 | 
					MpRevRecord mpRevRecord;
 | 
				
			||||||
    public void addRevokeRequest(RevokeRequest revokeRequest) {
 | 
					    public void addRevokeRequest(RevokeRequest revokeRequest) {
 | 
				
			||||||
        revokeRequest.setStatus("待审核");
 | 
					        revokeRequest.setStatus("待审核");
 | 
				
			||||||
        mpRevRequestMapper.insert(revokeRequest);
 | 
					        mpRevRequestMapper.insert(revokeRequest);
 | 
				
			||||||
@ -36,4 +38,8 @@ public class RevokedService {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        mpRevRequestMapper.update(id, status, adminRemark, reason, handleTime);
 | 
					        mpRevRequestMapper.update(id, status, adminRemark, reason, handleTime);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void addRevokedRecord(Integer id, String userId, String reason, Long handleTime) {
 | 
				
			||||||
 | 
					        mpRevRecord.addRevokedRecord(id, userId, reason, handleTime);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user