diff --git a/nflg-mobilebroken-admin/pom.xml b/nflg-mobilebroken-admin/pom.xml index 58685ac6..1016298f 100644 --- a/nflg-mobilebroken-admin/pom.xml +++ b/nflg-mobilebroken-admin/pom.xml @@ -81,10 +81,27 @@ + + + + + + + org.xhtmlrenderer + flying-saucer-pdf + 9.1.22 + + com.itextpdf - html2pdf - 4.0.3 + itextpdf + 5.5.13.3 + + + + com.itextpdf + itext-asian + 5.2.0 cn.dev33 diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java index c778a334..31ab56d8 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java @@ -2,9 +2,7 @@ package com.nflg.mobilebroken.admin.controller; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; -import com.itextpdf.html2pdf.ConverterProperties; -import com.itextpdf.html2pdf.HtmlConverter; -import com.itextpdf.layout.font.FontProvider; +import com.itextpdf.text.pdf.BaseFont; import com.nflg.mobilebroken.admin.annotation.ApiMark; import com.nflg.mobilebroken.admin.publisher.TicketEventPublisher; import com.nflg.mobilebroken.admin.service.SsePushService; @@ -14,6 +12,7 @@ import com.nflg.mobilebroken.common.exception.NflgException; import com.nflg.mobilebroken.common.pojo.ApiResult; import com.nflg.mobilebroken.common.pojo.PageData; import com.nflg.mobilebroken.common.pojo.dto.ChatMessageDTO; +import com.nflg.mobilebroken.common.pojo.dto.FileInfo; import com.nflg.mobilebroken.common.pojo.request.*; import com.nflg.mobilebroken.common.pojo.vo.*; import com.nflg.mobilebroken.common.util.*; @@ -28,6 +27,7 @@ import org.springframework.web.bind.annotation.*; import org.thymeleaf.TemplateEngine; import org.thymeleaf.context.Context; import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver; +import org.xhtmlrenderer.pdf.ITextRenderer; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; @@ -36,6 +36,7 @@ import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.io.IOException; +import java.io.OutputStream; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.time.Instant; @@ -302,24 +303,30 @@ public class TicketController extends ControllerBase { public void exportPdf(HttpServletResponse response, @Valid @RequestParam @NotBlank(message = "工单编号不能为空") String id) { Ticket ticket = ticketService.getById(id); AppUser user = appUserService.getById(ticket.getUserId()); - TBaseCustomer company = customerService.getById(Integer.valueOf(user.getCompanyId())); + List companyIds= Arrays.stream(user.getCompanyId().split(",")).map(Integer::parseInt).collect(Collectors.toList()); + List companys = customerService.listByIds(companyIds); DeviceInfoVO device = deviceService.getByDeviceNo(ticket.getDeviceNo()); String handle = ticket.getHandle(); if (StrUtil.isNotBlank(handle)) { List adminUsers = adminUserService.listByIds(Arrays.stream(handle.split(",")).map(Integer::parseInt).collect(Collectors.toList())); handle = adminUsers.stream().map(AdminUser::getUserName).collect(Collectors.joining(",")); } - List images = new ArrayList<>(); - List files = new ArrayList<>(); + List images = new ArrayList<>(); + List files = new ArrayList<>(); if (StrUtil.isNotBlank(ticket.getAttachments())) { StrUtil.split(ticket.getAttachments(), ",").forEach(item -> { if (item.endsWith(".jpg") || item.endsWith(".png") || item.endsWith(".jpeg")) { - images.add(item); + images.add(new FileInfo(item.substring(item.lastIndexOf("/")+1),item)); } else { - files.add(item); + files.add(new FileInfo(item.substring(item.lastIndexOf("/")+1),item)); } }); } + if (StrUtil.isNotBlank(ticket.getImages())) { + StrUtil.split(ticket.getImages(), ",").forEach(item -> { + images.add(new FileInfo(item.substring(item.lastIndexOf("/")+1),item)); + }); + } TicketPdfVO vo = new TicketPdfVO() .setNo(ticket.getNo()) .setTitle(ticket.getTitle()) @@ -330,10 +337,10 @@ public class TicketController extends ControllerBase { .setDescription(ticket.getDescription()) .setState(ticket.getState()) .setCreateUserName(user.getName()) - .setCreateTime(ticket.getCreateTime()) - .setCompanyName(company.getAgencyCompanyName()) + .setCreateTime(DateTimeUtil.format(ticket.getCreateTime())) + .setCompanyName(StrUtil.join(",",companys.stream().map(TBaseCustomer::getAgencyCompanyName).collect(Collectors.toList()))) .setUrgency(ticket.getUrgency()) - .setUpdateTime(ticket.getUpdateTime()) + .setUpdateTime(DateTimeUtil.format(ticket.getUpdateTime())) .setHandleUserName(handle) .setSolution(ticket.getSolution()) .setImages(images) @@ -356,18 +363,29 @@ public class TicketController extends ControllerBase { response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "inline;filename=" +encode ); // 生成PDF try { - ConverterProperties converterProperties = new ConverterProperties(); - converterProperties.setCharset("UTF-8"); - FontProvider fontProvider = new FontProvider(); - fontProvider.addSystemFonts(); - converterProperties.setFontProvider(fontProvider); - HtmlConverter.convertToPdf(html, response.getOutputStream(), converterProperties); +// ConverterProperties converterProperties = new ConverterProperties(); +// converterProperties.setCharset("UTF-8"); +// FontProvider fontProvider = new FontProvider(); +// fontProvider.addSystemFonts(); +// String fontPath = ResourceUtils.getFile("classpath:static/fonts/msyh.ttc").getPath(); +// fontProvider.addFont(fontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED); +// converterProperties.setFontProvider(fontProvider); +// HtmlConverter.convertToPdf(html, response.getOutputStream(), converterProperties); // ITextRenderer renderer = new ITextRenderer(); // ITextFontResolver fontResolver = renderer.getFontResolver(); // fontResolver.addFont("fonts/simsun.ttc", true); // renderer.setDocumentFromString(html); // renderer.layout(); // renderer.createPDF(response.getOutputStream()); + ITextRenderer renderer = new ITextRenderer(); + BaseFont baseFont = BaseFont.createFont("fonts/simsun.ttc,0", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); + renderer.getFontResolver().addFont("fonts/simsun.ttc", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); + renderer.setDocumentFromString(html); + renderer.layout(); + + try (OutputStream outputStream = response.getOutputStream()) { + renderer.createPDF(outputStream); + } } catch (Exception e) { log.error("生成pdf出错", e); throw new NflgException(STATE.BusinessError, "生成pdf出错"); diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/event/TicketAssignedEvent.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/event/TicketAssignedEvent.java index 186f863f..83f8543d 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/event/TicketAssignedEvent.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/event/TicketAssignedEvent.java @@ -65,6 +65,7 @@ public class TicketAssignedEvent extends ApplicationEvent implements Application adminUsers.forEach(c -> adminMessageService.add( new AdminMessage() .setNo(ticket.getNo()) + .setTitle(ticket.getTitle()) .setUserId(c.getId()) .setSourceId(ticket.getId()) .setSource(0) diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/event/TicketCloseEvent.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/event/TicketCloseEvent.java index b55b7c82..dcc3cb12 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/event/TicketCloseEvent.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/event/TicketCloseEvent.java @@ -60,6 +60,7 @@ public class TicketCloseEvent extends ApplicationEvent implements ApplicationCon adminUsers.forEach(c -> adminMessageService.add( new AdminMessage() .setNo(ticket.getNo()) + .setTitle(ticket.getTitle()) .setUserId(c.getId()) .setSourceId(ticket.getId()) .setSource(0) diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/event/TicketCompleteEvent.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/event/TicketCompleteEvent.java index 6cab0dd7..ea7e1e54 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/event/TicketCompleteEvent.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/event/TicketCompleteEvent.java @@ -69,6 +69,7 @@ public class TicketCompleteEvent extends ApplicationEvent implements Application adminMessageService.add( new AdminMessage() .setNo(ticket.getNo()) + .setTitle(ticket.getTitle()) .setUserId(cqmUser.getId()) .setSourceId(ticket.getId()) .setSource(0) diff --git a/nflg-mobilebroken-admin/src/main/resources/bootstrap.properties b/nflg-mobilebroken-admin/src/main/resources/bootstrap.properties index e2b6f2d3..d77293c8 100644 --- a/nflg-mobilebroken-admin/src/main/resources/bootstrap.properties +++ b/nflg-mobilebroken-admin/src/main/resources/bootstrap.properties @@ -25,4 +25,6 @@ spring.cloud.nacos.discovery.server-addr=${nacos.server-addr} spring.cloud.nacos.discovery.namespace=mobilebroken spring.cloud.nacos.discovery.group=${spring.profiles.active} spring.cloud.nacos.discovery.metadata.env=${spring.profiles.active} -spring.thymeleaf.encoding=UTF-8 \ No newline at end of file + +spring.thymeleaf.encoding=UTF-8 +#spring.thymeleaf.cache=true \ No newline at end of file diff --git a/nflg-mobilebroken-admin/src/main/resources/fonts/simsun.ttc b/nflg-mobilebroken-admin/src/main/resources/fonts/simsun.ttc new file mode 100644 index 00000000..4cbcb711 Binary files /dev/null and b/nflg-mobilebroken-admin/src/main/resources/fonts/simsun.ttc differ diff --git a/nflg-mobilebroken-admin/src/main/resources/templates/ticketpdf.html b/nflg-mobilebroken-admin/src/main/resources/templates/ticketpdf.html index ee851369..17fc0b4d 100644 --- a/nflg-mobilebroken-admin/src/main/resources/templates/ticketpdf.html +++ b/nflg-mobilebroken-admin/src/main/resources/templates/ticketpdf.html @@ -4,15 +4,12 @@ -

移动破售后问题反馈表 -

+
+ +
+

移动破售后问题反馈表

@@ -76,13 +87,21 @@ - + - +
标题文件
+
+ +
+
图片
+
+ +
+
diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/UserController.java b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/UserController.java index 557ab47d..9ae7f291 100644 --- a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/UserController.java +++ b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/UserController.java @@ -183,9 +183,11 @@ public class UserController extends ControllerBase { AppUserApplyfor applyfor=appUserApplyforService.add(request); List adminUsers=adminUserService.getForAccountReview(); if (CollectionUtil.isNotEmpty(adminUsers)){ + AppUser createdUser=appUserService.getById(AppUserUtil.getUserId()); adminUsers.forEach(c -> adminMessageService.add( new AdminMessage() .setNo(request.getEmail()) + .setTitle(createdUser.getName()+"申请新的账号") .setUserId(c.getId()) .setSourceId(applyfor.getId()) .setSource(1) @@ -210,9 +212,11 @@ public class UserController extends ControllerBase { AppUser user=appUserService.getById(request.getId()); List adminUsers=adminUserService.getForAccountReview(); if (CollectionUtil.isNotEmpty(adminUsers)){ + AppUser createdUser=appUserService.getById(AppUserUtil.getUserId()); adminUsers.forEach(c -> adminMessageService.add( new AdminMessage() .setNo(user.getEmail()) + .setTitle(createdUser.getName()+"申请账号启用") .setUserId(c.getId()) .setSourceId(applyfor.getId()) .setSource(1) @@ -237,9 +241,11 @@ public class UserController extends ControllerBase { AppUserApplyfor applyfor=appUserApplyforService.applyForExtension(request); List adminUsers=adminUserService.getForAccountReview(); if (CollectionUtil.isNotEmpty(adminUsers)){ + AppUser createdUser=appUserService.getById(AppUserUtil.getUserId()); adminUsers.forEach(c -> adminMessageService.add( new AdminMessage() .setNo(applyfor.getUserEmail()) + .setTitle(createdUser.getName()+"请账号延期") .setUserId(c.getId()) .setSourceId(applyfor.getId()) .setSource(1) diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketCreateEvent.java b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketCreateEvent.java index e58721f5..f966fa34 100644 --- a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketCreateEvent.java +++ b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketCreateEvent.java @@ -71,6 +71,7 @@ public class TicketCreateEvent extends ApplicationEvent implements ApplicationCo cqmUsers.forEach(c -> adminMessageService.add( new AdminMessage() .setNo(ticket.getNo()) + .setTitle(ticket.getTitle()) .setUserId(c.getId()) .setSourceId(ticket.getId()) .setSource(0) diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketReopenEvent.java b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketReopenEvent.java index 43eaba8c..be4bd4c2 100644 --- a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketReopenEvent.java +++ b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketReopenEvent.java @@ -59,6 +59,7 @@ public class TicketReopenEvent extends ApplicationEvent implements ApplicationCo adminMessageService.add( new AdminMessage() .setNo(ticket.getNo()) + .setTitle(ticket.getTitle()) .setUserId(cqmUser.getId()) .setSourceId(ticket.getId()) .setSource(0) diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketReplyEvent.java b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketReplyEvent.java index 35ab2a34..96c7bd2b 100644 --- a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketReplyEvent.java +++ b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketReplyEvent.java @@ -71,6 +71,7 @@ public class TicketReplyEvent extends ApplicationEvent implements ApplicationCon adminUsers.forEach(c -> adminMessageService.add( new AdminMessage() .setNo(ticket.getNo()) + .setTitle(ticket.getTitle()) .setUserId(c.getId()) .setSourceId(ticket.getId()) .setSource(0) diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketRevokeEvent.java b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketRevokeEvent.java index 77a3c219..fd030f75 100644 --- a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketRevokeEvent.java +++ b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketRevokeEvent.java @@ -64,6 +64,7 @@ public class TicketRevokeEvent extends ApplicationEvent implements ApplicationCo adminMessageService.add( new AdminMessage() .setNo(ticket.getNo()) + .setTitle(ticket.getTitle()) .setUserId(cqmUser.getId()) .setSourceId(ticket.getId()) .setSource(0) @@ -78,6 +79,7 @@ public class TicketRevokeEvent extends ApplicationEvent implements ApplicationCo adminUsers.forEach(c -> adminMessageService.add( new AdminMessage() .setNo(ticket.getNo()) + .setTitle(ticket.getTitle()) .setUserId(c.getId()) .setSourceId(ticket.getId()) .setSource(0) diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/dto/FileInfo.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/dto/FileInfo.java new file mode 100644 index 00000000..10ca5ef7 --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/dto/FileInfo.java @@ -0,0 +1,13 @@ +package com.nflg.mobilebroken.common.pojo.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +public class FileInfo { + + private String name; + + private String url; +} diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AdminTicketSearchRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AdminTicketSearchRequest.java index 1fc9afa6..c42c967e 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AdminTicketSearchRequest.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AdminTicketSearchRequest.java @@ -1,5 +1,6 @@ package com.nflg.mobilebroken.common.pojo.request; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import lombok.EqualsAndHashCode; @@ -24,4 +25,8 @@ public class AdminTicketSearchRequest extends TicketSearchRequest { //质保状态 private Integer warrantyStatus; + + //是否是工单管理者 + @JsonIgnore + private boolean ticketManager; } \ No newline at end of file diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminMessageVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminMessageVO.java index 3b18ed16..522f8e3a 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminMessageVO.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminMessageVO.java @@ -16,6 +16,9 @@ public class AdminMessageVO { //任务编号 private String no; + //标题 + private String title; + //来源,0:工单;1:代理商账户 private Integer source; @@ -27,28 +30,33 @@ public class AdminMessageVO { //任务事项描述 private String subTypeDesc; - //任务类别,0:账号审核;1:工单处理 - private Integer type; - //任务类别描述 - private String typeDesc; - //提交人 - private String sourceCreateUserName; - //提交时间 - private LocalDateTime sourceCreateTime; - - //消息时间 - private LocalDateTime createTime; - //待处理人 - private String userName; public String getSubTypeDesc() { return MessageSubType.findByValue(subType).getDescription(); } - public String gettypeDesc() { + //任务类别,0:账号审核;1:工单处理 + private Integer type; + + //任务类别描述 + private String typeDesc; + + public String getTypeDesc() { return MessageType.findByValue(type).getDescription(); } + //提交人 + private String sourceCreateUserName; + + //提交时间 + private LocalDateTime sourceCreateTime; + + //消息时间 + private LocalDateTime createTime; + + //待处理人 + private String userName; + //是否已读 private boolean isRead; } diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/TicketPdfVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/TicketPdfVO.java index 560dfd27..4b876dc4 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/TicketPdfVO.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/TicketPdfVO.java @@ -1,10 +1,10 @@ package com.nflg.mobilebroken.common.pojo.vo; import com.nflg.mobilebroken.common.constant.TicketState; +import com.nflg.mobilebroken.common.pojo.dto.FileInfo; import lombok.Data; import lombok.experimental.Accessors; -import java.time.LocalDateTime; import java.util.List; import java.util.Objects; @@ -25,7 +25,7 @@ public class TicketPdfVO { private String createUserName; //提交时间 - private LocalDateTime createTime; + private String createTime; //工单状态 private Byte state; @@ -52,15 +52,15 @@ public class TicketPdfVO { //解决状态描述 private String stateDesc; //更新时间 - private LocalDateTime updateTime; + private String updateTime; //处理人 private String handleUserName; //解决方案 private String solution; //图片 - private List images; + private List images; //文件 - private List files; + private List files; public String getUrgencyDesc() { if (Objects.isNull(urgency)) { diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/util/DateTimeUtil.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/util/DateTimeUtil.java index 1c1946e0..ff16a1dd 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/util/DateTimeUtil.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/util/DateTimeUtil.java @@ -1,6 +1,15 @@ package com.nflg.mobilebroken.common.util; +import cn.hutool.core.date.DatePattern; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + public class DateTimeUtil { + private static final DateTimeFormatter FORMATTER=DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN); + public static String format(LocalDateTime dateTime){ + return dateTime.format(FORMATTER); + } } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminMessage.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminMessage.java index 42aeb977..5967562b 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminMessage.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminMessage.java @@ -34,6 +34,11 @@ public class AdminMessage implements Serializable { */ private String no; + /** + * 标题 + */ + private String title; + /** * 来源,0:工单;1:代理商账户 */ diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketServiceImpl.java index a4b1b3f9..bebfb7f7 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketServiceImpl.java @@ -103,7 +103,10 @@ public class TicketServiceImpl extends ServiceImpl impleme if (request.getType() == 2) { return baseMapper.searchFromAdminAndFollow(request, AdminUserUtil.getUserId(), new Page<>(request.getPage(), request.getPageSize())); } else if (request.getType() == 4) { - return baseMapper.searchFromAdmin(request, AdminUserUtil.getUserId(), new Page<>(request.getPage(), request.getPageSize())); + Integer userId=AdminUserUtil.getUserId(); + List tickerMangagers=adminUserService.getTickerMangagers(); + request.setTicketManager(tickerMangagers.stream().anyMatch(uid -> Objects.equals(uid, userId))); + return baseMapper.searchFromAdmin(request, userId, new Page<>(request.getPage(), request.getPageSize())); } return new Page<>(request.getPage(), request.getPageSize(), 0); } @@ -205,7 +208,10 @@ public class TicketServiceImpl extends ServiceImpl impleme if (request.getType() == 2) { return baseMapper.searchAllFromAdminAndFollow(request, AdminUserUtil.getUserId()); } else if (request.getType() == 4) { - return baseMapper.searchAllFromAdmin(request, AdminUserUtil.getUserId()); + Integer userId=AdminUserUtil.getUserId(); + List tickerMangagers=adminUserService.getTickerMangagers(); + request.setTicketManager(tickerMangagers.stream().anyMatch(uid -> Objects.equals(uid, userId))); + return baseMapper.searchAllFromAdmin(request, userId); } return Collections.emptyList(); } diff --git a/nflg-mobilebroken-repository/src/main/resources/mapper/AdminMessageMapper.xml b/nflg-mobilebroken-repository/src/main/resources/mapper/AdminMessageMapper.xml index 415cd157..bbdb2d7c 100644 --- a/nflg-mobilebroken-repository/src/main/resources/mapper/AdminMessageMapper.xml +++ b/nflg-mobilebroken-repository/src/main/resources/mapper/AdminMessageMapper.xml @@ -3,7 +3,7 @@