From 805abc5e780227527987552252b81a13e7c2c4f4 Mon Sep 17 00:00:00 2001 From: haozq <1611483981@qq.com> Date: Tue, 2 Dec 2025 17:21:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9maven?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/compiler.xml | 2 +- .idea/workspace.xml | 1378 ++--------------- HnRealNameBmw/HnRealNameBmw.iml | 8 - HnRealNameBmw/pom.xml | 2 + .../manager/config/BnsSecurityConfig.java | 86 +- .../hnrn/rnbmw/manager/config/CspFilter.java | 472 +++--- .../rnbmw/manager/config/WebMvcConfig.java | 18 - .../manager/controller/UserController.java | 1 - .../controller/AnnouncementController.java | 2 +- .../controller/PaySlipController.java | 2 +- .../controller/WorkerController.java | 2 +- .../controller/WorkerDepartController.java | 2 +- .../controller/SalaryAppealController.java | 55 +- .../rnbmw/push/controller/AttController.java | 3 +- .../controller/AnalysisWagesController.java | 40 +- .../controller/SalaryCheckController.java | 2 +- .../controller/SalaryFileController.java | 2 +- .../service/SalaryCheckServiceImpl.java | 43 +- .../src/main/resources/application.yml | 93 -- .../mappers/basic/IntegratedQueryMapper.xml | 38 +- ...alaryPaymentAndAttendanceRecordsMapper.xml | 4 +- .../mappers/basic/SubContractorMapper.xml | 4 +- .../basic/SubPrincipalManagementMapper.xml | 4 +- .../mappers/basic/SuperTeamListMapper.xml | 4 +- .../mappers/jobType/JobTypeMapper.xml | 4 +- .../mappers/person/CertificateMapper.xml | 32 +- .../mappers/person/ContractMapper.xml | 16 +- .../mappers/person/ContractModeMapper.xml | 2 +- .../mappers/person/WhiteListMapper.xml | 4 +- .../AttentionWarningMapper.xml | 6 +- .../personnelWarning/SpecialWarningMapper.xml | 6 +- .../salaryfile/AnalysisWagesMapper.xml | 18 +- .../SmallSubPermissionMapper.xml | 4 +- .../TotalProWorkloadManageMapper.xml | 10 +- .../rnmw/core/config/BnsSecurityConfig.java | 338 ++-- .../rnmw/core/controller/UserController.java | 2 +- .../controller/AttendanceController.java | 2 +- .../person/controller/CompanyController.java | 8 +- .../person/controller/ContractController.java | 2 +- .../person/controller/HomeController.java | 24 +- .../rnmw/person/controller/MapController.java | 2 +- .../person/controller/ProInfoController.java | 2 +- .../person/controller/RedBlackController.java | 2 +- .../person/controller/SalaryController.java | 2 +- .../WorkerAttendanceController.java | 2 +- .../controller/WorkerPeopleController.java | 2 +- .../controller/WorkerPostController.java | 2 +- .../controller/WorkerRecordController.java | 2 +- .../src/main/resources/logback-boot.xml | 2 + .../manager/config/WebMvcConfig.java | 1 - .../com/bonus/gateway/config/CorsConfig.java | 12 + .../screen/manager/config/WebMvcConfig.java | 1 - 52 files changed, 772 insertions(+), 2005 deletions(-) delete mode 100644 HnRealNameBmw/HnRealNameBmw.iml delete mode 100644 HnRealNameBmw/src/main/resources/application.yml diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 4eb67c3..d6f67c3 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -2,7 +2,7 @@ - + diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 0ab2b9e..5243b2b 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -5,1229 +5,58 @@ + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - { - "keyToString": { - "Maven.HnRealNameBmw [clean].executor": "Run", - "Maven.HnRealNameBmw [install].executor": "Run", - "Maven.hn-czl-service [clean].executor": "Run", - "Maven.hn-czl-service [install].executor": "Run", - "RequestMappingsPanelOrder0": "0", - "RequestMappingsPanelOrder1": "1", - "RequestMappingsPanelWidth0": "75", - "RequestMappingsPanelWidth1": "75", - "RunOnceActivity.ShowReadmeOnStart": "true", - "RunOnceActivity.git.unshallow": "true", - "SONARLINT_PRECOMMIT_ANALYSIS": "true", - "Spring Boot.BonusGatewayApplication.executor": "Run", - "Spring Boot.CzlScreenApplication.executor": "Run", - "Spring Boot.CzlServiceApplication.executor": "Run", - "Spring Boot.HnRealNameBmwApplication.executor": "Debug", - "Spring Boot.LdlzApplication.executor": "Run", - "Spring Boot.RnmwApplication.executor": "Run", - "StatusDashboardGroupingRule": "true", - "git-widget-placeholder": "main", - "kotlin-language-version-configured": "true", - "last_opened_file_path": "C:/Users/86157/Desktop/hn_cloud_service", - "node.js.detected.package.eslint": "true", - "node.js.detected.package.tslint": "true", - "node.js.selected.package.eslint": "(autodetect)", - "node.js.selected.package.tslint": "(autodetect)", - "nodejs_package_manager_path": "npm", - "project.structure.last.edited": "Modules", - "project.structure.proportion": "0.0", - "project.structure.side.proportion": "0.0", - "run.configurations.included.in.services": "true", - "settings.editor.selected.configurable": "MavenSettings", - "vue.rearranger.settings.migration": "true" + +}]]> @@ -1398,7 +228,10 @@ @@ -1449,9 +290,24 @@ - file://$PROJECT_DIR$/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/basic/service/SubPrincipalManagementServiceImp.java - 26 - + + file://$PROJECT_DIR$/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/person/service/FaceContrastServiceImp.java + 48 + + + file://$PROJECT_DIR$/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/DruidConfig.java + 30 + + + file://$PROJECT_DIR$/hn-gateway/bonus-gateway/src/main/java/com/bonus/gateway/config/CorsConfig.java + 20 + diff --git a/HnRealNameBmw/HnRealNameBmw.iml b/HnRealNameBmw/HnRealNameBmw.iml deleted file mode 100644 index 1daccae..0000000 --- a/HnRealNameBmw/HnRealNameBmw.iml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/HnRealNameBmw/pom.xml b/HnRealNameBmw/pom.xml index 3b3473c..72030ba 100644 --- a/HnRealNameBmw/pom.xml +++ b/HnRealNameBmw/pom.xml @@ -58,11 +58,13 @@ com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery + 2.1.0.RELEASE com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config + 2.1.0.RELEASE diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/BnsSecurityConfig.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/BnsSecurityConfig.java index 20f25d7..4aed13b 100644 --- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/BnsSecurityConfig.java +++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/BnsSecurityConfig.java @@ -55,7 +55,7 @@ public class BnsSecurityConfig extends WebSecurityConfigurerAdapter { return new BCryptPasswordEncoder(); } - /* @Override + @Override protected void configure(HttpSecurity http) throws Exception { // 添加安全过滤器,在认证前执行 -- 防御 sql 注入攻击 和 xss 攻击 http.addFilterBefore(new SecurityFilter(), BasicAuthenticationFilter.class); @@ -81,51 +81,51 @@ public class BnsSecurityConfig extends WebSecurityConfigurerAdapter { http.headers().cacheControl(); // http.headers().frameOptions().sameOrigin(); - http.addFilterBefore(tokenFilter, UsernamePasswordAuthenticationFilter.class); - }*/ - - @Override - protected void configure(HttpSecurity http) throws Exception { - // 添加安全过滤器,在认证前执行 -- 防御 sql 注入攻击 和 xss 攻击 - http.addFilterBefore(new SecurityFilter(), BasicAuthenticationFilter.class); - http.csrf().disable(); - - // 使用新的跨域配置 - //http.cors(cors -> cors.configurationSource(corsConfigurationSource)); - - // 基于token,所以不需要session - http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS); - - http.authorizeRequests() - .antMatchers("/", "/gzRealName/**","/attendance/**","/*.html", "/favicon.ico", "/css/**", "/js/**", "/fonts/**", "/layui/**", "/layui-v2.9.2/**","/layui2.3.6/**", "/layer-v3.1.0/**","/img/**", - "/v2/api-docs/**", "/swagger-resources/**", "/webjars/**", "/pages/**", "/druid/**","/interface/**", - "/statics/**","/download/**","/register/**","/companyManager/resetUserPwd","/getCode/**","/OwnContract/updateDownloadState") - .permitAll().anyRequest().authenticated(); - http.formLogin().loginProcessingUrl("/login") - .successHandler(authenticationSuccessHandler).failureHandler(authenticationFailureHandler).and() - .addFilterBefore(new VerifyFilter(redisTemplate,prefix,authenticationFailureHandler), UsernamePasswordAuthenticationFilter.class) - .exceptionHandling().authenticationEntryPoint(authenticationEntryPoint); - http.logout().logoutUrl("/logout").logoutSuccessHandler(logoutSuccessHandler); - - // 添加CSP配置 - 在这里添加 - http.headers() - .contentSecurityPolicy("default-src 'self'; " + - "script-src 'self' https://trusted.cdn.com 'unsafe-inline' 'unsafe-eval'; " + - "style-src 'self' 'unsafe-inline'; " + - "img-src 'self' data: https://trusted.image.com; " + - "font-src 'self'; " + - "object-src 'none'; " + - "base-uri 'self'; " + - "form-action 'self';") // 添加form-action限制 - .and() - .frameOptions().sameOrigin() // 改用sameOrigin提高安全性 - .cacheControl(); - - // 注意:上面的 .frameOptions().disable() 可能会降低安全性,考虑使用 .sameOrigin() 替代 - http.addFilterBefore(tokenFilter, UsernamePasswordAuthenticationFilter.class); } +// @Override +// protected void configure(HttpSecurity http) throws Exception { +// // 添加安全过滤器,在认证前执行 -- 防御 sql 注入攻击 和 xss 攻击 +// http.addFilterBefore(new SecurityFilter(), BasicAuthenticationFilter.class); +// http.csrf().disable(); +// +// // 使用新的跨域配置 +// //http.cors(cors -> cors.configurationSource(corsConfigurationSource)); +// +// // 基于token,所以不需要session +// http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS); +// +// http.authorizeRequests() +// .antMatchers("/", "/gzRealName/**","/attendance/**","/*.html", "/favicon.ico", "/css/**", "/js/**", "/fonts/**", "/layui/**", "/layui-v2.9.2/**","/layui2.3.6/**", "/layer-v3.1.0/**","/img/**", +// "/v2/api-docs/**", "/swagger-resources/**", "/webjars/**", "/pages/**", "/druid/**","/interface/**", +// "/statics/**","/download/**","/register/**","/companyManager/resetUserPwd","/getCode/**","/OwnContract/updateDownloadState") +// .permitAll().anyRequest().authenticated(); +// http.formLogin().loginProcessingUrl("/login") +// .successHandler(authenticationSuccessHandler).failureHandler(authenticationFailureHandler).and() +// .addFilterBefore(new VerifyFilter(redisTemplate,prefix,authenticationFailureHandler), UsernamePasswordAuthenticationFilter.class) +// .exceptionHandling().authenticationEntryPoint(authenticationEntryPoint); +// http.logout().logoutUrl("/logout").logoutSuccessHandler(logoutSuccessHandler); +// +// // 添加CSP配置 - 在这里添加 +// http.headers() +// .contentSecurityPolicy("default-src 'self'; " + +// "script-src 'self' https://trusted.cdn.com 'unsafe-inline' 'unsafe-eval'; " + +// "style-src 'self' 'unsafe-inline'; " + +// "img-src 'self' data: https://trusted.image.com; " + +// "font-src 'self'; " + +// "object-src 'none'; " + +// "base-uri 'self'; " + +// "form-action 'self';") // 添加form-action限制 +// .and() +// .frameOptions().sameOrigin() // 改用sameOrigin提高安全性 +// .cacheControl(); +// +// // 注意:上面的 .frameOptions().disable() 可能会降低安全性,考虑使用 .sameOrigin() 替代 +// +// http.addFilterBefore(tokenFilter, UsernamePasswordAuthenticationFilter.class); +// } + @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.authenticationProvider(new DecodePwdAuthenticationProvider(userDetailsService)); diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/CspFilter.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/CspFilter.java index ecbc2cb..c498e6b 100644 --- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/CspFilter.java +++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/CspFilter.java @@ -1,236 +1,236 @@ -package com.bonus.hnrn.rnbmw.manager.config; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; - -import javax.servlet.*; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; -import java.util.Arrays; -import java.util.List; -import java.util.regex.Pattern; - -@Component -@Order(1) // 确保过滤器优先级 -public class CspFilter implements Filter { - - // 静态资源扩展名模式 - private static final Pattern STATIC_RESOURCE_PATTERN = Pattern.compile( - ".*\\.(css|js|map|png|jpg|jpeg|gif|ico|svg|webp|bmp|" + - "woff|woff2|ttf|eot|otf|pdf|txt|xml|json|" + - "zip|rar|7z|tar|gz|mp4|mp3|wav|avi|mov|webm|" + - "doc|docx|xls|xlsx|ppt|pptx)$", - Pattern.CASE_INSENSITIVE - ); - - // 静态资源路径前缀 - private static final List STATIC_PATH_PREFIXES = Arrays.asList( - "/static/", "/public/", "/resources/", "/assets/", "/css/", "/js/", - "/images/", "/img/", "/fonts/", "/webjars/", "/vendor/", "/dist/", - "/uploads/", "/downloads/", "/libs/", "/layui/" - ); - - // WebGL和3D地图相关页面路径 - private static final List WEBGL_PAGE_PATHS = Arrays.asList( - "/pages/synthesisQuery/digitalSignage.html", - "/pages/basic/lineManagement/child/setSpanTowerLonAndLat.html" - ); - - @Value("${spring.profiles.active:prod}") - private String activeProfile; - - @Value("${csp.report-only:false}") - private boolean cspReportOnly; - - @Value("${csp.allow-iframe:true}") - private boolean allowIframe; - - @Override - public void doFilter(ServletRequest request, ServletResponse response, - FilterChain chain) throws IOException, ServletException { - - HttpServletRequest httpRequest = (HttpServletRequest) request; - HttpServletResponse httpResponse = (HttpServletResponse) response; - String requestUri = httpRequest.getRequestURI(); - - // 设置所有必要的安全头 - setSecurityHeaders(httpResponse, requestUri); - - chain.doFilter(request, response); - } - - private void setSecurityHeaders(HttpServletResponse response, String requestUri) { - // 1. 设置ClickJacking防护头(优先解决) - setClickJackingProtectionHeaders(response, requestUri); - - // 2. 设置CSP头 - setCspHeader(response, requestUri); - - // 3. 设置其他安全头 - setAdditionalSecurityHeaders(response); - } - - private void setCspHeader(HttpServletResponse response, String requestUri) { - String cspPolicy; - - if (isStaticResource(requestUri)) { - // 静态资源使用简单策略 - cspPolicy = "default-src 'self'"; - } - else if (isLoginPage(requestUri)) { - // 登录页面 - 使用安全的CSP策略,移除不安全的指令 - String frameAncestors = allowIframe ? "'self'" : "'none'"; - - cspPolicy = "default-src 'self'; " + - // 允许同源脚本和外部JavaScript库 - "script-src 'self' 'unsafe-inline' https:; " + - // 只允许同源样式 - "style-src 'self' 'unsafe-inline' https:; " + - // 只允许同源图片和数据URI - "img-src 'self' data: blob: https:; " + - // 只允许同源字体和数据URI - "font-src 'self' data: https:; " + - // 只允许同源连接 - "connect-src 'self' https:; " + - "frame-ancestors " + frameAncestors + "; " + - "form-action 'self'; " + - "object-src 'none'; " + - "base-uri 'self'; " + - "report-uri /api/csp-violation"; - } - else if (isWebglPage(requestUri)) { - // WebGL和3D地图页面 - 需要更宽松的策略支持WebGL、Worker等 - String frameAncestors = allowIframe ? "'self'" : "'none'"; - - cspPolicy = "default-src 'self'; " + - "script-src 'self' 'unsafe-inline' 'unsafe-eval' blob: data:; " + - "style-src 'self' 'unsafe-inline' data: blob:; " + - "img-src 'self' data: blob: https:; " + - "font-src 'self' data: blob: https:; " + - "connect-src 'self' https: blob: data: http://data.mars3d.cn; " + - "frame-ancestors " + frameAncestors + "; " + - "form-action 'self'; " + - "object-src 'none'; " + - "base-uri 'self'; " + - "worker-src 'self' blob: data:; " + - "child-src 'self' blob: data:; " + - "report-uri /api/csp-violation"; // 移除 upgrade-insecure-requests,避免强制HTTPS - } else { - // 普通HTML页面 - 根据配置决定是否允许iframe - String frameAncestors = allowIframe ? "'self'" : "'none'"; - - cspPolicy = "default-src 'self'; " + - "script-src 'self' 'unsafe-inline' 'unsafe-eval' https:; " + - "style-src 'self' 'unsafe-inline' https:; " + - "img-src 'self' data: blob: https:; " + - "font-src 'self' data: https:; " + - "connect-src 'self' https:; " + - "frame-ancestors " + frameAncestors + "; " + - "form-action 'self'; " + - "object-src 'none'; " + - "base-uri 'self'; " + - "report-uri /api/csp-violation"; // 移除 upgrade-insecure-requests,避免强制HTTPS - } - - String headerName = cspReportOnly ? - "Content-Security-Policy-Report-Only" : "Content-Security-Policy"; - - response.setHeader(headerName, cspPolicy); - } - - private void setClickJackingProtectionHeaders(HttpServletResponse response, String requestUri) { - // 对于静态资源,使用宽松的ClickJacking防护 - if (isStaticResource(requestUri)) { - response.setHeader("X-Frame-Options", "SAMEORIGIN"); - return; - } - - // 对于HTML页面,根据配置决定防护级别 - if (allowIframe) { - response.setHeader("X-Frame-Options", "SAMEORIGIN"); - } else { - response.setHeader("X-Frame-Options", "DENY"); - } - } - - private void setAdditionalSecurityHeaders(HttpServletResponse response) { - response.setHeader("X-Content-Type-Options", "nosniff"); - response.setHeader("X-XSS-Protection", "1; mode=block"); - response.setHeader("Referrer-Policy", "strict-origin-when-cross-origin"); - response.setHeader("Permissions-Policy", - "geolocation=(), microphone=(), camera=(), payment=(), usb=(), magnetometer=(), gyroscope=()"); - - // 注意:HSTS 只应在 HTTPS 部署下开启;当前未在此处强制设置 - // 如需开启,请在 HTTPS 部署完成后,通过配置控制 - // 例如:Strict-Transport-Security: max-age=31536000; includeSubDomains; preload - } - - private boolean isStaticResource(String uri) { - if (uri == null || uri.isEmpty()) { - return false; - } - - String path = uri.split("\\?")[0]; - - if (STATIC_RESOURCE_PATTERN.matcher(path).matches()) { - return true; - } - - return STATIC_PATH_PREFIXES.stream().anyMatch(path::startsWith); - } - - /** - * 判断是否为登录页面 - */ - private boolean isLoginPage(String requestUri) { - return requestUri != null && ( - requestUri.endsWith("/login.html") || - requestUri.endsWith("/login") || - requestUri.contains("/login") - ); - } - - /** - * 生成随机nonce值 - */ - private String generateNonce() { - byte[] nonceBytes = new byte[16]; - new java.util.Random().nextBytes(nonceBytes); - return java.util.Base64.getEncoder().encodeToString(nonceBytes); - } - - /** - * 生成内容的SHA-256哈希值 - */ - private String generateHash(String content) { - try { - MessageDigest digest = MessageDigest.getInstance("SHA-256"); - byte[] hash = digest.digest(content.getBytes("UTF-8")); - return "'sha256-" + java.util.Base64.getEncoder().encodeToString(hash) + "'"; - } catch (Exception e) { - return ""; - } - } - - private boolean isWebglPage(String uri) { - if (uri == null || uri.isEmpty()) { - return false; - } - - String path = uri.split("\\?")[0]; - return WEBGL_PAGE_PATHS.stream().anyMatch(path::contains); - } - - private boolean isProduction() { - return "prod".equals(activeProfile) || "production".equals(activeProfile); - } - - @Override - public void destroy() { - // 清理资源 - } -} \ No newline at end of file +//package com.bonus.hnrn.rnbmw.manager.config; +// +//import org.springframework.beans.factory.annotation.Value; +//import org.springframework.core.annotation.Order; +//import org.springframework.stereotype.Component; +// +//import javax.servlet.*; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import java.io.IOException; +//import java.security.MessageDigest; +//import java.security.NoSuchAlgorithmException; +//import java.util.Arrays; +//import java.util.List; +//import java.util.regex.Pattern; +// +//@Component +//@Order(1) // 确保过滤器优先级 +//public class CspFilter implements Filter { +// +// // 静态资源扩展名模式 +// private static final Pattern STATIC_RESOURCE_PATTERN = Pattern.compile( +// ".*\\.(css|js|map|png|jpg|jpeg|gif|ico|svg|webp|bmp|" + +// "woff|woff2|ttf|eot|otf|pdf|txt|xml|json|" + +// "zip|rar|7z|tar|gz|mp4|mp3|wav|avi|mov|webm|" + +// "doc|docx|xls|xlsx|ppt|pptx)$", +// Pattern.CASE_INSENSITIVE +// ); +// +// // 静态资源路径前缀 +// private static final List STATIC_PATH_PREFIXES = Arrays.asList( +// "/static/", "/public/", "/resources/", "/assets/", "/css/", "/js/", +// "/images/", "/img/", "/fonts/", "/webjars/", "/vendor/", "/dist/", +// "/uploads/", "/downloads/", "/libs/", "/layui/" +// ); +// +// // WebGL和3D地图相关页面路径 +// private static final List WEBGL_PAGE_PATHS = Arrays.asList( +// "/pages/synthesisQuery/digitalSignage.html", +// "/pages/basic/lineManagement/child/setSpanTowerLonAndLat.html" +// ); +// +// @Value("${spring.profiles.active:prod}") +// private String activeProfile; +// +// @Value("${csp.report-only:false}") +// private boolean cspReportOnly; +// +// @Value("${csp.allow-iframe:true}") +// private boolean allowIframe; +// +// @Override +// public void doFilter(ServletRequest request, ServletResponse response, +// FilterChain chain) throws IOException, ServletException { +// +// HttpServletRequest httpRequest = (HttpServletRequest) request; +// HttpServletResponse httpResponse = (HttpServletResponse) response; +// String requestUri = httpRequest.getRequestURI(); +// +// // 设置所有必要的安全头 +// setSecurityHeaders(httpResponse, requestUri); +// +// chain.doFilter(request, response); +// } +// +// private void setSecurityHeaders(HttpServletResponse response, String requestUri) { +// // 1. 设置ClickJacking防护头(优先解决) +// setClickJackingProtectionHeaders(response, requestUri); +// +// // 2. 设置CSP头 +// setCspHeader(response, requestUri); +// +// // 3. 设置其他安全头 +// setAdditionalSecurityHeaders(response); +// } +// +// private void setCspHeader(HttpServletResponse response, String requestUri) { +// String cspPolicy; +// +// if (isStaticResource(requestUri)) { +// // 静态资源使用简单策略 +// cspPolicy = "default-src 'self'"; +// } +// else if (isLoginPage(requestUri)) { +// // 登录页面 - 使用安全的CSP策略,移除不安全的指令 +// String frameAncestors = allowIframe ? "'self'" : "'none'"; +// +// cspPolicy = "default-src 'self'; " + +// // 允许同源脚本和外部JavaScript库 +// "script-src 'self' 'unsafe-inline' https:; " + +// // 只允许同源样式 +// "style-src 'self' 'unsafe-inline' https:; " + +// // 只允许同源图片和数据URI +// "img-src 'self' data: blob: https:; " + +// // 只允许同源字体和数据URI +// "font-src 'self' data: https:; " + +// // 只允许同源连接 +// "connect-src 'self' https:; " + +// "frame-ancestors " + frameAncestors + "; " + +// "form-action 'self'; " + +// "object-src 'none'; " + +// "base-uri 'self'; " + +// "report-uri /api/csp-violation"; +// } +// else if (isWebglPage(requestUri)) { +// // WebGL和3D地图页面 - 需要更宽松的策略支持WebGL、Worker等 +// String frameAncestors = allowIframe ? "'self'" : "'none'"; +// +// cspPolicy = "default-src 'self'; " + +// "script-src 'self' 'unsafe-inline' 'unsafe-eval' blob: data:; " + +// "style-src 'self' 'unsafe-inline' data: blob:; " + +// "img-src 'self' data: blob: https:; " + +// "font-src 'self' data: blob: https:; " + +// "connect-src 'self' https: blob: data: http://data.mars3d.cn; " + +// "frame-ancestors " + frameAncestors + "; " + +// "form-action 'self'; " + +// "object-src 'none'; " + +// "base-uri 'self'; " + +// "worker-src 'self' blob: data:; " + +// "child-src 'self' blob: data:; " + +// "report-uri /api/csp-violation"; // 移除 upgrade-insecure-requests,避免强制HTTPS +// } else { +// // 普通HTML页面 - 根据配置决定是否允许iframe +// String frameAncestors = allowIframe ? "'self'" : "'none'"; +// +// cspPolicy = "default-src 'self'; " + +// "script-src 'self' 'unsafe-inline' 'unsafe-eval' https:; " + +// "style-src 'self' 'unsafe-inline' https:; " + +// "img-src 'self' data: blob: https:; " + +// "font-src 'self' data: https:; " + +// "connect-src 'self' https:; " + +// "frame-ancestors " + frameAncestors + "; " + +// "form-action 'self'; " + +// "object-src 'none'; " + +// "base-uri 'self'; " + +// "report-uri /api/csp-violation"; // 移除 upgrade-insecure-requests,避免强制HTTPS +// } +// +// String headerName = cspReportOnly ? +// "Content-Security-Policy-Report-Only" : "Content-Security-Policy"; +// +// response.setHeader(headerName, cspPolicy); +// } +// +// private void setClickJackingProtectionHeaders(HttpServletResponse response, String requestUri) { +// // 对于静态资源,使用宽松的ClickJacking防护 +// if (isStaticResource(requestUri)) { +// response.setHeader("X-Frame-Options", "SAMEORIGIN"); +// return; +// } +// +// // 对于HTML页面,根据配置决定防护级别 +// if (allowIframe) { +// response.setHeader("X-Frame-Options", "SAMEORIGIN"); +// } else { +// response.setHeader("X-Frame-Options", "DENY"); +// } +// } +// +// private void setAdditionalSecurityHeaders(HttpServletResponse response) { +// response.setHeader("X-Content-Type-Options", "nosniff"); +// response.setHeader("X-XSS-Protection", "1; mode=block"); +// response.setHeader("Referrer-Policy", "strict-origin-when-cross-origin"); +// response.setHeader("Permissions-Policy", +// "geolocation=(), microphone=(), camera=(), payment=(), usb=(), magnetometer=(), gyroscope=()"); +// +// // 注意:HSTS 只应在 HTTPS 部署下开启;当前未在此处强制设置 +// // 如需开启,请在 HTTPS 部署完成后,通过配置控制 +// // 例如:Strict-Transport-Security: max-age=31536000; includeSubDomains; preload +// } +// +// private boolean isStaticResource(String uri) { +// if (uri == null || uri.isEmpty()) { +// return false; +// } +// +// String path = uri.split("\\?")[0]; +// +// if (STATIC_RESOURCE_PATTERN.matcher(path).matches()) { +// return true; +// } +// +// return STATIC_PATH_PREFIXES.stream().anyMatch(path::startsWith); +// } +// +// /** +// * 判断是否为登录页面 +// */ +// private boolean isLoginPage(String requestUri) { +// return requestUri != null && ( +// requestUri.endsWith("/login.html") || +// requestUri.endsWith("/login") || +// requestUri.contains("/login") +// ); +// } +// +// /** +// * 生成随机nonce值 +// */ +// private String generateNonce() { +// byte[] nonceBytes = new byte[16]; +// new java.util.Random().nextBytes(nonceBytes); +// return java.util.Base64.getEncoder().encodeToString(nonceBytes); +// } +// +// /** +// * 生成内容的SHA-256哈希值 +// */ +// private String generateHash(String content) { +// try { +// MessageDigest digest = MessageDigest.getInstance("SHA-256"); +// byte[] hash = digest.digest(content.getBytes("UTF-8")); +// return "'sha256-" + java.util.Base64.getEncoder().encodeToString(hash) + "'"; +// } catch (Exception e) { +// return ""; +// } +// } +// +// private boolean isWebglPage(String uri) { +// if (uri == null || uri.isEmpty()) { +// return false; +// } +// +// String path = uri.split("\\?")[0]; +// return WEBGL_PAGE_PATHS.stream().anyMatch(path::contains); +// } +// +// private boolean isProduction() { +// return "prod".equals(activeProfile) || "production".equals(activeProfile); +// } +// +// @Override +// public void destroy() { +// // 清理资源 +// } +//} \ No newline at end of file diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/WebMvcConfig.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/WebMvcConfig.java index a0fd5e4..369bbac 100644 --- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/WebMvcConfig.java +++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/WebMvcConfig.java @@ -26,24 +26,6 @@ public class WebMvcConfig implements WebMvcConfigurer { @Autowired private ParamLengthInterceptor paramLengthInterceptor; - /** - * 跨域支持 - 修复 CORS 漏洞 - */ - /*@Override - public void addCorsMappings(CorsRegistry registry) { - registry.addMapping("/**") - // 明确指定允许的源,不要使用通配符 * - .allowedOrigins( - "http://localhost:19118", - "http://192.168.0.14:19118", - "https://您的生产域名.com" // 添加您的生产环境域名 - ) - .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") - .allowedHeaders("*") - .allowCredentials(true) // 如果需要凭证(如cookies) - .maxAge(3600); // 预检请求缓存时间(秒) - }*/ - /** * datatable分页解析 * diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/controller/UserController.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/controller/UserController.java index a14e45b..2f535ed 100644 --- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/controller/UserController.java +++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/controller/UserController.java @@ -35,7 +35,6 @@ import javax.annotation.Resource; /** * 用户相关接口 */ -@SuppressWarnings("AlibabaLowerCamelCaseVariableNaming") @Api(tags = "用户") @RestController diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/ownPerson/controller/AnnouncementController.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/ownPerson/controller/AnnouncementController.java index 5758f2f..52b86b5 100644 --- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/ownPerson/controller/AnnouncementController.java +++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/ownPerson/controller/AnnouncementController.java @@ -165,7 +165,7 @@ public class AnnouncementController { String imageFiles = "/rdata/gz_real_name/" + mkdirsName + "/"; // linux 系统路径 String os = System.getProperty("os.name"); if (os.toLowerCase().startsWith("win")) { - imageFiles = "E://files/" + mkdirsName; + imageFiles = "F://files/" + mkdirsName; } String path = imageFiles + "/" + DateTimeHelper.getYear(new Date()) + "/" + DateTimeHelper.getMonth(new Date()) + "/" + fileName; diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/ownPerson/controller/PaySlipController.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/ownPerson/controller/PaySlipController.java index 658bffb..fad3259 100644 --- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/ownPerson/controller/PaySlipController.java +++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/ownPerson/controller/PaySlipController.java @@ -46,7 +46,7 @@ public class PaySlipController { @Resource(name = "PaySlipDao") private PaySlipDao dao; public static Logger logger = LoggerFactory.getLogger(PaySlipController.class); - @GetMapping + @PostMapping @ApiOperation(value = "自有人员-工资条信息-列表") @PreAuthorize("hasAuthority('sys:workerOn:query')") public PageTableResponse listList(PageTableRequest request) { diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/ownPerson/controller/WorkerController.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/ownPerson/controller/WorkerController.java index f89fcef..3dff428 100644 --- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/ownPerson/controller/WorkerController.java +++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/ownPerson/controller/WorkerController.java @@ -105,7 +105,7 @@ public class WorkerController{ @Resource(name = "userDao") private UserDao userdao; - @GetMapping + @PostMapping("list") @ApiOperation(value = "自有人员-在职信息-列表") @PreAuthorize("hasAuthority('sys:workerOn:query')") public PageTableResponse listList(PageTableRequest request) { diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/ownPerson/controller/WorkerDepartController.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/ownPerson/controller/WorkerDepartController.java index 318f82a..657930b 100644 --- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/ownPerson/controller/WorkerDepartController.java +++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/ownPerson/controller/WorkerDepartController.java @@ -51,7 +51,7 @@ public class WorkerDepartController { @Resource(name = "WorkerDao") private WorkerDao workerDao; - @GetMapping + @PostMapping @ApiOperation(value = "自有人员-离职信息列表") @PreAuthorize("hasAuthority('sys:workerDepart:query')") public PageTableResponse listList(PageTableRequest request) { diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/person/controller/SalaryAppealController.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/person/controller/SalaryAppealController.java index 5ea90d6..0ad1c24 100644 --- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/person/controller/SalaryAppealController.java +++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/person/controller/SalaryAppealController.java @@ -14,10 +14,10 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; -@SuppressWarnings("AlibabaLowerCamelCaseVariableNaming") @Api(tags = "欠薪申诉") @RestController @RequestMapping("/salaryAppeal") @@ -29,33 +29,38 @@ public class SalaryAppealController { @Resource(name = "ProjectService") private com.bonus.hnrn.rnbmw.basic.service.ProjectService ProjectService; - @GetMapping + @PostMapping @ApiOperation(value = "欠薪申诉列表") @PreAuthorize("hasAuthority('sys:salaryAppeal:query')") public PageTableResponse listPayroll(PageTableRequest request) { - SysUser user= UserUtil.getLoginUser(); - request.getParams().put("orgId",user.getOrgId()); - request.getParams().put("subId",user.getSubId()); - request.getParams().put("companyId",user.getCompanyId()); - request.getParams().put("roleLevel",user.getRoleLevel()); - return new PageTableHandler(new PageTableHandler.CountHandler() { - @Override - public int count(PageTableRequest request) { - //String orgId = UserUtil.getLoginUser().getOrgId(); - //String companyId = ProjectService.getCompanyId(orgId); - //request.getParams().put("companyId", companyId); - return service.getAppealListCount(request.getParams()); - } - }, new PageTableHandler.ListHandler() { - @Override - public List list(PageTableRequest request) { - //String orgId = UserUtil.getLoginUser().getOrgId(); - // String companyId = ProjectService.getCompanyId(orgId); - //request.getParams().put("companyId", companyId); - List list = service.getAppealList(request.getParams(), request.getOffset(), request.getLimit()); - return list; - } - }).handle(request); + try{ + SysUser user= UserUtil.getLoginUser(); + request.getParams().put("orgId",user.getOrgId()); + request.getParams().put("subId",user.getSubId()); + request.getParams().put("companyId",user.getCompanyId()); + request.getParams().put("roleLevel",user.getRoleLevel()); + return new PageTableHandler(new PageTableHandler.CountHandler() { + @Override + public int count(PageTableRequest request) { + //String orgId = UserUtil.getLoginUser().getOrgId(); + //String companyId = ProjectService.getCompanyId(orgId); + //request.getParams().put("companyId", companyId); + return service.getAppealListCount(request.getParams()); + } + }, new PageTableHandler.ListHandler() { + @Override + public List list(PageTableRequest request) { + //String orgId = UserUtil.getLoginUser().getOrgId(); + // String companyId = ProjectService.getCompanyId(orgId); + //request.getParams().put("companyId", companyId); + List list = service.getAppealList(request.getParams(), request.getOffset(), request.getLimit()); + return list; + } + }).handle(request); + }catch (Exception e){ + e.printStackTrace(); + } + return new PageTableResponse(0,0,new ArrayList<>()); } @PostMapping("getPhoto") diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/push/controller/AttController.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/push/controller/AttController.java index af6f0cf..c0a0f37 100644 --- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/push/controller/AttController.java +++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/push/controller/AttController.java @@ -21,7 +21,6 @@ import java.util.List; * 互联网公司接入考勤数据 */ @RestController -@CrossOrigin @RequestMapping("/attendance/") public class AttController { @@ -31,7 +30,7 @@ public class AttController { private AttService attService; @RequestMapping(value="insertAttendanceData",method = RequestMethod.POST) - @CrossOrigin + //@CrossOrigin public String insertAttendanceData(@RequestBody String params) throws Exception { List list = new ArrayList<>(); // String params = StringHelper.fetchPostByTextPlain(request); diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/salaryfile/controller/AnalysisWagesController.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/salaryfile/controller/AnalysisWagesController.java index c2a6127..e723042 100644 --- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/salaryfile/controller/AnalysisWagesController.java +++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/salaryfile/controller/AnalysisWagesController.java @@ -1,19 +1,17 @@ package com.bonus.hnrn.rnbmw.salaryfile.controller; -import com.bonus.hnrn.rnbmw.manager.model.SysUser; import com.bonus.hnrn.rnbmw.manager.table.PageTableHandler; import com.bonus.hnrn.rnbmw.manager.table.PageTableRequest; import com.bonus.hnrn.rnbmw.manager.table.PageTableResponse; -import com.bonus.hnrn.rnbmw.manager.utils.UserUtil; import com.bonus.hnrn.rnbmw.salaryfile.entity.AnalysisWagesBean; -import com.bonus.hnrn.rnbmw.salaryfile.entity.SalaryCheckBean; import com.bonus.hnrn.rnbmw.salaryfile.service.AnalysisWagesService; -import com.bonus.hnrn.rnbmw.salaryfile.service.SalaryCheckService; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; import java.util.List; /** @@ -25,10 +23,11 @@ import java.util.List; * @date 2025/8/15 * @description 核定工资分析 */ -@CrossOrigin +//@CrossOrigin @RestController @RequestMapping("/analysisWages") @RequiredArgsConstructor +@Slf4j public class AnalysisWagesController { @Resource(name = "analysisWagesService") @@ -63,19 +62,26 @@ public class AnalysisWagesController { */ @PostMapping("getProList") public PageTableResponse getProList(PageTableRequest request) { - return new PageTableHandler(new PageTableHandler.CountHandler() { - @Override - public int count(PageTableRequest request) { - return analysisWagesService.getProListNum(request.getParams()); - } - }, new PageTableHandler.ListHandler() { + try{ + return new PageTableHandler(new PageTableHandler.CountHandler() { + @Override + public int count(PageTableRequest request) { + return analysisWagesService.getProListNum(request.getParams()); + } + }, new PageTableHandler.ListHandler() { - @Override - public List list(PageTableRequest request) { - List list = analysisWagesService.getProList(request.getParams(), request.getOffset(), request.getLimit()); - return list; - } - }).handle(request); + @Override + public List list(PageTableRequest request) { + List list = analysisWagesService.getProList(request.getParams(), request.getOffset(), request.getLimit()); + return list; + } + }).handle(request); + }catch(Exception e){ + log.error(e.toString(),e); + e.printStackTrace(); + + } + return new PageTableResponse(0,0,new ArrayList<>()); } /** diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/salaryfile/controller/SalaryCheckController.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/salaryfile/controller/SalaryCheckController.java index 795a620..8305e00 100644 --- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/salaryfile/controller/SalaryCheckController.java +++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/salaryfile/controller/SalaryCheckController.java @@ -29,7 +29,7 @@ import java.util.Map; * * @author jsk */ -@CrossOrigin +//@CrossOrigin @RestController @RequestMapping("/salaryCheck") @RequiredArgsConstructor diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/salaryfile/controller/SalaryFileController.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/salaryfile/controller/SalaryFileController.java index e50c155..4d3349c 100644 --- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/salaryfile/controller/SalaryFileController.java +++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/salaryfile/controller/SalaryFileController.java @@ -18,7 +18,7 @@ import java.util.List; * * @author zys */ -@CrossOrigin +//@CrossOrigin @RestController @RequestMapping("/salaryFile") @RequiredArgsConstructor diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/salaryfile/service/SalaryCheckServiceImpl.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/salaryfile/service/SalaryCheckServiceImpl.java index 32208fa..3819af8 100644 --- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/salaryfile/service/SalaryCheckServiceImpl.java +++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/salaryfile/service/SalaryCheckServiceImpl.java @@ -21,6 +21,7 @@ import com.bonus.hnrn.rnbmw.salaryfile.dao.SalaryCheckDao; import com.bonus.hnrn.rnbmw.salaryfile.entity.*; import com.bonus.hnrn.rnbmw.util.WebConfig; import com.bonus.hnrn.rnbmw.util.excel.StringUtils; +import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.usermodel.*; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -55,6 +56,7 @@ import java.util.zip.ZipOutputStream; * @author zys */ @Service("salaryCheckService") +@Slf4j public class SalaryCheckServiceImpl implements SalaryCheckService { /** @@ -353,25 +355,30 @@ public class SalaryCheckServiceImpl implements SalaryCheckService { @Override public PageTableResponse getList(PageTableRequest request) { - if (request.getParams().get("state") != null && request.getParams().get("state") != "") { - List stateList = Arrays.asList(request.getParams().get("state").toString().split(",")); - request.getParams().put("stateList", stateList); - } else { - request.getParams().put("stateList", null); - } - return new PageTableHandler(new PageTableHandler.CountHandler() { - @Override - public int count(PageTableRequest request) { - return salaryCheckDao.getListNum(request.getParams()); - } - }, new PageTableHandler.ListHandler() { + try{ + if (request.getParams().get("state") != null && request.getParams().get("state") != "") { + List stateList = Arrays.asList(request.getParams().get("state").toString().split(",")); + request.getParams().put("stateList", stateList); + } else { + request.getParams().put("stateList", null); + } + return new PageTableHandler(new PageTableHandler.CountHandler() { + @Override + public int count(PageTableRequest request) { + return salaryCheckDao.getListNum(request.getParams()); + } + }, new PageTableHandler.ListHandler() { - @Override - public List list(PageTableRequest request) { - List list = salaryCheckDao.getList(request.getParams(), request.getOffset(), request.getLimit()); - return list; - } - }).handle(request); + @Override + public List list(PageTableRequest request) { + List list = salaryCheckDao.getList(request.getParams(), request.getOffset(), request.getLimit()); + return list; + } + }).handle(request); + }catch (Exception e){ + log.error(e.toString(),e); + } + return new PageTableResponse(0,0,new ArrayList<>()); } @Override diff --git a/HnRealNameBmw/src/main/resources/application.yml b/HnRealNameBmw/src/main/resources/application.yml deleted file mode 100644 index f545ca4..0000000 --- a/HnRealNameBmw/src/main/resources/application.yml +++ /dev/null @@ -1,93 +0,0 @@ -server: - port: 1918 - tomcat: - connection-timeout: 10 - uri-encoding: UTF-8 - max-http-header-size: 102400 - multipart: - max-file-size: 20MB - max-request-size: 20MB - maxFileSize: 10Mb - maxRequestSize: 10Mb -# 数据源配置 -spring: - application: - name: bonus-realname - profiles: - # 环境配置 - active: dev - cloud: - nacos: - config: - server-addr: 192.168.0.14:18848 - namespace: e0337b55-080d-456e-8449-46d68dceee5b - # 配置文件格式 - file-extension: yml - group: DEFAULT_GROUP - # nacos.core.auth.enabled=true 开启权限验证 - discovery: - # nacos地址 - server-addr: 192.168.0.14:18848 - namespace: e0337b55-080d-456e-8449-46d68dceee5b - - - - datasource: - driverClassName: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://192.168.0.14:4418/hn_real_name_test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&useSSL=false - username: root - password: Bonus@admin123! - max-idle: 10 - max-wait: 60000 - min-idle: 5 - initial-size: 5 - redis: - host: 192.168.0.14 - port: 2004 - password: Plzbns@Redis123! - -# mybatis配置 -mybatis: - mapper-locations: classpath:mappers/*/*Mapper.xml - type-aliases-package: com.bonus.hnrn.rnbmw.*.entity - -logging: - level: - root: INFO - pattern: - console: "%d{yyyy-MM-dd HH:mm:ss} - %msg%n" -log: - level: - root: info - my: debug - file: logs/sys-back.log - maxsize: 30M - - -files: - path: /rdata/gz_real_name/ - upload_path: /rdata/gz_real_name -token: - expire: - seconds: 7200 -loginCode: - expiration: 3 - prefix: login_code -jasypt: - encryptor: - password: Encrypt - -oss: - # endpoint: http://oss-ah-2-a.ops.sgmc.sgcc.com.cn/ - endpoint: oss-cn-beijing.aliyuncs.com - accessKeyId: LTAI5tRkHKiF1GJiwK5dGFRj - accessKeySecret: jXewIIKO0ZmuuQedpN728M7bMFTNBO - bucketName: lsun - -cors: - allowed-origins: http://localhost:19118,http://127.0.0.1:19118,http://192.168.0.14:19118,http://116.63.172.211:1918 - allowed-methods: GET,POST,PUT,DELETE,OPTIONS - allowed-headers: Content-Type,X-Requested-With,Token,Authorization,X-Custom-Header - allow-credentials: true - max-age: 3600 - diff --git a/HnRealNameBmw/src/main/resources/mappers/basic/IntegratedQueryMapper.xml b/HnRealNameBmw/src/main/resources/mappers/basic/IntegratedQueryMapper.xml index 69361ac..21a33ee 100644 --- a/HnRealNameBmw/src/main/resources/mappers/basic/IntegratedQueryMapper.xml +++ b/HnRealNameBmw/src/main/resources/mappers/basic/IntegratedQueryMapper.xml @@ -17,7 +17,7 @@ LEFT JOIN bm_outstanding_team bot on bot.foreman_idnumber = bwr.ID_NUMBER and bot.IS_ACTIVE = '1' LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER WHERE bp.IS_ACTIVE = '1' and bs.id is not null - + AND bp.company_id = #{params.companyId} @@ -49,7 +49,7 @@ LEFT JOIN bm_outstanding_team bot on bot.foreman_idnumber = bwr.ID_NUMBER and bot.IS_ACTIVE = '1' LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER WHERE bp.IS_ACTIVE = '1' and bs.id is not null - + AND bp.company_id = #{params.companyId} @@ -72,7 +72,7 @@ LEFT JOIN bm_sub_team bst on bst.SUB_ID = bs.ID and bst.IS_ACTIVE = '1' LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER LEFT JOIN bm_worker_record bwr2 ON bwr2.team_id = bst.id - + AND bwr2.project_id = #{params.proId} @@ -107,7 +107,7 @@ LEFT JOIN bm_sub_team bst on bst.SUB_ID = bs.ID and bst.IS_ACTIVE = '1' LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER LEFT JOIN bm_worker_record bwr2 ON bwr2.team_id = bst.id - + AND bwr2.project_id = #{params.proId} @@ -116,7 +116,7 @@ LEFT JOIN bm_outstanding_team bot on bot.foreman_idnumber = bwr.ID_NUMBER and bot.IS_ACTIVE = '1' WHERE bp.IS_ACTIVE = '1' - + AND bp.id = #{params.proId} @@ -137,7 +137,7 @@ select COUNT(1) from ( LEFT JOIN bm_sub_team bst on bst.SUB_ID = bs.ID and bst.IS_ACTIVE = '1' LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER LEFT JOIN bm_worker_record bwr2 ON bwr2.team_id = bst.id - + AND bwr2.project_id = #{params.proId} @@ -149,7 +149,7 @@ select COUNT(1) from ( and bwr2.IS_ACTIVE = '1' LEFT JOIN bm_outstanding_team bot on bot.foreman_idnumber = bwr.ID_NUMBER and bot.IS_ACTIVE = '1' WHERE bp.IS_ACTIVE = '1' and bst.`NAME` is not null - + AND bp.id = #{params.proId} @@ -185,7 +185,7 @@ select COUNT(1) from ( LEFT JOIN bm_sub_team bst on bst.SUB_ID = bs.ID and bst.IS_ACTIVE = '1' LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER LEFT JOIN bm_worker_record bwr2 ON bwr2.team_id = bst.id and bst.`NAME` is not null - + AND bwr2.project_id = #{params.proId} @@ -197,7 +197,7 @@ select COUNT(1) from ( and bwr2.IS_ACTIVE = '1' LEFT JOIN bm_outstanding_team bot on bot.foreman_idnumber = bwr2.ID_NUMBER and bot.IS_ACTIVE = '1' WHERE bp.IS_ACTIVE = '1' and bst.`NAME` is not null - + AND bp.id = #{params.proId} @@ -240,7 +240,7 @@ select COUNT(1) from ( WHERE bs.IS_ACTIVE = '1' AND bwr.ein_status = '1' - + AND bp.id = #{params.proId} @@ -284,7 +284,7 @@ select COUNT(1) from ( WHERE bs.IS_ACTIVE = '1' AND bwr.ein_status = '1' - + AND bp.id = #{params.proId} @@ -324,7 +324,7 @@ select COUNT(1) from ( LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER WHERE bs.IS_ACTIVE = '1' - + AND bs.id = #{params.subId} @@ -357,7 +357,7 @@ select COUNT(1) from ( LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER WHERE bs.IS_ACTIVE = '1' - + AND bs.id = #{params.subId} @@ -384,7 +384,7 @@ select COUNT(1) from ( LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER WHERE bs.IS_ACTIVE = '1' - + AND bs.id = #{params.subId} @@ -418,7 +418,7 @@ select COUNT(1) from ( LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER WHERE bs.IS_ACTIVE = '1' - + AND bs.id = #{params.subId} @@ -445,7 +445,7 @@ select COUNT(1) from ( LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER WHERE bs.IS_ACTIVE = '1' - + AND bs.id = #{params.subId} @@ -489,7 +489,7 @@ select COUNT(1) from ( LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER WHERE bs.IS_ACTIVE = '1' - + AND bs.id = #{params.subId} @@ -525,7 +525,7 @@ select COUNT(1) from ( WHERE bs.IS_ACTIVE = '1' AND bwr.ein_status = '1' - + AND bp.id = #{params.proId} @@ -568,7 +568,7 @@ select COUNT(1) from ( WHERE bs.IS_ACTIVE = '1' AND bwr.ein_status = '1' - + AND bp.id = #{params.proId} diff --git a/HnRealNameBmw/src/main/resources/mappers/basic/SalaryPaymentAndAttendanceRecordsMapper.xml b/HnRealNameBmw/src/main/resources/mappers/basic/SalaryPaymentAndAttendanceRecordsMapper.xml index a72f1a0..67644e5 100644 --- a/HnRealNameBmw/src/main/resources/mappers/basic/SalaryPaymentAndAttendanceRecordsMapper.xml +++ b/HnRealNameBmw/src/main/resources/mappers/basic/SalaryPaymentAndAttendanceRecordsMapper.xml @@ -22,7 +22,7 @@ WHERE jr.is_active=1 and jr.state=5 - + and jr.`month` BETWEEN #{params.startMonth} AND #{params.endMonth} @@ -61,7 +61,7 @@ WHERE jr.is_active=1 and jr.state=5 - + and jr.`month` BETWEEN #{params.startMonth} AND #{params.endMonth} diff --git a/HnRealNameBmw/src/main/resources/mappers/basic/SubContractorMapper.xml b/HnRealNameBmw/src/main/resources/mappers/basic/SubContractorMapper.xml index 4d26c5b..e5b997e 100644 --- a/HnRealNameBmw/src/main/resources/mappers/basic/SubContractorMapper.xml +++ b/HnRealNameBmw/src/main/resources/mappers/basic/SubContractorMapper.xml @@ -39,7 +39,7 @@ LEFT JOIN pm_company pc ON pc.ID = bs.COMPANY_ID where bs.IS_ACTIVE = 1 - + AND bs.SUB_NAME LIKE concat ('%',#{params.subName},'%') @@ -62,7 +62,7 @@ SELECT COUNT(*) FROM bm_subcontractor bs LEFT JOIN sys_user suser on suser.ID = bs.UPLOADER where bs.IS_ACTIVE = 1 - + AND bs.COMPANY_ID = #{params.companyId} diff --git a/HnRealNameBmw/src/main/resources/mappers/basic/SubPrincipalManagementMapper.xml b/HnRealNameBmw/src/main/resources/mappers/basic/SubPrincipalManagementMapper.xml index 60c10ca..be6b10d 100644 --- a/HnRealNameBmw/src/main/resources/mappers/basic/SubPrincipalManagementMapper.xml +++ b/HnRealNameBmw/src/main/resources/mappers/basic/SubPrincipalManagementMapper.xml @@ -32,7 +32,7 @@ LEFT JOIN bm_subcontractor bs ON bspm.SUB_ID = bs.ID WHERE bspm.IS_ACTIVE = '1' - + AND bp.id = #{params.proId} @@ -62,7 +62,7 @@ LEFT JOIN bm_project bp ON bspm.PRO_ID = bp.ID LEFT JOIN bm_subcontractor bs ON bspm.SUB_ID = bs.ID WHERE bspm.IS_ACTIVE = '1' - + AND bp.id = #{params.proId} diff --git a/HnRealNameBmw/src/main/resources/mappers/basic/SuperTeamListMapper.xml b/HnRealNameBmw/src/main/resources/mappers/basic/SuperTeamListMapper.xml index 1605b4e..0b81619 100644 --- a/HnRealNameBmw/src/main/resources/mappers/basic/SuperTeamListMapper.xml +++ b/HnRealNameBmw/src/main/resources/mappers/basic/SuperTeamListMapper.xml @@ -31,7 +31,7 @@ FROM `bm_outstanding_team` bot WHERE bot.IS_ACTIVE = '1' - + AND bot.company_id = #{params.companyId} @@ -62,7 +62,7 @@ FROM `bm_outstanding_team` bot WHERE bot.IS_ACTIVE = '1' - + AND bot.company_id = #{params.companyId} diff --git a/HnRealNameBmw/src/main/resources/mappers/jobType/JobTypeMapper.xml b/HnRealNameBmw/src/main/resources/mappers/jobType/JobTypeMapper.xml index 53f158b..9dd8247 100644 --- a/HnRealNameBmw/src/main/resources/mappers/jobType/JobTypeMapper.xml +++ b/HnRealNameBmw/src/main/resources/mappers/jobType/JobTypeMapper.xml @@ -8,7 +8,7 @@ SELECT count(1) FROM sys_dic_detail WHERE dic_type = 3 AND IS_ACTIVE = 1 - + and instr(name,#{params.keyWord}) > 0 @@ -22,7 +22,7 @@ SELECT id,name , job_type as jobType FROM sys_dic_detail WHERE dic_type = 3 AND IS_ACTIVE = 1 - + and instr(name,#{params.keyWord}) > 0 diff --git a/HnRealNameBmw/src/main/resources/mappers/person/CertificateMapper.xml b/HnRealNameBmw/src/main/resources/mappers/person/CertificateMapper.xml index 9504a28..03d7147 100644 --- a/HnRealNameBmw/src/main/resources/mappers/person/CertificateMapper.xml +++ b/HnRealNameBmw/src/main/resources/mappers/person/CertificateMapper.xml @@ -119,7 +119,7 @@ FROM `bm_certificate_type` WHERE is_active = '1' - + and instr(name,#{params.keyWord}) > 0 @@ -142,7 +142,7 @@ FROM `bm_certificate_type` WHERE is_active = '1' - + and instr(name,#{params.keyWord}) > 0 @@ -174,7 +174,7 @@ FROM bm_certificate_type bct WHERE bct.is_active = '1' - + and instr(bct.`NAME`,#{params.keyWord}) > 0 @@ -192,7 +192,7 @@ bm_certificate_type bct LEFT JOIN bm_certificate_post bcp ON bcp.certificate_id = bct.id and bcp.post_id = #{params.postId} WHERE bct.is_active = '1' - + and instr(bct.`NAME`,#{params.keyWord}) > 0 @@ -248,7 +248,7 @@ AND bwc.IS_ACTIVE = '1' LEFT JOIN bm_certificate_type bct2 ON bwc.certificate_id = bct2.ID WHERE 1=1 - + and bp.company_id = #{params.companyId} @@ -301,7 +301,7 @@ AND bwc.IS_ACTIVE = '1' LEFT JOIN bm_certificate_type bct2 ON bwc.certificate_id = bct2.ID WHERE 1=1 - + and bp.company_id = #{params.companyId} @@ -416,7 +416,7 @@ LEFT JOIN bm_subcontractor bs on bwr.SUB_ID = bs.ID LEFT JOIN bm_sub_team bst ON bwr.TEAM_ID = bst.ID WHERE bwc.is_active = '1' - + and bp.company_id = #{params.companyId} @@ -441,7 +441,7 @@ ) a - + and a.remind = #{params.remind} @@ -486,7 +486,7 @@ LEFT JOIN bm_subcontractor bs on bwr.SUB_ID = bs.ID LEFT JOIN bm_sub_team bst ON bwr.TEAM_ID = bst.ID WHERE bwc.is_active = '1' - + and bp.company_id = #{params.companyId} @@ -512,7 +512,7 @@ )yyy ) a - + and a.remind = #{params.remind} @@ -563,7 +563,7 @@ LEFT JOIN bm_subcontractor bs on bwr.SUB_ID = bs.ID LEFT JOIN bm_sub_team bst ON bst.ID = bwr.TEAM_ID WHERE bwc.is_active = '1' - + and bp.company_id = #{params.companyId} @@ -589,7 +589,7 @@ )yyy ) a - + and a.remind = #{params.remind} @@ -635,7 +635,7 @@ LEFT JOIN bm_subcontractor bs on bwr.SUB_ID = bs.ID LEFT JOIN bm_sub_team bst ON bwr.TEAM_ID = bst.ID WHERE bwc.is_active = '1' - + and bp.company_id = #{params.companyId} @@ -661,7 +661,7 @@ )yyy ) a - + and a.remind = #{params.remind} @@ -769,7 +769,7 @@ LEFT JOIN bm_subcontractor bs on bwr.SUB_ID = bs.ID LEFT JOIN bm_sub_team bst ON bwr.TEAM_ID = bst.ID WHERE bwc.is_active = '1' - + and bp.company_id = #{params.companyId} @@ -795,7 +795,7 @@ )yyy ) a - + and a.remind = #{params.remind} diff --git a/HnRealNameBmw/src/main/resources/mappers/person/ContractMapper.xml b/HnRealNameBmw/src/main/resources/mappers/person/ContractMapper.xml index af531a9..714f210 100644 --- a/HnRealNameBmw/src/main/resources/mappers/person/ContractMapper.xml +++ b/HnRealNameBmw/src/main/resources/mappers/person/ContractMapper.xml @@ -96,7 +96,7 @@ AND bp.id in (SELECT pro_id FROM bm_sub_pro_relation WHERE sub_id = #{params.subId}) - + @@ -490,7 +490,7 @@ LEFT JOIN bm_project bp ON bp.id = bwc.pro_id left join bm_subcontractor bs on bs.id =bwc.sub_id where bwr.IS_ACTIVE = '1' - + @@ -630,7 +630,7 @@ AND bp.id in (SELECT pro_id FROM bm_sub_pro_relation WHERE sub_id = #{params.subId}) - + and bp.id = #{params.proId} @@ -650,7 +650,7 @@ GROUP BY aa.ID_NUMBER ) r - + and r.stauts = #{params.contractStatus} diff --git a/HnRealNameBmw/src/main/resources/mappers/person/ContractModeMapper.xml b/HnRealNameBmw/src/main/resources/mappers/person/ContractModeMapper.xml index 8b4bf67..1c725dc 100644 --- a/HnRealNameBmw/src/main/resources/mappers/person/ContractModeMapper.xml +++ b/HnRealNameBmw/src/main/resources/mappers/person/ContractModeMapper.xml @@ -22,7 +22,7 @@ left join pm_company pc on pc.ID = po.company_id LEFT JOIN sys_user su on su.ID = bci.creator where bci.is_active = '1' - + diff --git a/HnRealNameBmw/src/main/resources/mappers/person/WhiteListMapper.xml b/HnRealNameBmw/src/main/resources/mappers/person/WhiteListMapper.xml index 0216b21..3ab5221 100644 --- a/HnRealNameBmw/src/main/resources/mappers/person/WhiteListMapper.xml +++ b/HnRealNameBmw/src/main/resources/mappers/person/WhiteListMapper.xml @@ -24,7 +24,7 @@ FROM v_white_worker vww - + and vww.company_id = #{params.companyId} @@ -55,7 +55,7 @@ FROM v_white_worker vww - + and vww.company_id = #{params.orgId} diff --git a/HnRealNameBmw/src/main/resources/mappers/personnelWarning/AttentionWarningMapper.xml b/HnRealNameBmw/src/main/resources/mappers/personnelWarning/AttentionWarningMapper.xml index 78681ea..7af6e5e 100644 --- a/HnRealNameBmw/src/main/resources/mappers/personnelWarning/AttentionWarningMapper.xml +++ b/HnRealNameBmw/src/main/resources/mappers/personnelWarning/AttentionWarningMapper.xml @@ -11,7 +11,7 @@ left join sys_dic_detail sdd ON bwr.POST_ID = sdd.id left join bm_project bp on bwr.PROJECT_ID = bp.ID WHERE bwr.IS_ACTIVE = 1 and bwr.examine_status = '1' AND ( bw.ETHNIC = '彝' OR bwr.ID_NUMBER LIKE '5134%') - + and bw.name like concat('%',#{params.name},'%') @@ -40,7 +40,7 @@ left join sys_dic_detail sdd ON bwr.POST_ID = sdd.id left join bm_project bp on bwr.PROJECT_ID = bp.ID where bwr.IS_ACTIVE='1' and bwr.examine_status = '1' AND ( bw.ETHNIC = '彝' OR bwr.ID_NUMBER LIKE '5134%') - + and bw.name like concat('%',#{params.name},'%') @@ -73,7 +73,7 @@ left join sys_dic_detail sdd ON bwr.POST_ID = sdd.id left join bm_project bp on bwr.PROJECT_ID = bp.ID where bwr.IS_ACTIVE='1' and bw.ETHNIC= '彝' - + and bw.name like concat('%',#{params.name},'%') diff --git a/HnRealNameBmw/src/main/resources/mappers/personnelWarning/SpecialWarningMapper.xml b/HnRealNameBmw/src/main/resources/mappers/personnelWarning/SpecialWarningMapper.xml index b46f014..0209369 100644 --- a/HnRealNameBmw/src/main/resources/mappers/personnelWarning/SpecialWarningMapper.xml +++ b/HnRealNameBmw/src/main/resources/mappers/personnelWarning/SpecialWarningMapper.xml @@ -11,7 +11,7 @@ left join sys_dic_detail sdd ON bwr.POST_ID = sdd.id left join bm_project bp on bwr.PROJECT_ID = bp.ID where bwr.is_active='1' and bw.sex='女' and sdd.job_type= 2 - + and bw.name like concat('%',#{params.name},'%') @@ -39,7 +39,7 @@ left join sys_dic_detail sdd ON bwr.POST_ID = sdd.id left join bm_project bp on bwr.PROJECT_ID = bp.ID where bwr.is_active='1' and bw.sex='女' and sdd.job_type= 2 and bwr.examine_status='1' - + and bw.name like concat('%',#{params.name},'%') @@ -70,7 +70,7 @@ left join sys_dic_detail sdd ON bwr.POST_ID = sdd.id left join bm_project bp on bwr.PROJECT_ID = bp.ID where bwr.is_active='1' and bw.sex='女' and sdd.job_type= 2 - + and bw.name like concat('%',#{params.name},'%') diff --git a/HnRealNameBmw/src/main/resources/mappers/salaryfile/AnalysisWagesMapper.xml b/HnRealNameBmw/src/main/resources/mappers/salaryfile/AnalysisWagesMapper.xml index 3f54a14..94092ee 100644 --- a/HnRealNameBmw/src/main/resources/mappers/salaryfile/AnalysisWagesMapper.xml +++ b/HnRealNameBmw/src/main/resources/mappers/salaryfile/AnalysisWagesMapper.xml @@ -30,7 +30,7 @@ jr.is_active = 1 AND jr.state = 5 AND bp.is_active = 1 - + AND bp.id = #{params.proId} @@ -73,7 +73,7 @@ jr.is_active = 1 AND jr.state = 5 AND bp.is_active = 1 - + AND bp.id = #{params.proId} @@ -119,7 +119,7 @@ AND jcp.post = jwp.post -- 添加岗位匹配条件 WHERE jr.is_active = 1 AND jr.state = 5 - + AND bp.id = #{params.proId} @@ -206,7 +206,7 @@ WHERE jr.is_active = 1 AND jr.state = 5 - + AND bp.id = #{params.proId} @@ -247,7 +247,7 @@ WHERE jr.is_active = 1 AND jr.state = 5 - + AND bp.id = #{params.proId} @@ -288,7 +288,7 @@ WHERE jr.is_active = 1 AND jr.state = 5 - + AND bp.id = #{params.proId} @@ -400,7 +400,7 @@ WHERE jr.is_active = 1 AND jr.state = 5 - + AND bp.id = #{params.proId} @@ -468,7 +468,7 @@ WHERE jr.is_active = 1 AND jr.state = 5 - + AND bp.id = #{params.proId} @@ -535,7 +535,7 @@ WHERE jr.is_active = 1 AND jr.state = 5 - + AND bp.id = #{params.proId} diff --git a/HnRealNameBmw/src/main/resources/mappers/smallSubManagement/SmallSubPermissionMapper.xml b/HnRealNameBmw/src/main/resources/mappers/smallSubManagement/SmallSubPermissionMapper.xml index 25071ed..9b73ade 100644 --- a/HnRealNameBmw/src/main/resources/mappers/smallSubManagement/SmallSubPermissionMapper.xml +++ b/HnRealNameBmw/src/main/resources/mappers/smallSubManagement/SmallSubPermissionMapper.xml @@ -8,7 +8,7 @@ SELECT count(1) FROM bm_subcontractor WHERE IS_SUB = 1 AND IS_ACTIVE = 1 - + and instr(SUB_NAME,#{params.subName}) > 0 @@ -19,7 +19,7 @@ SELECT id as subId,SUB_NAME as subName FROM bm_subcontractor as bs WHERE IS_SUB = 1 AND IS_ACTIVE = 1 - + and bs.SUB_NAME like concat('%',#{params.subName},'%') diff --git a/HnRealNameBmw/src/main/resources/mappers/smallSubManagement/TotalProWorkloadManageMapper.xml b/HnRealNameBmw/src/main/resources/mappers/smallSubManagement/TotalProWorkloadManageMapper.xml index dc6b32b..0643968 100644 --- a/HnRealNameBmw/src/main/resources/mappers/smallSubManagement/TotalProWorkloadManageMapper.xml +++ b/HnRealNameBmw/src/main/resources/mappers/smallSubManagement/TotalProWorkloadManageMapper.xml @@ -10,7 +10,7 @@ left join bm_project bp on bls.pro_id=bp.ID left join sys_user su ON bls.created_user = su.ID WHERE bls.is_active='1' - + and bls.pro_id = #{params.proId} @@ -40,7 +40,7 @@ left join bm_project bp on bls.pro_id=bp.ID left join sys_user su ON bls.created_user = su.ID where bls.is_active='1' - + and bls.pro_id = #{params.proId} @@ -131,7 +131,7 @@ left join bm_project bp on bls.pro_id=bp.ID left join sys_user su ON bls.created_user = su.ID where bls.is_active='1' - + and bls.pro_id = #{params.proId} @@ -173,7 +173,7 @@ left join bm_project bp on bls.pro_id=bp.ID left join sys_user su ON bls.created_user = su.ID WHERE bls.is_active='1' - + and bls.pro_id = #{params.proId} @@ -194,7 +194,7 @@ LEFT JOIN bm_project bp ON bls.pro_id = bp.ID LEFT JOIN sys_user su ON bls.created_user = su.ID WHERE bls.is_active = '1' - + and bls.pro_id = #{params.proId} diff --git a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/core/config/BnsSecurityConfig.java b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/core/config/BnsSecurityConfig.java index ae363b0..85b0fed 100644 --- a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/core/config/BnsSecurityConfig.java +++ b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/core/config/BnsSecurityConfig.java @@ -1,169 +1,169 @@ -package com.bonus.hnrn.rnmw.core.config; - -import com.bonus.hnrn.rnmw.core.service.TokenService; -import com.bonus.hnrn.rnmw.core.service.UserServiceImp; -import com.bonus.hnrn.rnmw.core.util.ResponseUtil; -import com.bonus.hnrn.rnmw.core.entity.UserBean; -import com.bonus.hnrn.rnmw.core.util.StringHelper; -import com.bonus.hnrn.rnmw.core.util.Token; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; -import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.http.HttpStatus; -import org.springframework.security.authentication.BadCredentialsException; -import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; -import org.springframework.security.core.Authentication; -import org.springframework.security.core.AuthenticationException; -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; -import org.springframework.security.crypto.password.PasswordEncoder; -import org.springframework.security.web.AuthenticationEntryPoint; -import org.springframework.security.web.authentication.AuthenticationFailureHandler; -import org.springframework.security.web.authentication.AuthenticationSuccessHandler; -import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; -import org.springframework.security.web.authentication.logout.LogoutSuccessHandler; -import org.springframework.web.cors.CorsConfiguration; -import org.springframework.web.cors.CorsConfigurationSource; -import org.springframework.web.cors.UrlBasedCorsConfigurationSource; - -import javax.annotation.Resource; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; - -@EnableWebSecurity -public class BnsSecurityConfig extends WebSecurityConfigurerAdapter { - - @Autowired - private TokenFilter tokenFilter; - @Resource(name = "tokenService") - private TokenService tokenService; - @Autowired - private RedisTemplate redisTemplate; - - /* - * 解决跨域问题 - */ - @Bean - public CorsConfigurationSource corsConfigurationSource() { - CorsConfiguration configuration = new CorsConfiguration(); - // 包含前端实际请求源(http://localhost:63343) - configuration.setAllowedOrigins(Arrays.asList( - "http://localhost:8080", - "http://127.0.0.1:8080", - "http://localhost:63343" - )); - configuration.setAllowedMethods(Arrays.asList("GET", "POST", "PUT", "DELETE", "OPTIONS")); - configuration.setAllowedHeaders(Arrays.asList("authorization", "content-type", "x-auth-token")); - configuration.setExposedHeaders(Arrays.asList("x-auth-token")); - configuration.setAllowCredentials(true); - configuration.setMaxAge(3600L); - - UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); - source.registerCorsConfiguration("/**", configuration); - return source; - } - - /* - * 授权规则 - */ - @Override - protected void configure(HttpSecurity http) throws Exception { - http - // 配置跨域 - .cors().and() - // 彻底禁用CSRF - .csrf().disable() - // 关键:处理未认证请求(替代默认重定向) - .exceptionHandling() - .authenticationEntryPoint(new AuthenticationEntryPoint() { - @Override - public void commence(HttpServletRequest request, HttpServletResponse response, - AuthenticationException authException) throws IOException { - // 未认证时返回JSON提示,而非重定向 - Map map = new HashMap<>(); - map.put("status", "error"); - map.put("msg", "未登录或token已过期,请重新登录"); - ResponseUtil.responseJson(response, HttpStatus.UNAUTHORIZED.value(), map); - } - }) - .and() - // 授权配置 - .authorizeRequests() - .antMatchers("/login", "/logout", "/gzRealName/**").permitAll() // 匿名接口 - .anyRequest().authenticated() // 其他接口需认证 - .and() - // 表单登录配置(前后端分离可简化) - .formLogin() - .successHandler(new AuthenticationSuccessHandler() { - @Override - public void onAuthenticationSuccess(HttpServletRequest req, HttpServletResponse resp, Authentication authentication) throws IOException { - Map map = new HashMap<>(); - UserBean loginUser = (UserBean) authentication.getPrincipal(); - Token token = tokenService.saveToken(loginUser); - loginUser.setToken(token.getToken()); - if(StringHelper.isEmpty(loginUser.getProId())){ - loginUser.setProId("null"); - } - map.put("status","success"); - map.put("user",loginUser); - ResponseUtil.responseJson(resp, HttpStatus.OK.value(), map); - } - }) - .failureHandler(new AuthenticationFailureHandler() { - @Override - public void onAuthenticationFailure(HttpServletRequest req, HttpServletResponse resp, AuthenticationException exception) throws IOException { - Map map = new HashMap<>(); - String msg = exception instanceof BadCredentialsException ? "密码错误" : exception.getMessage(); - map.put("status","error"); - map.put("msg",msg); - ResponseUtil.responseJson(resp, HttpStatus.OK.value(), map); - } - }) - .permitAll() - .and() - // 退出登录配置 - .logout() - .logoutUrl("/logout") - .logoutSuccessHandler(new LogoutSuccessHandler() { - @Override - public void onLogoutSuccess(HttpServletRequest req, HttpServletResponse resp, Authentication authentication) throws IOException { - resp.setContentType("application/json;charset=utf-8"); - PrintWriter out = resp.getWriter(); - out.write("{\"status\":\"success\",\"msg\":\"logout success\"}"); - out.flush(); - } - }) - .permitAll() - .and() - // 禁用HTTP Basic认证 - .httpBasic().disable(); - - // 添加token过滤器(验证请求中的token) - http.addFilterBefore(tokenFilter, UsernamePasswordAuthenticationFilter.class); - } - - /* - * 认证规则 - */ - @Resource(name = "userService") - private UserServiceImp userServiceImp; - - @Bean - public PasswordEncoder passwordEncoder(){ - return new BCryptPasswordEncoder(); - } - - @Override - protected void configure(AuthenticationManagerBuilder auth) throws Exception { - auth.authenticationProvider(new DecodePwdAuthenticationProvider(userServiceImp)); - auth.userDetailsService(userServiceImp).passwordEncoder(new BCryptPasswordEncoder()); - } -} +//package com.bonus.hnrn.rnmw.core.config; +// +//import com.bonus.hnrn.rnmw.core.service.TokenService; +//import com.bonus.hnrn.rnmw.core.service.UserServiceImp; +//import com.bonus.hnrn.rnmw.core.util.ResponseUtil; +//import com.bonus.hnrn.rnmw.core.entity.UserBean; +//import com.bonus.hnrn.rnmw.core.util.StringHelper; +//import com.bonus.hnrn.rnmw.core.util.Token; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.context.annotation.Bean; +//import org.springframework.data.redis.core.RedisTemplate; +//import org.springframework.http.HttpStatus; +//import org.springframework.security.authentication.BadCredentialsException; +//import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; +//import org.springframework.security.config.annotation.web.builders.HttpSecurity; +//import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +//import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; +//import org.springframework.security.core.Authentication; +//import org.springframework.security.core.AuthenticationException; +//import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +//import org.springframework.security.crypto.password.PasswordEncoder; +//import org.springframework.security.web.AuthenticationEntryPoint; +//import org.springframework.security.web.authentication.AuthenticationFailureHandler; +//import org.springframework.security.web.authentication.AuthenticationSuccessHandler; +//import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; +//import org.springframework.security.web.authentication.logout.LogoutSuccessHandler; +//import org.springframework.web.cors.CorsConfiguration; +//import org.springframework.web.cors.CorsConfigurationSource; +//import org.springframework.web.cors.UrlBasedCorsConfigurationSource; +// +//import javax.annotation.Resource; +//import javax.servlet.ServletException; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import java.io.IOException; +//import java.io.PrintWriter; +//import java.util.Arrays; +//import java.util.HashMap; +//import java.util.Map; +// +////@EnableWebSecurity +//public class BnsSecurityConfig extends WebSecurityConfigurerAdapter { +// +// @Autowired +// private TokenFilter tokenFilter; +// @Resource(name = "tokenService") +// private TokenService tokenService; +// @Autowired +// private RedisTemplate redisTemplate; +// +// /* +// * 解决跨域问题 +// */ +// @Bean +// public CorsConfigurationSource corsConfigurationSource() { +// CorsConfiguration configuration = new CorsConfiguration(); +// // 包含前端实际请求源(http://localhost:63343) +// configuration.setAllowedOrigins(Arrays.asList( +// "http://localhost:8080", +// "http://127.0.0.1:8080", +// "http://localhost:63343" +// )); +// configuration.setAllowedMethods(Arrays.asList("GET", "POST", "PUT", "DELETE", "OPTIONS")); +// configuration.setAllowedHeaders(Arrays.asList("authorization", "content-type", "x-auth-token")); +// configuration.setExposedHeaders(Arrays.asList("x-auth-token")); +// configuration.setAllowCredentials(true); +// configuration.setMaxAge(3600L); +// +// UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); +// source.registerCorsConfiguration("/**", configuration); +// return source; +// } +// +// /* +// * 授权规则 +// */ +// @Override +// protected void configure(HttpSecurity http) throws Exception { +// http +// // 配置跨域 +// .cors().and() +// // 彻底禁用CSRF +// .csrf().disable() +// // 关键:处理未认证请求(替代默认重定向) +// .exceptionHandling() +// .authenticationEntryPoint(new AuthenticationEntryPoint() { +// @Override +// public void commence(HttpServletRequest request, HttpServletResponse response, +// AuthenticationException authException) throws IOException { +// // 未认证时返回JSON提示,而非重定向 +// Map map = new HashMap<>(); +// map.put("status", "error"); +// map.put("msg", "未登录或token已过期,请重新登录"); +// ResponseUtil.responseJson(response, HttpStatus.UNAUTHORIZED.value(), map); +// } +// }) +// .and() +// // 授权配置 +// .authorizeRequests() +// .antMatchers("/login", "/logout", "/gzRealName/**").permitAll() // 匿名接口 +// .anyRequest().authenticated() // 其他接口需认证 +// .and() +// // 表单登录配置(前后端分离可简化) +// .formLogin() +// .successHandler(new AuthenticationSuccessHandler() { +// @Override +// public void onAuthenticationSuccess(HttpServletRequest req, HttpServletResponse resp, Authentication authentication) throws IOException { +// Map map = new HashMap<>(); +// UserBean loginUser = (UserBean) authentication.getPrincipal(); +// Token token = tokenService.saveToken(loginUser); +// loginUser.setToken(token.getToken()); +// if(StringHelper.isEmpty(loginUser.getProId())){ +// loginUser.setProId("null"); +// } +// map.put("status","success"); +// map.put("user",loginUser); +// ResponseUtil.responseJson(resp, HttpStatus.OK.value(), map); +// } +// }) +// .failureHandler(new AuthenticationFailureHandler() { +// @Override +// public void onAuthenticationFailure(HttpServletRequest req, HttpServletResponse resp, AuthenticationException exception) throws IOException { +// Map map = new HashMap<>(); +// String msg = exception instanceof BadCredentialsException ? "密码错误" : exception.getMessage(); +// map.put("status","error"); +// map.put("msg",msg); +// ResponseUtil.responseJson(resp, HttpStatus.OK.value(), map); +// } +// }) +// .permitAll() +// .and() +// // 退出登录配置 +// .logout() +// .logoutUrl("/logout") +// .logoutSuccessHandler(new LogoutSuccessHandler() { +// @Override +// public void onLogoutSuccess(HttpServletRequest req, HttpServletResponse resp, Authentication authentication) throws IOException { +// resp.setContentType("application/json;charset=utf-8"); +// PrintWriter out = resp.getWriter(); +// out.write("{\"status\":\"success\",\"msg\":\"logout success\"}"); +// out.flush(); +// } +// }) +// .permitAll() +// .and() +// // 禁用HTTP Basic认证 +// .httpBasic().disable(); +// +// // 添加token过滤器(验证请求中的token) +// http.addFilterBefore(tokenFilter, UsernamePasswordAuthenticationFilter.class); +// } +// +// /* +// * 认证规则 +// */ +// @Resource(name = "userService") +// private UserServiceImp userServiceImp; +// +// @Bean +// public PasswordEncoder passwordEncoder(){ +// return new BCryptPasswordEncoder(); +// } +// +// @Override +// protected void configure(AuthenticationManagerBuilder auth) throws Exception { +// auth.authenticationProvider(new DecodePwdAuthenticationProvider(userServiceImp)); +// auth.userDetailsService(userServiceImp).passwordEncoder(new BCryptPasswordEncoder()); +// } +//} diff --git a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/core/controller/UserController.java b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/core/controller/UserController.java index 73f6c1a..d1e2fc1 100644 --- a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/core/controller/UserController.java +++ b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/core/controller/UserController.java @@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @RestController -@CrossOrigin +//@CrossOrigin @RequestMapping(value = "/user") public class UserController { diff --git a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/AttendanceController.java b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/AttendanceController.java index 307831f..2b46443 100644 --- a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/AttendanceController.java +++ b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/AttendanceController.java @@ -14,7 +14,7 @@ import javax.annotation.Resource; import java.util.*; @RestController -@CrossOrigin +//@CrossOrigin @RequestMapping("/attendance") public class AttendanceController { diff --git a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/CompanyController.java b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/CompanyController.java index 7f57843..7402090 100644 --- a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/CompanyController.java +++ b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/CompanyController.java @@ -12,7 +12,7 @@ import java.util.List; import java.util.Map; @RestController -@CrossOrigin +//@CrossOrigin @RequestMapping("/company") public class CompanyController { @@ -22,7 +22,7 @@ public class CompanyController { /** * 分公司/企业注册 */ - @CrossOrigin + //@CrossOrigin @PostMapping(value = "/addCompany") public AjaxRes addCompany(CompanyEntity bean) { AjaxRes ar = new AjaxRes(); @@ -48,7 +48,7 @@ public class CompanyController { /** * 获取单位类型 */ - @CrossOrigin + //@CrossOrigin @PostMapping(value = "/findOrgType") public AjaxRes findOrgType() { AjaxRes ar = new AjaxRes(); @@ -139,7 +139,7 @@ public class CompanyController { // /** // * 验证码 // */ -// @CrossOrigin +// //@CrossOrigin // @PostMapping(value = "/findMsg") // public AjaxRes findMsg(CompanyEntity bean, HttpServletRequest request) { // AjaxRes ar = new AjaxRes(); diff --git a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/ContractController.java b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/ContractController.java index fe48dda..c97d1b9 100644 --- a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/ContractController.java +++ b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/ContractController.java @@ -22,7 +22,7 @@ import java.util.List; import java.util.Map; @RestController -@CrossOrigin +//@CrossOrigin @RequestMapping("/contract") public class ContractController { diff --git a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/HomeController.java b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/HomeController.java index 6f6cc17..cafe6e2 100644 --- a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/HomeController.java +++ b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/HomeController.java @@ -10,7 +10,7 @@ import javax.annotation.Resource; import java.util.*; @RestController -@CrossOrigin +//@CrossOrigin @RequestMapping("/home") public class HomeController { @@ -21,7 +21,7 @@ public class HomeController { /** * 年龄结构 */ - @CrossOrigin + //@CrossOrigin @RequestMapping(value = "/getAgeStructureList", method = RequestMethod.POST) public AjaxRes getAgeStructureList(HomeEntity bean) { AjaxRes ar = new AjaxRes(); @@ -40,7 +40,7 @@ public class HomeController { /** * 工种统计 */ - @CrossOrigin + //@CrossOrigin @RequestMapping(value = "/getProList", method = RequestMethod.POST) public AjaxRes getProList(HomeEntity bean) { AjaxRes ar = new AjaxRes(); @@ -59,7 +59,7 @@ public class HomeController { /** * 出入场信息 */ - @CrossOrigin + //@CrossOrigin @RequestMapping(value = "/getWorkerRecordList", method = RequestMethod.POST) public AjaxRes getWorkerRecordList(HomeEntity bean) { AjaxRes ar = new AjaxRes(); @@ -88,7 +88,7 @@ public class HomeController { /** * 数据统计 */ - @CrossOrigin + //@CrossOrigin @RequestMapping(value = "/getWorkerPostList", method = RequestMethod.POST) public AjaxRes getWorkerPostList(HomeEntity bean) { AjaxRes ar = new AjaxRes(); @@ -131,7 +131,7 @@ public class HomeController { } return ar; } - @CrossOrigin + //@CrossOrigin @RequestMapping(value = "/getWorkerPostCardList", method = RequestMethod.POST) public AjaxRes getWorkerPostCardList(HomeEntity bean) { AjaxRes ar = new AjaxRes(); @@ -174,7 +174,7 @@ public class HomeController { /** * 红黑名单 */ - @CrossOrigin + //@CrossOrigin @RequestMapping(value = "/getWorkerRedBlackWhiteList", method = RequestMethod.POST) public AjaxRes getWorkerRedBlackWhiteList(HomeEntity bean) { AjaxRes ar = new AjaxRes(); @@ -195,7 +195,7 @@ public class HomeController { /** * 人员管理 */ - @CrossOrigin + //@CrossOrigin @RequestMapping(value = "/getWorkerList", method = RequestMethod.POST) public AjaxRes getWorkerList(HomeEntity bean) { AjaxRes ar = new AjaxRes(); @@ -244,7 +244,7 @@ public class HomeController { /** * 工资统计 */ - @CrossOrigin + //@CrossOrigin @RequestMapping(value = "/getSalaryList", method = RequestMethod.POST) public AjaxRes getSalaryList(HomeEntity bean) { AjaxRes ar = new AjaxRes(); @@ -273,7 +273,7 @@ public class HomeController { /** * 施工人脸甄别 */ - @CrossOrigin + //@CrossOrigin @RequestMapping(value = "/getWorkerAttendanceList", method = RequestMethod.POST) public AjaxRes getWorkerAttendanceList(HomeEntity bean) { AjaxRes ar = new AjaxRes(); @@ -290,7 +290,7 @@ public class HomeController { /** * 地图展示 */ - @CrossOrigin + //@CrossOrigin @RequestMapping(value = "/getMapList", method = RequestMethod.POST) public AjaxRes getMapList(HomeEntity bean) { AjaxRes ar = new AjaxRes(); @@ -309,7 +309,7 @@ public class HomeController { /** * 合同管理 */ - @CrossOrigin + //@CrossOrigin @RequestMapping(value = "/getContractList", method = RequestMethod.POST) public AjaxRes getContractList(HomeEntity bean) { AjaxRes ar = new AjaxRes(); diff --git a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/MapController.java b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/MapController.java index 3004ec4..ace3460 100644 --- a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/MapController.java +++ b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/MapController.java @@ -12,7 +12,7 @@ import java.util.List; import java.util.Map; @RestController -@CrossOrigin +//@CrossOrigin @RequestMapping("/map") public class MapController { diff --git a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/ProInfoController.java b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/ProInfoController.java index 5d40ee7..600668b 100644 --- a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/ProInfoController.java +++ b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/ProInfoController.java @@ -22,7 +22,7 @@ import java.util.List; import java.util.Map; @RestController -@CrossOrigin +//@CrossOrigin @RequestMapping("/proInfo") public class ProInfoController { diff --git a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/RedBlackController.java b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/RedBlackController.java index 09a7b15..7d4b637 100644 --- a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/RedBlackController.java +++ b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/RedBlackController.java @@ -21,7 +21,7 @@ import java.util.List; import java.util.Map; @RestController -@CrossOrigin +//@CrossOrigin @RequestMapping("/redBlack") public class RedBlackController { diff --git a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/SalaryController.java b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/SalaryController.java index 22a79ec..8e33257 100644 --- a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/SalaryController.java +++ b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/SalaryController.java @@ -21,7 +21,7 @@ import java.util.List; import java.util.Map; @RestController -@CrossOrigin +//@CrossOrigin @RequestMapping("/salary") public class SalaryController { diff --git a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/WorkerAttendanceController.java b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/WorkerAttendanceController.java index 1a4cc13..804fe08 100644 --- a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/WorkerAttendanceController.java +++ b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/WorkerAttendanceController.java @@ -24,7 +24,7 @@ import java.text.SimpleDateFormat; import java.util.*; @RestController -@CrossOrigin +//@CrossOrigin @RequestMapping("/workerAttendance") public class WorkerAttendanceController { diff --git a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/WorkerPeopleController.java b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/WorkerPeopleController.java index c518fb8..d73af09 100644 --- a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/WorkerPeopleController.java +++ b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/WorkerPeopleController.java @@ -21,7 +21,7 @@ import java.util.List; import java.util.Map; @RestController -@CrossOrigin +//@CrossOrigin @RequestMapping("/workerPeople") public class WorkerPeopleController { diff --git a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/WorkerPostController.java b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/WorkerPostController.java index 71a8d16..6b1b6ff 100644 --- a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/WorkerPostController.java +++ b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/WorkerPostController.java @@ -17,7 +17,7 @@ import java.util.List; import java.util.Map; @RestController -@CrossOrigin +//@CrossOrigin @RequestMapping("/workerPost") public class WorkerPostController { diff --git a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/WorkerRecordController.java b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/WorkerRecordController.java index 7c1104e..1741a22 100644 --- a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/WorkerRecordController.java +++ b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/person/controller/WorkerRecordController.java @@ -21,7 +21,7 @@ import java.util.List; import java.util.Map; @RestController -@CrossOrigin +//@CrossOrigin @RequestMapping("/workerRecord") public class WorkerRecordController { diff --git a/HnRealNameMw/src/main/resources/logback-boot.xml b/HnRealNameMw/src/main/resources/logback-boot.xml index c0fedca..e45cbb2 100644 --- a/HnRealNameMw/src/main/resources/logback-boot.xml +++ b/HnRealNameMw/src/main/resources/logback-boot.xml @@ -69,6 +69,7 @@ + @@ -79,6 +80,7 @@ + diff --git a/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/config/WebMvcConfig.java b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/config/WebMvcConfig.java index 3f26215..9b6cb0e 100644 --- a/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/config/WebMvcConfig.java +++ b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/config/WebMvcConfig.java @@ -9,7 +9,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.util.ResourceUtils; import org.springframework.web.method.support.HandlerMethodArgumentResolver; -import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** diff --git a/hn-gateway/bonus-gateway/src/main/java/com/bonus/gateway/config/CorsConfig.java b/hn-gateway/bonus-gateway/src/main/java/com/bonus/gateway/config/CorsConfig.java index e1537d7..104b3e8 100644 --- a/hn-gateway/bonus-gateway/src/main/java/com/bonus/gateway/config/CorsConfig.java +++ b/hn-gateway/bonus-gateway/src/main/java/com/bonus/gateway/config/CorsConfig.java @@ -19,10 +19,22 @@ public class CorsConfig { // 用于处理跨源资源共享(CORS, Cross-Origin Resource Sharing)的过滤器 public CorsWebFilter corsFilter() { //网关过滤器,写法基本是固定的 CorsConfiguration config = new CorsConfiguration(); + // 允许的前端域名(生产环境建议限定具体域名) + config.addAllowedOrigin("*"); + + // 允许携带Cookie(如需) config.setAllowCredentials(true); + // 允许所有请求方法(GET/POST/OPTIONS等) + config.addAllowedMethod("*"); + // 允许所有请求头(包括前端自定义头) + config.addAllowedHeader("*"); + // 预检请求缓存时间(减少OPTIONS请求次数) + config.setMaxAge(3600L); + config.setAllowedOrigins(Collections.singletonList("*")); config.setAllowedMethods(Collections.singletonList("*")); // 允许所有方法,也可以指定如GET, POST等具体方法 config.setAllowedHeaders(Collections.singletonList("*")); // 允许所有头信息,也可以指定具体头信息 + config.setMaxAge(3600L); UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration("/**", config); // 对所有路径应用此CORS配置 return new CorsWebFilter(source); diff --git a/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/manager/config/WebMvcConfig.java b/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/manager/config/WebMvcConfig.java index ee0b59b..cff39d1 100644 --- a/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/manager/config/WebMvcConfig.java +++ b/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/manager/config/WebMvcConfig.java @@ -6,7 +6,6 @@ import com.bonus.hn.bearing.capacity.screen.manager.table.PageTableArgumentResol import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.method.support.HandlerMethodArgumentResolver; -import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;