Просмотр исходного кода

我的点赞 点赞作品排序

qinxuyang 2 дней назад
Родитель
Сommit
3d67e37ea0

+ 8 - 5
alien-entity/src/main/java/shop/alien/mapper/LifeUserDynamicsMapper.java

@@ -53,15 +53,17 @@ public interface LifeUserDynamicsMapper extends BaseMapper<LifeUserDynamics> {
     List<LifeUserDynamicsVo> getStoreDynamicslistWithWrapper(@Param("userId") String userId, @Param(Constants.WRAPPER) QueryWrapper<LifeUserDynamics> dynamicsWrapper);
 
     @Select("with middle_lud as (\n" +
-            "  select distinct  \n" +
+            "  select \n" +
             "    lud.*,\n" +
-            "    '1' as isLike  \n" +
+            "    '1' as isLike,\n" +
+            "    llr_sub.like_created_time\n" +
             "  from life_user_dynamics lud\n" +
             "  inner join (\n" +
-            "    select distinct huifu_id  \n" +
+            "    select huifu_id, max(created_time) as like_created_time\n" +
             "    from life_like_record llr\n" +
             "    where llr.dianzan_id = #{phoneId}\n" +
             "      and llr.delete_flag = 0\n" +
+            "    group by huifu_id\n" +
             "  ) llr_sub on lud.id = llr_sub.huifu_id\n" +
             "  where lud.delete_flag = 0\n" +
             "    and not exists (  -- 替代NOT IN,避免NULL问题\n" +
@@ -83,10 +85,11 @@ public interface LifeUserDynamicsMapper extends BaseMapper<LifeUserDynamics> {
             "from middle_lud\n" +
             "left join life_fans lf on lf.fans_id = #{phoneId} \n" +
             "                      and lf.followed_id = middle_lud.phone_id\n" +
-            "                      and lf.delete_flag = '0'" +
+            "                      and lf.delete_flag = '0'\n" +
             "left join life_fans lf1 on lf1.fans_id = middle_lud.phone_id \n" +
             "                      and lf1.followed_id = #{phoneId}\n" +
-            "                      and lf1.delete_flag = '0'")
+            "                      and lf1.delete_flag = '0'\n" +
+            "order by middle_lud.like_created_time desc")
     List<LifeUserDynamicsVo> selectDianZanList(String phoneId);
 
     List<LifeUserDynamicsVo> getDynamicsList(@Param("nickName") String nickName, @Param("userType") String userType, @Param("dynamicsType") Integer dynamicsType, @Param("releaseStartTime") String releaseStartTime, @Param("releaseEndTime") String releaseEndTime, @Param("storeName") String storeName);