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