From f0c6cd7939ef00b92236896c16a89b0c05920509 Mon Sep 17 00:00:00 2001 From: luogw <3132758203@qq.com> Date: Thu, 5 Feb 2026 17:02:49 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...roller.java => AppealAdminController.java} | 4 ++-- ...{StatusEnum.java => AppealStatusEnum.java} | 2 +- .../Impl/CheckAppealDomainServiceImpl.java | 22 +++++-------------- .../Impl/SaveAppealDomainServiceImpl.java | 20 ++++++++--------- .../AppealDescriptionStrategy.java | 6 ++--- 5 files changed, 21 insertions(+), 33 deletions(-) rename src/main/java/com/project/appeal/controller/{AppealAdmainController.java => AppealAdminController.java} (87%) rename src/main/java/com/project/appeal/domain/enums/{StatusEnum.java => AppealStatusEnum.java} (84%) diff --git a/src/main/java/com/project/appeal/controller/AppealAdmainController.java b/src/main/java/com/project/appeal/controller/AppealAdminController.java similarity index 87% rename from src/main/java/com/project/appeal/controller/AppealAdmainController.java rename to src/main/java/com/project/appeal/controller/AppealAdminController.java index 76f4294..dad0de2 100644 --- a/src/main/java/com/project/appeal/controller/AppealAdmainController.java +++ b/src/main/java/com/project/appeal/controller/AppealAdminController.java @@ -15,13 +15,13 @@ import org.springframework.web.bind.annotation.*; */ @RequestMapping("/api/admin/appeal") @RestController -public class AppealAdmainController { +public class AppealAdminController { @Autowired private AppealApplication appealApplication; @PostMapping("saveOrUpdate") @OperationLog(module = "申诉审批") - public Result saveOrUpdate(@RequestBody AppealDTO appealDTO) throws DtErrorException { + public Result saveOrUpdate(AppealDTO appealDTO) throws DtErrorException { return appealApplication.saveOrUpdate(appealDTO); } diff --git a/src/main/java/com/project/appeal/domain/enums/StatusEnum.java b/src/main/java/com/project/appeal/domain/enums/AppealStatusEnum.java similarity index 84% rename from src/main/java/com/project/appeal/domain/enums/StatusEnum.java rename to src/main/java/com/project/appeal/domain/enums/AppealStatusEnum.java index 90b6333..a2dc85f 100644 --- a/src/main/java/com/project/appeal/domain/enums/StatusEnum.java +++ b/src/main/java/com/project/appeal/domain/enums/AppealStatusEnum.java @@ -6,7 +6,7 @@ import lombok.RequiredArgsConstructor; @Getter @RequiredArgsConstructor -public enum StatusEnum implements HasValueEnum { +public enum AppealStatusEnum implements HasValueEnum { PENDING_REVIEW(1,"待审核"), PASS_REVIEW(2,"审核通过"), REFUSE_REVIEW(3,"审核拒绝"); 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 06c64c5..c3634f0 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 @@ -2,12 +2,11 @@ package com.project.appeal.domain.service.Impl; import cn.hutool.core.util.ObjectUtil; import com.project.appeal.domain.dto.AppealDTO; -import com.project.appeal.domain.enums.StatusEnum; +import com.project.appeal.domain.enums.AppealStatusEnum; 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.domain.enums.UserRoleEnum; import com.project.ding.utils.SecurityUtils; import org.apache.commons.lang3.StringUtils; @@ -22,37 +21,26 @@ public class CheckAppealDomainServiceImpl implements CheckAppealDomainService { if (ObjectUtil.isEmpty(appealDTO.getExamId())){ throw new MissingParameterException("缺少考试ID"); } - - if (ObjectUtil.isEmpty(appealDTO.getUserId())){ - throw new MissingParameterException("缺少用户ID"); - } - - if (StringUtils.isBlank(appealDTO.getUserName())){ - throw new MissingParameterException("缺少用户名称"); - } - if (ObjectUtil.isEmpty(appealDTO.getQuestionContent())){ throw new MissingParameterException("缺少题目ID"); } - if (StringUtils.isBlank(appealDTO.getUserAnswer())){ throw new MissingParameterException("缺少用户答案"); } - if (StringUtils.isBlank(appealDTO.getRemark())){ throw new MissingParameterException("缺少申诉理由"); } - if (ObjectUtil.isEmpty(appealDTO.getId()) && appealDTO.getStatus() != StatusEnum.PENDING_REVIEW.getValue()){ + if (ObjectUtil.isEmpty(appealDTO.getId()) && !appealDTO.getStatus().equals(AppealStatusEnum.PENDING_REVIEW.getValue())){ throw new BusinessErrorException("申诉状态错误"); } - if (ObjectUtil.isNotEmpty(appealDTO.getId()) && appealDTO.getStatus() == StatusEnum.PENDING_REVIEW.getValue()){ + if (ObjectUtil.isNotEmpty(appealDTO.getId()) && appealDTO.getStatus().equals(AppealStatusEnum.PENDING_REVIEW.getValue())){ throw new BusinessErrorException("申诉状态错误"); } - if (appealDTO.getStatus() != StatusEnum.PENDING_REVIEW.getValue() && StringUtils.isBlank(appealDTO.getReason())){ + if (!appealDTO.getStatus().equals(AppealStatusEnum.PENDING_REVIEW.getValue()) && StringUtils.isBlank(appealDTO.getReason())){ throw new BusinessErrorException("缺少审批意见"); } //权限校验 - if (ObjectUtil.isNotEmpty(appealDTO.getId()) && appealDTO.getStatus() != 1){ + if (ObjectUtil.isNotEmpty(appealDTO.getId()) && !appealDTO.getStatus().equals(AppealStatusEnum.PENDING_REVIEW.getValue())){ //校验权限 List userRoles = SecurityUtils.getUserRoles(); if(! userRoles.stream().anyMatch(UserRoleEnum.ROLE_ADMIN::equals)){ diff --git a/src/main/java/com/project/appeal/domain/service/Impl/SaveAppealDomainServiceImpl.java b/src/main/java/com/project/appeal/domain/service/Impl/SaveAppealDomainServiceImpl.java index ba4aa55..f6e69a2 100644 --- a/src/main/java/com/project/appeal/domain/service/Impl/SaveAppealDomainServiceImpl.java +++ b/src/main/java/com/project/appeal/domain/service/Impl/SaveAppealDomainServiceImpl.java @@ -1,34 +1,29 @@ package com.project.appeal.domain.service.Impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.tingyugetc520.ali.dingtalk.error.DtErrorException; import com.project.appeal.domain.dto.AppealDTO; import com.project.appeal.domain.entity.AppealEntity; -import com.project.appeal.domain.enums.StatusEnum; +import com.project.appeal.domain.enums.AppealStatusEnum; import com.project.appeal.domain.service.AppealBaseService; import com.project.appeal.domain.service.SaveAppealDomainService; import com.project.base.domain.exception.BusinessErrorException; import com.project.base.domain.result.Result; +import com.project.ding.domain.dto.UserDTO; import com.project.ding.utils.DingUtil; import com.project.ding.utils.SecurityUtils; import com.project.exam.domain.dto.ExamRecordDTO; import com.project.exam.domain.entity.ExamRecordEntity; -import com.project.exam.domain.service.ExamRecordBaseService; import com.project.exam.mapper.ExamRecordMapper; import com.project.task.domain.entity.TaskEntity; import com.project.task.domain.enums.QuestionTypeEnum; import com.project.task.mapper.TaskMapper; -import org.redisson.mapreduce.Collector; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.math.RoundingMode; -import java.util.ArrayList; import java.util.List; -import java.util.Optional; -import java.util.stream.Collectors; @Service public class SaveAppealDomainServiceImpl implements SaveAppealDomainService { @@ -48,16 +43,21 @@ public class SaveAppealDomainServiceImpl implements SaveAppealDomainService { AppealEntity entity = appealDTO.toEntity(AppealEntity::new); //设置审批人 - if (appealDTO.getStatus() != StatusEnum.PENDING_REVIEW.getValue()){ + if (!appealDTO.getStatus().equals(AppealStatusEnum.PENDING_REVIEW.getValue())){ appealDTO.setAppealUserId(SecurityUtils.getUserId()); + }else{ + //设置申诉人 + appealDTO.setAppealUserId(SecurityUtils.getUserId()); + UserDTO user = dingUtil.getUserById(SecurityUtils.getUserId()); + appealDTO.setUserName(user.getName()); } appealBaseService.saveOrUpdate(entity); //如果审核通过,需要为用户加分 - if (appealDTO.getStatus() != StatusEnum.PASS_REVIEW.getValue()) { + if (!appealDTO.getStatus().equals(AppealStatusEnum.PASS_REVIEW.getValue())) { //审核拒绝,发送工作通知消息,告知用户 - if (appealDTO.getStatus() == StatusEnum.REFUSE_REVIEW.getValue()) { + if (appealDTO.getStatus().equals(AppealStatusEnum.REFUSE_REVIEW.getValue())) { dingUtil.sendWorkNotice(appealDTO); } return Result.success(appealDTO); diff --git a/src/main/java/com/project/operation/domain/service/impl/description/AppealDescriptionStrategy.java b/src/main/java/com/project/operation/domain/service/impl/description/AppealDescriptionStrategy.java index 5022230..82204d9 100644 --- a/src/main/java/com/project/operation/domain/service/impl/description/AppealDescriptionStrategy.java +++ b/src/main/java/com/project/operation/domain/service/impl/description/AppealDescriptionStrategy.java @@ -1,7 +1,7 @@ package com.project.operation.domain.service.impl.description; import com.project.appeal.domain.dto.AppealDTO; -import com.project.appeal.domain.enums.StatusEnum; +import com.project.appeal.domain.enums.AppealStatusEnum; import com.project.operation.domain.dto.OperationLogDTO; import com.project.operation.domain.enums.ModuleEnum; import com.project.operation.domain.service.DescriptionStrategy; @@ -19,8 +19,8 @@ public class AppealDescriptionStrategy implements DescriptionStrategy { private static final Map STATUS_ACTION_MAP = new HashMap<>(); static { // 枚举值与操作文案映射,后续新增状态只需加这行 - STATUS_ACTION_MAP.put(StatusEnum.PASS_REVIEW.getValue(), "通过"); - STATUS_ACTION_MAP.put(StatusEnum.REFUSE_REVIEW.getValue(), "拒绝"); + STATUS_ACTION_MAP.put(AppealStatusEnum.PASS_REVIEW.getValue(), "通过"); + STATUS_ACTION_MAP.put(AppealStatusEnum.REFUSE_REVIEW.getValue(), "拒绝"); } @Override