feat: bug-627 管理端APP,解决方案审核这里,审核不同意保存后,这个工单没有反应,还是待审核的状态,还能再次多次重复审核(但是审核同意时不存在这个问题)

This commit is contained in:
曹鹏飞 2025-08-26 17:23:04 +08:00
parent bb415c9b70
commit 5612e79911
2 changed files with 17 additions and 11 deletions

View File

@ -1,8 +1,6 @@
package com.nflg.mobilebroken.repository.entity; package com.nflg.mobilebroken.repository.entity;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@ -47,11 +45,13 @@ public class TicketSolutionAudit implements Serializable {
/** /**
* 审核状态0不通过1通过 * 审核状态0不通过1通过
*/ */
@TableField(updateStrategy = FieldStrategy.ALWAYS)
private Integer state; private Integer state;
/** /**
* 审核不通过的原因 * 审核不通过的原因
*/ */
@TableField(updateStrategy = FieldStrategy.ALWAYS)
private String reason; private String reason;
/** /**

View File

@ -77,12 +77,12 @@ public class TicketSolutionAuditServiceImpl extends ServiceImpl<TicketSolutionAu
List<TicketSolutionAudit> forUpdate=new ArrayList<>(); List<TicketSolutionAudit> forUpdate=new ArrayList<>();
Ticket ticket=ticketService.getById(request.getTicketId()); Ticket ticket=ticketService.getById(request.getTicketId());
request.getDepartments().forEach(detp->{ request.getDepartments().forEach(detp->{
TicketSolutionAudit audit=new TicketSolutionAudit() TicketSolutionAudit audit = new TicketSolutionAudit();
.setTicketId(request.getTicketId())
.setDeptName(detp.getDeptName())
.setUserId(detp.getUserId())
.setCreateTime(LocalDateTime.now());
if (Objects.isNull(detp.getId())){ if (Objects.isNull(detp.getId())){
audit.setTicketId(request.getTicketId());
audit.setDeptName(detp.getDeptName());
audit.setUserId(detp.getUserId());
audit.setCreateTime(LocalDateTime.now());
forAdd.add(audit); forAdd.add(audit);
VUtils.trueThrowBusinessError(lambdaQuery() VUtils.trueThrowBusinessError(lambdaQuery()
.eq(TicketSolutionAudit::getTicketId, request.getTicketId()) .eq(TicketSolutionAudit::getTicketId, request.getTicketId())
@ -104,7 +104,8 @@ public class TicketSolutionAuditServiceImpl extends ServiceImpl<TicketSolutionAu
}else { }else {
audit.setId(detp.getId()); audit.setId(detp.getId());
TicketSolutionAudit entity=getById(detp.getId()); TicketSolutionAudit entity=getById(detp.getId());
if (!Objects.equals(entity.getUserId(), detp.getUserId())){ if (!Objects.equals(entity.getUserId(), detp.getUserId()) || Objects.equals(entity.getState(), 0)) {
adminMessageService.remove(0, ticket.getId(), entity.getUserId(), MessageSubType.TicketSolutionAudit.getState());
adminMessageService.add( adminMessageService.add(
new AdminMessage() new AdminMessage()
.setNo(ticket.getNo()) .setNo(ticket.getNo())
@ -117,7 +118,6 @@ public class TicketSolutionAuditServiceImpl extends ServiceImpl<TicketSolutionAu
.setIsRead(false) .setIsRead(false)
.setCreateTime(LocalDateTime.now()) .setCreateTime(LocalDateTime.now())
); );
adminMessageService.remove(0,ticket.getId(),entity.getUserId(),MessageSubType.TicketSolutionAudit.getState());
audit.setState(null); audit.setState(null);
audit.setReason(null); audit.setReason(null);
} }
@ -150,7 +150,13 @@ public class TicketSolutionAuditServiceImpl extends ServiceImpl<TicketSolutionAu
.eq(TicketSolutionAudit::getUserId, userId) .eq(TicketSolutionAudit::getUserId, userId)
.eq(TicketSolutionAudit::getState, 1) .eq(TicketSolutionAudit::getState, 1)
.exists()) .exists())
.throwMessage("已通过后不能再次审核"); .throwMessage("请勿重复审核");
VUtils.trueThrowBusinessError(lambdaQuery()
.eq(TicketSolutionAudit::getTicketId, request.getTicketId())
.eq(TicketSolutionAudit::getUserId, userId)
.eq(TicketSolutionAudit::getState, 0)
.exists())
.throwMessage("请等待CQM修改方案后再审核");
if(lambdaUpdate() if(lambdaUpdate()
.set(TicketSolutionAudit::getState,0) .set(TicketSolutionAudit::getState,0)
.set(TicketSolutionAudit::getReason,request.getReason()) .set(TicketSolutionAudit::getReason,request.getReason())