refactor(push): 替换UniPushMessageCallPayload为SsePushMessageCallPayload并注释部分发送方法

- 新增SsePushMessageCallPayload类替代原UniPushMessageCallPayload
- 多处SsePushService中调用改用SsePushMessageCallPayload
- 注释了sendTicketCallHangUp和sendTicketCallCancel等方法的实现
- TicketCallEndEvent中TicketId参数改为TicketDTO对象,调整相关逻辑
- TicketController中调用uniPushService.sendTodoMessageFromAdmin调整参数格式由Long改为String
- 针对nflg-mobilebroken-gongfu模块中TicketCallEndEvent类的发送方法进行注释处理
- 整理import及部分注释,清理未使用代码,简化依赖关系
This commit is contained in:
曹鹏飞 2025-12-08 11:18:13 +08:00
parent ec92724070
commit 5eab5d338e
16 changed files with 400 additions and 360 deletions

View File

@ -373,7 +373,7 @@ public class TicketController extends ControllerBase {
ssePushService.sendTicketMessageToApp(Long.valueOf(ticket.getId()), message);
ssePushService.sendTicketMessageToAdmin(Long.valueOf(ticket.getId()), message);
request.getUserIds().forEach(userId -> {
uniPushService.sendTodoMessageFromAdmin(Long.valueOf(ticket.getId()), Constant.FROM_ADMIN, userId, "分派工单");
uniPushService.sendTodoMessageFromAdmin(String.valueOf(ticket.getId()), 0, Constant.FROM_ADMIN, userId, "分派工单");
});
return ApiResult.success();
}
@ -433,9 +433,9 @@ public class TicketController extends ControllerBase {
//推送消息
ssePushService.sendTicketMessageToAdmin(Long.valueOf(id), message);
ssePushService.sendTicketMessageToApp(Long.valueOf(id), message);
uniPushService.sendTodoMessageFromAdmin(Long.valueOf(ticket.getId()), ticket.getUserPlatform(), ticket.getUserId(), "工单已完成");
uniPushService.sendTodoMessageFromAdmin(String.valueOf(ticket.getId()), 0, ticket.getUserPlatform(), ticket.getUserId(), "工单已完成");
deviceTypeService.getCqmsByDeviceType(ticket.getDeviceNo()).forEach(cqm -> {
uniPushService.sendTodoMessageFromAdmin(Long.valueOf(ticket.getId()), Constant.FROM_ADMIN, cqm, "工单已完成");
uniPushService.sendTodoMessageFromAdmin(String.valueOf(ticket.getId()), 0, Constant.FROM_ADMIN, cqm, "工单已完成");
});
}
return ApiResult.success();
@ -464,7 +464,7 @@ public class TicketController extends ControllerBase {
//推送消息
ssePushService.sendTicketMessageToAdmin(Long.valueOf(id), message);
ssePushService.sendTicketMessageToApp(Long.valueOf(id), message);
uniPushService.sendTodoMessageFromAdmin(Long.valueOf(ticket.getId()), Constant.FROM_ADMIN, StrUtil.splitToInt(ticket.getHandle(), ",")[0], "工单被驳回");
uniPushService.sendTodoMessageFromAdmin(String.valueOf(ticket.getId()), 0, Constant.FROM_ADMIN, StrUtil.splitToInt(ticket.getHandle(), ",")[0], "工单被驳回");
}
return ApiResult.success();
}
@ -1313,7 +1313,8 @@ public class TicketController extends ControllerBase {
.setPayload(new UniPushMessageCallPayload()
.setTitle("视频通话")
.setContent(adminUser.getUserName() + "请求与您视频通话")
.setTicketId(Long.valueOf(ticketId))
.setTicketId(String.valueOf(ticketId))
.setTicketType(0)
.setUserId(adminUser.getId())
.setUserName(adminUser.getUserName())
.setUserAvatar(adminUser.getAvatar())
@ -1358,7 +1359,8 @@ public class TicketController extends ControllerBase {
.setPayload(new UniPushMessageCallPayload()
.setTitle("视频通话")
.setContent(adminUser.getUserName() + "请求与您视频通话")
.setTicketId(request.getTicketId())
.setTicketId(String.valueOf(request.getTicketId()))
.setTicketType(0)
.setUserId(adminUser.getId())
.setUserName(adminUser.getUserName())
.setUserAvatar(adminUser.getAvatar())
@ -1398,7 +1400,8 @@ public class TicketController extends ControllerBase {
.setTitle("视频通话")
.setPayload(new UniPushMessageCallPayload()
.setTitle("视频通话")
.setTicketId(ticketId)
.setTicketId(String.valueOf(ticketId))
.setTicketType(ticket.getType())
.setUserId(AdminUserUtil.getUserId())
.setCategory("ticketCallJoined")
.setFrom("admin")
@ -1414,6 +1417,8 @@ public class TicketController extends ControllerBase {
*/
@PostMapping("call/hangUp")
public ApiResult<Void> hangUp(@Valid @RequestBody TicketCallHangUpRequest request) {
TicketDTO ticket = ticketService.getDto(request.getTicketId());
VUtils.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("工单不存在");
if (StrUtil.equals(request.getFrom(), Constant.FROM_ADMIN) && Objects.equals(request.getFromUserId(), AdminUserUtil.getUserId())) {
Set<String> userIds = stringRedisTemplate.opsForSet().members(Constant.REDIS_KEY_TICKET_CALL_WAIT + request.getTicketId());
if (CollectionUtil.isNotEmpty(userIds)) {
@ -1425,7 +1430,8 @@ public class TicketController extends ControllerBase {
.setTitle("视频通话结束")
.setPayload(new UniPushMessageCallPayload()
.setTitle("视频通话结束")
.setTicketId(request.getTicketId())
.setTicketId(String.valueOf(request.getTicketId()))
.setTicketType(ticket.getType())
.setUserId(Integer.valueOf(StrUtil.split(uid, "-").get(1)))
.setCategory("ticketCallEnd")
.setFrom("admin")
@ -1438,7 +1444,7 @@ public class TicketController extends ControllerBase {
} else {
stringRedisTemplate.opsForSet().remove(Constant.REDIS_KEY_TICKET_CALL_WAIT + request.getTicketId(), Constant.FROM_ADMIN + "-" + AdminUserUtil.getUserId());
}
ticketEventPublisher.publishTicketCallEndEvent(Math.toIntExact(request.getTicketId()));
ticketEventPublisher.publishTicketCallEndEvent(ticket);
return ApiResult.success();
}

View File

@ -20,7 +20,7 @@ import java.util.Objects;
public class TicketCallEndEvent extends ApplicationEvent implements ApplicationContextAware {
private final Integer ticketId;
private final TicketDTO ticket;
private SsePushService ssePushService;
private TicketChatService ticketChatService;
@ -28,9 +28,9 @@ public class TicketCallEndEvent extends ApplicationEvent implements ApplicationC
private StringRedisTemplate stringRedisTemplate;
private UniPushService uniPushService;
public TicketCallEndEvent(Object source, Integer ticketId) {
public TicketCallEndEvent(Object source, TicketDTO ticket) {
super(source);
this.ticketId = ticketId;
this.ticket = ticket;
}
@Override
@ -43,8 +43,8 @@ public class TicketCallEndEvent extends ApplicationEvent implements ApplicationC
}
public void send() throws IOException, InterruptedException {
if (Objects.equals(0L, stringRedisTemplate.opsForSet().size(Constant.REDIS_KEY_TICKET_CALL_WAIT + ticketId))) {
ShengWangChannelUserListDTO channelUserListDTO = shengWangService.getChannelUsers("ticket" + ticketId);
if (Objects.equals(0L, stringRedisTemplate.opsForSet().size(Constant.REDIS_KEY_TICKET_CALL_WAIT + ticket.getId()))) {
ShengWangChannelUserListDTO channelUserListDTO = shengWangService.getChannelUsers("ticket" + ticket.getId());
if (!channelUserListDTO.isChannelEexist() || channelUserListDTO.getUsers().size() <= 1) {
ChatMessageDTO message = new ChatMessageDTO()
.setId(cn.hutool.core.util.IdUtil.getSnowflakeNextIdStr())
@ -54,11 +54,11 @@ public class TicketCallEndEvent extends ApplicationEvent implements ApplicationC
.setSenderName("通话助手")
.setContent("视频通话已结束")
.setCreateTime(Instant.now());
ticketChatService.addMessage(Long.valueOf(ticketId), message);
ticketChatService.addMessage(ticket.getId(), message);
//推送消息
ssePushService.sendTicketMessageToAdmin(Long.valueOf(ticketId), message);
ssePushService.sendTicketMessageToApp(Long.valueOf(ticketId), message);
ssePushService.sendTicketCallEnd(Long.valueOf(ticketId));
ssePushService.sendTicketMessageToAdmin(ticket.getId(), message);
ssePushService.sendTicketMessageToApp(ticket.getId(), message);
ssePushService.sendTicketCallEnd(ticket.getId());
Integer userId = CollectionUtil.get(channelUserListDTO.getUsers(), 0);
if (Objects.nonNull(userId)) {
String from = userId.toString().startsWith("1") ? "app" : "admin";
@ -69,7 +69,8 @@ public class TicketCallEndEvent extends ApplicationEvent implements ApplicationC
.setSendData(new UniPushMessageBody()
.setTitle("视频通话结束")
.setPayload(new UniPushMessageCallPayload()
.setTicketId(Long.valueOf(ticketId))
.setTicketId(String.valueOf(ticket.getId()))
.setTicketType(ticket.getType())
.setUserId(userId)
.setCategory("ticketCallEnd")
.setFrom("admin")

View File

@ -1,6 +1,7 @@
package com.nflg.mobilebroken.admin.publisher;
import com.nflg.mobilebroken.admin.event.*;
import com.nflg.mobilebroken.common.pojo.dto.TicketDTO;
import com.nflg.mobilebroken.repository.entity.Ticket;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationEventPublisher;
@ -48,8 +49,8 @@ public class TicketEventPublisher {
eventPublisher.publishEvent(event);
}
public void publishTicketCallEndEvent(Integer ticketId) {
TicketCallEndEvent event = new TicketCallEndEvent(this, ticketId);
public void publishTicketCallEndEvent(TicketDTO ticket) {
TicketCallEndEvent event = new TicketCallEndEvent(this, ticket);
event.setApplicationContext(applicationContext);
eventPublisher.publishEvent(event);
}

View File

@ -6,7 +6,7 @@ import com.nflg.mobilebroken.common.pojo.ApiResult;
import com.nflg.mobilebroken.common.pojo.dto.ChatMessageDTO;
import com.nflg.mobilebroken.common.pojo.dto.PushMessageDTO;
import com.nflg.mobilebroken.common.pojo.dto.PushMessageDataBody;
import com.nflg.mobilebroken.common.pojo.dto.UniPushMessageCallPayload;
import com.nflg.mobilebroken.common.pojo.dto.SsePushMessageCallPayload;
import com.nflg.mobilebroken.common.pojo.request.PushUserMessageRequest;
import com.nflg.mobilebroken.common.pojo.request.TicketMessagePushRequest;
import com.nflg.mobilebroken.common.pojo.vo.ChatMessageVO;
@ -18,7 +18,6 @@ import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
import javax.validation.constraints.NotNull;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Objects;
@ -161,7 +160,7 @@ public class SsePushService {
.setData(new PushMessageDataBody()
.setTargetId(ticketId)
.setType("ticketCall")
.setData(new UniPushMessageCallPayload()
.setData(new SsePushMessageCallPayload()
.setTicketId(ticketId)
.setUserId(user.getId())
.setUserName(user.getUserName())
@ -186,7 +185,7 @@ public class SsePushService {
.setData(new PushMessageDataBody()
.setTargetId(ticketId)
.setType("ticketCall")
.setData(new UniPushMessageCallPayload()
.setData(new SsePushMessageCallPayload()
.setTicketId(ticketId)
.setUserId(user.getId())
.setUserName(user.getUserName())
@ -207,80 +206,80 @@ public class SsePushService {
return restTemplate.postForObject(sseUrl + "/sse/" + to + "/push/user/message", request, ApiResult.class);
}
public void sendTicketCallHangUpToApp(Long ticketId, Integer userId, AdminUser user) {
try {
PushUserMessageRequest request = new PushUserMessageRequest()
.setUserId(userId)
.setMessage(new PushMessageDTO()
.setType("ticketCallHangUp")
.setData(new PushMessageDataBody()
.setTargetId(ticketId)
.setType("ticketCallHangUp")
.setData(new UniPushMessageCallPayload()
.setTicketId(ticketId)
.setUserId(user.getId())
.setUserName(user.getUserName())
.setUserAvatar(user.getAvatar())
.setFrom("admin")
)
)
);
ApiResult<?> result = sendMessageByUser(request, "app");
log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
} catch (Exception e) {
log.error("发送消息出错", e);
}
}
// public void sendTicketCallHangUpToApp(Long ticketId, Integer userId, AdminUser user) {
// try {
// PushUserMessageRequest request = new PushUserMessageRequest()
// .setUserId(userId)
// .setMessage(new PushMessageDTO()
// .setType("ticketCallHangUp")
// .setData(new PushMessageDataBody()
// .setTargetId(ticketId)
// .setType("ticketCallHangUp")
// .setData(new UniPushMessageCallPayload()
// .setTicketId(ticketId)
// .setUserId(user.getId())
// .setUserName(user.getUserName())
// .setUserAvatar(user.getAvatar())
// .setFrom("admin")
// )
// )
// );
// ApiResult<?> result = sendMessageByUser(request, "app");
// log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
// } catch (Exception e) {
// log.error("发送消息出错", e);
// }
// }
public void sendTicketCallHangUpToAdmin(Long ticketId, Integer userId, AdminUser user) {
try {
PushUserMessageRequest request = new PushUserMessageRequest()
.setUserId(userId)
.setMessage(new PushMessageDTO()
.setType("ticketCallHangUp")
.setData(new PushMessageDataBody()
.setTargetId(ticketId)
.setType("ticketCallHangUp")
.setData(new UniPushMessageCallPayload()
.setTicketId(ticketId)
.setUserId(user.getId())
.setUserName(user.getUserName())
.setUserAvatar(user.getAvatar())
.setFrom("admin")
)
)
);
ApiResult<?> result = sendMessageByUser(request, "admin");
log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
} catch (Exception e) {
log.error("发送消息出错", e);
}
}
// public void sendTicketCallHangUpToAdmin(Long ticketId, Integer userId, AdminUser user) {
// try {
// PushUserMessageRequest request = new PushUserMessageRequest()
// .setUserId(userId)
// .setMessage(new PushMessageDTO()
// .setType("ticketCallHangUp")
// .setData(new PushMessageDataBody()
// .setTargetId(ticketId)
// .setType("ticketCallHangUp")
// .setData(new UniPushMessageCallPayload()
// .setTicketId(ticketId)
// .setUserId(user.getId())
// .setUserName(user.getUserName())
// .setUserAvatar(user.getAvatar())
// .setFrom("admin")
// )
// )
// );
// ApiResult<?> result = sendMessageByUser(request, "admin");
// log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
// } catch (Exception e) {
// log.error("发送消息出错", e);
// }
// }
public void sendTicketCallCancelToAdmin(Long ticketId, @NotNull Integer userId, AdminUser user) {
try {
PushUserMessageRequest request = new PushUserMessageRequest()
.setUserId(userId)
.setMessage(new PushMessageDTO()
.setType("ticketCallCancel")
.setData(new PushMessageDataBody()
.setTargetId(ticketId)
.setType("ticketCallCancel")
.setData(new UniPushMessageCallPayload()
.setTicketId(ticketId)
.setUserId(user.getId())
.setUserName(user.getUserName())
.setUserAvatar(user.getAvatar())
.setFrom("admin")
)
)
);
ApiResult<?> result = sendMessageByUser(request, "admin");
log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
} catch (Exception e) {
log.error("发送消息出错", e);
}
}
// public void sendTicketCallCancelToAdmin(Long ticketId, @NotNull Integer userId, AdminUser user) {
// try {
// PushUserMessageRequest request = new PushUserMessageRequest()
// .setUserId(userId)
// .setMessage(new PushMessageDTO()
// .setType("ticketCallCancel")
// .setData(new PushMessageDataBody()
// .setTargetId(ticketId)
// .setType("ticketCallCancel")
// .setData(new UniPushMessageCallPayload()
// .setTicketId(ticketId)
// .setUserId(user.getId())
// .setUserName(user.getUserName())
// .setUserAvatar(user.getAvatar())
// .setFrom("admin")
// )
// )
// );
// ApiResult<?> result = sendMessageByUser(request, "admin");
// log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
// } catch (Exception e) {
// log.error("发送消息出错", e);
// }
// }
public void sendTicketCallJoinedToAdmin(Integer userId, Long ticketId) {
try {
@ -291,7 +290,7 @@ public class SsePushService {
.setData(new PushMessageDataBody()
.setTargetId(ticketId)
.setType("ticketCallJoined")
.setData(new UniPushMessageCallPayload()
.setData(new SsePushMessageCallPayload()
.setTicketId(ticketId)
.setFrom("admin")
)
@ -313,7 +312,7 @@ public class SsePushService {
.setData(new PushMessageDataBody()
.setTargetId(ticketId)
.setType("ticketCallEnd")
.setData(new UniPushMessageCallPayload()
.setData(new SsePushMessageCallPayload()
.setTicketId(ticketId)
.setFrom("admin")
)

View File

@ -496,7 +496,7 @@ public class TicketController extends ControllerBase {
//推送消息
ssePushService.sendTicketMessageToAdmin(id, message);
ssePushService.sendTicketMessageToApp(id, message);
uniPushService.sendTodoMessageFromApp(ticket.getId(), ticket.getCurrentHandle(), "工单被重启");
uniPushService.sendTodoMessageFromApp(String.valueOf(ticket.getId()), ticket.getType(), ticket.getCurrentHandle(), "工单被重启");
stringRedisTemplate.opsForValue().set(StrUtil.format(Constant.REDIS_KEY_TICKET_REJECT_RECORD, id), DateTimeUtil.format(LocalDateTime.now()));
return ApiResult.success();
}
@ -542,8 +542,8 @@ public class TicketController extends ControllerBase {
.setCreateTime(Instant.now());
ticketChatService.addMessage(request.getTicketId(), message);
//推送消息
ssePushService.sendTicketMessageToAdmin(Long.valueOf(ticket.getId()), message);
ssePushService.sendTicketMessageToApp(Long.valueOf(ticket.getId()), message);
ssePushService.sendTicketMessageToAdmin(ticket.getId(), message);
ssePushService.sendTicketMessageToApp(ticket.getId(), message);
}
return ApiResult.success();
}
@ -591,7 +591,8 @@ public class TicketController extends ControllerBase {
.setPayload(new UniPushMessageCallPayload()
.setTitle("视频通话")
.setContent(appUser.getName() + "请求与您视频通话")
.setTicketId(ticketId)
.setTicketId(String.valueOf(ticketId))
.setTicketType(ticket.getType())
.setUserId(appUser.getId())
.setUserName(appUser.getName())
.setUserAvatar(appUser.getAvatar())
@ -630,7 +631,8 @@ public class TicketController extends ControllerBase {
.setTitle("视频通话")
.setPayload(new UniPushMessageCallPayload()
.setTitle("视频通话")
.setTicketId(ticketId)
.setTicketId(String.valueOf(ticketId))
.setTicketType(ticket.getType())
.setUserId(AppUserUtil.getUserId())
.setCategory("ticketCallJoined")
.setFrom("app")
@ -646,6 +648,8 @@ public class TicketController extends ControllerBase {
*/
@PostMapping("call/hangUp")
public ApiResult<Void> hangUp(@Valid @RequestBody TicketCallHangUpRequest request) {
TicketDTO ticket = ticketService.getDto(request.getTicketId());
VUtils.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("工单不存在");
if (StrUtil.equals(request.getFrom(), AppUserUtil.getFrom()) && Objects.equals(request.getFromUserId(), AppUserUtil.getUserId())) {
Set<String> userIds = stringRedisTemplate.opsForSet().members(Constant.REDIS_KEY_TICKET_CALL_WAIT + request.getTicketId());
if (CollectionUtil.isNotEmpty(userIds)) {
@ -657,7 +661,8 @@ public class TicketController extends ControllerBase {
.setTitle("视频通话结束")
.setPayload(new UniPushMessageCallPayload()
.setTitle("视频通话结束")
.setTicketId(request.getTicketId())
.setTicketId(String.valueOf(request.getTicketId()))
.setTicketType(ticket.getType())
.setUserId(Integer.valueOf(StrUtil.split(uid, "-").get(1)))
.setCategory("ticketCallEnd")
.setFrom("app")
@ -670,7 +675,7 @@ public class TicketController extends ControllerBase {
} else {
stringRedisTemplate.opsForSet().remove(Constant.REDIS_KEY_TICKET_CALL_WAIT + request.getTicketId(), Constant.FROM_APP + "-" + AppUserUtil.getUserId());
}
ticketEventPublisher.publishTicketCallEndEvent(request.getTicketId());
ticketEventPublisher.publishTicketCallEndEvent(ticket);
return ApiResult.success();
}

View File

@ -20,7 +20,7 @@ import java.util.Objects;
public class TicketCallEndEvent extends ApplicationEvent implements ApplicationContextAware {
private final Long ticketId;
private final TicketDTO ticket;
private SsePushService ssePushService;
private TicketChatService ticketChatService;
@ -28,9 +28,9 @@ public class TicketCallEndEvent extends ApplicationEvent implements ApplicationC
private StringRedisTemplate stringRedisTemplate;
private UniPushService uniPushService;
public TicketCallEndEvent(Object source, Long ticketId) {
public TicketCallEndEvent(Object source, TicketDTO ticket) {
super(source);
this.ticketId = ticketId;
this.ticket = ticket;
}
@Override
@ -43,8 +43,8 @@ public class TicketCallEndEvent extends ApplicationEvent implements ApplicationC
}
public void send() throws IOException, InterruptedException {
if (Objects.equals(0L, stringRedisTemplate.opsForSet().size(Constant.REDIS_KEY_TICKET_CALL_WAIT + ticketId))) {
ShengWangChannelUserListDTO channelUserListDTO = shengWangService.getChannelUsers("ticket" + ticketId);
if (Objects.equals(0L, stringRedisTemplate.opsForSet().size(Constant.REDIS_KEY_TICKET_CALL_WAIT + ticket.getId()))) {
ShengWangChannelUserListDTO channelUserListDTO = shengWangService.getChannelUsers("ticket" + ticket.getId());
if (!channelUserListDTO.isChannelEexist() || channelUserListDTO.getUsers().size() <= 1) {
ChatMessageDTO message = new ChatMessageDTO()
.setId(cn.hutool.core.util.IdUtil.getSnowflakeNextIdStr())
@ -54,11 +54,11 @@ public class TicketCallEndEvent extends ApplicationEvent implements ApplicationC
.setSenderName("通话助手")
.setContent("视频通话已结束")
.setCreateTime(Instant.now());
ticketChatService.addMessage(ticketId, message);
ticketChatService.addMessage(ticket.getId(), message);
//推送消息
ssePushService.sendTicketMessageToAdmin(ticketId, message);
ssePushService.sendTicketMessageToApp(ticketId, message);
ssePushService.sendTicketCallEnd(ticketId);
ssePushService.sendTicketMessageToAdmin(ticket.getId(), message);
ssePushService.sendTicketMessageToApp(ticket.getId(), message);
ssePushService.sendTicketCallEnd(ticket.getId());
Integer userId = CollectionUtil.get(channelUserListDTO.getUsers(), 0);
if (Objects.nonNull(userId)) {
String from = userId.toString().startsWith("1") ? "app" : "admin";
@ -69,7 +69,8 @@ public class TicketCallEndEvent extends ApplicationEvent implements ApplicationC
.setSendData(new UniPushMessageBody()
.setTitle("视频通话结束")
.setPayload(new UniPushMessageCallPayload()
.setTicketId(Long.valueOf(ticketId))
.setTicketId(String.valueOf(ticket.getId()))
.setTicketType(ticket.getType())
.setUserId(userId)
.setCategory("ticketCallEnd")
.setFrom("app")

View File

@ -60,8 +60,8 @@ public class TicketEventPublisher {
eventPublisher.publishEvent(event);
}
public void publishTicketCallEndEvent(Long ticketId) {
TicketCallEndEvent event = new TicketCallEndEvent(this, ticketId);
public void publishTicketCallEndEvent(TicketDTO ticket) {
TicketCallEndEvent event = new TicketCallEndEvent(this, ticket);
event.setApplicationContext(applicationContext);
eventPublisher.publishEvent(event);
}

View File

@ -6,7 +6,7 @@ import com.nflg.mobilebroken.common.pojo.ApiResult;
import com.nflg.mobilebroken.common.pojo.dto.ChatMessageDTO;
import com.nflg.mobilebroken.common.pojo.dto.PushMessageDTO;
import com.nflg.mobilebroken.common.pojo.dto.PushMessageDataBody;
import com.nflg.mobilebroken.common.pojo.dto.UniPushMessageCallPayload;
import com.nflg.mobilebroken.common.pojo.dto.SsePushMessageCallPayload;
import com.nflg.mobilebroken.common.pojo.request.PushUserMessageRequest;
import com.nflg.mobilebroken.common.pojo.request.TicketMessagePushRequest;
import com.nflg.mobilebroken.common.pojo.vo.ChatMessageVO;
@ -152,7 +152,7 @@ public class SsePushService {
.setData(new PushMessageDataBody()
.setTargetId(ticketId)
.setType("ticketCall")
.setData(new UniPushMessageCallPayload()
.setData(new SsePushMessageCallPayload()
.setTicketId(ticketId)
.setUserId(appUser.getId())
.setUserName(appUser.getName())
@ -174,77 +174,77 @@ public class SsePushService {
return restTemplate.postForObject(sseUrl + "/sse/" + to + "/push/user/message", request, ApiResult.class);
}
public void sendTicketCallHangUpToAdmin(@NotNull Long ticketId, @NotNull Integer userId, AppUser user) {
try {
PushUserMessageRequest request = new PushUserMessageRequest()
.setUserId(userId)
.setMessage(new PushMessageDTO()
.setType("ticketCallHangUp")
.setData(new PushMessageDataBody()
.setTargetId(ticketId)
.setType("ticketCallHangUp")
.setData(new UniPushMessageCallPayload()
.setTicketId(ticketId)
.setUserId(user.getId())
.setUserName(user.getName())
.setUserAvatar(user.getAvatar())
.setFrom("app")
)
)
);
ApiResult<?> result = sendMessageByUser(request, "admin");
log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
} catch (Exception e) {
log.error("发送消息出错", e);
}
}
// public void sendTicketCallHangUpToAdmin(@NotNull Long ticketId, @NotNull Integer userId, AppUser user) {
// try {
// PushUserMessageRequest request = new PushUserMessageRequest()
// .setUserId(userId)
// .setMessage(new PushMessageDTO()
// .setType("ticketCallHangUp")
// .setData(new PushMessageDataBody()
// .setTargetId(ticketId)
// .setType("ticketCallHangUp")
// .setData(new SsePushMessageCallPayload()
// .setTicketId(ticketId)
// .setUserId(user.getId())
// .setUserName(user.getName())
// .setUserAvatar(user.getAvatar())
// .setFrom("app")
// )
// )
// );
// ApiResult<?> result = sendMessageByUser(request, "admin");
// log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
// } catch (Exception e) {
// log.error("发送消息出错", e);
// }
// }
public void sendTicketCallCancelToAdmin(@NotNull Long ticketId, @NotNull Integer userId, AppUser user) {
try {
PushUserMessageRequest request = new PushUserMessageRequest()
.setUserId(userId)
.setMessage(new PushMessageDTO()
.setType("ticketCallCancel")
.setData(new PushMessageDataBody()
.setTargetId(ticketId)
.setType("ticketCallCancel")
.setData(new UniPushMessageCallPayload()
.setTicketId(ticketId)
.setUserId(user.getId())
.setUserName(user.getName())
.setUserAvatar(user.getAvatar())
.setFrom("app")
)
)
);
ApiResult<?> result = sendMessageByUser(request, "admin");
log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
} catch (Exception e) {
log.error("发送消息出错", e);
}
}
// public void sendTicketCallCancelToAdmin(@NotNull Long ticketId, @NotNull Integer userId, AppUser user) {
// try {
// PushUserMessageRequest request = new PushUserMessageRequest()
// .setUserId(userId)
// .setMessage(new PushMessageDTO()
// .setType("ticketCallCancel")
// .setData(new PushMessageDataBody()
// .setTargetId(ticketId)
// .setType("ticketCallCancel")
// .setData(new UniPushMessageCallPayload()
// .setTicketId(ticketId)
// .setUserId(user.getId())
// .setUserName(user.getName())
// .setUserAvatar(user.getAvatar())
// .setFrom("app")
// )
// )
// );
// ApiResult<?> result = sendMessageByUser(request, "admin");
// log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
// } catch (Exception e) {
// log.error("发送消息出错", e);
// }
// }
public void sendTicketCallJoinedToApp(Integer userId, @NotNull Long ticketId) {
try {
PushUserMessageRequest request = new PushUserMessageRequest()
.setUserId(userId)
.setMessage(new PushMessageDTO()
.setType("ticketCallJoined")
.setData(new PushMessageDataBody()
.setTargetId(ticketId)
.setType("ticketCallJoined")
.setData(new UniPushMessageCallPayload()
.setTicketId(ticketId)
.setFrom("app")
)
)
);
ApiResult<?> result = sendMessageByUser(request, "app");
log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
} catch (Exception e) {
log.error("发送消息出错", e);
}
}
// public void sendTicketCallJoinedToApp(Integer userId, @NotNull Long ticketId) {
// try {
// PushUserMessageRequest request = new PushUserMessageRequest()
// .setUserId(userId)
// .setMessage(new PushMessageDTO()
// .setType("ticketCallJoined")
// .setData(new PushMessageDataBody()
// .setTargetId(ticketId)
// .setType("ticketCallJoined")
// .setData(new UniPushMessageCallPayload()
// .setTicketId(ticketId)
// .setFrom("app")
// )
// )
// );
// ApiResult<?> result = sendMessageByUser(request, "app");
// log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
// } catch (Exception e) {
// log.error("发送消息出错", e);
// }
// }
public void sendTicketCallJoined(Integer userId, @Valid @NotNull Long ticketId, String to) {
try {
@ -255,7 +255,7 @@ public class SsePushService {
.setData(new PushMessageDataBody()
.setTargetId(ticketId)
.setType("ticketCallJoined")
.setData(new UniPushMessageCallPayload()
.setData(new SsePushMessageCallPayload()
.setTicketId(ticketId)
.setFrom("app")
)
@ -277,7 +277,7 @@ public class SsePushService {
.setData(new PushMessageDataBody()
.setTargetId(ticketId)
.setType("ticketCallEnd")
.setData(new UniPushMessageCallPayload()
.setData(new SsePushMessageCallPayload()
.setTicketId(ticketId)
.setFrom("app")
)

View File

@ -0,0 +1,28 @@
package com.nflg.mobilebroken.common.pojo.dto;
import lombok.Data;
import lombok.experimental.Accessors;
@Data
@Accessors(chain = true)
public class SsePushMessageCallPayload {
private Long ticketId;
private String userName;
private String userAvatar;
private Integer userId;
/**
* 呼叫发起方app或者admin
*/
private String from;
private String category;
private String title;
private String content;
}

View File

@ -7,7 +7,12 @@ import lombok.experimental.Accessors;
@Accessors(chain = true)
public class UniPushMessageCallPayload {
private Long ticketId;
private String ticketId;
/**
* 工单类型0移动破1工服
*/
private Integer ticketType;
private String userName;

View File

@ -372,7 +372,7 @@ public class TicketController extends ControllerBase {
ssePushService.sendTicketMessageToApp(ticket.getId(), message);
ssePushService.sendTicketMessageToAdmin(ticket.getId(), message);
request.getUserIds().forEach(userId -> {
uniPushService.sendTodoMessageFromAdmin(ticket.getId(), Constant.FROM_ADMIN, userId, "分派工单");
uniPushService.sendTodoMessageFromAdmin(String.valueOf(ticket.getId()), 1, Constant.FROM_ADMIN, userId, "分派工单");
});
return ApiResult.success();
}
@ -432,9 +432,9 @@ public class TicketController extends ControllerBase {
//推送消息
ssePushService.sendTicketMessageToAdmin(id, message);
ssePushService.sendTicketMessageToApp(id, message);
uniPushService.sendTodoMessageFromAdmin(ticket.getId(), ticket.getUserPlatform(), ticket.getUserId(), "工单已完成");
uniPushService.sendTodoMessageFromAdmin(String.valueOf(ticket.getId()), 1, ticket.getUserPlatform(), ticket.getUserId(), "工单已完成");
deviceTypeService.getCqms(ticket.getDeviceNo()).forEach(cqm -> {
uniPushService.sendTodoMessageFromAdmin(ticket.getId(), Constant.FROM_ADMIN, cqm, "工单已完成");
uniPushService.sendTodoMessageFromAdmin(String.valueOf(ticket.getId()), 1, Constant.FROM_ADMIN, cqm, "工单已完成");
});
}
return ApiResult.success();
@ -463,7 +463,7 @@ public class TicketController extends ControllerBase {
//推送消息
ssePushService.sendTicketMessageToAdmin(id, message);
ssePushService.sendTicketMessageToApp(id, message);
uniPushService.sendTodoMessageFromAdmin(ticket.getId(), Constant.FROM_ADMIN, StrUtil.splitToInt(ticket.getHandle(), ",")[0], "工单被驳回");
uniPushService.sendTodoMessageFromAdmin(String.valueOf(ticket.getId()), 1, Constant.FROM_ADMIN, StrUtil.splitToInt(ticket.getHandle(), ",")[0], "工单被驳回");
}
return ApiResult.success();
}
@ -1299,7 +1299,8 @@ public class TicketController extends ControllerBase {
.setPayload(new UniPushMessageCallPayload()
.setTitle("视频通话")
.setContent(adminUser.getUserName() + "请求与您视频通话")
.setTicketId(ticketId)
.setTicketId(String.valueOf(ticketId))
.setTicketType(1)
.setUserId(adminUser.getId())
.setUserName(adminUser.getUserName())
.setUserAvatar(adminUser.getAvatar())
@ -1344,7 +1345,8 @@ public class TicketController extends ControllerBase {
.setPayload(new UniPushMessageCallPayload()
.setTitle("视频通话")
.setContent(adminUser.getUserName() + "请求与您视频通话")
.setTicketId(request.getTicketId())
.setTicketId(String.valueOf(request.getTicketId()))
.setTicketType(1)
.setUserId(adminUser.getId())
.setUserName(adminUser.getUserName())
.setUserAvatar(adminUser.getAvatar())

View File

@ -1,11 +1,7 @@
package com.nflg.mobilebroken.gongfu.event;
import cn.hutool.core.collection.CollectionUtil;
import com.nflg.mobilebroken.gongfu.service.ShengWangService;
import com.nflg.mobilebroken.gongfu.service.SsePushService;
import com.nflg.mobilebroken.common.constant.Constant;
import com.nflg.mobilebroken.common.constant.TicketState;
import com.nflg.mobilebroken.common.pojo.dto.*;
import com.nflg.mobilebroken.repository.service.TicketChatService;
import com.nflg.mobilebroken.starter.service.UniPushService;
import org.springframework.beans.BeansException;
@ -14,10 +10,6 @@ import org.springframework.context.ApplicationContextAware;
import org.springframework.context.ApplicationEvent;
import org.springframework.data.redis.core.StringRedisTemplate;
import java.io.IOException;
import java.time.Instant;
import java.util.Objects;
public class TicketCallEndEvent extends ApplicationEvent implements ApplicationContextAware {
private final Long ticketId;
@ -35,49 +27,49 @@ public class TicketCallEndEvent extends ApplicationEvent implements ApplicationC
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.ssePushService = applicationContext.getBean(SsePushService.class);
this.ticketChatService = applicationContext.getBean(TicketChatService.class);
this.shengWangService = applicationContext.getBean(ShengWangService.class);
this.stringRedisTemplate = applicationContext.getBean(StringRedisTemplate.class);
this.uniPushService = applicationContext.getBean(UniPushService.class);
// this.ssePushService = applicationContext.getBean(SsePushService.class);
// this.ticketChatService = applicationContext.getBean(TicketChatService.class);
// this.shengWangService = applicationContext.getBean(ShengWangService.class);
// this.stringRedisTemplate = applicationContext.getBean(StringRedisTemplate.class);
// this.uniPushService = applicationContext.getBean(UniPushService.class);
}
public void send() throws IOException, InterruptedException {
if (Objects.equals(0L, stringRedisTemplate.opsForSet().size(Constant.REDIS_KEY_TICKET_CALL_WAIT + ticketId))) {
ShengWangChannelUserListDTO channelUserListDTO = shengWangService.getChannelUsers("ticket" + ticketId);
if (!channelUserListDTO.isChannelEexist() || channelUserListDTO.getUsers().size() <= 1) {
ChatMessageDTO message = new ChatMessageDTO()
.setId(cn.hutool.core.util.IdUtil.getSnowflakeNextIdStr())
.setFrom("call")
.setTicketState(TicketState.Processing.getState())
.setSenderId(0)
.setSenderName("通话助手")
.setContent("视频通话已结束")
.setCreateTime(Instant.now());
ticketChatService.addMessage(ticketId, message);
//推送消息
ssePushService.sendTicketMessageToAdmin(ticketId, message);
ssePushService.sendTicketMessageToApp(ticketId, message);
ssePushService.sendTicketCallEnd(ticketId);
Integer userId = CollectionUtil.get(channelUserListDTO.getUsers(), 0);
if (Objects.nonNull(userId)) {
String from = userId.toString().startsWith("1") ? "app" : "admin";
userId = Integer.valueOf(userId.toString().substring(1));
uniPushService.send(new UniPushMessage()
.setSenderId(from + "-uid-0")//不重要
.setReceiverId(from + "-uid-" + userId)
.setSendData(new UniPushMessageBody()
.setTitle("视频通话结束")
.setPayload(new UniPushMessageCallPayload()
.setTicketId(ticketId)
.setUserId(userId)
.setCategory("ticketCallEnd")
.setFrom("admin")
)
)
);
}
}
}
}
// public void send() throws IOException, InterruptedException {
// if (Objects.equals(0L, stringRedisTemplate.opsForSet().size(Constant.REDIS_KEY_TICKET_CALL_WAIT + ticketId))) {
// ShengWangChannelUserListDTO channelUserListDTO = shengWangService.getChannelUsers("ticket" + ticketId);
// if (!channelUserListDTO.isChannelEexist() || channelUserListDTO.getUsers().size() <= 1) {
// ChatMessageDTO message = new ChatMessageDTO()
// .setId(cn.hutool.core.util.IdUtil.getSnowflakeNextIdStr())
// .setFrom("call")
// .setTicketState(TicketState.Processing.getState())
// .setSenderId(0)
// .setSenderName("通话助手")
// .setContent("视频通话已结束")
// .setCreateTime(Instant.now());
// ticketChatService.addMessage(ticketId, message);
// //推送消息
// ssePushService.sendTicketMessageToAdmin(ticketId, message);
// ssePushService.sendTicketMessageToApp(ticketId, message);
// ssePushService.sendTicketCallEnd(ticketId);
// Integer userId = CollectionUtil.get(channelUserListDTO.getUsers(), 0);
// if (Objects.nonNull(userId)) {
// String from = userId.toString().startsWith("1") ? "app" : "admin";
// userId = Integer.valueOf(userId.toString().substring(1));
// uniPushService.send(new UniPushMessage()
// .setSenderId(from + "-uid-0")//不重要
// .setReceiverId(from + "-uid-" + userId)
// .setSendData(new UniPushMessageBody()
// .setTitle("视频通话结束")
// .setPayload(new UniPushMessageCallPayload()
// .setTicketId(ticketId)
// .setUserId(userId)
// .setCategory("ticketCallEnd")
// .setFrom("admin")
// )
// )
// );
// }
// }
// }
// }
}

View File

@ -5,8 +5,6 @@ import org.springframework.context.event.EventListener;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import java.io.IOException;
@Component
public class TicketEventListener {
@ -40,9 +38,9 @@ public class TicketEventListener {
event.send();
}
@Async
@EventListener
public void handleTicketCallEndEvent(TicketCallEndEvent event) throws IOException, InterruptedException {
event.send();
}
// @Async
// @EventListener
// public void handleTicketCallEndEvent(TicketCallEndEvent event) throws IOException, InterruptedException {
// event.send();
// }
}

View File

@ -48,9 +48,9 @@ public class TicketEventPublisher {
eventPublisher.publishEvent(event);
}
public void publishTicketCallEndEvent(Long ticketId) {
TicketCallEndEvent event = new TicketCallEndEvent(this, ticketId);
event.setApplicationContext(applicationContext);
eventPublisher.publishEvent(event);
}
// public void publishTicketCallEndEvent(Long ticketId) {
// TicketCallEndEvent event = new TicketCallEndEvent(this, ticketId);
// event.setApplicationContext(applicationContext);
// eventPublisher.publishEvent(event);
// }
}

View File

@ -6,7 +6,7 @@ import com.nflg.mobilebroken.common.pojo.ApiResult;
import com.nflg.mobilebroken.common.pojo.dto.ChatMessageDTO;
import com.nflg.mobilebroken.common.pojo.dto.PushMessageDTO;
import com.nflg.mobilebroken.common.pojo.dto.PushMessageDataBody;
import com.nflg.mobilebroken.common.pojo.dto.UniPushMessageCallPayload;
import com.nflg.mobilebroken.common.pojo.dto.SsePushMessageCallPayload;
import com.nflg.mobilebroken.common.pojo.request.PushUserMessageRequest;
import com.nflg.mobilebroken.common.pojo.request.TicketMessagePushRequest;
import com.nflg.mobilebroken.common.pojo.vo.ChatMessageVO;
@ -160,7 +160,7 @@ public class SsePushService {
.setData(new PushMessageDataBody()
.setTargetId(ticketId)
.setType("ticketCall")
.setData(new UniPushMessageCallPayload()
.setData(new SsePushMessageCallPayload()
.setTicketId(ticketId)
.setUserId(user.getId())
.setUserName(user.getUserName())
@ -185,7 +185,7 @@ public class SsePushService {
.setData(new PushMessageDataBody()
.setTargetId(ticketId)
.setType("ticketCall")
.setData(new UniPushMessageCallPayload()
.setData(new SsePushMessageCallPayload()
.setTicketId(ticketId)
.setUserId(user.getId())
.setUserName(user.getUserName())
@ -206,102 +206,102 @@ public class SsePushService {
return restTemplate.postForObject(sseUrl + "/sse/" + to + "/push/user/message", request, ApiResult.class);
}
public void sendTicketCallHangUpToApp(Long ticketId, Integer userId, AdminUser user) {
try {
PushUserMessageRequest request = new PushUserMessageRequest()
.setUserId(userId)
.setMessage(new PushMessageDTO()
.setType("ticketCallHangUp")
.setData(new PushMessageDataBody()
.setTargetId(ticketId)
.setType("ticketCallHangUp")
.setData(new UniPushMessageCallPayload()
.setTicketId(ticketId)
.setUserId(user.getId())
.setUserName(user.getUserName())
.setUserAvatar(user.getAvatar())
.setFrom("admin")
)
)
);
ApiResult<?> result = sendMessageByUser(request, "app");
log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
} catch (Exception e) {
log.error("发送消息出错", e);
}
}
// public void sendTicketCallHangUpToApp(Long ticketId, Integer userId, AdminUser user) {
// try {
// PushUserMessageRequest request = new PushUserMessageRequest()
// .setUserId(userId)
// .setMessage(new PushMessageDTO()
// .setType("ticketCallHangUp")
// .setData(new PushMessageDataBody()
// .setTargetId(ticketId)
// .setType("ticketCallHangUp")
// .setData(new SsePushMessageCallPayload()
// .setTicketId(ticketId)
// .setUserId(user.getId())
// .setUserName(user.getUserName())
// .setUserAvatar(user.getAvatar())
// .setFrom("admin")
// )
// )
// );
// ApiResult<?> result = sendMessageByUser(request, "app");
// log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
// } catch (Exception e) {
// log.error("发送消息出错", e);
// }
// }
public void sendTicketCallHangUpToAdmin(Long ticketId, Integer userId, AdminUser user) {
try {
PushUserMessageRequest request = new PushUserMessageRequest()
.setUserId(userId)
.setMessage(new PushMessageDTO()
.setType("ticketCallHangUp")
.setData(new PushMessageDataBody()
.setTargetId(ticketId)
.setType("ticketCallHangUp")
.setData(new UniPushMessageCallPayload()
.setTicketId(ticketId)
.setUserId(user.getId())
.setUserName(user.getUserName())
.setUserAvatar(user.getAvatar())
.setFrom("admin")
)
)
);
ApiResult<?> result = sendMessageByUser(request, "admin");
log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
} catch (Exception e) {
log.error("发送消息出错", e);
}
}
// public void sendTicketCallHangUpToAdmin(Long ticketId, Integer userId, AdminUser user) {
// try {
// PushUserMessageRequest request = new PushUserMessageRequest()
// .setUserId(userId)
// .setMessage(new PushMessageDTO()
// .setType("ticketCallHangUp")
// .setData(new PushMessageDataBody()
// .setTargetId(ticketId)
// .setType("ticketCallHangUp")
// .setData(new UniPushMessageCallPayload()
// .setTicketId(ticketId)
// .setUserId(user.getId())
// .setUserName(user.getUserName())
// .setUserAvatar(user.getAvatar())
// .setFrom("admin")
// )
// )
// );
// ApiResult<?> result = sendMessageByUser(request, "admin");
// log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
// } catch (Exception e) {
// log.error("发送消息出错", e);
// }
// }
public void sendTicketCallCancelToAdmin(Long ticketId, Integer userId, AdminUser user) {
try {
PushUserMessageRequest request = new PushUserMessageRequest()
.setUserId(userId)
.setMessage(new PushMessageDTO()
.setType("ticketCallCancel")
.setData(new PushMessageDataBody()
.setTargetId(ticketId)
.setType("ticketCallCancel")
.setData(new UniPushMessageCallPayload()
.setTicketId(ticketId)
.setUserId(user.getId())
.setUserName(user.getUserName())
.setUserAvatar(user.getAvatar())
.setFrom("admin")
)
)
);
ApiResult<?> result = sendMessageByUser(request, "admin");
log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
} catch (Exception e) {
log.error("发送消息出错", e);
}
}
// public void sendTicketCallCancelToAdmin(Long ticketId, Integer userId, AdminUser user) {
// try {
// PushUserMessageRequest request = new PushUserMessageRequest()
// .setUserId(userId)
// .setMessage(new PushMessageDTO()
// .setType("ticketCallCancel")
// .setData(new PushMessageDataBody()
// .setTargetId(ticketId)
// .setType("ticketCallCancel")
// .setData(new UniPushMessageCallPayload()
// .setTicketId(ticketId)
// .setUserId(user.getId())
// .setUserName(user.getUserName())
// .setUserAvatar(user.getAvatar())
// .setFrom("admin")
// )
// )
// );
// ApiResult<?> result = sendMessageByUser(request, "admin");
// log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
// } catch (Exception e) {
// log.error("发送消息出错", e);
// }
// }
public void sendTicketCallJoinedToAdmin(Integer userId, Long ticketId) {
try {
PushUserMessageRequest request = new PushUserMessageRequest()
.setUserId(userId)
.setMessage(new PushMessageDTO()
.setType("ticketCallJoined")
.setData(new PushMessageDataBody()
.setTargetId(ticketId)
.setType("ticketCallJoined")
.setData(new UniPushMessageCallPayload()
.setTicketId(ticketId)
.setFrom("admin")
)
)
);
ApiResult<?> result = sendMessageByUser(request, "admin");
log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
} catch (Exception e) {
log.error("发送消息出错", e);
}
}
// public void sendTicketCallJoinedToAdmin(Integer userId, Long ticketId) {
// try {
// PushUserMessageRequest request = new PushUserMessageRequest()
// .setUserId(userId)
// .setMessage(new PushMessageDTO()
// .setType("ticketCallJoined")
// .setData(new PushMessageDataBody()
// .setTargetId(ticketId)
// .setType("ticketCallJoined")
// .setData(new UniPushMessageCallPayload()
// .setTicketId(ticketId)
// .setFrom("admin")
// )
// )
// );
// ApiResult<?> result = sendMessageByUser(request, "admin");
// log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
// } catch (Exception e) {
// log.error("发送消息出错", e);
// }
// }
public void sendTicketCallEnd(Long ticketId) {
try {
@ -312,7 +312,7 @@ public class SsePushService {
.setData(new PushMessageDataBody()
.setTargetId(ticketId)
.setType("ticketCallEnd")
.setData(new UniPushMessageCallPayload()
.setData(new SsePushMessageCallPayload()
.setTicketId(ticketId)
.setFrom("admin")
)

View File

@ -39,7 +39,7 @@ public class UniPushService {
);
}
public void sendTodoMessageFromAdmin(Long ticketId, String platform, Integer userId, String content) {
public void sendTodoMessageFromAdmin(String ticketId, Integer type, String platform, Integer userId, String content) {
send(new UniPushMessage()
.setSenderId("admin-uid-" + AdminUserUtil.getUserId())
.setReceiverId(platform + "-uid-" + userId)
@ -48,6 +48,7 @@ public class UniPushService {
.setContent(content)
.setPayload(new UniPushMessageCallPayload()
.setTicketId(ticketId)
.setTicketType(type)
.setTitle("工单消息")
.setContent(content)
)
@ -55,7 +56,7 @@ public class UniPushService {
);
}
public void sendTodoMessageFromApp(Long ticketId, Integer userId, String content) {
public void sendTodoMessageFromApp(String ticketId, Integer type, Integer userId, String content) {
send(new UniPushMessage()
.setSenderId("app-uid-" + AppUserUtil.getUserId())
.setReceiverId("admin-uid-" + userId)
@ -64,6 +65,7 @@ public class UniPushService {
.setContent(content)
.setPayload(new UniPushMessageCallPayload()
.setTicketId(ticketId)
.setTicketType(type)
.setTitle("工单消息")
.setContent(content)
)