فهرست منبع

Merge remote-tracking branch 'origin/dev_20230222_live' into dev_20230222_live

Eric 2 سال پیش
والد
کامیت
16ea089b71

+ 14 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveBroadcastRoomServiceImpl.java

@@ -2589,15 +2589,11 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
     @Override
     @Transactional
     public int syncLikeCount(String roomUid) {
-        ImLiveBroadcastRoom room = getById(roomUid);
+        ImLiveBroadcastRoomVo room = getImLiveBroadcastRoomVo(roomUid);
         if (room == null) {
             return 0;
         }
-        ImLiveBroadcastRoomDetailVo imLiveBroadcastRoomDetailVo = liveBroadcastRoomDataService.getDao()
-                                                                                              .queryByRoomUid(roomUid);
-        if (imLiveBroadcastRoomDetailVo == null) {
-            return 0;
-        }
+
         if (room.getServiceProvider().equals(RongCloudLivePlugin.PLUGIN_NAME)) {
             //点赞数
             Object like = redissonClient.getBucket(LIVE_ROOM_LIKE.replace(ROOM_UID, roomUid)).get();
@@ -2625,8 +2621,18 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
 
         if (first.isPresent()) {
             int i = Integer.parseInt(first.get().getValue());
-            imLiveBroadcastRoomDetailVo.setTotalLikeNum(i);
-            updateById(room);
+
+            ImLiveBroadcastRoomData one = liveBroadcastRoomDataService.lambdaQuery()
+                                                                      .eq(ImLiveBroadcastRoomData::getRoomUid, roomUid)
+                                                                      .last("limit 1")
+                                                                      .one();
+            if (one != null) {
+                ImLiveBroadcastRoomData imLiveBroadcastRoomData = new ImLiveBroadcastRoomData();
+                imLiveBroadcastRoomData.setId(one.getId());
+                imLiveBroadcastRoomData.setLikeNum(i);
+                liveBroadcastRoomDataService.updateById(imLiveBroadcastRoomData);
+            }
+
             return i;
         }
         return 0;

+ 9 - 0
mec-im/src/main/java/com/ym/controller/UserController.java

@@ -81,6 +81,15 @@ public class UserController {
         return succeed();
     }
 
+
+
+    @PostMapping(value = "/syncLikeCount")
+    public Object syncLikeCount(String roomUid) {
+        log.info("statusImUser >>>>> : {}", JSONObject.toJSONString(roomUid));
+        imLiveBroadcastRoomService.syncLikeCount(roomUid);
+        return succeed();
+    }
+
     @ApiOperation("腾讯im 回调接口")
     @PostMapping(value = "/tencentImCallback")
     public TencentImCallbackResult tencentImCallback(@RequestBody String body, HttpServletRequest request) {