Browse Source

权限校验

master
luogw 1 month ago
parent
commit
312355bb91
  1. 31
      src/main/java/com/project/appeal/controller/AppealAdmainController.java
  2. 20
      src/main/java/com/project/appeal/controller/AppealController.java
  3. 13
      src/main/java/com/project/appeal/domain/service/Impl/CheckAppealDomainServiceImpl.java
  4. 25
      src/main/java/com/project/base/domain/exception/PermissionErrorException.java
  5. 2
      src/main/java/com/project/information/controller/ProductLineExamineeController.java

31
src/main/java/com/project/appeal/controller/AppealAdmainController.java

@ -0,0 +1,31 @@
package com.project.appeal.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.appeal.application.AppealApplication;
import com.project.appeal.domain.dto.AppealDTO;
import com.project.appeal.domain.param.AppealParam;
import com.project.base.domain.result.Result;
import com.project.operation.annotation.OperationLog;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* 申诉模块
*/
@RequestMapping("/api/admin/appeal")
@RestController
public class AppealAdmainController {
@Autowired
private AppealApplication appealApplication;
@PostMapping("saveOrUpdate")
@OperationLog(module = "申诉审批")
public Result<AppealDTO> saveOrUpdate(@RequestBody AppealDTO appealDTO){
return appealApplication.saveOrUpdate(appealDTO);
}
@GetMapping("list")
public Result<IPage<AppealDTO>> list(AppealParam appealParam){
return appealApplication.list(appealParam);
}
}

20
src/main/java/com/project/appeal/controller/AppealController.java

@ -1,33 +1,25 @@
package com.project.appeal.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.appeal.application.AppealApplication;
import com.project.appeal.domain.dto.AppealDTO;
import com.project.appeal.domain.param.AppealParam;
import com.project.base.domain.result.Result;
import com.project.operation.annotation.OperationLog;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
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;
/**
* 申诉模块
* 申诉模块-考生端
*/
@RequestMapping("/api/admin/appeal")
@RequestMapping("/api/appeal")
@RestController
public class AppealController {
@Autowired
private AppealApplication appealApplication;
@PostMapping("saveOrUpdate")
@OperationLog(module = "申诉审批")
public Result<AppealDTO> saveOrUpdate(@RequestBody AppealDTO appealDTO){
return appealApplication.saveOrUpdate(appealDTO);
}
@GetMapping("list")
public Result<IPage<AppealDTO>> list(AppealParam appealParam){
return appealApplication.list(appealParam);
}
}

13
src/main/java/com/project/appeal/domain/service/Impl/CheckAppealDomainServiceImpl.java

@ -5,9 +5,14 @@ import com.project.appeal.domain.dto.AppealDTO;
import com.project.appeal.domain.service.CheckAppealDomainService;
import com.project.base.domain.exception.BusinessErrorException;
import com.project.base.domain.exception.MissingParameterException;
import com.project.base.domain.exception.PermissionErrorException;
import com.project.base.domain.result.ResultCodeEnum;
import com.project.ding.utils.SecurityUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class CheckAppealDomainServiceImpl implements CheckAppealDomainService {
@Override
@ -41,5 +46,13 @@ public class CheckAppealDomainServiceImpl implements CheckAppealDomainService {
if (ObjectUtil.isNotEmpty(appealDTO.getId()) && appealDTO.getStatus() == 1){
throw new BusinessErrorException("申诉状态错误");
}
//权限校验
if (ObjectUtil.isNotEmpty(appealDTO.getId()) && appealDTO.getStatus() != 1){
//校验权限
List<String> userRoles = SecurityUtils.getUserRoles();
if(! userRoles.stream().anyMatch("ROLE_ADMIN"::equals)){
throw new PermissionErrorException();
}
}
}
}

25
src/main/java/com/project/base/domain/exception/PermissionErrorException.java

@ -0,0 +1,25 @@
package com.project.base.domain.exception;
import com.project.base.domain.result.ResultCodeEnum;
import lombok.Data;
@Data
public class PermissionErrorException extends RuntimeException {
private Integer code;
public PermissionErrorException() {
super(ResultCodeEnum.PERMISSION_DENIED.getMessage());
this.code = ResultCodeEnum.PERMISSION_DENIED.getCode();
}
public PermissionErrorException(String msg) {
super(msg);
this.code = ResultCodeEnum.PERMISSION_DENIED.getCode();
}
public PermissionErrorException(Integer code , String msg) {
super(msg);
this.code = code;
}
}

2
src/main/java/com/project/information/controller/ProductLineExamineeController.java

@ -14,7 +14,7 @@ import java.util.List;
@RestController
@Slf4j
@RequestMapping("/api/examinee/productLine")
@RequestMapping("/api/productLine")
public class ProductLineExamineeController {
@Autowired
private ProductLineApplicationService productLineApplicationService;

Loading…
Cancel
Save