diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/basic/controller/SubContractorController.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/basic/controller/SubContractorController.java index 8022a16..f8a735b 100644 --- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/basic/controller/SubContractorController.java +++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/basic/controller/SubContractorController.java @@ -4,6 +4,7 @@ import com.bonus.hnrn.rnbmw.basic.entity.SubContractorBean; import com.bonus.hnrn.rnbmw.basic.service.ProjectService; import com.bonus.hnrn.rnbmw.basic.service.SubContractorService; import com.bonus.hnrn.rnbmw.manager.annotation.LogAnnotation; +import com.bonus.hnrn.rnbmw.manager.config.FilePathConfig; import com.bonus.hnrn.rnbmw.manager.table.PageTableHandler; import com.bonus.hnrn.rnbmw.manager.table.PageTableRequest; import com.bonus.hnrn.rnbmw.manager.table.PageTableResponse; @@ -39,6 +40,9 @@ public class SubContractorController { @Resource(name = "ProjectService") private ProjectService proService; + @Resource + private FilePathConfig filePathConfig; + @GetMapping @ApiOperation(value = "分包商") @PreAuthorize("hasAuthority('sys:SubContractor:query')") @@ -214,15 +218,11 @@ public class SubContractorController { if (StringHelper.isEmpty(tmpName)) { return null; // 根据情况 } + String dataPath=filePathConfig.getAutoAdaptPath(); String suffix = tmpName.substring(tmpName.lastIndexOf(".")); String fileName = DateTimeHelper.getNowDate().replace("-", "") + "_" + generateShortUuid() + "_" + tmpName; String mkdirsName = "subContractor"; // 委托需求 - String Files = "/rdata/gz_real_name/" + mkdirsName + "/"; // linux 系统路径 - String os = System.getProperty("os.name"); - if (os.toLowerCase().startsWith("win")) { - Files = "e://files/" + mkdirsName; - - } + String Files = dataPath + mkdirsName + "/"; // linux 系统路径 String path = Files + "/" + DateTimeHelper.getYear(new Date()) + "/" + DateTimeHelper.getMonth(new Date()) + "/"+DateTimeHelper.getDay()+"/" + fileName; File file = new File(path); //生成文件夹 diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/FilePathConfig.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/FilePathConfig.java new file mode 100644 index 0000000..faec8a0 --- /dev/null +++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/FilePathConfig.java @@ -0,0 +1,39 @@ +package com.bonus.hnrn.rnbmw.manager.config; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.io.File; +import java.nio.file.Paths; + +@Service +public class FilePathConfig { + + @Value("${files.path}") + private String linuxPath; + + @Value("${windows.path}") + private String windowsPath; + + + public String getAutoAdaptPath() { + // 获取系统名称(统一转小写,避免大小写问题) + String osName = System.getProperty("os.name").toLowerCase(); + + String targetPath; + // 判断系统类型 + if (osName.contains("win")) { + // Windows系统(包含win7/win10/win11等) + targetPath = windowsPath; + } else if (osName.contains("nix") || osName.contains("nux") || osName.contains("mac")) { + // Linux/Unix/Mac系统(覆盖主流服务器系统) + targetPath = linuxPath; + } else { + // 兜底:未知系统默认使用Linux路径(可根据业务调整) + throw new RuntimeException("不支持的操作系统类型:" + osName); + } + + // 路径标准化:统一分隔符、确保结尾有分隔符(避免拼接错误) + return Paths.get(targetPath).toFile().getAbsolutePath() + File.separator; + } +} 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 369bbac..cca3889 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 @@ -1,6 +1,7 @@ package com.bonus.hnrn.rnbmw.manager.config; import java.io.File; +import java.nio.file.Paths; import java.util.List; import com.bonus.hnrn.rnbmw.manager.filter.ParamLengthInterceptor; @@ -45,16 +46,45 @@ public class WebMvcConfig implements WebMvcConfigurer { * 上传文件根路径 */ @Value("${files.path}") - private String filesPath; + private String linuxPath; + + @Value("${windows.path}") + private String windowsPath; /** * 外部文件访问 */ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { + String autoPath = getAutoAdaptPath(); registry.addResourceHandler("/gzRealName/**") - .addResourceLocations(ResourceUtils.FILE_URL_PREFIX + filesPath ); + .addResourceLocations(ResourceUtils.FILE_URL_PREFIX + autoPath ); registry.addResourceHandler("/statics/**") - .addResourceLocations(ResourceUtils.FILE_URL_PREFIX + filesPath + File.separator); + .addResourceLocations(ResourceUtils.FILE_URL_PREFIX + autoPath + File.separator); + } + + /** + * 判断服务器环境 + * @return + */ + private String getAutoAdaptPath() { + // 获取系统名称(统一转小写,避免大小写问题) + String osName = System.getProperty("os.name").toLowerCase(); + + String targetPath; + // 判断系统类型 + if (osName.contains("win")) { + // Windows系统(包含win7/win10/win11等) + targetPath = windowsPath; + } else if (osName.contains("nix") || osName.contains("nux") || osName.contains("mac")) { + // Linux/Unix/Mac系统(覆盖主流服务器系统) + targetPath = linuxPath; + } else { + // 兜底:未知系统默认使用Linux路径(可根据业务调整) + throw new RuntimeException("不支持的操作系统类型:" + osName); + } + + // 路径标准化:统一分隔符、确保结尾有分隔符(避免拼接错误) + return Paths.get(targetPath).toFile().getAbsolutePath() + File.separator; } /** diff --git a/HnRealNameBmw/src/main/resources/bootstrap.yml b/HnRealNameBmw/src/main/resources/bootstrap.yml index 9ccfa38..5e2236f 100644 --- a/HnRealNameBmw/src/main/resources/bootstrap.yml +++ b/HnRealNameBmw/src/main/resources/bootstrap.yml @@ -46,6 +46,9 @@ log: files: path: /rdata/gz_real_name/ upload_path: /rdata/gz_real_name +windows: + path: F:/files/ + upload_path: F:/files token: expire: seconds: 7200 diff --git a/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/controller/PublicLoginController.java b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/controller/PublicLoginController.java index 9d948e0..9076fdf 100644 --- a/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/controller/PublicLoginController.java +++ b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/controller/PublicLoginController.java @@ -57,7 +57,7 @@ public class PublicLoginController { @PostMapping("getDeptTree") @ApiOperation(value = "获取部门树") - public AjaxRes getDeptTree() { + public AjaxRes getDeptTree(PublicUserVo vo) { try{ List result = userService.getRole(); return AjaxRes.success(result); @@ -74,7 +74,7 @@ public class PublicLoginController { */ @PostMapping("getRoleList") @ApiOperation(value = "获取角色下拉选") - public AjaxRes getRoleList() { + public AjaxRes getRoleList(PublicUserVo vo) { AjaxRes ar = new AjaxRes(); try { List list = userService.getDepartmentTree(); diff --git a/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/controller/PublicLoginController.java b/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/controller/PublicLoginController.java index b95d42f..f83e9bd 100644 --- a/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/controller/PublicLoginController.java +++ b/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/controller/PublicLoginController.java @@ -4,6 +4,7 @@ package com.bns.ldlz.controller; import com.bns.common.constant.Constants; import com.bns.common.core.controller.BaseController; import com.bns.common.core.domain.AjaxResult; +import com.bns.common.core.domain.TreeSelect; import com.bns.common.core.domain.entity.SysDept; import com.bns.common.core.domain.entity.SysRole; import com.bns.ldlz.domain.LoginForm; @@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; import java.util.List; /** @@ -26,7 +28,7 @@ import java.util.List; */ @RestController @RequestMapping(value = "/publicLogin") -public class PublicLoginController extends BaseController { +public class PublicLoginController { @Autowired private PublicLoginService loginService; @@ -60,20 +62,21 @@ public class PublicLoginController extends BaseController { @PostMapping("getDeptTree") @ApiOperation(value = "获取部门树") - public AjaxResult getDeptTree(@RequestBody SysDept dept) { - return success(deptService.selectPublicDeptTreeList(dept)); + public AjaxResult getDeptTree(SysDept dept) { + List list=deptService.selectPublicDeptTreeList(dept); + return AjaxResult.success(list); } /** * 角色下拉选 - * @param vo + * @param * @return */ @PostMapping("getRoleList") @ApiOperation(value = "获取角色下拉选") - public AjaxResult getRoleList(@RequestBody PublicUserVo vo) { + public AjaxResult getRoleList() { List roles = roleService.selectPublicRoleAll(); - return success(roles); + return AjaxResult.success(roles); } diff --git a/hn-ldlz/ldlz-framework/src/main/java/com/bns/framework/config/ResourcesConfig.java b/hn-ldlz/ldlz-framework/src/main/java/com/bns/framework/config/ResourcesConfig.java index e7c496d..8a2462f 100644 --- a/hn-ldlz/ldlz-framework/src/main/java/com/bns/framework/config/ResourcesConfig.java +++ b/hn-ldlz/ldlz-framework/src/main/java/com/bns/framework/config/ResourcesConfig.java @@ -51,23 +51,23 @@ public class ResourcesConfig implements WebMvcConfigurer /** * 跨域配置 */ - @Bean - public CorsFilter corsFilter() - { - CorsConfiguration config = new CorsConfiguration(); - config.setAllowCredentials(true); - // 设置访问源地址 - config.addAllowedOrigin("*"); - // 设置访问源请求头 - config.addAllowedHeader("*"); - // 设置访问源请求方法 - config.addAllowedMethod("*"); - // 有效期 1800秒 - config.setMaxAge(1800L); - // 添加映射路径,拦截一切请求 - UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); - source.registerCorsConfiguration("/**", config); - // 返回新的CorsFilter - return new CorsFilter(source); - } +// @Bean +// public CorsFilter corsFilter() +// { +// CorsConfiguration config = new CorsConfiguration(); +// config.setAllowCredentials(true); +// // 设置访问源地址 +// config.addAllowedOrigin("*"); +// // 设置访问源请求头 +// config.addAllowedHeader("*"); +// // 设置访问源请求方法 +// config.addAllowedMethod("*"); +// // 有效期 1800秒 +// config.setMaxAge(1800L); +// // 添加映射路径,拦截一切请求 +// UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); +// source.registerCorsConfiguration("/**", config); +// // 返回新的CorsFilter +// return new CorsFilter(source); +// } } \ No newline at end of file diff --git a/hn-ldlz/ldlz-framework/src/main/java/com/bns/framework/config/SecurityConfig.java b/hn-ldlz/ldlz-framework/src/main/java/com/bns/framework/config/SecurityConfig.java index dd3d328..0dbfa31 100644 --- a/hn-ldlz/ldlz-framework/src/main/java/com/bns/framework/config/SecurityConfig.java +++ b/hn-ldlz/ldlz-framework/src/main/java/com/bns/framework/config/SecurityConfig.java @@ -55,8 +55,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter /** * 跨域过滤器 */ - @Autowired - private CorsFilter corsFilter; +// @Autowired +// private CorsFilter corsFilter; /** * 允许匿名访问的地址 @@ -126,8 +126,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter // 添加JWT filter httpSecurity.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class); // 添加CORS filter - httpSecurity.addFilterBefore(corsFilter, JwtAuthenticationTokenFilter.class); - httpSecurity.addFilterBefore(corsFilter, LogoutFilter.class); +// httpSecurity.addFilterBefore(corsFilter, JwtAuthenticationTokenFilter.class); +// httpSecurity.addFilterBefore(corsFilter, LogoutFilter.class); } /**