Commit 7412327c by lixiaozhong

聊天的action,需要透传自定义内容。支持。

parent f3f8e44a
package com.wecloud.dispatch.general.impl;
import cn.hutool.core.bean.copier.BeanCopier;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.wecloud.dispatch.ActionContext;
import com.wecloud.dispatch.extend.ActionRequest;
import com.wecloud.dispatch.extend.ArgumentBox;
import com.wecloud.dispatch.extend.MethodArgumentResolver;
import com.wecloud.utils.JsonUtils;
import org.springframework.core.MethodParameter;
import org.springframework.core.convert.support.DefaultConversionService;
import org.springframework.web.bind.annotation.RequestParam;
import java.lang.reflect.Array;
import java.lang.reflect.Modifier;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
......@@ -29,8 +23,6 @@ import java.util.Set;
*/
public class GeneralMethodArgumentResolver implements MethodArgumentResolver {
protected final DefaultConversionService conversionService = new DefaultConversionService();
Map<Class<?>, Boolean> canNotInstanceMap = new HashMap<>();
@Override
......@@ -51,7 +43,6 @@ public class GeneralMethodArgumentResolver implements MethodArgumentResolver {
// 获取属定义的名称
String name = null == define ? parameter.getParameterName() : define.value();
Type t = parameter.getGenericParameterType();
Class<?> clazz = parameter.getParameterType();
Object value = request.getData().get(name);
......
......@@ -186,7 +186,7 @@ public class NormalChatAction {
ImMessageOnlineSend imMessageOnlineSend = new ImMessageOnlineSend();
imMessageOnlineSend.setMsgId(imMessage.getId());
imMessageOnlineSend.setSender(imClientSender.getClientId());
Map<String, Object> content = JsonUtils.beanToMap(data);
Map<String, Object> content = JsonUtils.beanCopyDeep(data, Map.class);
//action的属性无需要返回
content.remove(BaseRequest.ACTION);
imMessageOnlineSend.setContent(content);
......
package com.wecloud.im.param;
import com.wecloud.dispatch.common.BaseRequest;
import com.wecloud.im.ws.model.request.PushVO;
import lombok.Data;
import com.wecloud.utils.JsonUtils;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Description TODO
* @Author lixiaozhong
* @Date 2022/1/26 6:11 下午
*/
@Data
public class ChatContentVo implements Serializable {
public class ChatContentVo extends BaseRequest {
PushVO push;
@NotNull
Long toConversation;
@NotNull
Integer type;
String text;
public PushVO getPush() {
return JsonUtils.beanCopyDeep(this.get("push"), PushVO.class);
}
public void setPush(PushVO push) {
this.push = push;
}
public Long getToConversation() {
return Long.valueOf(this.get("toConversation") + "");
}
public void setToConversation(Long toConversation) {
this.toConversation = toConversation;
}
public Integer getType() {
return Integer.valueOf(this.get("type") + "");
}
public void setType(Integer type) {
this.type = type;
}
public String getText() {
return this.get("type") + "";
}
public void setText(String text) {
this.text = text;
}
}
......@@ -165,7 +165,7 @@ public class ThousandChatAction {
ImMessageOnlineSend imMessageOnlineSend = new ImMessageOnlineSend();
imMessageOnlineSend.setMsgId(imMessage.getId());
imMessageOnlineSend.setSender(imClientSender.getClientId());
Map<String, Object> content = JsonUtils.beanToMap(data);
Map<String, Object> content = JsonUtils.beanCopyDeep(data, Map.class);
//action的属性无需要返回
content.remove(BaseRequest.ACTION);
imMessageOnlineSend.setContent(content);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment