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

增加 直播间同步点赞功能

hgw 3 лет назад
Родитель
Сommit
386d5de3b0

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/LiveRoomService.java

@@ -10,6 +10,9 @@ import com.yonge.cooleshow.biz.dal.vo.RoomVo;
 import java.util.List;
 import java.util.Map;
 
+import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.LIVE_ROOM_LIKE;
+import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.ROOM_UID;
+
 /**
  * 直播房间与课程的关系表表(LiveRoom)表服务接口
  *
@@ -43,6 +46,14 @@ public interface LiveRoomService extends IService<LiveRoom> {
     String createTempLiveRoom(Map<String, Object> param);
 
     /**
+     * 同步点赞数量
+     *
+     * @param roomUid 房间uid
+     * @param likeNum 点赞数
+     */
+    void syncLike(String roomUid, Integer likeNum);
+
+    /**
      * 进入房间
      *
      * @param roomUid 房间uid

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/LiveRoomServiceImpl.java

@@ -326,6 +326,17 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
     }
 
     /**
+     * 同步点赞数量
+     *
+     * @param roomUid 房间uid
+     * @param likeNum 点赞数
+     */
+    @Override
+    public void syncLike(String roomUid, Integer likeNum) {
+        redissonClient.getBucket(LIVE_ROOM_LIKE.replace(ROOM_UID, roomUid)).set(likeNum);
+    }
+
+    /**
      * 进入房间
      *
      * @param roomUid 房间uid

+ 9 - 4
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/LiveRoomController.java

@@ -8,10 +8,7 @@ import com.yonge.cooleshow.biz.dal.service.LiveRoomService;
 import com.yonge.cooleshow.biz.dal.vo.RoomVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.web.bind.annotation.*;
@@ -57,6 +54,14 @@ public class LiveRoomController extends BaseController {
         return succeed(liveRoomService.createTempLiveRoom(param));
     }
 
+    @ApiOperation("同步点赞数量")
+    @GetMapping("/syncLike")
+    public HttpResponseResult<Object> syncLike(@ApiParam(value = "房间uid", required = true) String roomUid,
+                                       @ApiParam(value = "点赞数", required = true) Integer likeNum) {
+        liveRoomService.syncLike(roomUid, likeNum);
+        return succeed();
+    }
+
     @ApiOperation("进入房间")
     @GetMapping(value = "/joinRoom")
     public HttpResponseResult<RoomInfoCache> joinRoom(String roomUid, Long userId) {