提交推送任务

This commit is contained in:
Guava
2023-06-26 10:58:53 +08:00
parent e5d85e9c75
commit c146a89ae0
2 changed files with 83 additions and 8 deletions

View File

@@ -0,0 +1,82 @@
package com.xboe.stat;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.xboe.core.SysConstant;
import com.xboe.core.api.TokenProxy;
import com.xboe.core.event.IEventDataSender;
import com.xboe.core.utils.OkHttpUtil;
import com.xboe.standard.BaseConstant;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
/**
* 事件数据发送实现,如果是云环境,只需要修改此类的实现就可以了
* @author seastar
*
*/
@Slf4j
@Component
public class EventDataSender implements IEventDataSender{
@Autowired
private OkHttpUtil okHttpUtil;
@Autowired
private HttpServletRequest request;
@Override
public void send(String title, String eventKey, String content, String objId, String objType, String objInfo,
String aid, String aname,String parameters) {
String statBaseUrl=SysConstant.getConfigValue("xboe.stat.base.url");
if(StringUtils.isBlank(statBaseUrl)) {
log.error("发送事件失败:未配置【xboe.stat.base.url】的值");
return;
}
String urlPre="/xboe/m/stat/event/send";
//案例同步不需要token
if(eventKey.equals("SyncCase")) {
urlPre ="/inner/stat/event/send";
}
final String url = statBaseUrl + urlPre;
Map<String, String> params = new HashMap<>();
params.put("title", title);
params.put("source", "all");
params.put("content", content);
params.put("objId", objId);
params.put("key", eventKey);
params.put("objType", objType);
params.put("objInfo", objInfo);
params.put("aid", aid);
params.put("aname", aname);
params.put("parameters",parameters);
String token = TokenProxy.getToken(request);
//最后采用异常发送,不影响当前进程
new Thread(()->{
try {
ObjectMapper mapper=new ObjectMapper();
String json =mapper.writeValueAsString(params);
//String[] headers=new String[] {"token",token};
String[] headers=new String[] {BaseConstant.HTTP_ACCESS_TOKEN,token};
String responseStr = okHttpUtil.doPostJson(url, json,headers);
if(responseStr.indexOf("\"status\":200")==-1) {
log.error("发送事件失败:"+responseStr);
log.info("【发送的token】"+headers[0]+" "+headers[1]);
}
}catch(Exception e) {
log.error("发送事件错误",e);
}
}).start();
}
}

View File

@@ -3,7 +3,6 @@ spring.redis.database=2
spring.redis.host=124.70.92.162 spring.redis.host=124.70.92.162
spring.redis.password=qwert!W577 spring.redis.password=qwert!W577
spring.redis.port=6379 spring.redis.port=6379
## datasource config ## datasource config
spring.datasource.driverClassName=com.mysql.jdbc.Driver spring.datasource.driverClassName=com.mysql.jdbc.Driver
# spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver # spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
@@ -11,27 +10,21 @@ spring.datasource.url=jdbc:mysql://124.70.92.162:3306/boe_base?useSSL=false&useU
spring.datasource.username=boe_base spring.datasource.username=boe_base
spring.datasource.password=k3DbtrcCkKAcFYzd spring.datasource.password=k3DbtrcCkKAcFYzd
spring.jpa.hibernate.ddl-auto=none spring.jpa.hibernate.ddl-auto=none
# logging.level.org.hibernate.SQL=DEBUG # logging.level.org.hibernate.SQL=DEBUG
# logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE # logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
# 设置logback.xml位置 # 设置logback.xml位置
logging.config=classpath:log/logback-dev.xml logging.config=classpath:log/logback-dev.xml
## 静态文件目录默认是在static下面以后独立到nginx下面配置 ## 静态文件目录默认是在static下面以后独立到nginx下面配置
spring.web.resources.static-locations=file:E:/Projects/BOE/java/static spring.web.resources.static-locations=file:E:/Projects/BOE/java/static
## xboe config ## xboe config
xboe.api.cross_filter=true xboe.api.cross_filter=true
## 上传相磁的路径配置 ## 上传相磁的路径配置
xboe.upload.file.temp_path=E:/Projects/BOE/java/static/temp xboe.upload.file.temp_path=E:/Projects/BOE/java/static/temp
xboe.upload.file.save_path=E:/Projects/BOE/java/static/upload xboe.upload.file.save_path=E:/Projects/BOE/java/static/upload
xboe.upload.file.http_path=http://localhost:9090/cdn/upload xboe.upload.file.http_path=http://localhost:9090/cdn/upload
## 外部接口调用地址 旧系统机构及用户数据接口 ## 外部接口调用地址 旧系统机构及用户数据接口
xboe.externalinterface.url.system=http://localhost:9091 xboe.externalinterface.url.system=http://localhost:9091
xboe.stat.base.url=http://127.0.0.1:9080
#加密盐 #加密盐
#jasypt.encryptor.password=jasypt #jasypt.encryptor.password=jasypt
jasypt.encryptor.algorithm=PBEWithMD5AndDES jasypt.encryptor.algorithm=PBEWithMD5AndDES