Ver código fonte

feat(message): 常见联系人

huey 1 ano atrás
pai
commit
c9d38f84f3

+ 17 - 0
src/main/java/com/dragon/tj/portal/common/vo/message/ContactMemberVO.java

@@ -0,0 +1,17 @@
+package com.dragon.tj.portal.common.vo.message;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author huey China.
+ * @Description : 消息总数VO
+ * @Date Created in 2023/7/21 15:30
+ */
+@Getter
+@Setter
+public class ContactMemberVO {
+
+    private String userName;
+    private String idCard;
+}

+ 7 - 0
src/main/java/com/dragon/tj/portal/controller/MessageInfoController.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dragon.tj.portal.common.base.R;
 import com.dragon.tj.portal.common.enums.log.ModuleEnum;
+import com.dragon.tj.portal.common.vo.message.ContactMemberVO;
 import com.dragon.tj.portal.common.vo.message.MessageInfoParam;
 import com.dragon.tj.portal.common.vo.message.MessageInfoVO;
 import com.dragon.tj.portal.common.vo.message.MessagePageParam;
@@ -77,5 +78,11 @@ public class MessageInfoController {
     public R reads(List<Long> ids) {
         return R.ok(messageInfoService.reads(ids));
     }
+
+    @GetMapping("contacts")
+    public R getContactsMemberList(@RequestParam(value = "limit",defaultValue = "10") Integer limit) {
+        List<ContactMemberVO> list = messageInfoService.getContactsMemberList(limit);
+        return R.ok(list);
+    }
 }
 

+ 5 - 0
src/main/java/com/dragon/tj/portal/mapper/MessageInfoMapper.java

@@ -2,12 +2,15 @@ package com.dragon.tj.portal.mapper;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.dragon.tj.portal.common.vo.message.ContactMemberVO;
 import com.dragon.tj.portal.common.vo.message.MessagePageParam;
 import com.dragon.tj.portal.entity.MessageInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 信息表 Mapper 接口
@@ -22,4 +25,6 @@ public interface MessageInfoMapper extends BaseMapper<MessageInfo> {
     IPage<MessageInfo> queryPage(Page page, @Param("req") MessagePageParam req,@Param("idCard") String idCard);
 
     Integer  getCount(@Param("idCard") String idCard,@Param("readStatus") Integer readStatus);
+
+    List<ContactMemberVO> getContactsMemberList(@Param("idCard") String idCard,@Param("limit") Integer limit);
 }

+ 3 - 4
src/main/java/com/dragon/tj/portal/service/MessageInfoService.java

@@ -5,10 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dragon.tj.portal.auth.model.LoginUser;
 import com.dragon.tj.portal.common.base.R;
 import com.dragon.tj.portal.common.dto.message.MessageInfoReq;
-import com.dragon.tj.portal.common.vo.message.MessageInfoParam;
-import com.dragon.tj.portal.common.vo.message.MessageInfoVO;
-import com.dragon.tj.portal.common.vo.message.MessagePageParam;
-import com.dragon.tj.portal.common.vo.message.MsgCountVO;
+import com.dragon.tj.portal.common.vo.message.*;
 import com.dragon.tj.portal.entity.MessageInfo;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -38,4 +35,6 @@ public interface MessageInfoService extends IService<MessageInfo> {
 
     MsgCountVO getCount();
 
+    List<ContactMemberVO> getContactsMemberList(Integer limit);
+
 }

+ 9 - 4
src/main/java/com/dragon/tj/portal/service/impl/MessageInfoServiceImpl.java

@@ -19,10 +19,7 @@ import com.dragon.tj.portal.common.enums.message.MessageInfoErrorEnums;
 import com.dragon.tj.portal.common.enums.message.MsgRecordTypeEnum;
 import com.dragon.tj.portal.common.enums.message.ReadStatusEnum;
 import com.dragon.tj.portal.common.enums.message.ScopeEnums;
-import com.dragon.tj.portal.common.vo.message.MessageInfoParam;
-import com.dragon.tj.portal.common.vo.message.MessageInfoVO;
-import com.dragon.tj.portal.common.vo.message.MessagePageParam;
-import com.dragon.tj.portal.common.vo.message.MsgCountVO;
+import com.dragon.tj.portal.common.vo.message.*;
 import com.dragon.tj.portal.component.exception.message.MessageInfoException;
 import com.dragon.tj.portal.component.message.KafkaInitialConfiguration;
 import com.dragon.tj.portal.component.message.MessageProducer;
@@ -150,6 +147,14 @@ public class MessageInfoServiceImpl extends ServiceImpl<MessageInfoMapper, Messa
         return msgCountVO;
     }
 
+    @Override
+    public List<ContactMemberVO> getContactsMemberList(Integer limit) {
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        String idCard = loginUser.getIdCard();
+        List<ContactMemberVO> list = this.baseMapper.getContactsMemberList(idCard,limit);
+        return list;
+    }
+
 
     /**
      * @author huey China.

+ 9 - 0
src/main/resources/mapper/MessageInfoMapper.xml

@@ -37,5 +37,14 @@
         and  a.read_status = #{readStatus}
         and  a.member_id = #{idCard}
     </select>
+    <select id="getContactsMemberList" resultType="com.dragon.tj.portal.common.vo.message.ContactMemberVO">
+        SELECT b.member_id as 'idCard',c.`name` as 'userName'  from message_info a
+        INNER JOIN  message_info_scope b on a.id = b.message_info_id
+        LEFT JOIN sys_user c on b.member_id = c.idcard
+        where create_by = #{idCard} and a.del_flag = 0
+        GROUP BY member_id
+        ORDER BY COUNT(1) DESC
+        limit #{limit}
+    </select>
 
 </mapper>