feat: 一些调整

This commit is contained in:
曹鹏飞 2025-02-17 00:07:59 +08:00
parent 47038a8aeb
commit b106b431e5
15 changed files with 189 additions and 103 deletions

View File

@ -11,9 +11,10 @@ import com.nflg.mobilebroken.repository.entity.Ticket;
import com.nflg.mobilebroken.repository.service.*;
import com.nflg.mobilebroken.starter.service.EmailService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.ApplicationEvent;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Arrays;
@ -21,24 +22,18 @@ import java.util.List;
import java.util.stream.Collectors;
@Slf4j
public class TicketCloseEvent extends ApplicationEvent {
public class TicketCloseEvent extends ApplicationEvent implements ApplicationContextAware {
private static final DateTimeFormatter FORMATTER= DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN);
private final Ticket ticket;
private final String language;
private final String zone;
@Resource
private IAdminUserService adminUserService;
@Resource
private IAdminMessageService adminMessageService;
@Resource
private IDictionaryItemTranslateService dictionaryItemTranslateService;
@Resource
private IAppUserService appUserService;
@Resource
private IAppMessageService appMessageService;
@Resource
private EmailService emailService;
private ITBaseDeviceTypeService deviceTypeService;
private IAdminUserService adminUserService;
private IAdminMessageService adminMessageService;
public TicketCloseEvent(Object source,Ticket ticket, String language, String zone) {
super(source);
@ -47,6 +42,16 @@ public class TicketCloseEvent extends ApplicationEvent {
this.zone = zone;
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) {
this.dictionaryItemTranslateService = applicationContext.getBean(IDictionaryItemTranslateService.class);
this.appUserService = applicationContext.getBean(IAppUserService.class);
this.emailService = applicationContext.getBean(EmailService.class);
this.adminUserService = applicationContext.getBean(IAdminUserService.class);
this.adminMessageService = applicationContext.getBean(IAdminMessageService.class);
this.deviceTypeService = applicationContext.getBean(ITBaseDeviceTypeService.class);
}
public void send(){
sendUserMessage();
}

View File

@ -10,31 +10,27 @@ import com.nflg.mobilebroken.repository.entity.Ticket;
import com.nflg.mobilebroken.repository.service.*;
import com.nflg.mobilebroken.starter.service.EmailService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.ApplicationEvent;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@Slf4j
public class TicketCompleteEvent extends ApplicationEvent {
public class TicketCompleteEvent extends ApplicationEvent implements ApplicationContextAware {
private static final DateTimeFormatter FORMATTER= DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN);
private final Ticket ticket;
private final String language;
private final String zone;
@Resource
private IAdminUserService adminUserService;
@Resource
private IAdminMessageService adminMessageService;
@Resource
private IDictionaryItemTranslateService dictionaryItemTranslateService;
@Resource
private IAppUserService appUserService;
@Resource
private IAppMessageService appMessageService;
@Resource
private EmailService emailService;
private ITBaseDeviceTypeService deviceTypeService;
private IAdminUserService adminUserService;
private IAdminMessageService adminMessageService;
private IAppMessageService appMessageService;
public TicketCompleteEvent(Object source,Ticket ticket, String language, String zone) {
super(source);
@ -43,6 +39,17 @@ public class TicketCompleteEvent extends ApplicationEvent {
this.zone = zone;
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) {
this.dictionaryItemTranslateService = applicationContext.getBean(IDictionaryItemTranslateService.class);
this.appUserService = applicationContext.getBean(IAppUserService.class);
this.emailService = applicationContext.getBean(EmailService.class);
this.adminUserService = applicationContext.getBean(IAdminUserService.class);
this.adminMessageService = applicationContext.getBean(IAdminMessageService.class);
this.deviceTypeService = applicationContext.getBean(ITBaseDeviceTypeService.class);
this.appMessageService = applicationContext.getBean(IAppMessageService.class);
}
public void send(){
sendUserMessage();
}

View File

@ -12,9 +12,10 @@ import com.nflg.mobilebroken.repository.entity.Ticket;
import com.nflg.mobilebroken.repository.service.*;
import com.nflg.mobilebroken.starter.service.EmailService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.ApplicationEvent;
import javax.annotation.Resource;
import javax.mail.MessagingException;
import java.time.LocalDateTime;
import java.time.ZoneId;
@ -25,24 +26,19 @@ import java.util.List;
import java.util.stream.Collectors;
@Slf4j
public class TicketReplyEvent extends ApplicationEvent {
public class TicketReplyEvent extends ApplicationEvent implements ApplicationContextAware {
private static final DateTimeFormatter FORMATTER= DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN);
private final Ticket ticket;
private final String language;
private final String zone;
@Resource
private IAdminUserService adminUserService;
@Resource
private IAdminMessageService adminMessageService;
@Resource
private IDictionaryItemTranslateService dictionaryItemTranslateService;
@Resource
private IAppUserService appUserService;
@Resource
private IAppMessageService appMessageService;
@Resource
private EmailService emailService;
private ITBaseDeviceTypeService deviceTypeService;
private IAdminUserService adminUserService;
private IAdminMessageService adminMessageService;
private IAppMessageService appMessageService;
public TicketReplyEvent(Object source,Ticket ticket, String language, String zone) {
super(source);
@ -51,6 +47,17 @@ public class TicketReplyEvent extends ApplicationEvent {
this.zone = zone;
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) {
this.dictionaryItemTranslateService = applicationContext.getBean(IDictionaryItemTranslateService.class);
this.appUserService = applicationContext.getBean(IAppUserService.class);
this.emailService = applicationContext.getBean(EmailService.class);
this.adminUserService = applicationContext.getBean(IAdminUserService.class);
this.adminMessageService = applicationContext.getBean(IAdminMessageService.class);
this.deviceTypeService = applicationContext.getBean(ITBaseDeviceTypeService.class);
this.appMessageService = applicationContext.getBean(IAppMessageService.class);
}
public void send(){
sendUserMessage();
sendEmail();

View File

@ -4,6 +4,7 @@ import com.nflg.mobilebroken.admin.event.TicketCloseEvent;
import com.nflg.mobilebroken.admin.event.TicketCompleteEvent;
import com.nflg.mobilebroken.admin.event.TicketReplyEvent;
import com.nflg.mobilebroken.repository.entity.Ticket;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Service;
@ -15,15 +16,24 @@ public class TicketEventPublisher {
@Resource
private ApplicationEventPublisher eventPublisher;
@Resource
private ApplicationContext applicationContext;
public void publishTicketReplyEvent(Ticket ticket, String language, String zone) {
eventPublisher.publishEvent(new TicketReplyEvent(this, ticket, language, zone));
TicketReplyEvent event = new TicketReplyEvent(this, ticket, language, zone);
event.setApplicationContext(applicationContext);
eventPublisher.publishEvent(event);
}
public void publishTicketCompleteEvent(Ticket ticket, String language, String zone) {
eventPublisher.publishEvent(new TicketCompleteEvent(this, ticket, language, zone));
TicketCompleteEvent event = new TicketCompleteEvent(this, ticket, language, zone);
event.setApplicationContext(applicationContext);
eventPublisher.publishEvent(event);
}
public void publishTicketCloseEvent(Ticket ticket, String language, String zone) {
eventPublisher.publishEvent(new TicketCloseEvent(this, ticket, language, zone));
TicketCloseEvent event = new TicketCloseEvent(this, ticket, language, zone);
event.setApplicationContext(applicationContext);
eventPublisher.publishEvent(event);
}
}

View File

@ -332,7 +332,8 @@ public class TiketController extends ControllerBase {
**/
@GetMapping
public ApiResult<Void> reopenTicket(@Valid @RequestParam @NotNull Integer id) {
ticketService.reopen(id);
Ticket ticket=ticketService.reopen(id);
ticketEventPublisher.publishTicketReopenEvent(ticket, MultilingualUtil.getLanguage(), MultilingualUtil.getZone());
return ApiResult.success();
}

View File

@ -16,9 +16,10 @@ import com.nflg.mobilebroken.repository.service.IAppUserService;
import com.nflg.mobilebroken.repository.service.IDictionaryItemTranslateService;
import com.nflg.mobilebroken.starter.service.EmailService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.ApplicationEvent;
import javax.annotation.Resource;
import javax.mail.MessagingException;
import java.time.LocalDateTime;
import java.time.ZoneId;
@ -29,22 +30,17 @@ import java.util.List;
import java.util.stream.Collectors;
@Slf4j
public class TicketAssignedEvent extends ApplicationEvent {
public class TicketAssignedEvent extends ApplicationEvent implements ApplicationContextAware {
private static final DateTimeFormatter FORMATTER= DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN);
private final Ticket ticket;
private final String language;
private final String zone;
@Resource
private IAdminUserService adminUserService;
@Resource
private IAdminMessageService adminMessageService;
@Resource
private IDictionaryItemTranslateService dictionaryItemTranslateService;
@Resource
private IAppUserService appUserService;
@Resource
private EmailService emailService;
private IAdminUserService adminUserService;
private IAdminMessageService adminMessageService;
public TicketAssignedEvent(Object source, Ticket ticket, String language, String zone) {
super(source);
@ -53,6 +49,15 @@ public class TicketAssignedEvent extends ApplicationEvent {
this.zone = zone;
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) {
this.dictionaryItemTranslateService = applicationContext.getBean(IDictionaryItemTranslateService.class);
this.appUserService = applicationContext.getBean(IAppUserService.class);
this.emailService = applicationContext.getBean(EmailService.class);
this.adminUserService = applicationContext.getBean(IAdminUserService.class);
this.adminMessageService = applicationContext.getBean(IAdminMessageService.class);
}
public void send(){
sendUserMessage();
sendEmail();

View File

@ -12,9 +12,10 @@ import com.nflg.mobilebroken.repository.entity.Ticket;
import com.nflg.mobilebroken.repository.service.*;
import com.nflg.mobilebroken.starter.service.EmailService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.ApplicationEvent;
import javax.annotation.Resource;
import javax.mail.MessagingException;
import java.time.LocalDateTime;
import java.time.ZoneId;
@ -23,24 +24,18 @@ import java.time.format.DateTimeFormatter;
import java.util.List;
@Slf4j
public class TicketCreateEvent extends ApplicationEvent {
public class TicketCreateEvent extends ApplicationEvent implements ApplicationContextAware {
private static final DateTimeFormatter FORMATTER= DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN);
private final Ticket ticket;
private final String language;
private final String zone;
@Resource
private IDictionaryItemTranslateService dictionaryItemTranslateService;
@Resource
private IAppUserService appUserService;
@Resource
private EmailService emailService;
@Resource
private ITBaseDeviceTypeService deviceTypeService;
@Resource
private IAdminUserService adminUserService;
@Resource
private IAdminMessageService adminMessageService;
public TicketCreateEvent(Object source, Ticket ticket,String language,String zone) {
@ -50,6 +45,16 @@ public class TicketCreateEvent extends ApplicationEvent {
this.zone = zone;
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) {
this.dictionaryItemTranslateService = applicationContext.getBean(IDictionaryItemTranslateService.class);
this.appUserService = applicationContext.getBean(IAppUserService.class);
this.emailService = applicationContext.getBean(EmailService.class);
this.adminUserService = applicationContext.getBean(IAdminUserService.class);
this.adminMessageService = applicationContext.getBean(IAdminMessageService.class);
this.deviceTypeService = applicationContext.getBean(ITBaseDeviceTypeService.class);
}
public void send(){
sendUserMessage();
sendEmail();
@ -58,7 +63,7 @@ public class TicketCreateEvent extends ApplicationEvent {
private void sendUserMessage(){
//我的待办
List<Integer> cqms=deviceTypeService.getCqmsByDeviceType(ticket.getDeviceNo());
if (CollectionUtil.isNotEmpty(cqms)){
if (CollectionUtil.isEmpty(cqms)){
log.warn("该设备尚未设置CQM负责人:{}", ticket.getDeviceNo());
}else {
List<AdminUser> cqmUsers = adminUserService.listByIds(cqms);

View File

@ -8,27 +8,29 @@ import com.nflg.mobilebroken.repository.entity.AdminUser;
import com.nflg.mobilebroken.repository.entity.Ticket;
import com.nflg.mobilebroken.repository.service.IAdminMessageService;
import com.nflg.mobilebroken.repository.service.IAdminUserService;
import com.nflg.mobilebroken.repository.service.IAppUserService;
import com.nflg.mobilebroken.repository.service.IDictionaryItemTranslateService;
import com.nflg.mobilebroken.starter.service.EmailService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.ApplicationEvent;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@Slf4j
public class TicketReopenEvent extends ApplicationEvent {
public class TicketReopenEvent extends ApplicationEvent implements ApplicationContextAware {
private static final DateTimeFormatter FORMATTER= DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN);
private final Ticket ticket;
private final String language;
private final String zone;
@Resource
private IAdminUserService adminUserService;
@Resource
private IAdminMessageService adminMessageService;
@Resource
private IDictionaryItemTranslateService dictionaryItemTranslateService;
private IAppUserService appUserService;
private EmailService emailService;
private IAdminUserService adminUserService;
private IAdminMessageService adminMessageService;
public TicketReopenEvent(Object source,Ticket ticket, String language, String zone) {
super(source);
@ -37,6 +39,15 @@ public class TicketReopenEvent extends ApplicationEvent {
this.zone = zone;
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) {
this.dictionaryItemTranslateService = applicationContext.getBean(IDictionaryItemTranslateService.class);
this.appUserService = applicationContext.getBean(IAppUserService.class);
this.emailService = applicationContext.getBean(EmailService.class);
this.adminUserService = applicationContext.getBean(IAdminUserService.class);
this.adminMessageService = applicationContext.getBean(IAdminMessageService.class);
}
public void send(){
sendUserMessage();
}

View File

@ -10,12 +10,16 @@ import com.nflg.mobilebroken.repository.entity.AdminMessage;
import com.nflg.mobilebroken.repository.entity.AdminUser;
import com.nflg.mobilebroken.repository.entity.AppUser;
import com.nflg.mobilebroken.repository.entity.Ticket;
import com.nflg.mobilebroken.repository.service.*;
import com.nflg.mobilebroken.repository.service.IAdminMessageService;
import com.nflg.mobilebroken.repository.service.IAdminUserService;
import com.nflg.mobilebroken.repository.service.IAppUserService;
import com.nflg.mobilebroken.repository.service.IDictionaryItemTranslateService;
import com.nflg.mobilebroken.starter.service.EmailService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.ApplicationEvent;
import javax.annotation.Resource;
import javax.mail.MessagingException;
import java.time.LocalDateTime;
import java.time.ZoneId;
@ -26,24 +30,17 @@ import java.util.List;
import java.util.stream.Collectors;
@Slf4j
public class TicketReplyEvent extends ApplicationEvent {
public class TicketReplyEvent extends ApplicationEvent implements ApplicationContextAware {
private static final DateTimeFormatter FORMATTER= DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN);
private final Ticket ticket;
private final String language;
private final String zone;
@Resource
private IAdminUserService adminUserService;
@Resource
private IAdminMessageService adminMessageService;
@Resource
private IDictionaryItemTranslateService dictionaryItemTranslateService;
@Resource
private IAppUserService appUserService;
@Resource
private IAppMessageService appMessageService;
@Resource
private EmailService emailService;
private IAdminUserService adminUserService;
private IAdminMessageService adminMessageService;
public TicketReplyEvent(Object source, Ticket ticket, String language, String zone) {
super(source);
@ -52,6 +49,15 @@ public class TicketReplyEvent extends ApplicationEvent {
this.zone = zone;
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) {
this.dictionaryItemTranslateService = applicationContext.getBean(IDictionaryItemTranslateService.class);
this.appUserService = applicationContext.getBean(IAppUserService.class);
this.emailService = applicationContext.getBean(EmailService.class);
this.adminUserService = applicationContext.getBean(IAdminUserService.class);
this.adminMessageService = applicationContext.getBean(IAdminMessageService.class);
}
public void send(){
sendUserMessage();
sendEmail();

View File

@ -10,11 +10,14 @@ import com.nflg.mobilebroken.repository.entity.AdminUser;
import com.nflg.mobilebroken.repository.entity.Ticket;
import com.nflg.mobilebroken.repository.service.IAdminMessageService;
import com.nflg.mobilebroken.repository.service.IAdminUserService;
import com.nflg.mobilebroken.repository.service.IAppUserService;
import com.nflg.mobilebroken.repository.service.IDictionaryItemTranslateService;
import com.nflg.mobilebroken.starter.service.EmailService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.ApplicationEvent;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Arrays;
@ -22,18 +25,17 @@ import java.util.List;
import java.util.stream.Collectors;
@Slf4j
public class TicketRevokeEvent extends ApplicationEvent {
public class TicketRevokeEvent extends ApplicationEvent implements ApplicationContextAware {
private static final DateTimeFormatter FORMATTER= DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN);
private final Ticket ticket;
private final String language;
private final String zone;
@Resource
private IAdminUserService adminUserService;
@Resource
private IAdminMessageService adminMessageService;
@Resource
private IDictionaryItemTranslateService dictionaryItemTranslateService;
private IAppUserService appUserService;
private EmailService emailService;
private IAdminUserService adminUserService;
private IAdminMessageService adminMessageService;
public TicketRevokeEvent(Object source,Ticket ticket, String language, String zone) {
super(source);
@ -41,6 +43,15 @@ public class TicketRevokeEvent extends ApplicationEvent {
this.language = language;
this.zone = zone;
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) {
this.dictionaryItemTranslateService = applicationContext.getBean(IDictionaryItemTranslateService.class);
this.appUserService = applicationContext.getBean(IAppUserService.class);
this.emailService = applicationContext.getBean(EmailService.class);
this.adminUserService = applicationContext.getBean(IAdminUserService.class);
this.adminMessageService = applicationContext.getBean(IAdminMessageService.class);
}
public void send(){
sendUserMessage();

View File

@ -1,10 +1,8 @@
package com.nflg.mobilebroken.cfs.publisher;
import com.nflg.mobilebroken.cfs.event.TicketAssignedEvent;
import com.nflg.mobilebroken.cfs.event.TicketCreateEvent;
import com.nflg.mobilebroken.cfs.event.TicketReplyEvent;
import com.nflg.mobilebroken.cfs.event.TicketRevokeEvent;
import com.nflg.mobilebroken.cfs.event.*;
import com.nflg.mobilebroken.repository.entity.Ticket;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Service;
@ -16,19 +14,36 @@ public class TicketEventPublisher {
@Resource
private ApplicationEventPublisher eventPublisher;
@Resource
private ApplicationContext applicationContext;
public void publishTicketCreateEvent(Ticket ticket, String language, String zone) {
eventPublisher.publishEvent(new TicketCreateEvent(this, ticket, language, zone));
TicketCreateEvent event = new TicketCreateEvent(this, ticket, language, zone);
event.setApplicationContext(applicationContext);
eventPublisher.publishEvent(event);
}
public void publishTicketAssignedEvent(Ticket ticket, String language, String zone) {
eventPublisher.publishEvent(new TicketAssignedEvent(this, ticket, language, zone));
TicketAssignedEvent event = new TicketAssignedEvent(this, ticket, language, zone);
event.setApplicationContext(applicationContext);
eventPublisher.publishEvent(event);
}
public void publishTicketReplyEvent(Ticket ticket, String language, String zone) {
eventPublisher.publishEvent(new TicketReplyEvent(this, ticket, language, zone));
TicketReplyEvent event = new TicketReplyEvent(this, ticket, language, zone);
event.setApplicationContext(applicationContext);
eventPublisher.publishEvent(event);
}
public void publishTicketRevokeEvent(Ticket ticket, String language, String zone) {
eventPublisher.publishEvent(new TicketRevokeEvent(this, ticket, language, zone));
TicketRevokeEvent event = new TicketRevokeEvent(this, ticket, language, zone);
event.setApplicationContext(applicationContext);
eventPublisher.publishEvent(event);
}
public void publishTicketReopenEvent(Ticket ticket, String language, String zone) {
TicketReopenEvent event = new TicketReopenEvent(this, ticket, language, zone);
event.setApplicationContext(applicationContext);
eventPublisher.publishEvent(event);
}
}

View File

@ -44,5 +44,5 @@ public interface ITicketService extends IService<Ticket> {
Ticket revoked(Integer id);
void reopen(Integer id);
Ticket reopen(Integer id);
}

View File

@ -336,7 +336,7 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
.setLoginName(d.getLoginName())
.setUserName(d.getName())
.setCompanyName(d.getCompanyId())
.setName(d.getSalesUserName())
.setName(d.getName())
.setEmail(d.getEmail())
.setLanguageCode(d.getLanguageCode())
.setSalesUserName(d.getSalesUserName())

View File

@ -100,14 +100,11 @@ public class DictionaryItemServiceImpl extends ServiceImpl<DictionaryItemMapper,
updateById(dictionaryItem);
}
if (CollectionUtil.isNotEmpty(request.getLanguages())) {
dictionaryItemTranslateService.remove(new LambdaQueryWrapper<DictionaryItemTranslate>()
.eq(DictionaryItemTranslate::getDictionaryItemId, id));
// dictionaryItemTranslateService.remove(new LambdaQueryWrapper<DictionaryItemTranslate>()
// .eq(DictionaryItemTranslate::getDictionaryItemId, id));
List<DictionaryItemTranslate> forAdd = new ArrayList<>();
List<DictionaryItemTranslate> forUpdate = new ArrayList<>();
for (TranslateMap translate : request.getLanguages()) {
if(StrUtil.isBlank(translate.getValue())){
continue;
}
DictionaryItemTranslate t = new DictionaryItemTranslate()
.setDictionaryItemId(id)
.setLanguageCode(translate.getCode())

View File

@ -11,6 +11,7 @@ import com.nflg.mobilebroken.common.pojo.request.*;
import com.nflg.mobilebroken.common.pojo.vo.AdminTicketVO;
import com.nflg.mobilebroken.common.pojo.vo.TicketVO;
import com.nflg.mobilebroken.common.util.AdminUserUtil;
import com.nflg.mobilebroken.common.util.AppUserUtil;
import com.nflg.mobilebroken.common.util.TicketUtl;
import com.nflg.mobilebroken.common.util.VUtils;
import com.nflg.mobilebroken.repository.entity.Ticket;
@ -215,6 +216,8 @@ public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> impleme
@Override
public Ticket revoked(Integer id) {
Ticket ticket=lambdaQuery().eq(Ticket::getId, id).one();
VUtils.trueThrowBusinessError(!Objects.equals(ticket.getUserId(), AppUserUtil.getUserId()))
.throwMessage("无权操作该工单");
VUtils.trueThrowBusinessError(Byte.compare(ticket.getState(), TicketState.ProcessingCompleted.getState())>0)
.throwMessage("当前工单状态不允许撤销");
VUtils.trueThrowBusinessError(ticketEvaluateService.lambdaQuery().eq(TicketEvaluate::getTicketId, id).exists())
@ -226,12 +229,15 @@ public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> impleme
}
@Override
public void reopen(Integer id) {
lambdaUpdate()
.set(Ticket::getState, TicketState.Processing.getState())
.set(Ticket::getUpdateTime, LocalDateTime.now())
.eq(Ticket::getId, id)
.eq(Ticket::getState, TicketState.ProcessingCompleted.getState())
.update();
public Ticket reopen(Integer id) {
Ticket ticket=lambdaQuery().eq(Ticket::getId, id).one();
VUtils.trueThrowBusinessError(!Objects.equals(ticket.getUserId(), AppUserUtil.getUserId()))
.throwMessage("无权操作该工单");
VUtils.trueThrowBusinessError(Byte.compare(ticket.getState(), TicketState.ProcessingCompleted.getState())>0)
.throwMessage("当前工单状态不允许重新打开");
ticket.setState(TicketState.Processing.getState());
ticket.setUpdateTime(LocalDateTime.now());
updateById(ticket);
return ticket;
}
}