fix: 修复一些问题

This commit is contained in:
曹鹏飞 2025-03-05 19:06:11 +08:00
parent b42f3fe529
commit 5370a20d4a
5 changed files with 38 additions and 6 deletions

View File

@ -363,6 +363,18 @@ public class TicketController extends ControllerBase {
for (Integer id : ids){
Ticket ticket=ticketService.rejectTicket(id);
// ticketEventPublisher.publishTicketCompleteEvent(ticket);
ChatMessageDTO message = new ChatMessageDTO()
.setId(cn.hutool.core.util.IdUtil.getSnowflakeNextIdStr())
.setFrom("system")
.setTicketState(ticket.getState())
.setSenderId(0)
.setSenderName("服务助手")
.setContent("<b>工单驳回</b><br/>工单被驳回,请继续跟进处理。")
.setCreateTime(Instant.now());
ticketChatService.addMessage(id, message);
//推送消息
ssePushService.sendTicketMessageToAdmin(id,message);
ssePushService.sendTicketMessageToApp(id,message);
}
return ApiResult.success();
}
@ -501,7 +513,7 @@ public class TicketController extends ControllerBase {
AppUser user = appUserService.getById(ticket.getUserId());
String areaName = "";
if (user.getIsPrimary()){
areaName=adminAreaService.getById(user.getAreaId()).getAreaName();
areaName=StrUtil.join(",",customerService.getAreas(Arrays.stream(user.getCompanyId().split(",")).map(Integer::parseInt).collect(Collectors.toList())));
}else if (Objects.nonNull(user.getAreaId())){
areaName = appAreaService.getById(user.getAreaId()).getName();
}

View File

@ -355,6 +355,18 @@ public class TiketController extends ControllerBase {
public ApiResult<Void> reopenTicket(@Valid @RequestParam @NotNull Integer id) {
Ticket ticket=ticketService.reopen(id);
ticketEventPublisher.publishTicketReopenEvent(ticket, MultilingualUtil.getLanguage(), MultilingualUtil.getZone());
ChatMessageDTO message = new ChatMessageDTO()
.setId(cn.hutool.core.util.IdUtil.getSnowflakeNextIdStr())
.setFrom("system")
.setTicketState(ticket.getState())
.setSenderId(0)
.setSenderName("服务助手")
.setContent("<b>重启议题</b><br/>用户重启议题,请继续关注此工单信息。")
.setCreateTime(Instant.now());
ticketChatService.addMessage(id, message);
//推送消息
ssePushService.sendTicketMessageToAdmin(id,message);
ssePushService.sendTicketMessageToApp(id,message);
return ApiResult.success();
}

View File

@ -37,6 +37,17 @@ public class SsePushService {
}
}
public void sendTicketMessageToApp(Integer ticketId, ChatMessageDTO message){
try {
PushRequest request=new PushRequest().setTicketId(ticketId).setMessage(buildMessage(message));
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<ApiResult> response = restTemplate.postForEntity(sseUrl+"/sse/app/push",request, ApiResult.class);
log.debug("发送消息结果:{}", JSONUtil.toJsonStr(response.getBody()));
} catch (Exception e) {
log.error("发送消息出错", e);
}
}
private ChatMessageVO buildMessage(ChatMessageDTO message){
String zone = MultilingualUtil.getZone();
ZoneId zoneId = ZoneId.of(zone);

View File

@ -172,9 +172,9 @@ public class AppUserApplyforServiceImpl extends ServiceImpl<AppUserApplyforMappe
}
vo.setApplyfor(applyforInfo);
appUser = appUserService.getById(applyfor.getCreateBy());
TBaseArea area = baseAreaService.getById(appUser.getAreaId());
List<String> areas=customerService.getAreas(Arrays.stream(appUser.getCompanyId().split(",")).map(Integer::parseInt).collect(Collectors.toList()));
vo.setUser(new AppUserVO()
.setAreaName(area.getAreaName())
.setAreaName(StrUtil.join(",",areas))
.setSalesUserName(appUser.getSalesUserName())
.setState(1)
.setTitle(Objects.isNull(appUser.getTitleId()) ? "" : positionService.getById(appUser.getTitleId()).getPositionName())

View File

@ -105,9 +105,6 @@ public class DictionaryItemServiceImpl extends ServiceImpl<DictionaryItemMapper,
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())