diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/TicketController.java b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/TicketController.java index c221bd38..4245a8e8 100644 --- a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/TicketController.java +++ b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/TicketController.java @@ -328,15 +328,16 @@ public class TicketController extends ControllerBase { if (Objects.nonNull(part)) { vo.setComponent(part.getPartName()); } - vo.setCanReopen(Objects.equals(ticket.getState(), TicketState.ProcessingCompleted.getState()) - && !ticketSolutionAuditService.lambdaQuery().eq(TicketSolutionAudit::getTicketId, ticket.getId()).exists()); } else { GongfuDevicePart part = part1Service.getByIdAndLanguage(ticket.getComponentId(), MultilingualUtil.getLanguage()); if (Objects.nonNull(part)) { vo.setComponent(part.getPartName()); } - vo.setCanReopen(false); } + vo.setCanReopen((StrUtil.equals(ticket.getUserPlatform(), AppUserUtil.getFrom()) && Objects.equals(ticket.getUserId(), AppUserUtil.getUserId())) + && Objects.equals(ticket.getState(), TicketState.ProcessingCompleted.getState()) + && !ticketEvaluateService.lambdaQuery().eq(TicketEvaluate::getTicketId, ticket.getId()).exists() + ); return ApiResult.success(vo); } diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AddChatMessageRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AddChatMessageRequest.java index f5dfea9b..ede3cc41 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AddChatMessageRequest.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AddChatMessageRequest.java @@ -3,6 +3,7 @@ package com.nflg.mobilebroken.common.pojo.request; import com.nflg.mobilebroken.common.pojo.vo.FileUploadVO; import lombok.Data; +import javax.validation.Valid; import javax.validation.constraints.NotNull; import java.util.List; @@ -20,14 +21,17 @@ public class AddChatMessageRequest { private String audioUrl; //附件列表 + @Valid private List attachments; //图片列表 + @Valid private List images; // 引用的消息 private String quoteId; //被艾特的用户列表 + @Valid private List remindUsers; } diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/RemindUserRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/RemindUserRequest.java index cc2cbb7b..bce5767f 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/RemindUserRequest.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/RemindUserRequest.java @@ -2,16 +2,21 @@ package com.nflg.mobilebroken.common.pojo.request; import lombok.Data; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + @Data public class RemindUserRequest { /** * 用户id */ + @NotNull private Integer id; /** * 用户名 */ + @NotBlank private String name; } diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/FileUploadVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/FileUploadVO.java index 26748a16..8a79b387 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/FileUploadVO.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/FileUploadVO.java @@ -5,6 +5,9 @@ import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + @Data @Accessors(chain = true) @AllArgsConstructor @@ -14,16 +17,19 @@ public class FileUploadVO { /** * 文件id */ + @NotNull(message = "文件id不能为空") private Integer id; /** * 显示名称 */ + @NotBlank(message = "文件名称不能为空") private String fileName; /** * url路径 */ + @NotBlank(message = "文件路径不能为空") private String url; /** diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/DispatchController.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/DispatchController.java index b478d419..678bc458 100644 --- a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/DispatchController.java +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/DispatchController.java @@ -210,7 +210,7 @@ public class DispatchController extends ControllerBase { */ @PostMapping("/search") public ApiResult> search(@Valid @RequestBody DispatchSearchRequest request) { - return ApiResult.success(dispatchService.search(request)); + return ApiResult.success(dispatchService.search(request, AdminUserUtil.getUserId())); } /** diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/GongfuDispatchMapper.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/GongfuDispatchMapper.java index a8fbe581..b947d749 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/GongfuDispatchMapper.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/GongfuDispatchMapper.java @@ -19,7 +19,7 @@ import java.util.List; */ public interface GongfuDispatchMapper extends BaseMapper { - IPage search(DispatchSearchRequest request, Page objectPage); + IPage search(DispatchSearchRequest request, Integer userId, Page objectPage); DispatchVO getInfo(Long id); diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IGongfuDispatchService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IGongfuDispatchService.java index 0e4366aa..9ab629a1 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IGongfuDispatchService.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IGongfuDispatchService.java @@ -18,7 +18,7 @@ import java.util.List; */ public interface IGongfuDispatchService extends IService { - IPage search(DispatchSearchRequest request); + IPage search(DispatchSearchRequest request, Integer userId); DispatchVO getInfo(Long id); diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/TicketChatService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/TicketChatService.java index be54ffb5..4e922fa6 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/TicketChatService.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/TicketChatService.java @@ -8,8 +8,10 @@ import com.nflg.mobilebroken.common.pojo.dto.ChatMessageDTO; import com.nflg.mobilebroken.common.pojo.dto.TicketChatDTO; import com.nflg.mobilebroken.common.pojo.dto.TicketSet; import com.nflg.mobilebroken.common.pojo.vo.ChatMessageVO; +import com.nflg.mobilebroken.common.pojo.vo.FileUploadVO; import com.nflg.mobilebroken.common.util.MultilingualUtil; import com.nflg.mobilebroken.common.util.VUtils; +import com.nflg.mobilebroken.repository.entity.FileUploadRecord; import com.nflg.mobilebroken.repository.entity.ParamConfig; import lombok.extern.slf4j.Slf4j; import org.springframework.data.mongodb.core.MongoTemplate; @@ -23,6 +25,7 @@ import java.time.Duration; import java.time.Instant; import java.time.ZoneId; import java.time.format.DateTimeFormatter; +import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Objects; @@ -38,6 +41,9 @@ public class TicketChatService { @Resource private IParamConfigService paramConfigService; + @Resource + private IFileUploadRecordService fileUploadRecordService; + public void add(TicketChatDTO ticketChatDTO) { mongoTemplate.save(ticketChatDTO); } @@ -147,6 +153,19 @@ public class TicketChatService { log.info("消息撤回 找到消息"); message.setContent("消息已撤回"); flag=true; + //删除消息附件 + List fileIds = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(message.getAttachments())) { + fileIds.addAll(message.getAttachments().stream().map(FileUploadVO::getId).collect(Collectors.toList())); + } + if (CollectionUtil.isNotEmpty(message.getImages())) { + fileIds.addAll(message.getImages().stream().map(FileUploadVO::getId).collect(Collectors.toList())); + } + if (CollectionUtil.isNotEmpty(fileIds)) { + fileUploadRecordService.lambdaUpdate() + .in(FileUploadRecord::getId, fileIds) + .remove(); + } } } if (flag && Objects.nonNull(message.getQuote()) && message.getQuote().getId().equals(messageId)){ diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/GongfuDispatchServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/GongfuDispatchServiceImpl.java index 710c93fc..562c2d62 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/GongfuDispatchServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/GongfuDispatchServiceImpl.java @@ -18,6 +18,7 @@ import java.util.Objects; *

* 派工单 服务实现类 *

+ * * @author 代码生成器生成 * @since 2025 */ @@ -25,8 +26,8 @@ import java.util.Objects; public class GongfuDispatchServiceImpl extends ServiceImpl implements IGongfuDispatchService { @Override - public IPage search(DispatchSearchRequest request) { - return baseMapper.search(request, new Page<>(request.getPage(), request.getPageSize())); + public IPage search(DispatchSearchRequest request, Integer userId) { + return baseMapper.search(request, userId, new Page<>(request.getPage(), request.getPageSize())); } @Override diff --git a/nflg-mobilebroken-repository/src/main/resources/mapper/GongfuDispatchMapper.xml b/nflg-mobilebroken-repository/src/main/resources/mapper/GongfuDispatchMapper.xml index 964c4dad..4edea074 100644 --- a/nflg-mobilebroken-repository/src/main/resources/mapper/GongfuDispatchMapper.xml +++ b/nflg-mobilebroken-repository/src/main/resources/mapper/GongfuDispatchMapper.xml @@ -3,7 +3,8 @@