7 changed files with 186 additions and 19 deletions
@ -0,0 +1,32 @@
|
||||
package com.biutag.supervisiondata.common.interceptor; |
||||
|
||||
import jakarta.servlet.http.HttpServletRequest; |
||||
import jakarta.servlet.http.HttpServletResponse; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.jetbrains.annotations.NotNull; |
||||
import org.springframework.stereotype.Component; |
||||
import org.springframework.web.servlet.AsyncHandlerInterceptor; |
||||
|
||||
|
||||
/** |
||||
* 跨域拦截器 |
||||
* @author kami |
||||
* @since 2020-12-24 |
||||
*/ |
||||
@Component |
||||
@Slf4j |
||||
public class CrossDomainInterceptor implements AsyncHandlerInterceptor { |
||||
|
||||
@Override |
||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, @NotNull Object handler) { |
||||
response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin")); |
||||
response.setHeader("Access-Control-Allow-Methods", "POST, GET, PATCH, OPTIONS, DELETE, PUT"); |
||||
response.setHeader("Access-Control-Allow-Credentials", "true"); |
||||
response.setHeader("Access-Control-Max-Age", "3600"); |
||||
response.setHeader("Access-Control-Allow-Headers", "Origin, Authorization, X-Requested-With, Content-Type, Accept, Key, X-TOKEN, X-OPEN, S-TOKEN,timestamp,requestId"); |
||||
if ("OPTIONS".equalsIgnoreCase(request.getMethod())) { |
||||
response.setStatus(HttpServletResponse.SC_OK); |
||||
} |
||||
return true; |
||||
} |
||||
} |
||||
@ -0,0 +1,40 @@
|
||||
package com.biutag.supervisiondata.common.interceptor; |
||||
|
||||
import jakarta.servlet.http.HttpServletRequest; |
||||
import jakarta.servlet.http.HttpServletResponse; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.jetbrains.annotations.NotNull; |
||||
import org.slf4j.MDC; |
||||
import org.springframework.stereotype.Component; |
||||
import org.springframework.web.servlet.HandlerInterceptor; |
||||
|
||||
import java.util.Optional; |
||||
|
||||
/** |
||||
* @author kami |
||||
* @version 1.0 |
||||
* @since 2022/7/8 11:42 |
||||
*/ |
||||
@Component |
||||
@Slf4j |
||||
public class MyLogInterceptor implements HandlerInterceptor { |
||||
|
||||
private static final ThreadLocal<Long> stopwatchThread = new ThreadLocal<>(); |
||||
|
||||
@Override |
||||
public boolean preHandle(HttpServletRequest request, @NotNull HttpServletResponse response, @NotNull Object handler) { |
||||
//如果有上层调用就用上层的ID
|
||||
String traceId = Optional.ofNullable(request.getHeader("requestId")).orElse(System.nanoTime() + ""); |
||||
MDC.put("trace_id", traceId); |
||||
stopwatchThread.set(System.currentTimeMillis()); |
||||
return true; |
||||
} |
||||
|
||||
@Override |
||||
public void afterCompletion(HttpServletRequest request, @NotNull HttpServletResponse response, @NotNull Object handler, Exception ex) { |
||||
log.info("{} | 耗时 {}ms", request.getRequestURI(), System.currentTimeMillis() - stopwatchThread.get()); |
||||
stopwatchThread.remove(); |
||||
//调用结束后删除
|
||||
MDC.remove("trace_id"); |
||||
} |
||||
} |
||||
@ -0,0 +1,34 @@
|
||||
package com.biutag.supervisiondata.config; |
||||
|
||||
import com.biutag.supervisiondata.common.interceptor.CrossDomainInterceptor; |
||||
import com.biutag.supervisiondata.common.interceptor.MyLogInterceptor; |
||||
import jakarta.annotation.Resource; |
||||
import org.springframework.context.annotation.Configuration; |
||||
import org.springframework.web.servlet.config.annotation.InterceptorRegistry; |
||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; |
||||
|
||||
|
||||
/** |
||||
* 拦截器配置器 |
||||
* |
||||
* @author kami |
||||
* @since 2020-12-24 |
||||
*/ |
||||
@Configuration |
||||
public class SpringInterceptorConfigurer implements WebMvcConfigurer { |
||||
|
||||
|
||||
@Resource |
||||
private MyLogInterceptor myLogInterceptor; |
||||
|
||||
@Resource |
||||
private CrossDomainInterceptor crossDomainInterceptor; |
||||
|
||||
@Override |
||||
public void addInterceptors(InterceptorRegistry registry) { |
||||
registry.addInterceptor(myLogInterceptor) |
||||
.addPathPatterns("/**"); |
||||
registry.addInterceptor(crossDomainInterceptor). |
||||
addPathPatterns("/**"); |
||||
} |
||||
} |
||||
@ -0,0 +1,16 @@
|
||||
package com.biutag.supervisiondata.service; |
||||
|
||||
import java.time.LocalDateTime; |
||||
|
||||
/** |
||||
* @author kami on 2024-11-25 10:59:37 |
||||
* @version 0.0.1 |
||||
* @since 1.8 |
||||
*/ |
||||
public interface PersonalService { |
||||
|
||||
/** |
||||
* 拉取人员信息 |
||||
*/ |
||||
void pullPersonalInfo(); |
||||
} |
||||
@ -0,0 +1,49 @@
|
||||
package com.biutag.supervisiondata.service.impl; |
||||
|
||||
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD; |
||||
import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonal; |
||||
import com.biutag.supervisiondata.repository.GBaseJJDRepository; |
||||
import com.biutag.supervisiondata.repository.RiskPersonalRepository; |
||||
import com.biutag.supervisiondata.service.PersonalService; |
||||
import com.biutag.supervisiondata.service.RiskPersonalService; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import java.time.LocalDate; |
||||
import java.time.LocalDateTime; |
||||
import java.time.format.DateTimeFormatter; |
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* @author kami on 2024-11-25 11:01:11 |
||||
* @version 0.0.1 |
||||
* @since 1.8 |
||||
*/ |
||||
@Slf4j |
||||
@Service |
||||
@AllArgsConstructor |
||||
public class PersonalServiceImpl implements PersonalService { |
||||
|
||||
private final RiskPersonalRepository personalRepository; |
||||
|
||||
private final GBaseJJDRepository gBaseJJDRepository; |
||||
|
||||
@Override |
||||
public void pullPersonalInfo() { |
||||
LocalDateTime start = personalRepository.getBaseMapper().selectMaxCreateTime(); |
||||
if(start == null) { |
||||
start = LocalDateTime.of(2024, 1,1,0,0,0); |
||||
} |
||||
LocalDateTime end = LocalDateTime.now(); |
||||
|
||||
// 获取接警数据
|
||||
List<GBaseJJD> result = gBaseJJDRepository.getBaseMapper().selectDataToRisk(start.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")), |
||||
end.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); |
||||
log.info("总条数 | {}条", result.size()); |
||||
|
||||
List<RiskPersonal> personals = new ArrayList<>(); |
||||
|
||||
} |
||||
} |
||||
Loading…
Reference in new issue