diff --git a/src/main/java/com/project/appeal/controller/AppealAdmainController.java b/src/main/java/com/project/appeal/controller/AppealAdmainController.java new file mode 100644 index 0000000..b9f511c --- /dev/null +++ b/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 saveOrUpdate(@RequestBody AppealDTO appealDTO){ + return appealApplication.saveOrUpdate(appealDTO); + } + + @GetMapping("list") + public Result> list(AppealParam appealParam){ + return appealApplication.list(appealParam); + } +} diff --git a/src/main/java/com/project/appeal/controller/AppealController.java b/src/main/java/com/project/appeal/controller/AppealController.java index d683386..615ad3a 100644 --- a/src/main/java/com/project/appeal/controller/AppealController.java +++ b/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 saveOrUpdate(@RequestBody AppealDTO appealDTO){ return appealApplication.saveOrUpdate(appealDTO); } - - @GetMapping("list") - public Result> list(AppealParam appealParam){ - return appealApplication.list(appealParam); - } } diff --git a/src/main/java/com/project/appeal/domain/service/Impl/CheckAppealDomainServiceImpl.java b/src/main/java/com/project/appeal/domain/service/Impl/CheckAppealDomainServiceImpl.java index 75a8f65..c5d5ddf 100644 --- a/src/main/java/com/project/appeal/domain/service/Impl/CheckAppealDomainServiceImpl.java +++ b/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 userRoles = SecurityUtils.getUserRoles(); + if(! userRoles.stream().anyMatch("ROLE_ADMIN"::equals)){ + throw new PermissionErrorException(); + } + } } } diff --git a/src/main/java/com/project/base/domain/exception/PermissionErrorException.java b/src/main/java/com/project/base/domain/exception/PermissionErrorException.java new file mode 100644 index 0000000..9c2908f --- /dev/null +++ b/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; + } +} diff --git a/src/main/java/com/project/information/controller/ProductLineExamineeController.java b/src/main/java/com/project/information/controller/ProductLineExamineeController.java index 3a70e60..2fd4be6 100644 --- a/src/main/java/com/project/information/controller/ProductLineExamineeController.java +++ b/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;