feat: 一些调整
This commit is contained in:
parent
f3179d65c5
commit
7d5e289692
|
|
@ -349,7 +349,7 @@ public class TicketController extends ControllerBase {
|
|||
List<AdminUser> adminUsers = adminUserService.listByIds(Arrays.stream(handle.split(",")).map(Integer::parseInt).collect(Collectors.toList()));
|
||||
handle = adminUsers.stream().map(AdminUser::getUserName).collect(Collectors.joining(","));
|
||||
}
|
||||
AppUser primaryUser = appUserService.getPrimaryByCompanyId(user.getCompanyId());
|
||||
AppUser primaryUser = user.getIsPrimary()?user:appUserService.getPrimaryByCompanyId(user.getCompanyId());
|
||||
TicketInfoVO vo = new TicketInfoVO()
|
||||
.setId(ticket.getId())
|
||||
.setNo(ticket.getNo())
|
||||
|
|
@ -458,8 +458,11 @@ public class TicketController extends ControllerBase {
|
|||
.setContent(request.getContent())
|
||||
.setCreateTime(Instant.now())
|
||||
.setAttachments(request.getAttachments())
|
||||
.setImages(request.getImages())
|
||||
.setQuote(request.getQuote());
|
||||
.setImages(request.getImages());
|
||||
if(Objects.nonNull(request.getQuoteId())){
|
||||
ChatMessageDTO quoteMessage = ticketChatService.getMessage(request.getTicketId(), request.getQuoteId());
|
||||
message.setQuote(quoteMessage);
|
||||
}
|
||||
ticketChatService.addMessage(request.getTicketId(), message);
|
||||
//推送消息
|
||||
try {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,12 @@
|
|||
package com.nflg.mobilebroken.cfs.controller;
|
||||
|
||||
import com.nflg.mobilebroken.cfs.publisher.TicketEventPublisher;
|
||||
import com.nflg.mobilebroken.common.pojo.ApiResult;
|
||||
import com.nflg.mobilebroken.common.pojo.dto.NotifyDTO;
|
||||
import com.nflg.mobilebroken.common.pojo.dto.SSEMessageDTO;
|
||||
import com.nflg.mobilebroken.common.util.MultilingualUtil;
|
||||
import com.nflg.mobilebroken.repository.entity.Ticket;
|
||||
import com.nflg.mobilebroken.repository.service.ITicketService;
|
||||
import com.nflg.mobilebroken.starter.service.impl.APPSSEManagerService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
|
|
@ -21,6 +25,12 @@ public class TestController extends ControllerBase {
|
|||
@Resource
|
||||
private APPSSEManagerService sseManagerService;
|
||||
|
||||
@Resource
|
||||
private TicketEventPublisher ticketEventPublisher;
|
||||
|
||||
@Resource
|
||||
private ITicketService ticketService;
|
||||
|
||||
@GetMapping("sse/send")
|
||||
public ApiResult<Void> sendSse(@RequestParam String userId, @RequestParam String message) throws IOException {
|
||||
SSEMessageDTO messageDTO = new SSEMessageDTO()
|
||||
|
|
@ -29,4 +39,11 @@ public class TestController extends ControllerBase {
|
|||
sseManagerService.send(Integer.valueOf(userId), messageDTO);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
@GetMapping("sss")
|
||||
public ApiResult sss(){
|
||||
Ticket ticket =ticketService.getById(8);
|
||||
ticketEventPublisher.publishTicketCreateEvent(ticket, MultilingualUtil.getLanguage(), MultilingualUtil.getZone());
|
||||
return ApiResult.success();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -187,7 +187,7 @@ public class TiketController extends ControllerBase {
|
|||
Ticket ticket = ticketService.getById(id);
|
||||
AppUser user = appUserService.getById(ticket.getUserId());
|
||||
AppArea appArea = appAreaService.getById(user.getAreaId());
|
||||
TBaseCustomer company = customerService.getById(Integer.valueOf(user.getCompanyId()));
|
||||
List<TBaseCustomer> companys = customerService.listByIds(Arrays.stream(user.getCompanyId().split(",")).map(Integer::parseInt).collect(Collectors.toList()));
|
||||
DeviceInfoVO device = deviceService.getByDeviceNo(ticket.getDeviceNo());
|
||||
String handle = ticket.getHandle();
|
||||
if (StrUtil.isNotBlank(handle)) {
|
||||
|
|
@ -212,7 +212,7 @@ public class TiketController extends ControllerBase {
|
|||
.setCreateTime(ticket.getCreateTime())
|
||||
.setAreaName(appArea.getName())
|
||||
.setSolveTime(ticket.getSolveTime())
|
||||
.setCompanyName(company.getAgencyCompanyName())
|
||||
.setCompanyName(StrUtil.join(",",companys.stream().map(TBaseCustomer::getAgencyCompanyName).collect(Collectors.toList())))
|
||||
.setHandle(handle)
|
||||
.setSolution(ticket.getSolution())
|
||||
.setSolutionAttachments(StrUtil.isNotBlank(ticket.getSolutionAttachments()) ? StrUtil.split(ticket.getSolutionAttachments(), ",") : Collections.emptyList())
|
||||
|
|
@ -291,12 +291,11 @@ public class TiketController extends ControllerBase {
|
|||
.setContent(request.getContent())
|
||||
.setCreateTime(Instant.now())
|
||||
.setAttachments(request.getAttachments())
|
||||
.setImages(request.getImages())
|
||||
.setQuote(request.getQuote());
|
||||
// ticketChatService.pushMessage(request.getTicketId(),message);
|
||||
// TicketChat chat=ticketChatService.findByTicketId(request.getTicketId());
|
||||
// chat.getMessages().add(message);
|
||||
// ticketChatService.save(chat);
|
||||
.setImages(request.getImages());
|
||||
if(Objects.nonNull(request.getQuoteId())){
|
||||
ChatMessageDTO quoteMessage = ticketChatService.getMessage(request.getTicketId(), request.getQuoteId());
|
||||
message.setQuote(quoteMessage);
|
||||
}
|
||||
ticketChatService.addMessage(request.getTicketId(), message);
|
||||
//推送消息
|
||||
String handle = ticket.getHandle();
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ public class TicketCreateEvent extends ApplicationEvent {
|
|||
private final Ticket ticket;
|
||||
private final String language;
|
||||
private final String zone;
|
||||
|
||||
@Resource
|
||||
private IDictionaryItemTranslateService dictionaryItemTranslateService;
|
||||
@Resource
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package com.nflg.mobilebroken.common.pojo.request;
|
||||
|
||||
import com.nflg.mobilebroken.common.pojo.dto.ChatMessageDTO;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
|
@ -23,5 +22,5 @@ public class AddChatMessageRequest {
|
|||
private List<String> images;
|
||||
|
||||
// 引用的消息
|
||||
private ChatMessageDTO quote;
|
||||
private Long quoteId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -74,4 +74,24 @@ public class TicketChatService {
|
|||
// 执行更新操作
|
||||
mongoTemplate.findAndModify(query, update, TicketChatDTO.class);
|
||||
}
|
||||
|
||||
public ChatMessageDTO getMessage(Integer ticketId, Long messageId) {
|
||||
// 构建查询条件
|
||||
Query query = new Query();
|
||||
query.addCriteria(Criteria.where("ticketId").is(ticketId));
|
||||
|
||||
// 查询 TicketChatDTO
|
||||
TicketChatDTO ticketChat = mongoTemplate.findOne(query, TicketChatDTO.class);
|
||||
|
||||
// 从 TicketChatDTO 中提取 ChatMessageDTO
|
||||
if (ticketChat != null) {
|
||||
for (ChatMessageDTO message : ticketChat.getMessages()) {
|
||||
if (messageId.equals(message.getId())) {
|
||||
return message;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null; // 如果未找到,返回 null
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue