This commit is contained in:
zhongzb
2023-05-13 23:35:07 +08:00
parent a01f6d85c2
commit b28d46dc10
6 changed files with 32 additions and 5 deletions

View File

@@ -2,6 +2,7 @@ package com.abin.mallchat.custom.chat.controller;
import com.abin.mallchat.common.common.annotation.FrequencyControl;
import com.abin.mallchat.common.common.annotation.FrequencyControlContainer;
import com.abin.mallchat.common.common.domain.vo.request.CursorPageBaseReq;
import com.abin.mallchat.common.common.domain.vo.response.ApiResult;
import com.abin.mallchat.common.common.domain.vo.response.CursorPageBaseResp;
@@ -68,14 +69,14 @@ public class ChatController {
@FrequencyControl(time = 60, count = 10, target = FrequencyControl.Target.UID)
public ApiResult<ChatMessageResp> sendMsg(@Valid @RequestBody ChatMessageReq request) {
Long msgId = chatService.sendMsg(request, RequestHolder.get().getUid());
//返回完整消息格式,方便前展示
//返回完整消息格式,方便前展示
return ApiResult.success(chatService.getMsgResp(msgId, RequestHolder.get().getUid()));
}
@PutMapping("/msg/mark")
@ApiOperation("消息标记")
@FrequencyControl(time = 20, count = 3, target = FrequencyControl.Target.UID)
public ApiResult<Void> setMsgMark(@Valid @RequestBody ChatMessageMarkReq request) {//分布式锁
public ApiResult<Void> setMsgMark(@Valid @RequestBody ChatMessageMarkReq request) {
chatService.setMsgMark(RequestHolder.get().getUid(), request);
return ApiResult.success();

View File

@@ -10,6 +10,7 @@ import com.abin.mallchat.common.chat.domain.dto.ChatMessageMarkDTO;
import com.abin.mallchat.common.chat.domain.entity.Message;
import com.abin.mallchat.common.chat.domain.entity.MessageMark;
import com.abin.mallchat.common.chat.domain.entity.Room;
import com.abin.mallchat.common.common.annotation.RedissonLock;
import com.abin.mallchat.common.common.domain.enums.YesOrNoEnum;
import com.abin.mallchat.common.common.domain.vo.request.CursorPageBaseReq;
import com.abin.mallchat.common.common.domain.vo.response.CursorPageBaseResp;
@@ -168,6 +169,7 @@ public class ChatServiceImpl implements ChatService {
}
@Override
@RedissonLock(key = "#uid")
public void setMsgMark(Long uid, ChatMessageMarkReq request) {
//用户对该消息的标记
MessageMark messageMark = messageMarkDao.get(uid, request.getMsgId(), request.getMarkType());