diff --git a/src/main/java/com/ifish/helper/LiveRoomHelper.java b/src/main/java/com/ifish/helper/LiveRoomHelper.java index 9c16571..f557a8d 100644 --- a/src/main/java/com/ifish/helper/LiveRoomHelper.java +++ b/src/main/java/com/ifish/helper/LiveRoomHelper.java @@ -265,9 +265,10 @@ public class LiveRoomHelper implements LiveRoomHelperI { if (i > 0) { liveMessage.setUserName(user.getNickName()); liveMessage.setUserImg(user.getUserImg()); + redisKeyHelperI.deleteRedisByTbl_Live_Message(liveMessage); } - liveMessage.setUserName(user.getNickName()); liveMessage.setUserImg(user.getUserImg()); + liveMessage.setUserName(user.getNickName()); Integer asUserId = liveMessage.getAsUserId(); if (asUserId != null) { Tbl_User asUser = userHelperI.getUserById(asUserId); @@ -346,7 +347,21 @@ public class LiveRoomHelper implements LiveRoomHelperI { redisHelperI.setRedis(key, IfishUtil.ObjectToJson(list)); } } - return IfishUtil.toJson(ResultEnum.success.getKey(), list); + key = redisKeyHelperI.getTbl_Live_MessageCount(roomId); + redisString = redisHelperI.getRedis(key); + Integer count = 0; + if (StringUtils.isNotBlank(redisString)) { + count = Integer.parseInt(redisString); + } else { + count = tbl_Live_Room_Mapper.getLive_MessagesCountByRoomId(roomId); + if (count > 0) { + redisHelperI.setRedis(key, count.toString()); + } + } + PageResult page = new PageResult(); + page.setList(list); + page.setTotalCount(count); + return IfishUtil.returnPageData(page, ResultEnum.success.getKey()); } catch (Exception e) { } return IfishUtil.toJson(ResultEnum.fail101.getKey(), ""); diff --git a/src/main/java/com/ifish/helper/PushMessageHelper.java b/src/main/java/com/ifish/helper/PushMessageHelper.java index c34797c..573c3d6 100644 --- a/src/main/java/com/ifish/helper/PushMessageHelper.java +++ b/src/main/java/com/ifish/helper/PushMessageHelper.java @@ -53,7 +53,7 @@ public class PushMessageHelper implements PushMessageHelperI { return IfishUtil.returnJson(ResultEnum.error401.getKey(), ""); } List list = tbl_Push_List_Mapper.getPushList(userId, pushType, pageSize, firstResult); - int count = tbl_Push_List_Mapper.getPushListCount(userId, pushType, pageSize, firstResult); + int count = tbl_Push_List_Mapper.getPushListCount(userId, pushType); PageResult page = new PageResult(); page.setList(list); page.setPageNo(firstResult); diff --git a/src/main/java/com/ifish/helper/RedisKeyHelper.java b/src/main/java/com/ifish/helper/RedisKeyHelper.java index fe0f452..f5a99f2 100644 --- a/src/main/java/com/ifish/helper/RedisKeyHelper.java +++ b/src/main/java/com/ifish/helper/RedisKeyHelper.java @@ -8,6 +8,7 @@ package com.ifish.helper; import com.ifish.bean.Tbl_Device; import com.ifish.bean.Tbl_Device_Statistics; import com.ifish.bean.Tbl_Device_User; +import com.ifish.bean.Tbl_Live_Message; import com.ifish.bean.Tbl_Live_Room; import com.ifish.bean.Tbl_User; import com.ifish.util.RedisKey; @@ -250,6 +251,17 @@ public class RedisKeyHelper implements RedisKeyHelperI { return RedisKey.LIVEMESSAGE_ROOMID + roomId + "_f_" + firstResult + "_p_" + pageSize; } + /** + * 获取直播间评论总数的redis缓存key键值 + * + * @param roomId + * @return + */ + @Override + public String getTbl_Live_MessageCount(Integer roomId) { + return RedisKey.LIVEMESSAGE_COUNT + roomId; + } + /** * 根据pushId获取Tbl_push_list的redis缓存key键值 * @@ -381,4 +393,15 @@ public class RedisKeyHelper implements RedisKeyHelperI { redisHelperI.deleteRedis(getTbl_Live_Room_CountRedisKey()); } + /** + * 删除redis中某个直播间评论列表缓存 + * + * @param tbl_Live_Message + */ + @Override + public void deleteRedisByTbl_Live_Message(Tbl_Live_Message tbl_Live_Message) { + redisHelperI.delRedisByTagKey(RedisKey.LIVEMESSAGE_ROOMID + tbl_Live_Message.getRoomId()); + redisHelperI.deleteRedis(RedisKey.LIVEMESSAGE_COUNT + tbl_Live_Message.getRoomId()); + } + } diff --git a/src/main/java/com/ifish/helper/RedisKeyHelperI.java b/src/main/java/com/ifish/helper/RedisKeyHelperI.java index 8a512c2..9c8bff4 100644 --- a/src/main/java/com/ifish/helper/RedisKeyHelperI.java +++ b/src/main/java/com/ifish/helper/RedisKeyHelperI.java @@ -8,6 +8,7 @@ package com.ifish.helper; import com.ifish.bean.Tbl_Device; import com.ifish.bean.Tbl_Device_Statistics; import com.ifish.bean.Tbl_Device_User; +import com.ifish.bean.Tbl_Live_Message; import com.ifish.bean.Tbl_Live_Room; import com.ifish.bean.Tbl_User; @@ -181,6 +182,14 @@ public interface RedisKeyHelperI { */ public String getTbl_Live_Message(Integer firstResult, Integer pageSize, Integer roomId); + /** + * 获取直播间评论总数的redis缓存key键值 + * + * @param roomId + * @return + */ + public String getTbl_Live_MessageCount(Integer roomId); + /** * 根据pushId获取Tbl_push_list的redis缓存key键值 * @@ -247,4 +256,11 @@ public interface RedisKeyHelperI { */ public void deleteRedisByLiveRoomListCount(); + /** + * 删除redis中某个直播间评论列表缓存 + * + * @param tbl_Live_Message + */ + public void deleteRedisByTbl_Live_Message(Tbl_Live_Message tbl_Live_Message); + } diff --git a/src/main/java/com/ifish/helper/UserHelper.java b/src/main/java/com/ifish/helper/UserHelper.java index 80bab22..471c926 100644 --- a/src/main/java/com/ifish/helper/UserHelper.java +++ b/src/main/java/com/ifish/helper/UserHelper.java @@ -15,9 +15,6 @@ import com.ifish.bean.Tbl_User; import com.ifish.bean.Tbl_Vender; import com.ifish.enums.GwellEnum; import com.ifish.enums.ResultEnum; -import com.ifish.enums.SendTypeEnum; -import com.ifish.enums.SmsSignEnum; -import com.ifish.enums.SmsTemplateEnum; import com.ifish.mapper.Tbl_User_Mapper; import com.ifish.util.IfishUtil; import java.util.ArrayList; @@ -305,6 +302,7 @@ public class UserHelper implements UserHelperI { user.setUserType("0"); user.setLoginType(loginType); user.setCreateTime(new Date()); + user.setUserImg("http://139.196.24.156:83/00/00/1.png"); int i = tbl_User_Mapper.insertUserByTourist(user); Map result = new HashMap(); if (i > 0 && user.getUserId() > 0) { diff --git a/src/main/java/com/ifish/mapper/Tbl_Live_Room_Mapper.java b/src/main/java/com/ifish/mapper/Tbl_Live_Room_Mapper.java index 42c4022..3654146 100644 --- a/src/main/java/com/ifish/mapper/Tbl_Live_Room_Mapper.java +++ b/src/main/java/com/ifish/mapper/Tbl_Live_Room_Mapper.java @@ -184,9 +184,18 @@ public interface Tbl_Live_Room_Mapper { + "from tbl_live_message l " + "LEFT JOIN tbl_user u ON l.user_id = u.user_id " + "LEFT JOIN tbl_user uu ON l.as_user_id=uu.user_id " - + "WHERE room_id = #{roomid} LIMIT ${first},${page} ") + + "WHERE room_id = #{roomid} ORDER BY l.create_time DESC LIMIT ${first},${page} ") List getLive_MessagesListByRoomId(@Param("roomid") Integer roomid, @Param("first") Integer firstResult, @Param("page") Integer pageSize); + /** + * 获取直播间评论总数 + * + * @param roomid + * @return + */ + @Select("select count(1) from tbl_live_message WHERE room_id = #{roomid}") + Integer getLive_MessagesCountByRoomId(@Param("roomid") Integer roomid); + /** * 根据直播间和用户ID获取观看记录 * diff --git a/src/main/java/com/ifish/mapper/Tbl_Push_List_Mapper.java b/src/main/java/com/ifish/mapper/Tbl_Push_List_Mapper.java index 588be4e..6e1360d 100644 --- a/src/main/java/com/ifish/mapper/Tbl_Push_List_Mapper.java +++ b/src/main/java/com/ifish/mapper/Tbl_Push_List_Mapper.java @@ -50,7 +50,7 @@ public interface Tbl_Push_List_Mapper { Integer deletePushListById(@Param("id") Integer pushId); /** - * 分页获取用户推送消息 + * 获取用户推送消息总数 * * @param userId * @param pushType @@ -58,8 +58,8 @@ public interface Tbl_Push_List_Mapper { * @param firstResult * @return */ - @Select("SELECT COUNT(1) FROM TBL_PUSH_LIST WHERE user_id = #{userid} AND push_type = #{pushtype} LIMIT ${first},${pagesize}") - Integer getPushListCount(@Param("userid") Integer userId, @Param("pushtype") String pushType, @Param("pagesize") Integer pageSize, @Param("first") Integer firstResult); + @SelectProvider(type = Tbl_Push_List_MapperSql.class, method = "getPushListCount") + Integer getPushListCount(@Param("userid") Integer userId, @Param("pushtype") String pushType); /** * 插入一条推送信息 diff --git a/src/main/java/com/ifish/mapper/Tbl_Push_List_MapperSql.java b/src/main/java/com/ifish/mapper/Tbl_Push_List_MapperSql.java index e4e8e5f..7a58097 100644 --- a/src/main/java/com/ifish/mapper/Tbl_Push_List_MapperSql.java +++ b/src/main/java/com/ifish/mapper/Tbl_Push_List_MapperSql.java @@ -27,4 +27,16 @@ public class Tbl_Push_List_MapperSql { return sb.toString(); } + public String getPushListCount(@Param("userid") Integer userId, @Param("pushtype") String pushType) { + StringBuilder sb = new StringBuilder(); + + sb.append("SELECT count(1) FROM TBL_PUSH_LIST WHERE "); + sb.append("user_id = #{userid} "); + if (StringUtils.isNotBlank(pushType)) { + sb.append("AND push_type = #{pushtype} "); + } + + return sb.toString(); + } + } diff --git a/src/main/java/com/ifish/util/RedisKey.java b/src/main/java/com/ifish/util/RedisKey.java index ddfef6e..28d103d 100644 --- a/src/main/java/com/ifish/util/RedisKey.java +++ b/src/main/java/com/ifish/util/RedisKey.java @@ -110,6 +110,11 @@ public class RedisKey { */ public static final String LIVEMESSAGE_ROOMID = "livemessageE:rid_"; + /** + * 指定直播间评论总数 + */ + public static final String LIVEMESSAGE_COUNT = "livemessageCtE:rid_"; + /** * 推送信息表缓存前缀,以推送Id进行存储 */