feat: 一些调整
This commit is contained in:
parent
47038a8aeb
commit
b106b431e5
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,5 +44,5 @@ public interface ITicketService extends IService<Ticket> {
|
|||
|
||||
Ticket revoked(Integer id);
|
||||
|
||||
void reopen(Integer id);
|
||||
Ticket reopen(Integer id);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue