fix: 修复一些问题
This commit is contained in:
parent
ba7c4f2a34
commit
1a42618421
|
|
@ -229,7 +229,7 @@ public class TicketController extends ControllerBase {
|
|||
}
|
||||
}
|
||||
if (CollectionUtil.isNotEmpty(item.getChildren())) {
|
||||
item.getChildren().removeIf(child -> !child.getSelected());
|
||||
item.getChildren().removeIf(child -> !Objects.equals(child.getSelected(),true));
|
||||
}
|
||||
});
|
||||
vo.getServiceEvaluation().removeIf(item -> !item.getSelected());
|
||||
|
|
@ -246,10 +246,10 @@ public class TicketController extends ControllerBase {
|
|||
}
|
||||
}
|
||||
if (CollectionUtil.isNotEmpty(item.getChildren())) {
|
||||
item.getChildren().removeIf(child -> !child.getSelected());
|
||||
item.getChildren().removeIf(child ->!Objects.equals(child.getSelected(),true));
|
||||
}
|
||||
});
|
||||
vo.getExperienceEvaluation().removeIf(item -> !item.getSelected());
|
||||
vo.getExperienceEvaluation().removeIf(item -> !Objects.equals(item.getSelected(),true));
|
||||
return new TicketEvaluateVO()
|
||||
.setScore(ticketEvaluate.getScore())
|
||||
.setFeedback(ticketEvaluate.getFeedback())
|
||||
|
|
@ -290,6 +290,7 @@ public class TicketController extends ControllerBase {
|
|||
ticketChatService.addMessage(ticket.getId(), message);
|
||||
//推送消息
|
||||
ssePushService.sendTicketMessageToApp(ticket.getId(),message);
|
||||
ssePushService.sendTicketMessageToAdmin(ticket.getId(),message);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,23 @@
|
|||
package com.nflg.mobilebroken.cfs.controller;
|
||||
|
||||
import com.nflg.mobilebroken.cfs.publisher.TicketEventPublisher;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import com.nflg.mobilebroken.common.constant.Constant;
|
||||
import com.nflg.mobilebroken.common.pojo.ApiResult;
|
||||
import com.nflg.mobilebroken.common.util.MultilingualUtil;
|
||||
import com.nflg.mobilebroken.repository.entity.AppUser;
|
||||
import com.nflg.mobilebroken.repository.entity.Ticket;
|
||||
import com.nflg.mobilebroken.repository.service.IAppUserService;
|
||||
import com.nflg.mobilebroken.repository.service.IDictionaryItemTranslateService;
|
||||
import com.nflg.mobilebroken.repository.service.ITicketService;
|
||||
import com.nflg.mobilebroken.starter.service.EmailService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.mail.MessagingException;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
@RestController
|
||||
@Slf4j
|
||||
|
|
@ -18,15 +25,38 @@ import javax.annotation.Resource;
|
|||
public class TestController extends ControllerBase {
|
||||
|
||||
@Resource
|
||||
private TicketEventPublisher ticketEventPublisher;
|
||||
private IDictionaryItemTranslateService dictionaryItemTranslateService;
|
||||
|
||||
@Resource
|
||||
private ITicketService ticketService;
|
||||
|
||||
@GetMapping("sss")
|
||||
public ApiResult sss(){
|
||||
Ticket ticket =ticketService.getById(8);
|
||||
ticketEventPublisher.publishTicketCreateEvent(ticket, MultilingualUtil.getLanguage(), MultilingualUtil.getZone());
|
||||
@Resource
|
||||
private IAppUserService appUserService;
|
||||
|
||||
@Resource
|
||||
private EmailService emailService;
|
||||
|
||||
@GetMapping("sendEmail")
|
||||
public ApiResult sendEmail() throws MessagingException {
|
||||
Ticket ticket =ticketService.getById(1);
|
||||
AppUser appUser=appUserService.getById(ticket.getUserId());
|
||||
String subject=dictionaryItemTranslateService.getValueByCode(Constant.DICTIONARY_EMAIL_NOTIFY,Constant.DICTIONARY_ITEM_EMAIL_TITLE_TICKET_CREATE,Constant.DEFAULT_LANGUAGE_CODE);
|
||||
String content=dictionaryItemTranslateService.getValueByCode(Constant.DICTIONARY_EMAIL_NOTIFY,Constant.DICTIONARY_ITEM_EMAIL_CONTENT_TICKET_NOTIFY,Constant.DEFAULT_LANGUAGE_CODE)
|
||||
.replace("${no}",ticket.getNo())
|
||||
.replace("${title}",ticket.getTitle())
|
||||
.replace("${createUser}",appUser.getName())
|
||||
.replace("${handleUser}","")
|
||||
.replace("${createTime}",toTimeString(ticket.getCreateTime()))
|
||||
.replace("${msg}",subject);
|
||||
emailService.sendEmail("rakor@qq.com",subject,content);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
private String toTimeString(LocalDateTime time){
|
||||
// return time.atZone(ZoneOffset.UTC)
|
||||
// .withZoneSameInstant(ZoneId.of(zone))
|
||||
// .toLocalDateTime()
|
||||
// .format(FORMATTER);
|
||||
return time.format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -189,7 +189,7 @@ public class TiketController 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 {
|
||||
areaName = appAreaService.getById(user.getAreaId()).getName();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,8 +18,6 @@ import org.springframework.context.ApplicationEvent;
|
|||
|
||||
import javax.mail.MessagingException;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZoneOffset;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -124,9 +122,10 @@ public class TicketCreateEvent extends ApplicationEvent implements ApplicationCo
|
|||
}
|
||||
|
||||
private String toTimeString(LocalDateTime time){
|
||||
return time.atZone(ZoneOffset.UTC)
|
||||
.withZoneSameInstant(ZoneId.of(zone))
|
||||
.toLocalDateTime()
|
||||
.format(FORMATTER);
|
||||
// return time.atZone(ZoneOffset.UTC)
|
||||
// .withZoneSameInstant(ZoneId.of(zone))
|
||||
// .toLocalDateTime()
|
||||
// .format(FORMATTER);
|
||||
return time.format(FORMATTER);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -119,7 +119,8 @@ public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> impleme
|
|||
public Ticket assignmentTicket(AssignmentTicketRequest request) {
|
||||
Ticket ticket = getById(request.getTicketId());
|
||||
VUtils.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("未找到工单");
|
||||
VUtils.trueThrowBusinessError(!Objects.equals(ticket.getState(), TicketState.PendingProcessing.getState())).throwMessage("工单状态异常");
|
||||
VUtils.trueThrowBusinessError(!Objects.equals(ticket.getState(), TicketState.PendingProcessing.getState()))
|
||||
.throwMessage("非待处理状态不能分派工单");
|
||||
List<Integer> tickerMangagers = adminUserService.getTickerMangagers();
|
||||
VUtils.trueThrowBusinessError(tickerMangagers.stream().noneMatch(uid -> Objects.equals(uid, AdminUserUtil.getUserId())))
|
||||
.throwMessage("你无权分派工单");
|
||||
|
|
@ -172,11 +173,11 @@ public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> impleme
|
|||
public Ticket completeTicket(Integer id) {
|
||||
Ticket ticket=getById(id);
|
||||
VUtils.trueThrowBusinessError(!Objects.equals(ticket.getState(), TicketState.Processing.getState()))
|
||||
.throwMessage("工单状态不允许完成");
|
||||
.throwMessage("非处理中状态不允许完成");
|
||||
List<Integer> tickerMangagers = adminUserService.getTickerMangagers();
|
||||
tickerMangagers.addAll(Arrays.stream(ticket.getHandle().split(",")).map(Integer::parseInt).collect(Collectors.toList()));
|
||||
VUtils.trueThrowBusinessError(tickerMangagers.stream().noneMatch(uid -> Objects.equals(uid, AdminUserUtil.getUserId())))
|
||||
.throwMessage("你无权添加处理人");
|
||||
.throwMessage("你无权完成工单");
|
||||
ticket.setState(TicketState.ProcessingCompleted.getState());
|
||||
ticket.setCurrentHandle(AdminUserUtil.getUserId());
|
||||
ticket.setUpdateTime(LocalDateTime.now());
|
||||
|
|
@ -189,7 +190,7 @@ public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> impleme
|
|||
Ticket ticket = getById(request.getTicketId());
|
||||
VUtils.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("未找到工单");
|
||||
VUtils.trueThrowBusinessError(!Objects.equals(ticket.getState(), TicketState.ProcessingCompleted.getState()))
|
||||
.throwMessage("工单状态不允许关闭");
|
||||
.throwMessage("非处理完成状态不允许关闭");
|
||||
VUtils.trueThrowBusinessError(!ticketEvaluateService.lambdaQuery()
|
||||
.eq(TicketEvaluate::getTicketId, request.getTicketId())
|
||||
.exists())
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
SELECT au.id
|
||||
FROM t_base_position p
|
||||
INNER JOIN admin_user au ON au.title_id=p.id
|
||||
WHERE p.position_code IN
|
||||
WHERE au.state=1 AND au.is_del=0 AND p.position_code IN
|
||||
<foreach collection="titleCodes" item="titleCode" separator="," open="(" close=")">
|
||||
#{titleCode}
|
||||
</foreach>
|
||||
|
|
|
|||
|
|
@ -215,10 +215,13 @@
|
|||
</select>
|
||||
|
||||
<select id="getAdminFavorites" resultType="com.nflg.mobilebroken.common.pojo.vo.TicketVO">
|
||||
SELECT t.id,t.no,t.title
|
||||
SELECT t.id, t.no, t.title
|
||||
FROM ticket_follow tf
|
||||
INNER JOIN ticket t ON tf.ticket_id=t.id
|
||||
WHERE tf.`from`=1 AND tf.user_id=#{userId} AND tf.favorites_id=#{favoritesId}
|
||||
INNER JOIN ticket t ON tf.ticket_id = t.id
|
||||
WHERE tf.`from` = 1
|
||||
AND tf.user_id = #{userId}
|
||||
AND tf.favorites_id = #{favoritesId}
|
||||
ORDER BY t.id DESC
|
||||
</select>
|
||||
|
||||
<select id="searchByFavouritesId" resultType="com.nflg.mobilebroken.common.pojo.vo.AdminTicketVO">
|
||||
|
|
|
|||
Loading…
Reference in New Issue