mirror of
https://github.com/zongzibinbin/MallChat.git
synced 2026-03-14 06:03:42 +08:00
新增表情包功能
This commit is contained in:
@@ -0,0 +1,29 @@
|
|||||||
|
package com.abin.mallchat.common.chat.domain.entity.msg;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description: 表情图片消息入参
|
||||||
|
* Author: <a href="https://github.com/zongzibinbin">abin</a>
|
||||||
|
* Date: 2023-06-04
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class EmojisMsgDTO implements Serializable {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ApiModelProperty("下载地址")
|
||||||
|
@NotBlank
|
||||||
|
private String url;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -36,4 +36,9 @@ public class MessageExtra implements Serializable {
|
|||||||
private SoundMsgDTO soundMsgDTO;
|
private SoundMsgDTO soundMsgDTO;
|
||||||
//文件消息
|
//文件消息
|
||||||
private VideoMsgDTO videoMsgDTO;
|
private VideoMsgDTO videoMsgDTO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 表情图片信息
|
||||||
|
*/
|
||||||
|
private EmojisMsgDTO emojisMsgDTO;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ public enum MessageTypeEnum {
|
|||||||
FILE(4, "文件"),
|
FILE(4, "文件"),
|
||||||
SOUND(5, "语音"),
|
SOUND(5, "语音"),
|
||||||
VIDEO(6, "视频"),
|
VIDEO(6, "视频"),
|
||||||
|
EMOJIS(7, "表情"),
|
||||||
;
|
;
|
||||||
|
|
||||||
private final Integer type;
|
private final Integer type;
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
package com.abin.mallchat.custom.chat.service.strategy.msg;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.abin.mallchat.common.chat.dao.MessageDao;
|
||||||
|
import com.abin.mallchat.common.chat.domain.entity.Message;
|
||||||
|
import com.abin.mallchat.common.chat.domain.entity.msg.EmojisMsgDTO;
|
||||||
|
import com.abin.mallchat.common.chat.domain.entity.msg.ImgMsgDTO;
|
||||||
|
import com.abin.mallchat.common.chat.domain.entity.msg.MessageExtra;
|
||||||
|
import com.abin.mallchat.common.chat.domain.enums.MessageTypeEnum;
|
||||||
|
import com.abin.mallchat.common.common.utils.AssertUtil;
|
||||||
|
import com.abin.mallchat.custom.chat.domain.vo.request.ChatMessageReq;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description:表情消息
|
||||||
|
* Author: <a href="https://github.com/zongzibinbin">abin</a>
|
||||||
|
* Date: 2023-06-04
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class EmojisMsgHandler extends AbstractMsgHandler {
|
||||||
|
@Autowired
|
||||||
|
private MessageDao messageDao;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
MessageTypeEnum getMsgTypeEnum() {
|
||||||
|
return MessageTypeEnum.EMOJIS;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void checkMsg(ChatMessageReq request, Long uid) {
|
||||||
|
EmojisMsgDTO body = BeanUtil.toBean(request.getBody(), EmojisMsgDTO.class);
|
||||||
|
AssertUtil.allCheckValidateThrow(body);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void saveMsg(Message msg, ChatMessageReq request) {
|
||||||
|
EmojisMsgDTO body = BeanUtil.toBean(request.getBody(), EmojisMsgDTO.class);
|
||||||
|
MessageExtra extra = Optional.ofNullable(msg.getExtra()).orElse(new MessageExtra());
|
||||||
|
Message update = new Message();
|
||||||
|
update.setId(msg.getId());
|
||||||
|
update.setExtra(extra);
|
||||||
|
extra.setEmojisMsgDTO(body);
|
||||||
|
messageDao.updateById(update);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object showMsg(Message msg) {
|
||||||
|
return msg.getExtra().getImgMsgDTO();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object showReplyMsg(Message msg) {
|
||||||
|
return "表情";
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user