---添加事件监听测试
This commit is contained in:
@ -0,0 +1,29 @@
|
||||
package com.pictc.listener;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class ListenerR<T> implements Serializable{
|
||||
|
||||
/**
|
||||
* @Fields {todo}(用一句话描述这个变量表示什么)
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private boolean success;
|
||||
|
||||
private T data;
|
||||
|
||||
public static <T>ListenerR<T> success(T data){
|
||||
return new ListenerR<T>().setData(data).setSuccess(true);
|
||||
}
|
||||
|
||||
public static <T>ListenerR<T> error(){
|
||||
return new ListenerR<T>();
|
||||
}
|
||||
|
||||
}
|
||||
@ -11,6 +11,8 @@ import org.springframework.http.RequestEntity;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.pictc.utils.CollectionUtils;
|
||||
import com.pictc.utils.ObjectUtils;
|
||||
|
||||
@ -26,17 +28,17 @@ public class PEventListenerPublisher {
|
||||
PEventListenerPublisher.rest = rest;
|
||||
}
|
||||
|
||||
public static boolean publish(Object source,Object data) {
|
||||
return publish(source, data, false);
|
||||
public static <T>ListenerR<T> publish(Object source,Object data,Class<T> responseType) {
|
||||
return publish(source, data,responseType,false);
|
||||
}
|
||||
|
||||
public static boolean publish(Object source,Object data,boolean single) {
|
||||
public static <T>ListenerR<T> publish(Object source,Object data,Class<T> responseType,boolean single) {
|
||||
ListenerParameterContext conetext = new ListenerParameterContext();
|
||||
conetext.setSource(TNacosManager.getAppName()+":"+source.getClass().getCanonicalName());
|
||||
conetext.setSource(TNacosManager.getAppName()+":"+source);
|
||||
conetext.setData(data);
|
||||
conetext.setSingle(single);
|
||||
Set<String> services = TNacosManager.getNotSelfServices();
|
||||
boolean flag = single?false:true;
|
||||
ListenerR<T> res = new ListenerR<T>();
|
||||
if(CollectionUtils.isNotEmpty(services)) {
|
||||
HttpHeaders headers = TNacosManager.createNewHeaders();
|
||||
byte[] bytes = ObjectUtils.toBytes(conetext);
|
||||
@ -45,10 +47,22 @@ public class PEventListenerPublisher {
|
||||
URI uri = TNacosManager.getServiceURI(serviceId);
|
||||
if(uri!=null) {
|
||||
RequestEntity<byte[]> request = new RequestEntity<byte[]>(bytes,headers,HttpMethod.POST,uri);
|
||||
ResponseEntity<Boolean> responseEntity = rest.exchange(request,boolean.class);
|
||||
if(single && responseEntity.hasBody() && responseEntity.getBody()) {
|
||||
return true;
|
||||
ResponseEntity<String> responseEntity = rest.exchange(request,String.class);
|
||||
if(responseEntity.hasBody()) {
|
||||
String json = responseEntity.getBody();
|
||||
JSONObject jsonData = JSON.parseObject(json);
|
||||
res.setSuccess(jsonData.getBooleanValue("success"));
|
||||
if(jsonData.containsKey("data")) {
|
||||
Object rdata = jsonData.get("data");
|
||||
if(rdata instanceof JSONObject) {
|
||||
res.setData(((JSONObject)rdata).toJavaObject(responseType));
|
||||
}else {
|
||||
res.setData(jsonData.getObject("data", responseType));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if(single) return res;
|
||||
}
|
||||
} catch (URISyntaxException e) {
|
||||
e.printStackTrace();
|
||||
@ -56,7 +70,7 @@ public class PEventListenerPublisher {
|
||||
}
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
return res;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,14 @@
|
||||
package com.pictc.utils;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class FlowDataUtils {
|
||||
|
||||
|
||||
public static <T>T parseData(String tblName,Map<String,Object> formData){
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -33,10 +33,8 @@ public class MybatisTools implements ApplicationContextAware {
|
||||
for (BaseMapper<?> mapper : mapperBeans.values()) {
|
||||
// 获取Mapper接口的Class对象(因为mapper是代理对象,需要获取原始接口)
|
||||
Class<?> mapperInterface = getMapperInterface(mapper.getClass());
|
||||
|
||||
// 解析Mapper接口对应的实体类
|
||||
Class<?> entityClass = resolveEntityClass(mapperInterface);
|
||||
|
||||
if (entityClass != null) {
|
||||
ENTITY_MAPPER_MAP.put(entityClass, mapper);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user