Bläddra i källkod

服务代码优化

fangzhen 3 månader sedan
förälder
incheckning
1adede806d

+ 3 - 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java

@@ -128,7 +128,7 @@ public class CommonController {
      * 通用上传请求(单个) OSS
      */
     @PostMapping("/upload")
-    public AjaxResult uploadFile(MultipartFile file) throws Exception {
+    public AjaxResult uploadFile(MultipartFile file, boolean waterMark) throws Exception {
         try {
             String fileType = FileUtils.getFileType(file);
 //            if ("image".equalsIgnoreCase(fileType)) {
@@ -140,7 +140,7 @@ public class CommonController {
             String fileNameResult = fileName.replace("https://cysd.oss-cn-shanghai.aliyuncs.com", fileUrl);
             String thumbnailPath = "";
 
-            if ("video".equalsIgnoreCase(fileType)) {
+            if ("video".equalsIgnoreCase(fileType) && waterMark) {
                 String tempThumbnailFile = System.getProperty("java.io.tmpdir") + File.separator + "thumbnail.jpg";
 
                 boolean screenshotSuccess = FileUtils.screenShots(fileNameResult, tempThumbnailFile, "00:00:01");
@@ -155,7 +155,7 @@ public class CommonController {
                 new File(tempThumbnailFile).delete();
             }
 
-            if ("image".equalsIgnoreCase(fileType)) {
+            if ("image".equalsIgnoreCase(fileType) && waterMark) {
                 //获取用户名
                 String nickName = SecurityUtils.getLoginUser().getUser().getNickName();
                 // 下载源文件到本地临时目录

+ 6 - 29
ruoyi-generator/src/main/java/com/ruoyi/generator/controller/CommunityChatMsgController.java

@@ -109,7 +109,7 @@ public class CommunityChatMsgController extends BaseController {
                         chatMsgVo.setReceiverIsRead(true);
                     }
                 }
-                chatMsgVo.setSenderNickName("chat".equals(chatMsg.getType()) ? senderUser.getNickName() : chatMsg.getSenderAnonName());
+                chatMsgVo.setSenderNickName(senderUser.getNickName());
                 chatMsgVo.setSenderAvatar(senderUser.getAvatar());
                 chatMsgVo.setReceiverNickName("chat".equals(chatMsg.getType()) ? receiveUser.getNickName() : chatMsg.getReceiverAnonName());
                 chatMsgVo.setReceiverAvatar(receiveUser.getAvatar());
@@ -236,43 +236,20 @@ public class CommunityChatMsgController extends BaseController {
      */
     @ApiOperation("获取当前用户的返图记录")
     @GetMapping("/getReturnRecord")
-    public AjaxResult getReturnRecord(String status) {
+    public AjaxResult getReturnRecord(String status, String searchValue) {
         Long userId = SecurityUtils.getUserId();
-        List<CommunityReturnRecord> returnRecords = null;
         List<SysUserVo> sysUserChatVos = null;
-        switch (status) {
-            case "0": //待完成
-                returnRecords = communityReturnRecordService.list(new QueryWrapper<CommunityReturnRecord>()
-                        .eq("return_create_user_id", userId)
-                        .eq("status", false)
-                        .eq("is_delete", false));
-                break;
-            case "1": //待返图
-                returnRecords = communityReturnRecordService.list(new QueryWrapper<CommunityReturnRecord>()
-                        .eq("return_receive_user_id", userId)
-                        .eq("status", false)
-                        .eq("is_delete", false));
-                break;
-            case "2": //已完成
-                returnRecords = communityReturnRecordService.list(new QueryWrapper<CommunityReturnRecord>()
-                        .and(wrapper ->
-                                wrapper.eq("return_receive_user_id", userId)
-                                        .or()
-                                        .eq("return_create_user_id", userId))
-                        .eq("status", true)
-                        .eq("is_delete", false));
-                break;
-        }
-
+        List<CommunityReturnRecord> returnRecords = communityReturnRecordService
+                .getReturnRecord(userId, status);
         if (returnRecords != null && !returnRecords.isEmpty()) {
             List<Long> returnIds = returnRecords.stream().map(CommunityReturnRecord::getId).collect(Collectors.toList());
-            sysUserChatVos = communityChatMsgService.getChatListWithLatestMessage(userId, "anonymous", returnIds);
+            sysUserChatVos = communityChatMsgService.getChatListWithLatestMessage(userId, "anonymous", searchValue, returnIds);
         }
         return AjaxResult.success(sysUserChatVos);
     }
 
     /**
-     * 获取当前用户的返图记录
+     * 更新返图状态
      */
     @ApiOperation("更新返图状态")
     @PutMapping("/updateReturnStatus")

+ 37 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/service/CommunityReturnRecordServiceImpl.java

@@ -1,11 +1,48 @@
 package com.ruoyi.generator.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.generator.domain.Community.CommunityReturnRecord;
 import com.ruoyi.generator.mapper.community.CommunityReturnRecordMapper;
+import com.ruoyi.system.domain.vo.SysUserVo;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.List;
+
 @Service
 public class CommunityReturnRecordServiceImpl extends ServiceImpl<CommunityReturnRecordMapper, CommunityReturnRecord> implements ICommunityReturnRecordService {
 
+    @Resource
+    private CommunityReturnRecordMapper returnRecordMapper;
+
+    @Override
+    public List<CommunityReturnRecord> getReturnRecord(Long userId, String status) {
+        List<CommunityReturnRecord> returnRecords = null;
+        List<SysUserVo> sysUserChatVos = null;
+        switch (status) {
+            case "0": //待完成
+                returnRecords = returnRecordMapper.selectList(new QueryWrapper<CommunityReturnRecord>()
+                        .eq("return_create_user_id", userId)
+                        .eq("status", false)
+                        .eq("is_delete", false));
+                break;
+            case "1": //待返图
+                returnRecords = returnRecordMapper.selectList(new QueryWrapper<CommunityReturnRecord>()
+                        .eq("return_receive_user_id", userId)
+                        .eq("status", false)
+                        .eq("is_delete", false));
+                break;
+            case "2": //已完成
+                returnRecords = returnRecordMapper.selectList(new QueryWrapper<CommunityReturnRecord>()
+                        .and(wrapper ->
+                                wrapper.eq("return_receive_user_id", userId)
+                                        .or()
+                                        .eq("return_create_user_id", userId))
+                        .eq("status", true)
+                        .eq("is_delete", false));
+                break;
+        }
+        return returnRecords;
+    }
 }

+ 3 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/service/ICommunityReturnRecordService.java

@@ -3,5 +3,8 @@ package com.ruoyi.generator.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.generator.domain.Community.CommunityReturnRecord;
 
+import java.util.List;
+
 public interface ICommunityReturnRecordService extends IService<CommunityReturnRecord> {
+    List<CommunityReturnRecord> getReturnRecord(Long userId,String status);
 }

+ 4 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/vo/CommentVo.java

@@ -1,6 +1,8 @@
 package com.ruoyi.generator.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -14,7 +16,9 @@ import java.util.Date;
 @NoArgsConstructor
 @AllArgsConstructor
 public class CommentVo {
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long id;
+    private Long userId;
     private int type;
     private Long articleId;
     private String avatar;

+ 5 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/vo/LikeVo.java

@@ -1,6 +1,8 @@
 package com.ruoyi.generator.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -14,7 +16,10 @@ import java.util.Date;
 @NoArgsConstructor
 @AllArgsConstructor
 public class LikeVo {
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long id;
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long likeUserId;
     private String avatar;
     private String nickName;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

+ 5 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/vo/RecommendAndCollectVo.java

@@ -1,6 +1,8 @@
 package com.ruoyi.generator.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -14,7 +16,10 @@ import java.util.Date;
 @NoArgsConstructor
 @AllArgsConstructor
 public class RecommendAndCollectVo {
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long id;
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long userId;
     private int type;
     private Long articleId;
     private Long thirdId;

+ 6 - 0
ruoyi-generator/src/main/resources/mapper/community/CommunityArticleCommentMapper.xml

@@ -220,6 +220,7 @@
         SELECT
             c.id,
             c.article_id,
+            c.user_id,
             c.image_url,
             c.type,
             c.avatar,
@@ -235,6 +236,7 @@
             '8' AS type,
             su.avatar,
             su.nick_name,
+            cac.user_id,
             cac.create_time,
             cac.content,
             cac.is_read
@@ -257,6 +259,7 @@
         '9' AS type,
         su.avatar,
         su.nick_name,
+        ccr.user_id,
         ccr.create_time,
         ccr.content,
         ccr.is_read
@@ -279,6 +282,7 @@
         '5' AS type,
         su.avatar,
         su.nick_name,
+        caa.peer_id as user_id,
         caa.create_time,
         NULL AS content,
         caa.is_read
@@ -297,6 +301,7 @@
         '6' AS type,
         su.avatar,
         su.nick_name,
+        caa.peer_id as user_id,
         caa.create_time,
         cac.content,
         caa.is_read
@@ -317,6 +322,7 @@
         '7' AS type,
         su.avatar,
         su.nick_name,
+        caa.peer_id as user_id,
         caa.create_time,
         ccr.content,
         caa.is_read

+ 1 - 0
ruoyi-generator/src/main/resources/mapper/community/CommunityUserLikeMapper.xml

@@ -6,6 +6,7 @@
     <select id="selectLikeByUserId" resultType="com.ruoyi.generator.vo.LikeVo">
         select cul.id,
                cul.create_time,
+               cul.like_user_id,
                (select nick_name from sys_user su where su.user_id = cul.user_id) as nick_name,
                (select avatar from sys_user su where su.user_id = cul.user_id)    as avatar,
                (select  id  from community_user_like cul2 where cul2.user_id = #{userId}  and cul2.like_user_id = cul.user_id) as isLike,

+ 1 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/CommunityChatMsgMapper.java

@@ -27,6 +27,7 @@ public interface CommunityChatMsgMapper extends BaseMapper<CommunityChatMsg> {
      */
     List<SysUserVo> getReturnChatMessage(@Param("userId") Long userId,
                                          @Param("type") String type,
+                                         @Param("searchValue") String searchValue,
                                          @Param("returnRecordIds")  List<Long> returnRecordIds);
 
     /**

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/ICommunityChatMsgService.java

@@ -23,5 +23,5 @@ public interface ICommunityChatMsgService extends IService<CommunityChatMsg> {
      * @param userId 用户id
      * @return 用户聊天列表
      */
-    List<SysUserVo> getChatListWithLatestMessage(Long userId,String type,List<Long> returnRecordIds);
+    List<SysUserVo> getChatListWithLatestMessage(Long userId, String type, String searchValue, List<Long> returnRecordIds);
 }

+ 5 - 4
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CommunityChatMsgServiceImpl.java

@@ -29,13 +29,14 @@ public class CommunityChatMsgServiceImpl extends ServiceImpl<CommunityChatMsgMap
 
     /**
      * 获取登录用户返图聊天列表
-     * @param userId 用户id
-     * @param type 聊天类型
+     *
+     * @param userId          用户id
+     * @param type            聊天类型
      * @param returnRecordIds 返图id
      * @return 返图聊天列表
      */
     @Override
-    public List<SysUserVo> getChatListWithLatestMessage(Long userId, String type, List<Long> returnRecordIds) {
-        return communityChatMsgMapper.getReturnChatMessage(userId, type, returnRecordIds);
+    public List<SysUserVo> getChatListWithLatestMessage(Long userId, String type, String searchValue, List<Long> returnRecordIds) {
+        return communityChatMsgMapper.getReturnChatMessage(userId, type, searchValue, returnRecordIds);
     }
 }

+ 10 - 3
ruoyi-system/src/main/resources/mapper/system/CommunityChatMsgMapper.xml

@@ -70,9 +70,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         IF('anonymous' = #{type}, r.sender_anon_name, u.nick_name) AS nickName,
         IF('anonymous' = #{type}, r.sender_anon_name, u.user_name) AS username,
         u.avatar as avatar,
-        (SELECT u2.nick_name
-        FROM sys_user u2
-        WHERE u2.user_id = r.sender_id) as senderNickName,
+        r.sender_anon_name as senderNickName,
         r.receiver_is_read as receiverIsRead,
         r.receiver_id as receiverId,
         r.sender_is_read as senderIsRead,
@@ -96,6 +94,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <foreach collection="returnRecordIds" item="returnId" index="index" open="(" close=")" separator=",">
             #{returnId}
         </foreach>
+        <if test="searchValue != null and searchValue != ''">
+            and receiver_anon_name like CONCAT('%', #{searchValue}, '%')
+        </if>
         AND type = #{type}
         GROUP BY sender_id) A
         WHERE A.sender_id = r.sender_id),
@@ -113,6 +114,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <foreach collection="returnRecordIds" item="returnId" index="index" open="(" close=")" separator=",">
             #{returnId}
         </foreach>
+        <if test="searchValue != null and searchValue != ''">
+            and receiver_anon_name like CONCAT('%', #{searchValue}, '%')
+        </if>
         AND (
         (sender_id = #{userId} AND (is_delete IS NULL OR is_delete != 1))
         OR (receiver_id = #{userId} AND
@@ -130,6 +134,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <foreach collection="returnRecordIds" item="returnId" index="index" open="(" close=")" separator=",">
             #{returnId}
         </foreach>
+        <if test="searchValue != null and searchValue != ''">
+            and receiver_anon_name like CONCAT('%', #{searchValue}, '%')
+        </if>
         )
         JOIN sys_user u ON u.user_id = latest.chat_user_id),
         RankedMessages AS (SELECT *,