优化代码
This commit is contained in:
parent
d008a10f22
commit
df61607281
@ -1,33 +0,0 @@
|
|||||||
package com.das.common.log;
|
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.slf4j.MDC;
|
|
||||||
|
|
||||||
import java.util.concurrent.Executor;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author chenhaojie
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
@Slf4j
|
|
||||||
public class MdcExecutor implements Executor {
|
|
||||||
|
|
||||||
private final Executor executor;
|
|
||||||
|
|
||||||
public MdcExecutor(Executor executor) {
|
|
||||||
this.executor = executor;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void execute(Runnable command) {
|
|
||||||
final String requestId = MDC.get("REQUEST_ID");
|
|
||||||
executor.execute(() -> {
|
|
||||||
MDC.put("REQUEST_ID", requestId);
|
|
||||||
try {
|
|
||||||
command.run();
|
|
||||||
} finally {
|
|
||||||
MDC.remove("REQUEST_ID");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,32 +0,0 @@
|
|||||||
package com.das.common.log;
|
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author chenhaojie
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class RequestIdUtils {
|
|
||||||
|
|
||||||
private static final ThreadLocal<UUID> requestIdHolder = new ThreadLocal<>();
|
|
||||||
|
|
||||||
private RequestIdUtils() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void generateRequestId() {
|
|
||||||
requestIdHolder.set(UUID.randomUUID());
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void generateRequestId(UUID uuid) {
|
|
||||||
requestIdHolder.set(uuid);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static UUID getRequestId() {
|
|
||||||
return requestIdHolder.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void removeRequestId() {
|
|
||||||
requestIdHolder.remove();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,74 +0,0 @@
|
|||||||
package com.das.common.log;
|
|
||||||
|
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.slf4j.MDC;
|
|
||||||
import org.springframework.util.StringUtils;
|
|
||||||
import org.springframework.web.context.request.RequestContextHolder;
|
|
||||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
|
||||||
import org.springframework.web.servlet.HandlerInterceptor;
|
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author chenhaojie
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
@Slf4j
|
|
||||||
public class RequestLogInterceptor implements HandlerInterceptor {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
|
|
||||||
String servletPath = request.getServletPath();
|
|
||||||
|
|
||||||
log.info("preHandle 后置处理----------");
|
|
||||||
log.info("servletPath:{}", servletPath);
|
|
||||||
RequestIdUtils.removeRequestId();
|
|
||||||
MDC.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取RequestId
|
|
||||||
* 优先从header头获取,如果没有则自己生成
|
|
||||||
* @return RequestId
|
|
||||||
*/
|
|
||||||
private String getRequestId(){
|
|
||||||
// 因为如果有网关,则一般会从网关传递过来,所以优先从header头获取
|
|
||||||
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
|
||||||
if(attributes != null && StringUtils.hasText(attributes.getRequest().getHeader("x-request-id"))) {
|
|
||||||
HttpServletRequest request = attributes.getRequest();
|
|
||||||
String requestId = request.getHeader("x-request-id");
|
|
||||||
UUID uuid = UUID.fromString(requestId);
|
|
||||||
RequestIdUtils.generateRequestId(uuid);
|
|
||||||
return requestId;
|
|
||||||
}
|
|
||||||
UUID existUUID = RequestIdUtils.getRequestId();
|
|
||||||
if(existUUID != null){
|
|
||||||
return existUUID.toString();
|
|
||||||
}
|
|
||||||
RequestIdUtils.generateRequestId();
|
|
||||||
return RequestIdUtils.getRequestId().toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
|
|
||||||
String servletPath = request.getServletPath();
|
|
||||||
// 生成RequestId
|
|
||||||
String requestId = this.getRequestId();
|
|
||||||
// 配置日志文件打印 REQUEST_ID
|
|
||||||
MDC.put("REQUEST_ID", requestId);
|
|
||||||
|
|
||||||
log.info("servletPath:{}", servletPath);
|
|
||||||
log.info("preHandle 前置处理----------");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
@ -15,10 +15,6 @@ import java.util.stream.Collectors;
|
|||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class CommonFunction {
|
public class CommonFunction {
|
||||||
/**
|
|
||||||
* description:定义一个System.out.println(纯属个人习惯)
|
|
||||||
**/
|
|
||||||
private static int objectNullSystemOutFlag = 0;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* description:判断当前对象是否为空(包括所有属性为空)
|
* description:判断当前对象是否为空(包括所有属性为空)
|
||||||
@ -51,6 +47,10 @@ public class CommonFunction {
|
|||||||
//得到属性名
|
//得到属性名
|
||||||
fieldName = field.getName();
|
fieldName = field.getName();
|
||||||
//打印输出(调试用可忽略)
|
//打印输出(调试用可忽略)
|
||||||
|
/**
|
||||||
|
* description:定义一个System.out.println(纯属个人习惯)
|
||||||
|
**/
|
||||||
|
int objectNullSystemOutFlag = 0;
|
||||||
if (objectNullSystemOutFlag == 1) {
|
if (objectNullSystemOutFlag == 1) {
|
||||||
System.out.println("属性类型:" + fieldType + ",属性名:" + fieldName + ",属性值:" + fieldValue);
|
System.out.println("属性类型:" + fieldType + ",属性名:" + fieldName + ",属性值:" + fieldValue);
|
||||||
}
|
}
|
||||||
|
@ -45,7 +45,8 @@ public class IotModelCacheImpl implements IotModelCache {
|
|||||||
|
|
||||||
@PreDestroy
|
@PreDestroy
|
||||||
public void destroy(){
|
public void destroy(){
|
||||||
|
iotFieldsMap.clear();
|
||||||
|
iotModelInfoIdMap.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -23,12 +23,10 @@ import java.util.Map;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
public class FunctionWindSpeedFactor extends AbstractFunction {
|
public class FunctionWindSpeedFactor extends AbstractFunction {
|
||||||
|
|
||||||
private DataService dataService = null;
|
|
||||||
private CacheService cacheService = null;
|
private CacheService cacheService = null;
|
||||||
|
|
||||||
|
|
||||||
public FunctionWindSpeedFactor(DataService dataService, CacheService cacheService) {
|
public FunctionWindSpeedFactor(CacheService cacheService) {
|
||||||
this.dataService = dataService;
|
|
||||||
this.cacheService = cacheService;
|
this.cacheService = cacheService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -136,7 +136,7 @@ public class CalcService {
|
|||||||
FunctionOffsetDate offsetDate = new FunctionOffsetDate();
|
FunctionOffsetDate offsetDate = new FunctionOffsetDate();
|
||||||
aviator.addFunction(offsetDate);
|
aviator.addFunction(offsetDate);
|
||||||
|
|
||||||
FunctionWindSpeedFactor windSpeedFactor = new FunctionWindSpeedFactor(dataService,cacheService);
|
FunctionWindSpeedFactor windSpeedFactor = new FunctionWindSpeedFactor(cacheService);
|
||||||
aviator.addFunction(windSpeedFactor);
|
aviator.addFunction(windSpeedFactor);
|
||||||
|
|
||||||
FunctionIsOnline isOnline = new FunctionIsOnline(adminRedisTemplate, cacheService);
|
FunctionIsOnline isOnline = new FunctionIsOnline(adminRedisTemplate, cacheService);
|
||||||
|
@ -38,6 +38,7 @@ public class DataController {
|
|||||||
public R<Map<String,Map<String,Object>>> querySnapshotValues(@RequestBody @Valid List<SnapshotValueQueryParam> param) {
|
public R<Map<String,Map<String,Object>>> querySnapshotValues(@RequestBody @Valid List<SnapshotValueQueryParam> param) {
|
||||||
if (log.isDebugEnabled()){
|
if (log.isDebugEnabled()){
|
||||||
log.debug("/api/rtdbsvr/snapshot is calling");
|
log.debug("/api/rtdbsvr/snapshot is calling");
|
||||||
|
log.debug("request params: {}", param);
|
||||||
}
|
}
|
||||||
return R.success(dataService.querySnapshotValues(param));
|
return R.success(dataService.querySnapshotValues(param));
|
||||||
}
|
}
|
||||||
@ -50,7 +51,8 @@ public class DataController {
|
|||||||
@PostMapping("/history")
|
@PostMapping("/history")
|
||||||
public R<Map<String, Map<String, Map<String, Object>>>> queryTimeSeriesValues(@RequestBody @Valid TSValueQueryParam param) {
|
public R<Map<String, Map<String, Map<String, Object>>>> queryTimeSeriesValues(@RequestBody @Valid TSValueQueryParam param) {
|
||||||
if (log.isDebugEnabled()){
|
if (log.isDebugEnabled()){
|
||||||
log.debug("/api/rtdbsvr/timeseries is calling");
|
log.debug("/api/rtdbsvr/history is calling");
|
||||||
|
log.debug("request params: {}", param);
|
||||||
}
|
}
|
||||||
return R.success(dataService.queryTimeSeriesValues(param));
|
return R.success(dataService.queryTimeSeriesValues(param));
|
||||||
}
|
}
|
||||||
@ -63,7 +65,8 @@ public class DataController {
|
|||||||
@PostMapping("/windows")
|
@PostMapping("/windows")
|
||||||
public R<Map<String, Map<String, Map<String, Object>>>> queryWindowsValues(@RequestBody @Valid WindowValueQueryParam param) {
|
public R<Map<String, Map<String, Map<String, Object>>>> queryWindowsValues(@RequestBody @Valid WindowValueQueryParam param) {
|
||||||
if (log.isDebugEnabled()){
|
if (log.isDebugEnabled()){
|
||||||
log.debug("/api/rtdbsvr/timeseries is calling");
|
log.debug("/api/rtdbsvr/windows is calling");
|
||||||
|
log.debug("request params: {}", param);
|
||||||
}
|
}
|
||||||
return R.success(dataService.queryWindowsValues(param));
|
return R.success(dataService.queryWindowsValues(param));
|
||||||
}
|
}
|
||||||
|
@ -92,7 +92,7 @@ public class TDEngineService {
|
|||||||
log.info(sb.toString());
|
log.info(sb.toString());
|
||||||
pstmt.executeUpdate(sb.toString());
|
pstmt.executeUpdate(sb.toString());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("创建超级表失败,失败原因{}", e);
|
log.error("创建超级表失败", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception ignored) {
|
} catch (Exception ignored) {
|
||||||
@ -114,7 +114,7 @@ public class TDEngineService {
|
|||||||
log.info(sb.toString());
|
log.info(sb.toString());
|
||||||
pstmt.executeUpdate(sb.toString());
|
pstmt.executeUpdate(sb.toString());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("创建超级表失败,失败原因{}", e);
|
log.error("创建[计算量]超级表失败", e);
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch (Exception ignored) {
|
} catch (Exception ignored) {
|
||||||
@ -141,7 +141,7 @@ public class TDEngineService {
|
|||||||
try {
|
try {
|
||||||
pstmt.executeUpdate(sb.toString());
|
pstmt.executeUpdate(sb.toString());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("新增超级表列失败:{},失败原因{}", sb, e);
|
log.error(String.format("新增超级表列失败:%s", sb.toString()), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -167,7 +167,7 @@ public class TDEngineService {
|
|||||||
try {
|
try {
|
||||||
pstmt.executeUpdate(sb.toString());
|
pstmt.executeUpdate(sb.toString());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("删除超级表列失败:{},失败原因{}", sb, e);
|
log.error(String.format("删除超级表列失败:%s", sb.toString()), e);
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception ignored) {
|
} catch (Exception ignored) {
|
||||||
@ -189,7 +189,7 @@ public class TDEngineService {
|
|||||||
try {
|
try {
|
||||||
pstmt.executeUpdate(sb.toString());
|
pstmt.executeUpdate(sb.toString());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("删除超级表失败:{},失败原因{}", sb, e);
|
log.error(String.format("删除超级表失败:%s", sb.toString()), e);
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception ignored) {
|
} catch (Exception ignored) {
|
||||||
@ -963,7 +963,7 @@ public class TDEngineService {
|
|||||||
Statement pstmt = conn.createStatement()) {
|
Statement pstmt = conn.createStatement()) {
|
||||||
pstmt.executeUpdate(sb.toString());
|
pstmt.executeUpdate(sb.toString());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("新增超级表列失败:{},失败原因{}", sb, e);
|
log.error(String.format("新增超级表列失败:%s", sb.toString()), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -123,7 +123,7 @@ public class DataServiceImpl implements DataService {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
long end = System.currentTimeMillis();
|
long end = System.currentTimeMillis();
|
||||||
log.debug("读取快照{}个,耗时: {}秒", paramList.size(), (end - start) / 1000.0);
|
log.debug("querySnapshotValues {}个,耗时: {}秒", paramList.size(), (end - start) / 1000.0);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -149,7 +149,7 @@ public class DataServiceImpl implements DataService {
|
|||||||
result.putAll(values);
|
result.putAll(values);
|
||||||
}
|
}
|
||||||
Long end = System.currentTimeMillis();
|
Long end = System.currentTimeMillis();
|
||||||
log.debug("读取快照{}个,耗时: {}秒", param.getDevices().size(), (end-start)/ 1000.0);
|
log.debug("queryTimeSeriesValues {}个,耗时: {}秒", param.getDevices().size(), (end-start)/ 1000.0);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -178,7 +178,7 @@ public class DataServiceImpl implements DataService {
|
|||||||
result.putAll(values);
|
result.putAll(values);
|
||||||
}
|
}
|
||||||
Long end = System.currentTimeMillis();
|
Long end = System.currentTimeMillis();
|
||||||
log.debug("读取快照{}个,耗时: {}秒", param.getDevices().size(), (end-start)/ 1000.0);
|
log.debug("queryTimeSeriesValues {}个,耗时: {}秒", param.getDevices().size(), (end-start)/ 1000.0);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -123,7 +123,7 @@ public class MinioViewsServcie {
|
|||||||
.stream(inputStream, inputStream.available(), -1)
|
.stream(inputStream, inputStream.available(), -1)
|
||||||
.build());
|
.build());
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("minio文件上传失败{}", e);
|
log.error("minio文件上传失败", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -194,7 +194,7 @@ public class FaultRecorderServiceImpl implements FaultRecorderService {
|
|||||||
resultMap = parseFile(fileStream, fdrFormatVo.getTimeFormat(), fdrFormatVo.getDelimiter(), fdrFormatVo.getValidStartLine());
|
resultMap = parseFile(fileStream, fdrFormatVo.getTimeFormat(), fdrFormatVo.getDelimiter(), fdrFormatVo.getValidStartLine());
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("文件解析异常:{}",e);
|
log.error("文件解析异常",e);
|
||||||
throw new ServiceException("文件解析异常,请检查配置");
|
throw new ServiceException("文件解析异常,请检查配置");
|
||||||
}
|
}
|
||||||
return resultMap;
|
return resultMap;
|
||||||
@ -238,7 +238,7 @@ public class FaultRecorderServiceImpl implements FaultRecorderService {
|
|||||||
}
|
}
|
||||||
stringListMap = parseDataCurve(result, timeFormat);
|
stringListMap = parseDataCurve(result, timeFormat);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("文件解析失败{}", e);
|
log.error("文件解析失败", e);
|
||||||
throw new ServiceException("文件解析失败");
|
throw new ServiceException("文件解析失败");
|
||||||
}
|
}
|
||||||
return stringListMap;
|
return stringListMap;
|
||||||
|
@ -407,7 +407,7 @@ public class NodeMessageServiceImpl extends TextWebSocketHandler implements Node
|
|||||||
try {
|
try {
|
||||||
tdEngineService.updateDeviceEventValues(valueList);
|
tdEngineService.updateDeviceEventValues(valueList);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("事件信息存入Td失败,失败原因{}", e);
|
log.error("事件信息存入Td失败,失败原因", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -551,7 +551,7 @@ public class SysNodeServiceImpl implements SysNodeService {
|
|||||||
})
|
})
|
||||||
.anyMatch(order -> !orderSet.add(order));
|
.anyMatch(order -> !orderSet.add(order));
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("校验order不重复失败:{}",e);
|
log.error("校验order不重复失败",e);
|
||||||
}
|
}
|
||||||
return orderRepeated;
|
return orderRepeated;
|
||||||
}
|
}
|
||||||
|
@ -86,7 +86,7 @@ public class PlcLogsServiceImpl implements PlcLogService {
|
|||||||
resultMap = parseFile(fileStream, fdrFormatVo.getTimeFormat(), fdrFormatVo.getDelimiter(), fdrFormatVo.getValidStartLine());
|
resultMap = parseFile(fileStream, fdrFormatVo.getTimeFormat(), fdrFormatVo.getDelimiter(), fdrFormatVo.getValidStartLine());
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("文件解析异常:{}",e);
|
log.error("文件解析异常",e);
|
||||||
throw new ServiceException("文件解析异常,请检查配置");
|
throw new ServiceException("文件解析异常,请检查配置");
|
||||||
}
|
}
|
||||||
return resultMap;
|
return resultMap;
|
||||||
@ -162,7 +162,7 @@ public class PlcLogsServiceImpl implements PlcLogService {
|
|||||||
}
|
}
|
||||||
stringListMap = parseDataCurve(result, timeFormat);
|
stringListMap = parseDataCurve(result, timeFormat);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("文件解析失败{}", e);
|
log.error("文件解析失败", e);
|
||||||
throw new ServiceException("文件解析失败");
|
throw new ServiceException("文件解析失败");
|
||||||
}
|
}
|
||||||
return stringListMap;
|
return stringListMap;
|
||||||
|
Loading…
Reference in New Issue
Block a user