Преглед изворни кода

fix: image.upload FileItem用MIME类型 + imageType自动匹配合适后缀

alphaH пре 1 дан
родитељ
комит
7ea76ef492

+ 4 - 2
java/src/main/java/com/payment/platform/module/payment/account/service/AlipayTransferService.java

@@ -229,8 +229,10 @@ public class AlipayTransferService {
             AlipayFundExpandindirectImageUploadRequest request = new AlipayFundExpandindirectImageUploadRequest();
             AlipayFundExpandindirectImageUploadRequest request = new AlipayFundExpandindirectImageUploadRequest();
             request.setProductCode(ONBOARD_PRODUCT_CODE);
             request.setProductCode(ONBOARD_PRODUCT_CODE);
             request.setBizScene(ONBOARD_BIZ_SCENE);
             request.setBizScene(ONBOARD_BIZ_SCENE);
-            request.setImageType(ext.equals(".pdf") ? "pdf" : "jpg");
-            FileItem fileItem = new FileItem(fileName, fileBytes, fileName.substring(fileName.lastIndexOf('.') + 1));
+            String imageType = ext.equals(".pdf") ? "pdf" : ext.equals(".png") ? "png" : "jpg";
+            request.setImageType(imageType);
+            String mimeType = ext.equals(".pdf") ? "application/pdf" : ext.equals(".png") ? "image/png" : "image/jpeg";
+            FileItem fileItem = new FileItem(fileName, fileBytes, mimeType);
             request.setImageContent(fileItem);
             request.setImageContent(fileItem);
             AlipayFundExpandindirectImageUploadResponse response =
             AlipayFundExpandindirectImageUploadResponse response =
                     alipayClientFactory.getClient(enterpriseId).execute(request);
                     alipayClientFactory.getClient(enterpriseId).execute(request);

+ 2 - 0
logs/payment-platform-error.log

@@ -964,3 +964,5 @@ Caused by: java.io.EOFException: null
 	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2155)
 	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2155)
 	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:368)
 	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:368)
 	... 46 common frames omitted
 	... 46 common frames omitted
+2026-07-15 14:32:09.526 [tomcat-handler-7] ERROR sdk.biz.err - ErrorScene^_^40004^_^INVALID_PARAMETER^_^null^_^Windows 10^_^2026-07-15 14:32:09^_^ProtocalMustParams:charset=UTF-8&method=alipay.fund.expandindirect.image.upload&sign=iiR45tFjICuHAIBtU+hBkSbRRc+Nx6Y+hHvrAxiOD0WOwZoqZ3Vo8nHcvt8KPvOb7KPDoMjVurKXjlKmNMj0dLV9ZWStVXMuUy/qNBmEfL+qlJsaJj4kOpwqVB/8lCrLDMh8RqmAXUxsY/V8BrZI/7WVIlgc73qWWe5zWv5sD+Cke9/ZvmSom+XrQt5nOTX6DYmxUUHtzXDce7CVx5YABGfW8jH6ziJZpvzwdJi+/UMOxExSR5UqNBq7zc+JQjd19aHqxgAdHR9u1ABPJBRp/8lQkylmdphqT0OUiC1MzGxgkdAM8+A7CDJhtUDQjikvL7wDVF+9pwhh6bRYTOIbIQ==&version=1.0&app_id=2021006160682088&sign_type=RSA2&timestamp=2026-07-15 14:32:08^_^ProtocalOptParams:alipay_sdk=alipay-sdk-java-4.40.865.ALL&format=JSON^_^ApplicationParams:traceId=0b22834317840971289352495e7502&product_code=MERCHANT_TRANSFER_EXPAND_INDIRECT&biz_scene=ENTRUST_SATF_TRANSFER&image_type=jpg^_^Body:{"alipay_fund_expandindirect_image_upload_response":{"msg":"Business Failed","code":"40004","sub_msg":"参数有误文件类型不匹配","sub_code":"INVALID_PARAMETER"},"sign":"HZq7wjtEHdvFNXGXTAZXlRtZGHFehfKSZlcKpqNvvfVJGaXE7vXOl6vkyut3oiUOeErHKY+9vDdinpPNDRbX/51MniM2HHGHCBFEMojoOjOwkS2041SxmpAmr2AQ8q7zrCRctexwxn6yWuwQfkJJ/AhbXdeHNqcg62I4RM5Qt5nrMHI0YfE70QlKvSCb27Y/qZu2nyriF+/geD0uatcN6OB3YihjOCG8PEoizzkOpk/KQxT4AQ6AnYnaOGexx2zTBYAYM7bJ2S3VOlrtTa6+vKi/MZbY6xsSeWt73UFLHEtBistuklz9aQyULdWVirtm1XHYG1bmsUO3zjPSNd3Z3w=="}^_^24ms,1169ms,19ms^_^trace_id:0b22834317840971289352495e7502
+2026-07-15 14:32:27.221 [tomcat-handler-8] ERROR sdk.biz.err - ErrorScene^_^40004^_^INVALID_PARAMETER^_^null^_^Windows 10^_^2026-07-15 14:32:27^_^ProtocalMustParams:charset=UTF-8&method=alipay.fund.expandindirect.image.upload&sign=lm98gB5fw5nzMScTxdkZ+oNgHMxmzt6O1CDGaQ4mab6DOXGQ84rFxnWOJYZMWrJHLYEOhl5FIXjODV8DNIDfWSXKDbx63W/b1R8Kxi7h9pXSX/vRd+f4SrEv0z9s57sLJvMKwK/YXvCYgb1wEpyaEke+CLBqpKZe0m+h2d3YMiUYNNzoZXMyRnzbsGNgybYTcIEcAfMuRzrqzeDN+SsXvhl/Cc81E9yY5bSbJNfAc9lADImKHYLG1hWqAUg1ZOKq6rz3X102o6CG4KrROJiTweBluzGT53lLIPaSp1C8+fS80xq+Xk7PvccWESVK6z+mO2qWzonRsAx3NXS06CFpLg==&version=1.0&app_id=2021006160682088&sign_type=RSA2&timestamp=2026-07-15 14:32:26^_^ProtocalOptParams:alipay_sdk=alipay-sdk-java-4.40.865.ALL&format=JSON^_^ApplicationParams:traceId=0b22830317840971471292317e4f01&product_code=MERCHANT_TRANSFER_EXPAND_INDIRECT&biz_scene=ENTRUST_SATF_TRANSFER&image_type=jpg^_^Body:{"alipay_fund_expandindirect_image_upload_response":{"msg":"Business Failed","code":"40004","sub_msg":"参数有误文件类型不匹配","sub_code":"INVALID_PARAMETER"},"sign":"HZq7wjtEHdvFNXGXTAZXlRtZGHFehfKSZlcKpqNvvfVJGaXE7vXOl6vkyut3oiUOeErHKY+9vDdinpPNDRbX/51MniM2HHGHCBFEMojoOjOwkS2041SxmpAmr2AQ8q7zrCRctexwxn6yWuwQfkJJ/AhbXdeHNqcg62I4RM5Qt5nrMHI0YfE70QlKvSCb27Y/qZu2nyriF+/geD0uatcN6OB3YihjOCG8PEoizzkOpk/KQxT4AQ6AnYnaOGexx2zTBYAYM7bJ2S3VOlrtTa6+vKi/MZbY6xsSeWt73UFLHEtBistuklz9aQyULdWVirtm1XHYG1bmsUO3zjPSNd3Z3w=="}^_^11ms,511ms,10ms^_^trace_id:0b22830317840971471292317e4f01

+ 34 - 0
logs/payment-platform.log

@@ -1763,3 +1763,37 @@ Caused by: java.io.EOFException: null
 2026-07-15 14:28:00.701 [tomcat-handler-0] INFO  o.s.web.servlet.DispatcherServlet - Completed initialization in 3 ms
 2026-07-15 14:28:00.701 [tomcat-handler-0] INFO  o.s.web.servlet.DispatcherServlet - Completed initialization in 3 ms
 2026-07-15 14:31:21.986 [SpringApplicationShutdownHook] INFO  c.alibaba.druid.pool.DruidDataSource - {dataSource-1} closing ...
 2026-07-15 14:31:21.986 [SpringApplicationShutdownHook] INFO  c.alibaba.druid.pool.DruidDataSource - {dataSource-1} closing ...
 2026-07-15 14:31:21.988 [SpringApplicationShutdownHook] INFO  c.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
 2026-07-15 14:31:21.988 [SpringApplicationShutdownHook] INFO  c.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
+2026-07-15 14:31:27.576 [background-preinit] INFO  o.h.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final
+2026-07-15 14:31:27.726 [main] INFO  c.p.platform.PaymentApplication - Starting PaymentApplication using Java 21.0.11 with PID 26268 (D:\project2\payment-platform\java\target\classes started by 1 in D:\project2\payment-platform)
+2026-07-15 14:31:27.727 [main] INFO  c.p.platform.PaymentApplication - The following 1 profile is active: "dev"
+2026-07-15 14:31:29.029 [main] INFO  o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
+2026-07-15 14:31:29.031 [main] INFO  o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode.
+2026-07-15 14:31:29.109 [main] INFO  o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 64 ms. Found 0 Redis repository interfaces.
+2026-07-15 14:31:29.844 [main] INFO  o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8001 (http)
+2026-07-15 14:31:29.853 [main] INFO  o.a.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
+2026-07-15 14:31:29.854 [main] INFO  o.a.catalina.core.StandardService - Starting service [Tomcat]
+2026-07-15 14:31:29.854 [main] INFO  o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.20]
+2026-07-15 14:31:29.918 [main] INFO  o.a.c.c.C.[.[localhost].[/api/v1] - Initializing Spring embedded WebApplicationContext
+2026-07-15 14:31:29.919 [main] INFO  o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 2004 ms
+2026-07-15 14:31:29.977 [main] INFO  c.a.d.s.b.a.DruidDataSourceAutoConfigure - Init DruidDataSource
+2026-07-15 14:31:31.735 [main] INFO  c.alibaba.druid.pool.DruidDataSource - {dataSource-1} inited
+2026-07-15 14:31:33.532 [main] WARN  c.p.p.c.alipay.AlipayClientFactory - 支付宝默认配置不完整,将仅使用服务商/租户专属客户端
+2026-07-15 14:31:33.703 [main] INFO  c.p.platform.core.oss.OssService - OSS client initialized: bucket=hunanxiaojunzioss, endpoint=oss-cn-beijing.aliyuncs.com
+2026-07-15 14:31:34.095 [main] INFO  c.p.p.m.p.e.s.EnterpriseNameSyncScheduler - [企业名称同步] 调度器启动
+2026-07-15 14:31:34.382 [main] INFO  c.p.p.m.p.n.s.NotificationService - 已注册 7 个通知处理器: [AccountHandler, BillHandler, EmployeeHandler, EnterpriseHandler, InstitutionHandler, OrderHandler, VoucherHandler]
+2026-07-15 14:31:35.155 [main] INFO  o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@3531509c, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@23169374, org.springframework.security.web.context.SecurityContextHolderFilter@3d0ce151, org.springframework.security.web.header.HeaderWriterFilter@7962a364, org.springframework.web.filter.CorsFilter@4f2b1a2f, org.springframework.security.web.authentication.logout.LogoutFilter@8bd9d08, com.payment.platform.core.security.JwtAuthFilter@2c451c4a, com.payment.platform.core.security.TenantApiKeyAuthFilter@4d7c9b42, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@2b569858, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1b84d03d, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@6c2a33af, org.springframework.security.web.session.SessionManagementFilter@134ec0f3, org.springframework.security.web.access.ExceptionTranslationFilter@25b87e1b, org.springframework.security.web.access.intercept.AuthorizationFilter@1390a43a]
+2026-07-15 14:31:35.626 [main] INFO  o.a.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
+2026-07-15 14:31:35.639 [main] INFO  o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8001 (http) with context path '/api/v1'
+2026-07-15 14:31:35.826 [main] INFO  c.p.platform.PaymentApplication - Started PaymentApplication in 8.857 seconds (process running for 9.542)
+2026-07-15 14:31:37.985 [main] INFO  c.p.p.core.config.AppStartupRunner - 系统配置缓存初始化完成
+2026-07-15 14:31:39.908 [main] INFO  c.p.p.core.config.AppStartupRunner - 数据字典缓存初始化完成 (10 个字典类型)
+2026-07-15 14:31:46.858 [tomcat-handler-0] INFO  o.a.c.c.C.[.[localhost].[/api/v1] - Initializing Spring DispatcherServlet 'dispatcherServlet'
+2026-07-15 14:31:46.859 [tomcat-handler-0] INFO  o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
+2026-07-15 14:31:46.861 [tomcat-handler-0] INFO  o.s.web.servlet.DispatcherServlet - Completed initialization in 2 ms
+2026-07-15 14:32:08.314 [tomcat-handler-7] INFO  c.p.p.c.alipay.AlipayClientFactory - 服务商[3]客户端创建成功, appId=2021006160682088, name=跨境服务商
+2026-07-15 14:32:09.526 [tomcat-handler-7] ERROR sdk.biz.err - ErrorScene^_^40004^_^INVALID_PARAMETER^_^null^_^Windows 10^_^2026-07-15 14:32:09^_^ProtocalMustParams:charset=UTF-8&method=alipay.fund.expandindirect.image.upload&sign=iiR45tFjICuHAIBtU+hBkSbRRc+Nx6Y+hHvrAxiOD0WOwZoqZ3Vo8nHcvt8KPvOb7KPDoMjVurKXjlKmNMj0dLV9ZWStVXMuUy/qNBmEfL+qlJsaJj4kOpwqVB/8lCrLDMh8RqmAXUxsY/V8BrZI/7WVIlgc73qWWe5zWv5sD+Cke9/ZvmSom+XrQt5nOTX6DYmxUUHtzXDce7CVx5YABGfW8jH6ziJZpvzwdJi+/UMOxExSR5UqNBq7zc+JQjd19aHqxgAdHR9u1ABPJBRp/8lQkylmdphqT0OUiC1MzGxgkdAM8+A7CDJhtUDQjikvL7wDVF+9pwhh6bRYTOIbIQ==&version=1.0&app_id=2021006160682088&sign_type=RSA2&timestamp=2026-07-15 14:32:08^_^ProtocalOptParams:alipay_sdk=alipay-sdk-java-4.40.865.ALL&format=JSON^_^ApplicationParams:traceId=0b22834317840971289352495e7502&product_code=MERCHANT_TRANSFER_EXPAND_INDIRECT&biz_scene=ENTRUST_SATF_TRANSFER&image_type=jpg^_^Body:{"alipay_fund_expandindirect_image_upload_response":{"msg":"Business Failed","code":"40004","sub_msg":"参数有误文件类型不匹配","sub_code":"INVALID_PARAMETER"},"sign":"HZq7wjtEHdvFNXGXTAZXlRtZGHFehfKSZlcKpqNvvfVJGaXE7vXOl6vkyut3oiUOeErHKY+9vDdinpPNDRbX/51MniM2HHGHCBFEMojoOjOwkS2041SxmpAmr2AQ8q7zrCRctexwxn6yWuwQfkJJ/AhbXdeHNqcg62I4RM5Qt5nrMHI0YfE70QlKvSCb27Y/qZu2nyriF+/geD0uatcN6OB3YihjOCG8PEoizzkOpk/KQxT4AQ6AnYnaOGexx2zTBYAYM7bJ2S3VOlrtTa6+vKi/MZbY6xsSeWt73UFLHEtBistuklz9aQyULdWVirtm1XHYG1bmsUO3zjPSNd3Z3w=="}^_^24ms,1169ms,19ms^_^trace_id:0b22834317840971289352495e7502
+2026-07-15 14:32:09.528 [tomcat-handler-7] WARN  c.p.p.c.e.GlobalExceptionHandler - 业务异常 [/api/v1/payment/account/onboard/upload] 400: 上传进件图片失败: Business Failed
+2026-07-15 14:32:27.221 [tomcat-handler-8] ERROR sdk.biz.err - ErrorScene^_^40004^_^INVALID_PARAMETER^_^null^_^Windows 10^_^2026-07-15 14:32:27^_^ProtocalMustParams:charset=UTF-8&method=alipay.fund.expandindirect.image.upload&sign=lm98gB5fw5nzMScTxdkZ+oNgHMxmzt6O1CDGaQ4mab6DOXGQ84rFxnWOJYZMWrJHLYEOhl5FIXjODV8DNIDfWSXKDbx63W/b1R8Kxi7h9pXSX/vRd+f4SrEv0z9s57sLJvMKwK/YXvCYgb1wEpyaEke+CLBqpKZe0m+h2d3YMiUYNNzoZXMyRnzbsGNgybYTcIEcAfMuRzrqzeDN+SsXvhl/Cc81E9yY5bSbJNfAc9lADImKHYLG1hWqAUg1ZOKq6rz3X102o6CG4KrROJiTweBluzGT53lLIPaSp1C8+fS80xq+Xk7PvccWESVK6z+mO2qWzonRsAx3NXS06CFpLg==&version=1.0&app_id=2021006160682088&sign_type=RSA2&timestamp=2026-07-15 14:32:26^_^ProtocalOptParams:alipay_sdk=alipay-sdk-java-4.40.865.ALL&format=JSON^_^ApplicationParams:traceId=0b22830317840971471292317e4f01&product_code=MERCHANT_TRANSFER_EXPAND_INDIRECT&biz_scene=ENTRUST_SATF_TRANSFER&image_type=jpg^_^Body:{"alipay_fund_expandindirect_image_upload_response":{"msg":"Business Failed","code":"40004","sub_msg":"参数有误文件类型不匹配","sub_code":"INVALID_PARAMETER"},"sign":"HZq7wjtEHdvFNXGXTAZXlRtZGHFehfKSZlcKpqNvvfVJGaXE7vXOl6vkyut3oiUOeErHKY+9vDdinpPNDRbX/51MniM2HHGHCBFEMojoOjOwkS2041SxmpAmr2AQ8q7zrCRctexwxn6yWuwQfkJJ/AhbXdeHNqcg62I4RM5Qt5nrMHI0YfE70QlKvSCb27Y/qZu2nyriF+/geD0uatcN6OB3YihjOCG8PEoizzkOpk/KQxT4AQ6AnYnaOGexx2zTBYAYM7bJ2S3VOlrtTa6+vKi/MZbY6xsSeWt73UFLHEtBistuklz9aQyULdWVirtm1XHYG1bmsUO3zjPSNd3Z3w=="}^_^11ms,511ms,10ms^_^trace_id:0b22830317840971471292317e4f01
+2026-07-15 14:32:27.221 [tomcat-handler-8] WARN  c.p.p.c.e.GlobalExceptionHandler - 业务异常 [/api/v1/payment/account/onboard/upload] 400: 上传进件图片失败: Business Failed
+2026-07-15 14:35:19.181 [SpringApplicationShutdownHook] INFO  c.alibaba.druid.pool.DruidDataSource - {dataSource-1} closing ...
+2026-07-15 14:35:19.184 [SpringApplicationShutdownHook] INFO  c.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed