操作日志逻辑及结构实现调整
This commit is contained in:
@@ -0,0 +1,69 @@
|
|||||||
|
package com.gzzn.omms.adminapi.config;
|
||||||
|
|
||||||
|
import java.net.InetAddress;
|
||||||
|
|
||||||
|
import org.elasticsearch.client.transport.TransportClient;
|
||||||
|
import org.elasticsearch.common.settings.Settings;
|
||||||
|
import org.elasticsearch.common.transport.TransportAddress;
|
||||||
|
import org.elasticsearch.transport.client.PreBuiltTransportClient;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class ElasticsearchConfig {
|
||||||
|
|
||||||
|
private static final Logger LOGGER = LoggerFactory.getLogger(ElasticsearchConfig.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* elk集群地址
|
||||||
|
*/
|
||||||
|
@Value("${elasticsearch.ip}")
|
||||||
|
private String hostName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 端口
|
||||||
|
*/
|
||||||
|
@Value("${elasticsearch.port}")
|
||||||
|
private String port;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 集群名称
|
||||||
|
*/
|
||||||
|
@Value("${elasticsearch.cluster.name}")
|
||||||
|
private String clusterName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 连接池
|
||||||
|
*/
|
||||||
|
@Value("${elasticsearch.pool}")
|
||||||
|
private String poolSize;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bean name default 函数名字
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Bean(name = "transportClient")
|
||||||
|
public TransportClient transportClient() {
|
||||||
|
LOGGER.info("Elasticsearch初始化开始。。。。。");
|
||||||
|
TransportClient transportClient = null;
|
||||||
|
try {
|
||||||
|
// 配置信息
|
||||||
|
Settings esSetting = Settings.builder()
|
||||||
|
.put("cluster.name", clusterName) // 集群名字
|
||||||
|
// .put("client.transport.sniff", true)// 增加嗅探机制,找到ES集群 只有在存在集群是才能开启嗅探
|
||||||
|
.put("thread_pool.search.size", Integer.parseInt(poolSize))// 增加线程池个数,暂时设为5
|
||||||
|
.build();
|
||||||
|
// 配置信息Settings自定义
|
||||||
|
transportClient = new PreBuiltTransportClient(esSetting);
|
||||||
|
TransportAddress transportAddress = new TransportAddress(InetAddress.getByName(hostName), Integer.valueOf(port));
|
||||||
|
transportClient.addTransportAddresses(transportAddress);
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOGGER.error("elasticsearch TransportClient create error!!", e);
|
||||||
|
}
|
||||||
|
return transportClient;
|
||||||
|
}
|
||||||
|
}
|
||||||
+24
-11
@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiImplicitParam;
|
|||||||
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiImplicitParams;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
|
||||||
|
import java.net.InetSocketAddress;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -25,6 +26,7 @@ import com.gzzn.omms.adminapi.domain.primary.entity.settings.Uisettings;
|
|||||||
import com.gzzn.omms.adminapi.dto.ResponseDto;
|
import com.gzzn.omms.adminapi.dto.ResponseDto;
|
||||||
import com.gzzn.omms.adminapi.dto.settings.UisettingsDto;
|
import com.gzzn.omms.adminapi.dto.settings.UisettingsDto;
|
||||||
import com.gzzn.omms.adminapi.dto.settings.convert.UisettingsConvert;
|
import com.gzzn.omms.adminapi.dto.settings.convert.UisettingsConvert;
|
||||||
|
import com.gzzn.omms.adminapi.enums.CommCode;
|
||||||
import com.gzzn.omms.adminapi.service.IUserService;
|
import com.gzzn.omms.adminapi.service.IUserService;
|
||||||
import com.gzzn.omms.adminapi.utils.CommonUtils;
|
import com.gzzn.omms.adminapi.utils.CommonUtils;
|
||||||
import com.gzzn.omms.adminapi.utils.ElasticsearchUtil;
|
import com.gzzn.omms.adminapi.utils.ElasticsearchUtil;
|
||||||
@@ -35,13 +37,13 @@ public class UISettingsController {
|
|||||||
|
|
||||||
private final Logger logger = LoggerFactory.getLogger(UISettingsController.class);
|
private final Logger logger = LoggerFactory.getLogger(UISettingsController.class);
|
||||||
/**
|
/**
|
||||||
* 测试索引
|
* 操作日志索引
|
||||||
*/
|
*/
|
||||||
private final String INDEX_NAME = "oplog";
|
private final String INDEX_NAME = "oplog";
|
||||||
/**
|
/**
|
||||||
* 类型
|
* 操作日志类型
|
||||||
*/
|
*/
|
||||||
private String ES_TYPE = "oplog";
|
private final String OPLOG_ES_TYPE = "_doc";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* UI设置接口
|
* UI设置接口
|
||||||
@@ -109,13 +111,20 @@ public class UISettingsController {
|
|||||||
Uisettings uisettings = uisettingsConvert.uisettingsDtoToUisettings(uisettingsDto);
|
Uisettings uisettings = uisettingsConvert.uisettingsDtoToUisettings(uisettingsDto);
|
||||||
|
|
||||||
Uisettings oldUisettings = null;
|
Uisettings oldUisettings = null;
|
||||||
if(StringUtils.isEmpty(uisettings.getId()))
|
Byte optType = CommCode.LOG_OPT_TYPE_ADD;
|
||||||
|
String oldData = "无";
|
||||||
|
if(!StringUtils.isEmpty(uisettings.getId())){
|
||||||
|
oldUisettings = uisettingsDao.findById(uisettings.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
if(null==oldUisettings)
|
||||||
{
|
{
|
||||||
uisettings.setId(CommonUtils.getUUID32()); //uuid自动生成
|
uisettings.setId(CommonUtils.getUUID32()); //uuid自动生成
|
||||||
}else{
|
}else{
|
||||||
oldUisettings = uisettingsDao.findByUserid(uisettings.getId());
|
oldData = JsonUtil.getString(oldUisettings);
|
||||||
|
optType = CommCode.LOG_OPT_TYPE_UPDATE;
|
||||||
}
|
}
|
||||||
|
uisettings.setUserid(userService.getCurrentUserId());
|
||||||
uisettings = uisettingsDao.save(uisettings);
|
uisettings = uisettingsDao.save(uisettings);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -123,16 +132,20 @@ public class UISettingsController {
|
|||||||
ElasticsearchUtil.createIndex(INDEX_NAME);
|
ElasticsearchUtil.createIndex(INDEX_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
UserOptLog oplog = new UserOptLog(null, "更新或者新增用户设置", userService.getCurrentUserId(),userService.getCurrentUserName(),
|
InetSocketAddress remoteAddress = userService.getUserRemoteAddress();
|
||||||
userService.getCurrentUserRealName(), userService.getUserRemoteAddress().getHostString(),
|
UserOptLog oplog = new UserOptLog(userService.getCurrentUserId(),userService.getCurrentUserName(),
|
||||||
this.getClass().getMethod("saveUISettings", UisettingsDto.class).getAnnotation(ApiOperation.class).value());
|
userService.getCurrentUserRealName(), null==remoteAddress?"未知":userService.getUserRemoteAddress().getHostString(),
|
||||||
|
System.currentTimeMillis());
|
||||||
|
oplog.setOpt_type(optType);
|
||||||
|
oplog.setLog_type(CommCode.LOG_TYPE_UISETTING);
|
||||||
|
oplog.setSummary("保存用户{"+userService.getCurrentUserName()+"}的UI设置");
|
||||||
//设置日志类容 jsonarry 历史及最新的
|
//设置日志类容 jsonarry 历史及最新的
|
||||||
JSONObject log_content = new JSONObject();
|
JSONObject log_content = new JSONObject();
|
||||||
log_content.put("newData", JsonUtil.getString(uisettings));
|
log_content.put("newData", JsonUtil.getString(uisettings));
|
||||||
log_content.put("oldData", null==oldUisettings?"无":JsonUtil.getString(oldUisettings));
|
log_content.put("oldData", oldData);
|
||||||
oplog.setLog_content(log_content.toString());
|
oplog.setLog_content(log_content.toString());
|
||||||
JSONObject logJson = JSONObject.parseObject(JsonUtil.getString(oplog));
|
JSONObject logJson = JSONObject.parseObject(JsonUtil.getString(oplog));
|
||||||
String id = ElasticsearchUtil.addData(logJson, INDEX_NAME, ES_TYPE);
|
String id = ElasticsearchUtil.addData(logJson, INDEX_NAME, OPLOG_ES_TYPE);
|
||||||
logger.info("保存用户设置UI操作日志至Elatsticsearch成功:id="+id);
|
logger.info("保存用户设置UI操作日志至Elatsticsearch成功:id="+id);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("保存用户设置UI操作日志至Elatsticsearch异常:", e);
|
logger.error("保存用户设置UI操作日志至Elatsticsearch异常:", e);
|
||||||
|
|||||||
@@ -9,28 +9,27 @@ import lombok.ToString;
|
|||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class UserOptLog {
|
public class UserOptLog {
|
||||||
|
|
||||||
private String id;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 标题
|
|
||||||
*/
|
|
||||||
private String title;
|
|
||||||
/**
|
/**
|
||||||
* 应用名
|
* 应用名
|
||||||
*/
|
*/
|
||||||
private String app_name = "adminapi";
|
private String app_name = "cdairport";
|
||||||
/**
|
/**
|
||||||
* 模块名
|
* 模块名
|
||||||
*/
|
*/
|
||||||
private String model_name;
|
private String model_name = "adminapi";
|
||||||
/**
|
/**
|
||||||
* 日志详情
|
* 日志详情
|
||||||
*/
|
*/
|
||||||
private String log_content;
|
private String log_content;
|
||||||
/**
|
/**
|
||||||
* 操作日志类别 固定为oplog
|
* 业务类型 1:登录 2:退出 3:修改用户设置
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
private String log_type = "oplog";
|
private Byte log_type;
|
||||||
|
/**
|
||||||
|
* 操作类别 0:新增 1:修改 2:删除
|
||||||
|
*/
|
||||||
|
private Byte opt_type;
|
||||||
/**
|
/**
|
||||||
* 操作用户id
|
* 操作用户id
|
||||||
*/
|
*/
|
||||||
@@ -52,103 +51,126 @@ public class UserOptLog {
|
|||||||
*/
|
*/
|
||||||
private String summary;
|
private String summary;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 操作时间(时间戳-毫秒)
|
||||||
|
*/
|
||||||
|
private Long log_datetime;
|
||||||
|
|
||||||
public UserOptLog() {
|
public UserOptLog() {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param title 标题
|
|
||||||
* @param model_name 模块名
|
|
||||||
* @param user_id 操作用户id
|
* @param user_id 操作用户id
|
||||||
* @param user_name 操作用户登录名
|
* @param user_name 操作用户登录名
|
||||||
* @param real_name 操作用户真实姓名
|
* @param real_name 操作用户真实姓名
|
||||||
* @param login_ip 用户登录IP
|
* @param login_ip 用户登录IP
|
||||||
* @param summary 操作描述
|
* @param log_datetime 操作时间(时间戳-毫秒)
|
||||||
*/
|
*/
|
||||||
public UserOptLog(String title, String model_name, String user_id,
|
public UserOptLog(String user_id, String user_name, String real_name,
|
||||||
String user_name, String real_name, String login_ip, String summary) {
|
String login_ip, Long log_datetime) {
|
||||||
super();
|
super();
|
||||||
this.title = title;
|
|
||||||
this.model_name = model_name;
|
|
||||||
this.user_id = user_id;
|
this.user_id = user_id;
|
||||||
this.user_name = user_name;
|
this.user_name = user_name;
|
||||||
this.real_name = real_name;
|
this.real_name = real_name;
|
||||||
this.login_ip = login_ip;
|
this.login_ip = login_ip;
|
||||||
this.summary = summary;
|
this.log_datetime = log_datetime;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "UserOptLog [id=" + id + ", title=" + title + ", app_name="
|
return "UserOptLog [app_name=" + app_name + ", model_name="
|
||||||
+ app_name + ", model_name=" + model_name + ", log_content="
|
+ model_name + ", log_content=" + log_content + ", log_type="
|
||||||
+ log_content + ", log_type=" + log_type + ", user_id="
|
+ log_type + ", opt_type=" + opt_type + ", user_id=" + user_id
|
||||||
+ user_id + ", user_name=" + user_name + ", real_name="
|
+ ", user_name=" + user_name + ", real_name=" + real_name
|
||||||
+ real_name + ", login_ip=" + login_ip + ", summary=" + summary
|
+ ", login_ip=" + login_ip + ", summary=" + summary + "]";
|
||||||
+ "]";
|
|
||||||
}
|
|
||||||
public String getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
public void setId(String id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
public String getTitle() {
|
|
||||||
return title;
|
|
||||||
}
|
|
||||||
public void setTitle(String title) {
|
|
||||||
this.title = title;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getApp_name() {
|
public String getApp_name() {
|
||||||
return app_name;
|
return app_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setApp_name(String app_name) {
|
public void setApp_name(String app_name) {
|
||||||
this.app_name = app_name;
|
this.app_name = app_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getModel_name() {
|
public String getModel_name() {
|
||||||
return model_name;
|
return model_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setModel_name(String model_name) {
|
public void setModel_name(String model_name) {
|
||||||
this.model_name = model_name;
|
this.model_name = model_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getLog_content() {
|
public String getLog_content() {
|
||||||
return log_content;
|
return log_content;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLog_content(String log_content) {
|
public void setLog_content(String log_content) {
|
||||||
this.log_content = log_content;
|
this.log_content = log_content;
|
||||||
}
|
}
|
||||||
public String getLog_type() {
|
|
||||||
|
public Byte getLog_type() {
|
||||||
return log_type;
|
return log_type;
|
||||||
}
|
}
|
||||||
public void setLog_type(String log_type) {
|
|
||||||
|
public void setLog_type(Byte log_type) {
|
||||||
this.log_type = log_type;
|
this.log_type = log_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Byte getOpt_type() {
|
||||||
|
return opt_type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOpt_type(Byte opt_type) {
|
||||||
|
this.opt_type = opt_type;
|
||||||
|
}
|
||||||
|
|
||||||
public String getUser_id() {
|
public String getUser_id() {
|
||||||
return user_id;
|
return user_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setUser_id(String user_id) {
|
public void setUser_id(String user_id) {
|
||||||
this.user_id = user_id;
|
this.user_id = user_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getUser_name() {
|
public String getUser_name() {
|
||||||
return user_name;
|
return user_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setUser_name(String user_name) {
|
public void setUser_name(String user_name) {
|
||||||
this.user_name = user_name;
|
this.user_name = user_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getReal_name() {
|
public String getReal_name() {
|
||||||
return real_name;
|
return real_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setReal_name(String real_name) {
|
public void setReal_name(String real_name) {
|
||||||
this.real_name = real_name;
|
this.real_name = real_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getLogin_ip() {
|
public String getLogin_ip() {
|
||||||
return login_ip;
|
return login_ip;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLogin_ip(String login_ip) {
|
public void setLogin_ip(String login_ip) {
|
||||||
this.login_ip = login_ip;
|
this.login_ip = login_ip;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSummary() {
|
public String getSummary() {
|
||||||
return summary;
|
return summary;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSummary(String summary) {
|
public void setSummary(String summary) {
|
||||||
this.summary = summary;
|
this.summary = summary;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Long getLog_datetime() {
|
||||||
|
return log_datetime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLog_datetime(Long log_datetime) {
|
||||||
|
this.log_datetime = log_datetime;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,5 +20,5 @@ public interface UisettingsDao extends CrudRepository<Uisettings,String>{
|
|||||||
//保存
|
//保存
|
||||||
Uisettings save(Uisettings uisettings);
|
Uisettings save(Uisettings uisettings);
|
||||||
|
|
||||||
Uisettings findByUserid(String userid);
|
Uisettings findById(String id);
|
||||||
}
|
}
|
||||||
@@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty;
|
|||||||
@ApiModel(value="UisettingsDto",description="UI设置Dto")
|
@ApiModel(value="UisettingsDto",description="UI设置Dto")
|
||||||
public class UisettingsDto {
|
public class UisettingsDto {
|
||||||
|
|
||||||
|
@ApiModelProperty(value="UI的主键id:存在则进行修改 否则 进行新增",example="1")
|
||||||
|
private String id;
|
||||||
@ApiModelProperty(value="用户id",example="1")
|
@ApiModelProperty(value="用户id",example="1")
|
||||||
private String userid;
|
private String userid;
|
||||||
|
|
||||||
@@ -51,5 +53,13 @@ public class UisettingsDto {
|
|||||||
this.userid = userid;
|
this.userid = userid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package com.gzzn.omms.adminapi.enums;
|
||||||
|
|
||||||
|
public class CommCode {
|
||||||
|
/**
|
||||||
|
* 操作日志类别 新建
|
||||||
|
*/
|
||||||
|
public static final Byte LOG_OPT_TYPE_ADD = 0;
|
||||||
|
/**
|
||||||
|
* 操作日志类别 修改
|
||||||
|
*/
|
||||||
|
public static final Byte LOG_OPT_TYPE_UPDATE = 1;
|
||||||
|
/**
|
||||||
|
* 操作日志类别 删除
|
||||||
|
*/
|
||||||
|
public static final Byte LOG_OPT_TYPE_DELETE = 2;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日志类别 登录
|
||||||
|
*/
|
||||||
|
public static final Byte LOG_TYPE_LOGIN = 1;
|
||||||
|
/**
|
||||||
|
* 日志类别 登出
|
||||||
|
*/
|
||||||
|
public static final Byte LOG_TYPE_LOGOUT = 2;
|
||||||
|
/**
|
||||||
|
* 日志类别 修改用户设置
|
||||||
|
*/
|
||||||
|
public static final Byte LOG_TYPE_UISETTING = 3;
|
||||||
|
}
|
||||||
@@ -45,20 +45,14 @@ public class ExceptionAspect {
|
|||||||
MDC.clear();
|
MDC.clear();
|
||||||
MDC.put("request_id", getRequestId(request));
|
MDC.put("request_id", getRequestId(request));
|
||||||
|
|
||||||
//url
|
logger.info("request={url={},method={},content_type={},body={},params={},remoteip={}}",
|
||||||
try {
|
request.getRequestURL(),
|
||||||
logger.info("request={url={},method={},content_type={},body={},params={},remoteip={}}",
|
request.getMethod(),
|
||||||
request.getRequestURL(),
|
request.getContentType(),
|
||||||
request.getMethod(),
|
JsonUtil.getString(joinPoint.getArgs()),
|
||||||
request.getContentType(),
|
getRequestParams(wrapperRequest),
|
||||||
JsonUtil.getString(joinPoint.getArgs()),
|
request.getRemoteAddr()
|
||||||
getRequestParams(wrapperRequest),
|
);
|
||||||
request.getRemoteAddr()
|
|
||||||
);
|
|
||||||
} catch (JsonProcessingException e) {
|
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
package com.gzzn.omms.adminapi.utils;
|
package com.gzzn.omms.adminapi.utils;
|
||||||
|
|
||||||
import java.net.InetAddress;
|
|
||||||
import java.net.UnknownHostException;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -21,17 +19,14 @@ import org.elasticsearch.action.search.SearchResponse;
|
|||||||
import org.elasticsearch.action.search.SearchType;
|
import org.elasticsearch.action.search.SearchType;
|
||||||
import org.elasticsearch.action.update.UpdateRequest;
|
import org.elasticsearch.action.update.UpdateRequest;
|
||||||
import org.elasticsearch.client.transport.TransportClient;
|
import org.elasticsearch.client.transport.TransportClient;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
|
||||||
import org.elasticsearch.common.text.Text;
|
import org.elasticsearch.common.text.Text;
|
||||||
import org.elasticsearch.common.transport.TransportAddress;
|
|
||||||
import org.elasticsearch.index.query.QueryBuilder;
|
import org.elasticsearch.index.query.QueryBuilder;
|
||||||
import org.elasticsearch.search.SearchHit;
|
import org.elasticsearch.search.SearchHit;
|
||||||
import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder;
|
import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder;
|
||||||
import org.elasticsearch.search.sort.SortOrder;
|
import org.elasticsearch.search.sort.SortOrder;
|
||||||
import org.elasticsearch.transport.client.PreBuiltTransportClient;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
@@ -43,47 +38,16 @@ public class ElasticsearchUtil {
|
|||||||
|
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(ElasticsearchUtil.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(ElasticsearchUtil.class);
|
||||||
|
|
||||||
/**
|
@Autowired
|
||||||
* elk集群地址
|
private TransportClient transportClient;
|
||||||
*/
|
|
||||||
@Value("${elasticsearch.ip}")
|
|
||||||
private String hostName;
|
|
||||||
/**
|
|
||||||
* 端口
|
|
||||||
*/
|
|
||||||
@Value("${elasticsearch.port}")
|
|
||||||
private String port;
|
|
||||||
/**
|
|
||||||
* 集群名称
|
|
||||||
*/
|
|
||||||
@Value("${elasticsearch.cluster.name}")
|
|
||||||
private String clusterName;
|
|
||||||
/**
|
|
||||||
* 连接池
|
|
||||||
*/
|
|
||||||
@Value("${elasticsearch.pool}")
|
|
||||||
private String poolSize;
|
|
||||||
|
|
||||||
private static TransportClient client;
|
private static TransportClient client;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @PostContruct是spring框架的注解 spring容器初始化的时候执行该方法
|
* @PostContruct是spring框架的注解 spring容器初始化的时候执行该方法
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("resource")
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
public void init() {
|
public void init() {
|
||||||
// client = this.transportClient;
|
client = this.transportClient;
|
||||||
try {
|
|
||||||
Settings settings = Settings.builder()
|
|
||||||
.put("cluster.name", clusterName) //集群名字
|
|
||||||
.put("client.transport.sniff", true)//增加嗅探机制,找到ES集群
|
|
||||||
.put("thread_pool.search.size", Integer.parseInt(poolSize))//增加线程池个数,暂时设为5
|
|
||||||
.build();
|
|
||||||
client = new PreBuiltTransportClient(settings)
|
|
||||||
.addTransportAddresses(new TransportAddress(InetAddress.getByName(hostName), Integer.valueOf(port)));
|
|
||||||
} catch (UnknownHostException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -2,27 +2,42 @@ package com.gzzn.omms.adminapi.utils;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.JsonParseException;
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.databind.JsonMappingException;
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.databind.ObjectWriter;
|
import com.fasterxml.jackson.databind.ObjectWriter;
|
||||||
|
|
||||||
public class JsonUtil {
|
public class JsonUtil {
|
||||||
public static String getString(Object object) throws JsonProcessingException
|
private static final Logger logger = LoggerFactory.getLogger(JsonUtil.class);
|
||||||
|
|
||||||
|
public static String getString(Object object)
|
||||||
{
|
{
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
java.lang.String jsonStr = null;
|
||||||
ObjectWriter ow = mapper.writer().withDefaultPrettyPrinter();
|
try {
|
||||||
java.lang.String jsonStr = ow.writeValueAsString(object);
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
|
ObjectWriter ow = mapper.writer().withDefaultPrettyPrinter();
|
||||||
|
jsonStr = ow.writeValueAsString(object);
|
||||||
|
} catch (JsonProcessingException e) {
|
||||||
|
logger.error("获取json串异常:", e);
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
return jsonStr;
|
return jsonStr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static <T> T getObject(String str,Class<T> valueType) throws JsonParseException, JsonMappingException, IOException
|
public static <T> T getObject(String str,Class<T> valueType)
|
||||||
{
|
{
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
T obj = null;
|
||||||
T obj = mapper.readValue(str, valueType);
|
try {
|
||||||
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
|
obj = mapper.readValue(str, valueType);
|
||||||
|
} catch (IOException e) {
|
||||||
|
logger.error("json转为Class异常:", e);
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user