Browse Source

后端整合模块

detached
huangqizhen 4 months ago
parent
commit
657c87f37b
  1. 2
      src/main/java/com/example/demo/Util/JWTUtil.java
  2. 14
      src/main/java/com/example/demo/config/AppConfig.java
  3. 5
      src/main/java/com/example/demo/security/SecurityConfig.java
  4. 44
      src/main/java/com/example/demo/security/UploadFilter.java
  5. 17
      src/main/java/com/example/demo/serviceImpl/OtherServiceImpl.java

2
src/main/java/com/example/demo/Util/JWTUtil.java

@ -23,7 +23,7 @@ import java.util.UUID;
public class JWTUtil { public class JWTUtil {
//有效期为 //有效期为
public static final Long JWT_TTL = 1000*60 * 60 *1000L;// 60 * 60 *1000 一个小时
public static final Long JWT_TTL = 2*60 * 60 *1000L;// 60 * 60 *1000 一个小时
//设置 密钥 //设置 密钥
public static final String JWT_KEY = "bobzyh"; public static final String JWT_KEY = "bobzyh";

14
src/main/java/com/example/demo/config/AppConfig.java

@ -0,0 +1,14 @@
package com.example.demo.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
@Configuration
public class AppConfig {
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
}

5
src/main/java/com/example/demo/security/SecurityConfig.java

@ -38,8 +38,7 @@ public class SecurityConfig {
@Autowired @Autowired
TokenFilter tokenFilter; TokenFilter tokenFilter;
// @Autowired
// UploadFilter uploadFilter;
// 核心配置 配置一个过滤器链 // 核心配置 配置一个过滤器链
@Bean @Bean
@ -67,7 +66,7 @@ public class SecurityConfig {
).permitAll() ).permitAll()
.anyRequest().authenticated() // 其它路径必须要登录后才能访问 .anyRequest().authenticated() // 其它路径必须要登录后才能访问
); );
// http.addFilterBefore(uploadFilter, UsernamePasswordAuthenticationFilter.class); // 确保UploadFilter是第一个
http.addFilterBefore(tokenFilter, UsernamePasswordAuthenticationFilter.class); // 然后是TokenFilter http.addFilterBefore(tokenFilter, UsernamePasswordAuthenticationFilter.class); // 然后是TokenFilter
return http.build(); return http.build();

44
src/main/java/com/example/demo/security/UploadFilter.java

@ -1,44 +0,0 @@
//package com.example.demo.security;
//
//import jakarta.servlet.FilterChain;
//import jakarta.servlet.ServletException;
//import jakarta.servlet.http.HttpServletRequest;
//import jakarta.servlet.http.HttpServletResponse;
//import org.springframework.core.annotation.Order;
//import org.springframework.stereotype.Component;
//import org.springframework.web.filter.OncePerRequestFilter;
//import org.springframework.web.multipart.MultipartResolver;
//
//import java.io.IOException;
//
//
//@Component
//public class UploadFilter extends OncePerRequestFilter {
//
// private final MultipartResolver multipartResolver;
//
// public UploadFilter(MultipartResolver multipartResolver) {
// this.multipartResolver = multipartResolver;
// }
//
// @Override
// protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
// throws ServletException, IOException {
//
// // 检查请求是否为上传请求这里假设上传请求的路径以 "/upload" 开头
// boolean isUploadRequest = request.getRequestURI().startsWith("/upload");
// System.out.println(isUploadRequest);
// System.out.println("MultipartResolver: " + multipartResolver);
// if (isUploadRequest ) {
// System.out.println("执行upload-------------------------------");
// // 如果是上传请求且Content-Type为multipart/form-data直接将请求传递给下一个过滤器或目标资源
// filterChain.doFilter(request, response);
// } else {
// // 如果不是上传请求执行一些自定义逻辑
// // 例如可以在这里添加令牌验证或其他安全检查
//
// // 继续执行过滤器链
// filterChain.doFilter(request, response);
// }
// }
//}

17
src/main/java/com/example/demo/serviceImpl/OtherServiceImpl.java

@ -6,13 +6,17 @@ import com.example.demo.mapper.DetailYMapper;
import com.example.demo.mapper.OtherMapper; import com.example.demo.mapper.OtherMapper;
import com.example.demo.sevice.OtherService; import com.example.demo.sevice.OtherService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CacheConfig;
import org.springframework.http.*;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.client.RestTemplate;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Set; import java.util.Set;
import java.util.HashSet; import java.util.HashSet;
import java.util.Map;
@Service @Service
@Transactional @Transactional
@ -20,6 +24,9 @@ import java.util.HashSet;
@CacheConfig(cacheNames = "other") @CacheConfig(cacheNames = "other")
public class OtherServiceImpl implements OtherService { public class OtherServiceImpl implements OtherService {
@Autowired
private RestTemplate restTemplate;
private static final Set<String> typesToUpdateZero = new HashSet<>(); private static final Set<String> typesToUpdateZero = new HashSet<>();
private static final Set<String> typesToUpdateOne = new HashSet<>(); private static final Set<String> typesToUpdateOne = new HashSet<>();
private static final Set<String> typesToUpdateTwo = new HashSet<>(); private static final Set<String> typesToUpdateTwo = new HashSet<>();
@ -108,6 +115,16 @@ public class OtherServiceImpl implements OtherService {
String productName = erp.getProductName(); String productName = erp.getProductName();
String remark = erp.getReamrk(); String remark = erp.getReamrk();
String Way = otherMapper.selectWay(type); String Way = otherMapper.selectWay(type);
//
// // 调用 POST 接口获取 username area
// HttpHeaders headers = new HttpHeaders();
// headers.setContentType(MediaType.APPLICATION_JSON);
// HttpEntity<String> entity = new HttpEntity<>(JwCode, headers);
// ResponseEntity<Map> response = restTemplate.exchange(
// "http://example.com/api/getUserDetails", HttpMethod.POST, entity, Map.class);
// String username = (String) response.getBody().get("username");
// String area = (String) response.getBody().get("area");
if (typesToUpdateZero.contains(type)) { if (typesToUpdateZero.contains(type)) {
detailY.setUpdateType(0);// 设置 updateType 0 detailY.setUpdateType(0);// 设置 updateType 0
detailY.setJwcode(JwCode); detailY.setJwcode(JwCode);

Loading…
Cancel
Save