瀏覽代碼

add 即时消息扩展字段

18339543638 3 年之前
父節點
當前提交
348f376c61

+ 12 - 0
nb-im/src/main/java/com/nb/im/controller/ImRoomMsgController.java

@@ -1,7 +1,10 @@
 package com.nb.im.controller;
 
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.nb.core.result.R;
+import com.nb.im.controller.vo.MsgExtendVo;
 import com.nb.im.entity.ImMsgEntity;
 import com.nb.im.service.LocalImMsgService;
 import com.nb.im.service.dto.ImRoomMsgQuery;
@@ -35,4 +38,13 @@ public class ImRoomMsgController  {
                 .lambda()
                 .eq(ImMsgEntity::getRoomId,query.getRoomId())));
     }
+
+    @PostMapping("/edit")
+    @ApiOperation("修改消息扩展字段")
+    public R<Boolean> edit(@RequestBody@Validated MsgExtendVo vo){
+        return R.success(chatRoomMsgService.update(new UpdateWrapper<ImMsgEntity>()
+                .lambda()
+                .eq(ImMsgEntity::getId,vo.getId())
+                .set(ImMsgEntity::getExtend, JSONUtil.toJsonStr(vo.getExtend()))));
+    }
 }

+ 16 - 0
nb-im/src/main/java/com/nb/im/controller/vo/MsgExtendVo.java

@@ -0,0 +1,16 @@
+package com.nb.im.controller.vo;
+
+import lombok.Data;
+
+/**
+ * @author lifang
+ * @version 1.0.0
+ * @ClassName MsgExtentVo.java
+ * @Description TODO
+ * @createTime 2022年09月06日 08:14:00
+ */
+@Data
+public class MsgExtendVo {
+    private String id;
+    private Object extend;
+}

+ 2 - 0
nb-im/src/main/java/com/nb/im/entity/ImMsgEntity.java

@@ -3,6 +3,7 @@ package com.nb.im.entity;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
 import com.nb.app.msg.bean.MsgBean;
 import com.nb.app.msg.enums.MsgEnum;
 import com.nb.core.entity.GenericEntity;
@@ -65,6 +66,7 @@ public class ImMsgEntity extends GenericEntity<String> {
     private boolean sys;
 
     @ApiModelProperty("扩展字段,例:当消息类型为一键呼叫时,存放 boolean类型标识是否已处理;当消息类型为问题咨询详情时,存放 咨询问题id")
+    @TableField(typeHandler = JacksonTypeHandler.class)
     private Object extend;