diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..62fbdfe --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..4634a2e --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..5a2f139 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml new file mode 100644 index 0000000..7e340a7 --- /dev/null +++ b/.idea/kotlinc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..b784bbc --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/1683167980544.jpg b/1683167980544.jpg new file mode 100644 index 0000000..8e0bb27 Binary files /dev/null and b/1683167980544.jpg differ diff --git a/hs_err_pid107788.log b/hs_err_pid107788.log new file mode 100644 index 0000000..d1afee4 --- /dev/null +++ b/hs_err_pid107788.log @@ -0,0 +1,570 @@ +# +# There is insufficient memory for the Java Runtime Environment to continue. +# Native memory allocation (mmap) failed to map 65536 bytes for Failed to commit metaspace. +# Possible reasons: +# The system is out of physical RAM or swap space +# The process is running with CompressedOops enabled, and the Java Heap may be blocking the growth of the native heap +# Possible solutions: +# Reduce memory load on the system +# Increase physical memory or swap space +# Check if swap backing store is full +# Decrease Java heap size (-Xmx/-Xms) +# Decrease number of Java threads +# Decrease Java thread stack sizes (-Xss) +# Set larger code cache with -XX:ReservedCodeCacheSize= +# JVM is running with Zero Based Compressed Oops mode in which the Java heap is +# placed in the first 32GB address space. The Java Heap base address is the +# maximum limit for the native heap growth. Please use -XX:HeapBaseMinAddress +# to set the Java Heap base and to place the Java Heap above 32GB virtual address. +# This output file may be truncated or incomplete. +# +# Out of Memory Error (virtualSpaceNode.cpp:110), pid=107788, tid=209716 +# +# JRE version: OpenJDK Runtime Environment JBR-17.0.6+10-829.5-jcef (17.0.6+10) (build 17.0.6+10-b829.5) +# Java VM: OpenJDK 64-Bit Server VM JBR-17.0.6+10-829.5-jcef (17.0.6+10-b829.5, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64) +# No core dump will be written. Minidumps are not enabled by default on client versions of Windows +# + +--------------- S U M M A R Y ------------ + +Command Line: git4idea.http.GitAskPassApp Username for 'https://gitee.com': + +Host: Intel(R) Core(TM) i5-2320 CPU @ 3.00GHz, 4 cores, 15G, Windows 10 , 64 bit Build 19041 (10.0.19041.1566) +Time: Thu May 4 14:42:44 2023 Windows 10 , 64 bit Build 19041 (10.0.19041.1566) elapsed time: 0.444908 seconds (0d 0h 0m 0s) + +--------------- T H R E A D --------------- + +Current thread (0x000002df6282a0c0): JavaThread "main" [_thread_in_vm, id=209716, stack(0x000000f2b5c00000,0x000000f2b5d00000)] + +Stack: [0x000000f2b5c00000,0x000000f2b5d00000] +Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) +V [jvm.dll+0x683b4a] +V [jvm.dll+0x842654] +V [jvm.dll+0x843dfe] +V [jvm.dll+0x844463] +V [jvm.dll+0x249b75] +V [jvm.dll+0x83e6ab] +V [jvm.dll+0x627fa6] +V [jvm.dll+0x62800a] +V [jvm.dll+0x62a81a] +V [jvm.dll+0x628946] +V [jvm.dll+0x639749] +V [jvm.dll+0x632a54] +V [jvm.dll+0x384bd1] +C 0x000002df6ecfc727 + +Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) +j sun.security.provider.SHA2$SHA256.()V+0 java.base@17.0.6 +v ~StubRoutines::call_stub +j jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Ljava/lang/Object;+0 java.base@17.0.6 +j jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance([Ljava/lang/Object;)Ljava/lang/Object;+118 java.base@17.0.6 +j jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance([Ljava/lang/Object;)Ljava/lang/Object;+5 java.base@17.0.6 +j java.lang.reflect.Constructor.newInstanceWithCaller([Ljava/lang/Object;ZLjava/lang/Class;)Ljava/lang/Object;+65 java.base@17.0.6 +j java.lang.reflect.Constructor.newInstance([Ljava/lang/Object;)Ljava/lang/Object;+30 java.base@17.0.6 +j java.security.Provider$Service.newInstanceOf()Ljava/lang/Object;+9 java.base@17.0.6 +j java.security.Provider$Service.newInstanceUtil(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;+5 java.base@17.0.6 +j java.security.Provider$Service.newInstance(Ljava/lang/Object;)Ljava/lang/Object;+227 java.base@17.0.6 +j sun.security.jca.GetInstance.getInstance(Ljava/security/Provider$Service;Ljava/lang/Class;)Lsun/security/jca/GetInstance$Instance;+2 java.base@17.0.6 +j sun.security.jca.GetInstance.getInstance(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Lsun/security/jca/GetInstance$Instance;+7 java.base@17.0.6 +j java.security.MessageDigest.getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/MessageDigest;+34 java.base@17.0.6 +j sun.security.provider.HashDrbg.initEngine()V+7 java.base@17.0.6 +j sun.security.provider.AbstractDrbg.instantiateIfNecessary([B)V+46 java.base@17.0.6 +j sun.security.provider.AbstractDrbg.engineNextBytes([BLjava/security/SecureRandomParameters;)V+162 java.base@17.0.6 +j sun.security.provider.AbstractDrbg.engineNextBytes([B)V+11 java.base@17.0.6 +j sun.security.provider.AbstractDrbg$SeederHolder.lambda$static$0(Lsun/security/provider/HashDrbg;IIIZ)[B+23 java.base@17.0.6 +j sun.security.provider.AbstractDrbg$SeederHolder$$Lambda$23+0x00000008000d3390.getEntropy(IIIZ)[B+9 java.base@17.0.6 +j sun.security.provider.AbstractDrbg.getEntropyInput(IIIZ)[B+99 java.base@17.0.6 +j sun.security.provider.AbstractDrbg.getEntropyInput(Z)[B+14 java.base@17.0.6 +j sun.security.provider.AbstractDrbg.instantiateIfNecessary([B)V+16 java.base@17.0.6 +j sun.security.provider.AbstractDrbg.engineNextBytes([BLjava/security/SecureRandomParameters;)V+162 java.base@17.0.6 +j sun.security.provider.AbstractDrbg.engineNextBytes([B)V+11 java.base@17.0.6 +j sun.security.provider.DRBG.engineNextBytes([B)V+5 java.base@17.0.6 +j java.security.SecureRandom.nextBytes([B)V+12 java.base@17.0.6 +j java.security.SecureRandom.next(I)I+17 java.base@17.0.6 +j java.util.Random.nextInt()I+3 java.base@17.0.6 +j sun.security.ssl.SSLContextImpl.engineInit([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V+105 java.base@17.0.6 +j javax.net.ssl.SSLContext.init([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V+7 java.base@17.0.6 +j externalApp.ExternalAppUtil.sendIdeRequest(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)LexternalApp/ExternalAppUtil$Result;+45 +j git4idea.http.GitAskPassApp.main([Ljava/lang/String;)V+37 +v ~StubRoutines::call_stub + +--------------- P R O C E S S --------------- + +Threads class SMR info: +_java_thread_list=0x000002df7f6029a0, length=12, elements={ +0x000002df6282a0c0, 0x000002df7f442610, 0x000002df7f4435c0, 0x000002df7eb6e830, +0x000002df7f46e420, 0x000002df7f46edd0, 0x000002df7f470ba0, 0x000002df7f471880, +0x000002df7f473190, 0x000002df7f473a90, 0x000002df7f600de0, 0x000002df7f6092e0 +} + +Java Threads: ( => current thread ) +=>0x000002df6282a0c0 JavaThread "main" [_thread_in_vm, id=209716, stack(0x000000f2b5c00000,0x000000f2b5d00000)] + 0x000002df7f442610 JavaThread "Reference Handler" daemon [_thread_blocked, id=210680, stack(0x000000f2b6300000,0x000000f2b6400000)] + 0x000002df7f4435c0 JavaThread "Finalizer" daemon [_thread_blocked, id=208916, stack(0x000000f2b6400000,0x000000f2b6500000)] + 0x000002df7eb6e830 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=209628, stack(0x000000f2b6500000,0x000000f2b6600000)] + 0x000002df7f46e420 JavaThread "Attach Listener" daemon [_thread_blocked, id=205888, stack(0x000000f2b6600000,0x000000f2b6700000)] + 0x000002df7f46edd0 JavaThread "Service Thread" daemon [_thread_blocked, id=204684, stack(0x000000f2b6700000,0x000000f2b6800000)] + 0x000002df7f470ba0 JavaThread "Monitor Deflation Thread" daemon [_thread_blocked, id=209912, stack(0x000000f2b6800000,0x000000f2b6900000)] + 0x000002df7f471880 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=70340, stack(0x000000f2b6900000,0x000000f2b6a00000)] + 0x000002df7f473190 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=207768, stack(0x000000f2b6a00000,0x000000f2b6b00000)] + 0x000002df7f473a90 JavaThread "Sweeper thread" daemon [_thread_blocked, id=209956, stack(0x000000f2b6b00000,0x000000f2b6c00000)] + 0x000002df7f600de0 JavaThread "Notification Thread" daemon [_thread_blocked, id=209992, stack(0x000000f2b6c00000,0x000000f2b6d00000)] + 0x000002df7f6092e0 JavaThread "Common-Cleaner" daemon [_thread_blocked, id=208312, stack(0x000000f2b6e00000,0x000000f2b6f00000)] + +Other Threads: + 0x000002df7f420900 VMThread "VM Thread" [stack: 0x000000f2b6200000,0x000000f2b6300000] [id=205864] + 0x000002df7f562940 WatcherThread [stack: 0x000000f2b6d00000,0x000000f2b6e00000] [id=75868] + 0x000002df628960b0 GCTaskThread "GC Thread#0" [stack: 0x000000f2b5d00000,0x000000f2b5e00000] [id=210836] + 0x000002df628a6df0 ConcurrentGCThread "G1 Main Marker" [stack: 0x000000f2b5e00000,0x000000f2b5f00000] [id=209024] + 0x000002df628a7800 ConcurrentGCThread "G1 Conc#0" [stack: 0x000000f2b5f00000,0x000000f2b6000000] [id=100408] + 0x000002df7e9f44e0 ConcurrentGCThread "G1 Refine#0" [stack: 0x000000f2b6000000,0x000000f2b6100000] [id=210492] + 0x000002df628ef4e0 ConcurrentGCThread "G1 Service" [stack: 0x000000f2b6100000,0x000000f2b6200000] [id=209896] + +Threads with active compile tasks: + +VM state: not at safepoint (normal execution) + +VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event]) +[0x000002df62823380] Metaspace_lock - owner thread: 0x000002df6282a0c0 + +Heap address: 0x0000000702000000, size: 4064 MB, Compressed Oops mode: Zero based, Oop shift amount: 3 + +CDS archive(s) not mapped +Compressed class space mapped at: 0x0000000800000000-0x0000000840000000, reserved size: 1073741824 +Narrow klass base: 0x0000000800000000, Narrow klass shift: 0, Narrow klass range: 0x40000000 + +GC Precious Log: + CPUs: 4 total, 4 available + Memory: 16255M + Large Page Support: Disabled + NUMA Support: Disabled + Compressed Oops: Enabled (Zero based) + Heap Region Size: 2M + Heap Min Capacity: 8M + Heap Initial Capacity: 254M + Heap Max Capacity: 4064M + Pre-touch: Disabled + Parallel Workers: 4 + Concurrent Workers: 1 + Concurrent Refinement Workers: 4 + Periodic GC: Disabled + +Heap: + garbage-first heap total 260096K, used 2048K [0x0000000702000000, 0x0000000800000000) + region size 2048K, 3 young (6144K), 0 survivors (0K) + Metaspace used 9986K, committed 10112K, reserved 1064960K + class space used 938K, committed 1024K, reserved 1048576K + +Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, OA=open archive, CA=closed archive, TAMS=top-at-mark-start (previous, next) +| 0|0x0000000702000000, 0x0000000702000000, 0x0000000702200000| 0%| F| |TAMS 0x0000000702000000, 0x0000000702000000| Untracked +| 1|0x0000000702200000, 0x0000000702200000, 0x0000000702400000| 0%| F| |TAMS 0x0000000702200000, 0x0000000702200000| Untracked +| 2|0x0000000702400000, 0x0000000702400000, 0x0000000702600000| 0%| F| |TAMS 0x0000000702400000, 0x0000000702400000| Untracked +| 3|0x0000000702600000, 0x0000000702600000, 0x0000000702800000| 0%| F| |TAMS 0x0000000702600000, 0x0000000702600000| Untracked +| 4|0x0000000702800000, 0x0000000702800000, 0x0000000702a00000| 0%| F| |TAMS 0x0000000702800000, 0x0000000702800000| Untracked +| 5|0x0000000702a00000, 0x0000000702a00000, 0x0000000702c00000| 0%| F| |TAMS 0x0000000702a00000, 0x0000000702a00000| Untracked +| 6|0x0000000702c00000, 0x0000000702c00000, 0x0000000702e00000| 0%| F| |TAMS 0x0000000702c00000, 0x0000000702c00000| Untracked +| 7|0x0000000702e00000, 0x0000000702e00000, 0x0000000703000000| 0%| F| |TAMS 0x0000000702e00000, 0x0000000702e00000| Untracked +| 8|0x0000000703000000, 0x0000000703000000, 0x0000000703200000| 0%| F| |TAMS 0x0000000703000000, 0x0000000703000000| Untracked +| 9|0x0000000703200000, 0x0000000703200000, 0x0000000703400000| 0%| F| |TAMS 0x0000000703200000, 0x0000000703200000| Untracked +| 10|0x0000000703400000, 0x0000000703400000, 0x0000000703600000| 0%| F| |TAMS 0x0000000703400000, 0x0000000703400000| Untracked +| 11|0x0000000703600000, 0x0000000703600000, 0x0000000703800000| 0%| F| |TAMS 0x0000000703600000, 0x0000000703600000| Untracked +| 12|0x0000000703800000, 0x0000000703800000, 0x0000000703a00000| 0%| F| |TAMS 0x0000000703800000, 0x0000000703800000| Untracked +| 13|0x0000000703a00000, 0x0000000703a00000, 0x0000000703c00000| 0%| F| |TAMS 0x0000000703a00000, 0x0000000703a00000| Untracked +| 14|0x0000000703c00000, 0x0000000703c00000, 0x0000000703e00000| 0%| F| |TAMS 0x0000000703c00000, 0x0000000703c00000| Untracked +| 15|0x0000000703e00000, 0x0000000703e00000, 0x0000000704000000| 0%| F| |TAMS 0x0000000703e00000, 0x0000000703e00000| Untracked +| 16|0x0000000704000000, 0x0000000704000000, 0x0000000704200000| 0%| F| |TAMS 0x0000000704000000, 0x0000000704000000| Untracked +| 17|0x0000000704200000, 0x0000000704200000, 0x0000000704400000| 0%| F| |TAMS 0x0000000704200000, 0x0000000704200000| Untracked +| 18|0x0000000704400000, 0x0000000704400000, 0x0000000704600000| 0%| F| |TAMS 0x0000000704400000, 0x0000000704400000| Untracked +| 19|0x0000000704600000, 0x0000000704600000, 0x0000000704800000| 0%| F| |TAMS 0x0000000704600000, 0x0000000704600000| Untracked +| 20|0x0000000704800000, 0x0000000704800000, 0x0000000704a00000| 0%| F| |TAMS 0x0000000704800000, 0x0000000704800000| Untracked +| 21|0x0000000704a00000, 0x0000000704a00000, 0x0000000704c00000| 0%| F| |TAMS 0x0000000704a00000, 0x0000000704a00000| Untracked +| 22|0x0000000704c00000, 0x0000000704c00000, 0x0000000704e00000| 0%| F| |TAMS 0x0000000704c00000, 0x0000000704c00000| Untracked +| 23|0x0000000704e00000, 0x0000000704e00000, 0x0000000705000000| 0%| F| |TAMS 0x0000000704e00000, 0x0000000704e00000| Untracked +| 24|0x0000000705000000, 0x0000000705000000, 0x0000000705200000| 0%| F| |TAMS 0x0000000705000000, 0x0000000705000000| Untracked +| 25|0x0000000705200000, 0x0000000705200000, 0x0000000705400000| 0%| F| |TAMS 0x0000000705200000, 0x0000000705200000| Untracked +| 26|0x0000000705400000, 0x0000000705400000, 0x0000000705600000| 0%| F| |TAMS 0x0000000705400000, 0x0000000705400000| Untracked +| 27|0x0000000705600000, 0x0000000705600000, 0x0000000705800000| 0%| F| |TAMS 0x0000000705600000, 0x0000000705600000| Untracked +| 28|0x0000000705800000, 0x0000000705800000, 0x0000000705a00000| 0%| F| |TAMS 0x0000000705800000, 0x0000000705800000| Untracked +| 29|0x0000000705a00000, 0x0000000705a00000, 0x0000000705c00000| 0%| F| |TAMS 0x0000000705a00000, 0x0000000705a00000| Untracked +| 30|0x0000000705c00000, 0x0000000705c00000, 0x0000000705e00000| 0%| F| |TAMS 0x0000000705c00000, 0x0000000705c00000| Untracked +| 31|0x0000000705e00000, 0x0000000705e00000, 0x0000000706000000| 0%| F| |TAMS 0x0000000705e00000, 0x0000000705e00000| Untracked +| 32|0x0000000706000000, 0x0000000706000000, 0x0000000706200000| 0%| F| |TAMS 0x0000000706000000, 0x0000000706000000| Untracked +| 33|0x0000000706200000, 0x0000000706200000, 0x0000000706400000| 0%| F| |TAMS 0x0000000706200000, 0x0000000706200000| Untracked +| 34|0x0000000706400000, 0x0000000706400000, 0x0000000706600000| 0%| F| |TAMS 0x0000000706400000, 0x0000000706400000| Untracked +| 35|0x0000000706600000, 0x0000000706600000, 0x0000000706800000| 0%| F| |TAMS 0x0000000706600000, 0x0000000706600000| Untracked +| 36|0x0000000706800000, 0x0000000706800000, 0x0000000706a00000| 0%| F| |TAMS 0x0000000706800000, 0x0000000706800000| Untracked +| 37|0x0000000706a00000, 0x0000000706a00000, 0x0000000706c00000| 0%| F| |TAMS 0x0000000706a00000, 0x0000000706a00000| Untracked +| 38|0x0000000706c00000, 0x0000000706c00000, 0x0000000706e00000| 0%| F| |TAMS 0x0000000706c00000, 0x0000000706c00000| Untracked +| 39|0x0000000706e00000, 0x0000000706e00000, 0x0000000707000000| 0%| F| |TAMS 0x0000000706e00000, 0x0000000706e00000| Untracked +| 40|0x0000000707000000, 0x0000000707000000, 0x0000000707200000| 0%| F| |TAMS 0x0000000707000000, 0x0000000707000000| Untracked +| 41|0x0000000707200000, 0x0000000707200000, 0x0000000707400000| 0%| F| |TAMS 0x0000000707200000, 0x0000000707200000| Untracked +| 42|0x0000000707400000, 0x0000000707400000, 0x0000000707600000| 0%| F| |TAMS 0x0000000707400000, 0x0000000707400000| Untracked +| 43|0x0000000707600000, 0x0000000707600000, 0x0000000707800000| 0%| F| |TAMS 0x0000000707600000, 0x0000000707600000| Untracked +| 44|0x0000000707800000, 0x0000000707800000, 0x0000000707a00000| 0%| F| |TAMS 0x0000000707800000, 0x0000000707800000| Untracked +| 45|0x0000000707a00000, 0x0000000707a00000, 0x0000000707c00000| 0%| F| |TAMS 0x0000000707a00000, 0x0000000707a00000| Untracked +| 46|0x0000000707c00000, 0x0000000707c00000, 0x0000000707e00000| 0%| F| |TAMS 0x0000000707c00000, 0x0000000707c00000| Untracked +| 47|0x0000000707e00000, 0x0000000707e00000, 0x0000000708000000| 0%| F| |TAMS 0x0000000707e00000, 0x0000000707e00000| Untracked +| 48|0x0000000708000000, 0x0000000708000000, 0x0000000708200000| 0%| F| |TAMS 0x0000000708000000, 0x0000000708000000| Untracked +| 49|0x0000000708200000, 0x0000000708200000, 0x0000000708400000| 0%| F| |TAMS 0x0000000708200000, 0x0000000708200000| Untracked +| 50|0x0000000708400000, 0x0000000708400000, 0x0000000708600000| 0%| F| |TAMS 0x0000000708400000, 0x0000000708400000| Untracked +| 51|0x0000000708600000, 0x0000000708600000, 0x0000000708800000| 0%| F| |TAMS 0x0000000708600000, 0x0000000708600000| Untracked +| 52|0x0000000708800000, 0x0000000708800000, 0x0000000708a00000| 0%| F| |TAMS 0x0000000708800000, 0x0000000708800000| Untracked +| 53|0x0000000708a00000, 0x0000000708a00000, 0x0000000708c00000| 0%| F| |TAMS 0x0000000708a00000, 0x0000000708a00000| Untracked +| 54|0x0000000708c00000, 0x0000000708c00000, 0x0000000708e00000| 0%| F| |TAMS 0x0000000708c00000, 0x0000000708c00000| Untracked +| 55|0x0000000708e00000, 0x0000000708e00000, 0x0000000709000000| 0%| F| |TAMS 0x0000000708e00000, 0x0000000708e00000| Untracked +| 56|0x0000000709000000, 0x0000000709000000, 0x0000000709200000| 0%| F| |TAMS 0x0000000709000000, 0x0000000709000000| Untracked +| 57|0x0000000709200000, 0x0000000709200000, 0x0000000709400000| 0%| F| |TAMS 0x0000000709200000, 0x0000000709200000| Untracked +| 58|0x0000000709400000, 0x0000000709400000, 0x0000000709600000| 0%| F| |TAMS 0x0000000709400000, 0x0000000709400000| Untracked +| 59|0x0000000709600000, 0x0000000709600000, 0x0000000709800000| 0%| F| |TAMS 0x0000000709600000, 0x0000000709600000| Untracked +| 60|0x0000000709800000, 0x0000000709800000, 0x0000000709a00000| 0%| F| |TAMS 0x0000000709800000, 0x0000000709800000| Untracked +| 61|0x0000000709a00000, 0x0000000709a00000, 0x0000000709c00000| 0%| F| |TAMS 0x0000000709a00000, 0x0000000709a00000| Untracked +| 62|0x0000000709c00000, 0x0000000709c00000, 0x0000000709e00000| 0%| F| |TAMS 0x0000000709c00000, 0x0000000709c00000| Untracked +| 63|0x0000000709e00000, 0x0000000709e00000, 0x000000070a000000| 0%| F| |TAMS 0x0000000709e00000, 0x0000000709e00000| Untracked +| 64|0x000000070a000000, 0x000000070a000000, 0x000000070a200000| 0%| F| |TAMS 0x000000070a000000, 0x000000070a000000| Untracked +| 65|0x000000070a200000, 0x000000070a200000, 0x000000070a400000| 0%| F| |TAMS 0x000000070a200000, 0x000000070a200000| Untracked +| 66|0x000000070a400000, 0x000000070a400000, 0x000000070a600000| 0%| F| |TAMS 0x000000070a400000, 0x000000070a400000| Untracked +| 67|0x000000070a600000, 0x000000070a600000, 0x000000070a800000| 0%| F| |TAMS 0x000000070a600000, 0x000000070a600000| Untracked +| 68|0x000000070a800000, 0x000000070a800000, 0x000000070aa00000| 0%| F| |TAMS 0x000000070a800000, 0x000000070a800000| Untracked +| 69|0x000000070aa00000, 0x000000070aa00000, 0x000000070ac00000| 0%| F| |TAMS 0x000000070aa00000, 0x000000070aa00000| Untracked +| 70|0x000000070ac00000, 0x000000070ac00000, 0x000000070ae00000| 0%| F| |TAMS 0x000000070ac00000, 0x000000070ac00000| Untracked +| 71|0x000000070ae00000, 0x000000070ae00000, 0x000000070b000000| 0%| F| |TAMS 0x000000070ae00000, 0x000000070ae00000| Untracked +| 72|0x000000070b000000, 0x000000070b000000, 0x000000070b200000| 0%| F| |TAMS 0x000000070b000000, 0x000000070b000000| Untracked +| 73|0x000000070b200000, 0x000000070b200000, 0x000000070b400000| 0%| F| |TAMS 0x000000070b200000, 0x000000070b200000| Untracked +| 74|0x000000070b400000, 0x000000070b400000, 0x000000070b600000| 0%| F| |TAMS 0x000000070b400000, 0x000000070b400000| Untracked +| 75|0x000000070b600000, 0x000000070b600000, 0x000000070b800000| 0%| F| |TAMS 0x000000070b600000, 0x000000070b600000| Untracked +| 76|0x000000070b800000, 0x000000070b800000, 0x000000070ba00000| 0%| F| |TAMS 0x000000070b800000, 0x000000070b800000| Untracked +| 77|0x000000070ba00000, 0x000000070ba00000, 0x000000070bc00000| 0%| F| |TAMS 0x000000070ba00000, 0x000000070ba00000| Untracked +| 78|0x000000070bc00000, 0x000000070bc00000, 0x000000070be00000| 0%| F| |TAMS 0x000000070bc00000, 0x000000070bc00000| Untracked +| 79|0x000000070be00000, 0x000000070be00000, 0x000000070c000000| 0%| F| |TAMS 0x000000070be00000, 0x000000070be00000| Untracked +| 80|0x000000070c000000, 0x000000070c000000, 0x000000070c200000| 0%| F| |TAMS 0x000000070c000000, 0x000000070c000000| Untracked +| 81|0x000000070c200000, 0x000000070c200000, 0x000000070c400000| 0%| F| |TAMS 0x000000070c200000, 0x000000070c200000| Untracked +| 82|0x000000070c400000, 0x000000070c400000, 0x000000070c600000| 0%| F| |TAMS 0x000000070c400000, 0x000000070c400000| Untracked +| 83|0x000000070c600000, 0x000000070c600000, 0x000000070c800000| 0%| F| |TAMS 0x000000070c600000, 0x000000070c600000| Untracked +| 84|0x000000070c800000, 0x000000070c800000, 0x000000070ca00000| 0%| F| |TAMS 0x000000070c800000, 0x000000070c800000| Untracked +| 85|0x000000070ca00000, 0x000000070ca00000, 0x000000070cc00000| 0%| F| |TAMS 0x000000070ca00000, 0x000000070ca00000| Untracked +| 86|0x000000070cc00000, 0x000000070cc00000, 0x000000070ce00000| 0%| F| |TAMS 0x000000070cc00000, 0x000000070cc00000| Untracked +| 87|0x000000070ce00000, 0x000000070ce00000, 0x000000070d000000| 0%| F| |TAMS 0x000000070ce00000, 0x000000070ce00000| Untracked +| 88|0x000000070d000000, 0x000000070d000000, 0x000000070d200000| 0%| F| |TAMS 0x000000070d000000, 0x000000070d000000| Untracked +| 89|0x000000070d200000, 0x000000070d200000, 0x000000070d400000| 0%| F| |TAMS 0x000000070d200000, 0x000000070d200000| Untracked +| 90|0x000000070d400000, 0x000000070d400000, 0x000000070d600000| 0%| F| |TAMS 0x000000070d400000, 0x000000070d400000| Untracked +| 91|0x000000070d600000, 0x000000070d600000, 0x000000070d800000| 0%| F| |TAMS 0x000000070d600000, 0x000000070d600000| Untracked +| 92|0x000000070d800000, 0x000000070d800000, 0x000000070da00000| 0%| F| |TAMS 0x000000070d800000, 0x000000070d800000| Untracked +| 93|0x000000070da00000, 0x000000070da00000, 0x000000070dc00000| 0%| F| |TAMS 0x000000070da00000, 0x000000070da00000| Untracked +| 94|0x000000070dc00000, 0x000000070dc00000, 0x000000070de00000| 0%| F| |TAMS 0x000000070dc00000, 0x000000070dc00000| Untracked +| 95|0x000000070de00000, 0x000000070de00000, 0x000000070e000000| 0%| F| |TAMS 0x000000070de00000, 0x000000070de00000| Untracked +| 96|0x000000070e000000, 0x000000070e000000, 0x000000070e200000| 0%| F| |TAMS 0x000000070e000000, 0x000000070e000000| Untracked +| 97|0x000000070e200000, 0x000000070e200000, 0x000000070e400000| 0%| F| |TAMS 0x000000070e200000, 0x000000070e200000| Untracked +| 98|0x000000070e400000, 0x000000070e400000, 0x000000070e600000| 0%| F| |TAMS 0x000000070e400000, 0x000000070e400000| Untracked +| 99|0x000000070e600000, 0x000000070e600000, 0x000000070e800000| 0%| F| |TAMS 0x000000070e600000, 0x000000070e600000| Untracked +| 100|0x000000070e800000, 0x000000070e800000, 0x000000070ea00000| 0%| F| |TAMS 0x000000070e800000, 0x000000070e800000| Untracked +| 101|0x000000070ea00000, 0x000000070ea00000, 0x000000070ec00000| 0%| F| |TAMS 0x000000070ea00000, 0x000000070ea00000| Untracked +| 102|0x000000070ec00000, 0x000000070ec00000, 0x000000070ee00000| 0%| F| |TAMS 0x000000070ec00000, 0x000000070ec00000| Untracked +| 103|0x000000070ee00000, 0x000000070ee00000, 0x000000070f000000| 0%| F| |TAMS 0x000000070ee00000, 0x000000070ee00000| Untracked +| 104|0x000000070f000000, 0x000000070f000000, 0x000000070f200000| 0%| F| |TAMS 0x000000070f000000, 0x000000070f000000| Untracked +| 105|0x000000070f200000, 0x000000070f200000, 0x000000070f400000| 0%| F| |TAMS 0x000000070f200000, 0x000000070f200000| Untracked +| 106|0x000000070f400000, 0x000000070f400000, 0x000000070f600000| 0%| F| |TAMS 0x000000070f400000, 0x000000070f400000| Untracked +| 107|0x000000070f600000, 0x000000070f600000, 0x000000070f800000| 0%| F| |TAMS 0x000000070f600000, 0x000000070f600000| Untracked +| 108|0x000000070f800000, 0x000000070f800000, 0x000000070fa00000| 0%| F| |TAMS 0x000000070f800000, 0x000000070f800000| Untracked +| 109|0x000000070fa00000, 0x000000070fa00000, 0x000000070fc00000| 0%| F| |TAMS 0x000000070fa00000, 0x000000070fa00000| Untracked +| 110|0x000000070fc00000, 0x000000070fc00000, 0x000000070fe00000| 0%| F| |TAMS 0x000000070fc00000, 0x000000070fc00000| Untracked +| 111|0x000000070fe00000, 0x000000070fe00000, 0x0000000710000000| 0%| F| |TAMS 0x000000070fe00000, 0x000000070fe00000| Untracked +| 112|0x0000000710000000, 0x0000000710000000, 0x0000000710200000| 0%| F| |TAMS 0x0000000710000000, 0x0000000710000000| Untracked +| 113|0x0000000710200000, 0x0000000710200000, 0x0000000710400000| 0%| F| |TAMS 0x0000000710200000, 0x0000000710200000| Untracked +| 114|0x0000000710400000, 0x0000000710400000, 0x0000000710600000| 0%| F| |TAMS 0x0000000710400000, 0x0000000710400000| Untracked +| 115|0x0000000710600000, 0x0000000710600000, 0x0000000710800000| 0%| F| |TAMS 0x0000000710600000, 0x0000000710600000| Untracked +| 116|0x0000000710800000, 0x0000000710800000, 0x0000000710a00000| 0%| F| |TAMS 0x0000000710800000, 0x0000000710800000| Untracked +| 117|0x0000000710a00000, 0x0000000710a00000, 0x0000000710c00000| 0%| F| |TAMS 0x0000000710a00000, 0x0000000710a00000| Untracked +| 118|0x0000000710c00000, 0x0000000710c00000, 0x0000000710e00000| 0%| F| |TAMS 0x0000000710c00000, 0x0000000710c00000| Untracked +| 119|0x0000000710e00000, 0x0000000710e00000, 0x0000000711000000| 0%| F| |TAMS 0x0000000710e00000, 0x0000000710e00000| Untracked +| 120|0x0000000711000000, 0x0000000711000000, 0x0000000711200000| 0%| F| |TAMS 0x0000000711000000, 0x0000000711000000| Untracked +| 121|0x0000000711200000, 0x0000000711200000, 0x0000000711400000| 0%| F| |TAMS 0x0000000711200000, 0x0000000711200000| Untracked +| 122|0x0000000711400000, 0x0000000711400000, 0x0000000711600000| 0%| F| |TAMS 0x0000000711400000, 0x0000000711400000| Untracked +| 123|0x0000000711600000, 0x0000000711600000, 0x0000000711800000| 0%| F| |TAMS 0x0000000711600000, 0x0000000711600000| Untracked +| 124|0x0000000711800000, 0x00000007118f64d8, 0x0000000711a00000| 48%| E| |TAMS 0x0000000711800000, 0x0000000711800000| Complete +| 125|0x0000000711a00000, 0x0000000711c00000, 0x0000000711c00000|100%| E|CS|TAMS 0x0000000711a00000, 0x0000000711a00000| Complete +| 126|0x0000000711c00000, 0x0000000711e00000, 0x0000000711e00000|100%| E| |TAMS 0x0000000711c00000, 0x0000000711c00000| Complete + +Card table byte_map: [0x000002df775d0000,0x000002df77dc0000] _byte_map_base: 0x000002df73dc0000 + +Marking Bits (Prev, Next): (CMBitMap*) 0x000002df628966c0, (CMBitMap*) 0x000002df62896700 + Prev Bits: [0x000002df785b0000, 0x000002df7c530000) + Next Bits: [0x000002df00000000, 0x000002df03f80000) + +Polling page: 0x000002df62600000 + +Metaspace: + +Usage: + Non-class: 8.84 MB used. + Class: 938.70 KB used. + Both: 9.75 MB used. + +Virtual space: + Non-class space: 16.00 MB reserved, 8.88 MB ( 55%) committed, 2 nodes. + Class space: 1.00 GB reserved, 1.00 MB ( <1%) committed, 1 nodes. + Both: 1.02 GB reserved, 9.88 MB ( <1%) committed. + +Chunk freelists: + Non-Class: 2.96 MB + Class: 3.03 MB + Both: 5.99 MB + +MaxMetaspaceSize: unlimited +CompressedClassSpaceSize: 1.00 GB +Initial GC threshold: 21.00 MB +Current GC threshold: 21.00 MB +CDS: off +MetaspaceReclaimPolicy: balanced + - commit_granule_bytes: 65536. + - commit_granule_words: 8192. + - virtual_space_node_default_size: 1048576. + - enlarge_chunks_in_place: 1. + - new_chunks_are_fully_committed: 0. + - uncommit_free_chunks: 1. + - use_allocation_guard: 0. + - handle_deallocations: 1. + + +Internal statistics: + +num_allocs_failed_limit: 0. +num_arena_births: 28. +num_arena_deaths: 0. +num_vsnodes_births: 3. +num_vsnodes_deaths: 0. +num_space_committed: 158. +num_space_uncommitted: 0. +num_chunks_returned_to_freelist: 0. +num_chunks_taken_from_freelist: 64. +num_chunk_merges: 0. +num_chunk_splits: 33. +num_chunks_enlarged: 20. +num_purges: 0. +num_inconsistent_stats: 0. + +CodeHeap 'non-profiled nmethods': size=120000Kb used=124Kb max_used=124Kb free=119875Kb + bounds [0x000002df6f290000, 0x000002df6f500000, 0x000002df767c0000] +CodeHeap 'profiled nmethods': size=120000Kb used=696Kb max_used=696Kb free=119303Kb + bounds [0x000002df677c0000, 0x000002df67a30000, 0x000002df6ecf0000] +CodeHeap 'non-nmethods': size=5760Kb used=1145Kb max_used=1160Kb free=4614Kb + bounds [0x000002df6ecf0000, 0x000002df6ef60000, 0x000002df6f290000] + total_blobs=911 nmethods=477 adapters=347 + compilation: enabled + stopped_count=0, restarted_count=0 + full_count=0 + +Compilation events (20 events): +Event: 0.435 Thread 0x000002df7f473190 nmethod 465 0x000002df67865a90 code [0x000002df67865c40, 0x000002df67865f28] +Event: 0.435 Thread 0x000002df7f473190 470 3 java.nio.CharBuffer::position (6 bytes) +Event: 0.435 Thread 0x000002df7f471880 nmethod 473 0x000002df6f2ae990 code [0x000002df6f2aeb00, 0x000002df6f2aeb78] +Event: 0.435 Thread 0x000002df7f473190 nmethod 470 0x000002df67866090 code [0x000002df67866240, 0x000002df678663e8] +Event: 0.435 Thread 0x000002df7f473190 466 3 sun.nio.fs.WindowsPathParser::parse (384 bytes) +Event: 0.438 Thread 0x000002df7f473190 nmethod 466 0x000002df67866490 code [0x000002df67866ba0, 0x000002df6786a9a8] +Event: 0.438 Thread 0x000002df7f473190 476 3 java.lang.invoke.MethodType$ConcurrentWeakInternSet::expungeStaleElements (27 bytes) +Event: 0.439 Thread 0x000002df7f473190 nmethod 476 0x000002df6786c010 code [0x000002df6786c1e0, 0x000002df6786c6d8] +Event: 0.439 Thread 0x000002df7f473190 471 3 java.nio.CharBuffer::hasArray (20 bytes) +Event: 0.439 Thread 0x000002df7f473190 nmethod 471 0x000002df6786c890 code [0x000002df6786ca20, 0x000002df6786cbd8] +Event: 0.439 Thread 0x000002df7f473190 472 3 java.lang.System$2::decodeASCII (11 bytes) +Event: 0.439 Thread 0x000002df7f473190 nmethod 472 0x000002df6786cc90 code [0x000002df6786ce20, 0x000002df6786cf68] +Event: 0.439 Thread 0x000002df7f473190 467 3 sun.nio.fs.WindowsPathParser::isLetter (30 bytes) +Event: 0.439 Thread 0x000002df7f473190 nmethod 467 0x000002df6786d010 code [0x000002df6786d1a0, 0x000002df6786d398] +Event: 0.439 Thread 0x000002df7f473190 468 3 sun.nio.fs.WindowsPathParser$Result:: (20 bytes) +Event: 0.439 Thread 0x000002df7f473190 nmethod 468 0x000002df6786d410 code [0x000002df6786d5c0, 0x000002df6786d858] +Event: 0.439 Thread 0x000002df7f473190 469 3 sun.nio.fs.WindowsDirectoryStream$WindowsDirectoryIterator::isSelfOrParent (24 bytes) +Event: 0.439 Thread 0x000002df7f473190 nmethod 469 0x000002df6786d910 code [0x000002df6786dac0, 0x000002df6786dcf8] +Event: 0.439 Thread 0x000002df7f473190 474 3 java.nio.charset.CoderResult::isError (14 bytes) +Event: 0.440 Thread 0x000002df7f473190 nmethod 474 0x000002df6786de10 code [0x000002df6786dfa0, 0x000002df6786e118] + +GC Heap History (0 events): +No events + +Dll operation events (1 events): +Event: 0.017 Loaded shared library D:\IntelliJ IDEA 2023.1\jbr\bin\java.dll + +Deoptimization events (0 events): +No events + +Classes unloaded (0 events): +No events + +Classes redefined (0 events): +No events + +Internal exceptions (9 events): +Event: 0.292 Thread 0x000002df6282a0c0 Exception (0x0000000711b26990) +thrown [s\src\hotspot\share\prims\jni.cpp, line 517] +Event: 0.310 Thread 0x000002df6282a0c0 Exception (0x0000000711b51bd0) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 771] +Event: 0.312 Thread 0x000002df6282a0c0 Exception (0x0000000711b5caa0) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 771] +Event: 0.312 Thread 0x000002df6282a0c0 Exception (0x0000000711b603c0) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 838] +Event: 0.313 Thread 0x000002df6282a0c0 Exception (0x0000000711b63770) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 771] +Event: 0.313 Thread 0x000002df6282a0c0 Exception (0x0000000711b67088) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 771] +Event: 0.315 Thread 0x000002df6282a0c0 Exception (0x0000000711b6d9c0) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 771] +Event: 0.358 Thread 0x000002df6282a0c0 Exception (0x00000007118541d0) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 771] +Event: 0.436 Thread 0x000002df6282a0c0 Exception (0x00000007118e9910) +thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 771] + +VM Operations (6 events): +Event: 0.156 Executing VM operation: HandshakeAllThreads +Event: 0.156 Executing VM operation: HandshakeAllThreads done +Event: 0.174 Executing VM operation: HandshakeAllThreads +Event: 0.175 Executing VM operation: HandshakeAllThreads done +Event: 0.377 Executing VM operation: HandshakeAllThreads +Event: 0.377 Executing VM operation: HandshakeAllThreads done + +Events (20 events): +Event: 0.379 loading class java/net/InetAddress$NameService done +Event: 0.379 loading class java/net/InetAddress$PlatformNameService done +Event: 0.379 loading class java/net/Inet4Address +Event: 0.379 loading class java/net/Inet4Address done +Event: 0.379 loading class java/net/Inet6Address +Event: 0.379 loading class java/net/Inet6Address done +Event: 0.379 loading class java/net/Inet6Address$Inet6AddressHolder +Event: 0.379 loading class java/net/Inet6Address$Inet6AddressHolder done +Event: 0.379 loading class java/net/DefaultInterface +Event: 0.379 loading class java/net/DefaultInterface done +Event: 0.396 loading class java/net/NetworkInterface$1 +Event: 0.396 loading class java/net/NetworkInterface$1 done +Event: 0.422 loading class java/nio/file/Files$AcceptAllFilter +Event: 0.422 loading class java/nio/file/Files$AcceptAllFilter done +Event: 0.440 loading class sun/security/provider/AbstractDrbg$NonceProvider +Event: 0.440 loading class sun/security/provider/AbstractDrbg$NonceProvider done +Event: 0.440 loading class sun/security/provider/SHA2$SHA256 +Event: 0.440 loading class sun/security/provider/SHA2 +Event: 0.440 loading class sun/security/provider/SHA2 done +Event: 0.440 loading class sun/security/provider/SHA2$SHA256 done + + +Dynamic libraries: +0x00007ff7bf8d0000 - 0x00007ff7bf8da000 D:\IntelliJ IDEA 2023.1\jbr\bin\java.exe +0x00007ffd31ed0000 - 0x00007ffd320c5000 C:\Windows\SYSTEM32\ntdll.dll +0x00007ffd31700000 - 0x00007ffd317be000 C:\Windows\System32\KERNEL32.DLL +0x00007ffd2f620000 - 0x00007ffd2f8e8000 C:\Windows\System32\KERNELBASE.dll +0x00007ffd2fd20000 - 0x00007ffd2fe20000 C:\Windows\System32\ucrtbase.dll +0x00007ffd1dce0000 - 0x00007ffd1dcf7000 D:\IntelliJ IDEA 2023.1\jbr\bin\jli.dll +0x00007ffd2b4b0000 - 0x00007ffd2b4cb000 D:\IntelliJ IDEA 2023.1\jbr\bin\VCRUNTIME140.dll +0x00007ffd31540000 - 0x00007ffd316e0000 C:\Windows\System32\USER32.dll +0x00007ffd2fca0000 - 0x00007ffd2fcc2000 C:\Windows\System32\win32u.dll +0x00007ffd30610000 - 0x00007ffd3063b000 C:\Windows\System32\GDI32.dll +0x00007ffd2fe20000 - 0x00007ffd2ff2b000 C:\Windows\System32\gdi32full.dll +0x00007ffd1b570000 - 0x00007ffd1b80a000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll +0x00007ffd2fa30000 - 0x00007ffd2facd000 C:\Windows\System32\msvcp_win.dll +0x00007ffd300b0000 - 0x00007ffd3014e000 C:\Windows\System32\msvcrt.dll +0x00007ffd30420000 - 0x00007ffd30450000 C:\Windows\System32\IMM32.DLL +0x00007ffd2b400000 - 0x00007ffd2b40c000 D:\IntelliJ IDEA 2023.1\jbr\bin\vcruntime140_1.dll +0x00007ffd1b290000 - 0x00007ffd1b31d000 D:\IntelliJ IDEA 2023.1\jbr\bin\msvcp140.dll +0x00007ffd08da0000 - 0x00007ffd09a0d000 D:\IntelliJ IDEA 2023.1\jbr\bin\server\jvm.dll +0x00007ffd30150000 - 0x00007ffd301fe000 C:\Windows\System32\ADVAPI32.dll +0x00007ffd30f00000 - 0x00007ffd30f9c000 C:\Windows\System32\sechost.dll +0x00007ffd30fa0000 - 0x00007ffd310c5000 C:\Windows\System32\RPCRT4.dll +0x00007ffd1b9e0000 - 0x00007ffd1b9e9000 C:\Windows\SYSTEM32\WSOCK32.dll +0x00007ffd21110000 - 0x00007ffd21137000 C:\Windows\SYSTEM32\WINMM.dll +0x00007ffd218e0000 - 0x00007ffd218ea000 C:\Windows\SYSTEM32\VERSION.dll +0x00007ffd30640000 - 0x00007ffd306ab000 C:\Windows\System32\WS2_32.dll +0x00007ffd2d520000 - 0x00007ffd2d532000 C:\Windows\SYSTEM32\kernel.appcore.dll +0x00007ffd2acb0000 - 0x00007ffd2acba000 D:\IntelliJ IDEA 2023.1\jbr\bin\jimage.dll +0x00007ffd214d0000 - 0x00007ffd216b4000 C:\Windows\SYSTEM32\DBGHELP.DLL +0x00007ffd212c0000 - 0x00007ffd212ec000 C:\Windows\SYSTEM32\dbgcore.DLL +0x00007ffd2f9a0000 - 0x00007ffd2fa22000 C:\Windows\System32\bcryptPrimitives.dll +0x00007ffd1dcb0000 - 0x00007ffd1dcd5000 D:\IntelliJ IDEA 2023.1\jbr\bin\java.dll +0x00007ffd1cc40000 - 0x00007ffd1cc58000 D:\IntelliJ IDEA 2023.1\jbr\bin\zip.dll +0x00007ffd30720000 - 0x00007ffd30e64000 C:\Windows\System32\SHELL32.dll +0x00007ffd2d720000 - 0x00007ffd2deb4000 C:\Windows\SYSTEM32\windows.storage.dll +0x00007ffd31940000 - 0x00007ffd31c94000 C:\Windows\System32\combase.dll +0x00007ffd2ef80000 - 0x00007ffd2efac000 C:\Windows\SYSTEM32\Wldp.dll +0x00007ffd31ca0000 - 0x00007ffd31d4d000 C:\Windows\System32\SHCORE.dll +0x00007ffd303c0000 - 0x00007ffd30415000 C:\Windows\System32\shlwapi.dll +0x00007ffd2f530000 - 0x00007ffd2f54f000 C:\Windows\SYSTEM32\profapi.dll +0x00007ffd1cc20000 - 0x00007ffd1cc39000 D:\IntelliJ IDEA 2023.1\jbr\bin\net.dll +0x00007ffd2aa30000 - 0x00007ffd2ab39000 C:\Windows\SYSTEM32\WINHTTP.dll +0x00007ffd2ece0000 - 0x00007ffd2ed4a000 C:\Windows\system32\mswsock.dll +0x00007ffd1cae0000 - 0x00007ffd1caf6000 D:\IntelliJ IDEA 2023.1\jbr\bin\nio.dll +0x00007ffd1b240000 - 0x00007ffd1b24e000 D:\IntelliJ IDEA 2023.1\jbr\bin\sunmscapi.dll +0x00007ffd2fb40000 - 0x00007ffd2fc96000 C:\Windows\System32\CRYPT32.dll +0x00007ffd2eff0000 - 0x00007ffd2f017000 C:\Windows\SYSTEM32\ncrypt.dll +0x00007ffd2efb0000 - 0x00007ffd2efeb000 C:\Windows\SYSTEM32\NTASN1.dll +0x00007ffd2eee0000 - 0x00007ffd2eef8000 C:\Windows\SYSTEM32\CRYPTSP.dll +0x00007ffd2e660000 - 0x00007ffd2e694000 C:\Windows\system32\rsaenh.dll +0x00007ffd2f5f0000 - 0x00007ffd2f617000 C:\Windows\System32\bcrypt.dll +0x00007ffd2f4f0000 - 0x00007ffd2f51e000 C:\Windows\SYSTEM32\USERENV.dll +0x00007ffd2eed0000 - 0x00007ffd2eedc000 C:\Windows\SYSTEM32\CRYPTBASE.dll +0x00007ffd2e9d0000 - 0x00007ffd2ea0b000 C:\Windows\SYSTEM32\IPHLPAPI.DLL +0x00007ffd30280000 - 0x00007ffd30288000 C:\Windows\System32\NSI.dll +0x00007ffd2a590000 - 0x00007ffd2a5a7000 C:\Windows\SYSTEM32\dhcpcsvc6.DLL +0x00007ffd2a520000 - 0x00007ffd2a53d000 C:\Windows\SYSTEM32\dhcpcsvc.DLL +0x00007ffd2ea10000 - 0x00007ffd2eada000 C:\Windows\SYSTEM32\DNSAPI.dll + +dbghelp: loaded successfully - version: 4.0.5 - missing functions: none +symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;D:\IntelliJ IDEA 2023.1\jbr\bin;C:\Windows\SYSTEM32;C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e;D:\IntelliJ IDEA 2023.1\jbr\bin\server + +VM Arguments: +java_command: git4idea.http.GitAskPassApp Username for 'https://gitee.com': +java_class_path (initial): D:/IntelliJ IDEA 2023.1/plugins/vcs-git/lib/git4idea-rt.jar;D:/IntelliJ IDEA 2023.1/lib/externalProcess-rt.jar +Launcher Type: SUN_STANDARD + +[Global flags] + intx CICompilerCount = 3 {product} {ergonomic} + uint ConcGCThreads = 1 {product} {ergonomic} + uint G1ConcRefinementThreads = 4 {product} {ergonomic} + size_t G1HeapRegionSize = 2097152 {product} {ergonomic} + uintx GCDrainStackTargetSize = 64 {product} {ergonomic} + size_t InitialHeapSize = 266338304 {product} {ergonomic} + size_t MarkStackSize = 4194304 {product} {ergonomic} + size_t MaxHeapSize = 4261412864 {product} {ergonomic} + size_t MaxNewSize = 2556428288 {product} {ergonomic} + size_t MinHeapDeltaBytes = 2097152 {product} {ergonomic} + size_t MinHeapSize = 8388608 {product} {ergonomic} + uintx NonNMethodCodeHeapSize = 5832780 {pd product} {ergonomic} + uintx NonProfiledCodeHeapSize = 122912730 {pd product} {ergonomic} + uintx ProfiledCodeHeapSize = 122912730 {pd product} {ergonomic} + uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic} + bool SegmentedCodeCache = true {product} {ergonomic} + size_t SoftMaxHeapSize = 4261412864 {manageable} {ergonomic} + bool UseCompressedClassPointers = true {product lp64_product} {ergonomic} + bool UseCompressedOops = true {product lp64_product} {ergonomic} + bool UseG1GC = true {product} {ergonomic} + bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic} + +Logging: +Log output configuration: + #0: stdout all=warning uptime,level,tags + #1: stderr all=off uptime,level,tags + +Environment Variables: +JAVA_HOME=D:\jdk +CLASSPATH=.;D:\jdk\lib;D:\jdk\lib\tools.jar +PATH=E:\git\mingw64\libexec\git-core;E:\git\mingw64\libexec\git-core;E:\git\mingw64\bin;E:\git\usr\bin;C:\Users\Administrator\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;D:\jdk\bin;D:\apache-maven-3.8.8\bin;E:\git\usr\bin;E:\xshell;E:\xshell\xftp;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps +USERNAME=Administrator +DISPLAY=:0.0 +LC_ALL=en_US.UTF-8 +TERM=xterm-256color +TMPDIR=C:\Users\ADMINI~1\AppData\Local\Temp +OS=Windows_NT +PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel +TMP=C:\Users\ADMINI~1\AppData\Local\Temp +TEMP=C:\Users\ADMINI~1\AppData\Local\Temp + + + +--------------- S Y S T E M --------------- + +OS: + Windows 10 , 64 bit Build 19041 (10.0.19041.1566) +OS uptime: 10 days 0:48 hours + +CPU: total 4 (initial active 4) (4 cores per cpu, 1 threads per core) family 6 model 42 stepping 7 microcode 0x2f, cx8, cmov, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, tsc, tscinvbit, avx, aes, clmul, vzeroupper, clflush + +Memory: 4k page, system-wide physical 16255M (1597M free) +TotalPageFile size 22884M (AvailPageFile size 1M) +current process WorkingSet (physical memory assigned to process): 47M, peak: 47M +current process commit charge ("private bytes"): 334M, peak: 334M + +vm_info: OpenJDK 64-Bit Server VM (17.0.6+10-b829.5) for windows-amd64 JRE (17.0.6+10-b829.5), built on 2023-02-24 by "builduser" with MS VC++ 16.10 / 16.11 (VS2019) + +END. diff --git a/pluss-api-page/czg.jar b/pluss-api-page/czg.jar new file mode 100644 index 0000000..3290800 Binary files /dev/null and b/pluss-api-page/czg.jar differ diff --git a/pluss-api-page/src/main/java/cn/pluss/platform/controller/merchant/callback/AuditCallbackController.java b/pluss-api-page/src/main/java/cn/pluss/platform/controller/merchant/callback/AuditCallbackController.java index 4eda885..9d0dbb5 100644 --- a/pluss-api-page/src/main/java/cn/pluss/platform/controller/merchant/callback/AuditCallbackController.java +++ b/pluss-api-page/src/main/java/cn/pluss/platform/controller/merchant/callback/AuditCallbackController.java @@ -4,6 +4,7 @@ import cn.hutool.crypto.symmetric.DES; import cn.pluss.platform.channel.MerchantAuditService; import cn.pluss.platform.channel.ys.YSAuditServiceV3; import cn.pluss.platform.entity.RyxAccessModel; +import cn.pluss.platform.klk.service.impl.LaKalaInterfaceImpl; import cn.pluss.platform.ryx.RyxService; import cn.pluss.platform.ys.impl.v20210929.YsConfigV2; import com.alibaba.fastjson.JSON; @@ -14,6 +15,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import java.nio.charset.StandardCharsets; import java.util.Map; import java.util.concurrent.ExecutorService; @@ -139,5 +141,11 @@ public class AuditCallbackController { return ryxMerchantAuditService.editMerchantCallback(result); } - + @Resource + LaKalaInterfaceImpl laKalaInterface; + @PostMapping("lklCallBack") + public String lklCallBack(@RequestBody Map map) throws Exception { + String str ="data -> hplFXwPU1gbHYwraQM/fKEcoIkBfHD07VSH99OnKTZk9HJRFAvZyOm9nsdeSi8t/UdGPn+LXldrjZ7wiY+F5MzGlIdEma7agKZyHJ+UO6CrDJfYFMwlPUOgO+Pq5ljg6QOdZBxBLEHkRMkQnC/CTv9vQnPDqeCv4MvAbHJspADGRRPvmjxtzf0J4OQgP3hj9+ZqH+btsuX+W+YZRXRMYL+uOQkSJhMUv31hc9MAC/1Sp0C9cBcHKxr+idS+0CCjvD8WzLbXv2QuOSQccIKQw+Je8RMeuKs8f64MibCkf+RkilTCVCEd5apL1MkhYJZoUVzqPXmDBLjaJgr987X1wBAzQMS8+F34Vl/BonKPuJ4RRwdE/M3WJ+ZfM2WiLawpU7ZqUQdVY2bwJO801TcmFCswLoz2qxHHsBsjXtQPqMOj3pw3Kvz3WH3oWmcFRZjHKIbDSy9Jh2STEFRbvVWarjksBVjXkcbletDtOtY0T8XCdiiNoQNlVNj5kH5QkAWmt"; + return laKalaInterface.tuoKeCallBack(map); + } } diff --git a/pluss-api-page/src/main/resources/application-prod.yml b/pluss-api-page/src/main/resources/application-prod.yml index 62a9eda..4c3f665 100644 --- a/pluss-api-page/src/main/resources/application-prod.yml +++ b/pluss-api-page/src/main/resources/application-prod.yml @@ -1,14 +1,10 @@ spring: -# datasource: -# url: jdbc:mysql://rm-bp19ib8x213kh9t45.rwlb.rds.aliyuncs.com:3306/chaozhanggui?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8 -# username: root -# password: prodCZGmysqlroot@123 -# driver-class-name: com.mysql.jdbc.Driver datasource: - url: jdbc:mysql://rm-bp19ib8x213kh9t450o.rwlb.rds.aliyuncs.com:3306/chaozhanggui?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8 + url: jdbc:mysql://rm-bp19ib8x213kh9t45.rwlb.rds.aliyuncs.com:3306/chaozhanggui?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8 username: root password: prodCZGmysqlroot@123 driver-class-name: com.mysql.jdbc.Driver + parameter: ### 这个根据自己的情况配置 domain: https://ky.sxczgkj.cn diff --git a/pluss-common-bundle/src/main/resources/config/application-lkl.yml b/pluss-common-bundle/src/main/resources/config/application-lkl.yml index 508390d..b09d8f4 100644 --- a/pluss-common-bundle/src/main/resources/config/application-lkl.yml +++ b/pluss-common-bundle/src/main/resources/config/application-lkl.yml @@ -1,2 +1,11 @@ lkl: private_key: MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDvDBZyHUDndAGxrIcsCV2njhNO3vCEZotTaWYSYwtDvkcAb1EjsBFabXZaKigpqFXk5XXNI3NIHP9M8XKzIgGvc65NpLAfRjVql8JiTvLyYd1gIUcOXMInabu+oX7dQSI1mS8XzqaoVRhDZQWhXcJW9bxMulgnzvk0Ggw07AjGF7si+hP/Va8SJmN7EJwfQq6TpSxR+WdIHpbWdhZ+NHwitnQwAJTLBFvfk28INM39G7XOsXdVLfsooFdglVTOHpNuRiQAj9gShCCNrpGsNQxDiJIxE43qRsNsRwigyo6DPJk/klgDJa417E2wgP8VrwiXparO4FMzOGK15quuoD7DAgMBAAECggEBANhmWOt1EAx3OBFf3f4/fEjylQgRSiqRqg8Ymw6KGuh4mE4Md6eW/B6geUOmZjVP7nIIR1wte28M0REWgn8nid8LGf+v1sB5DmIwgAf+8G/7qCwd8/VMg3aqgQtRp0ckb5OV2Mv0h2pbnltkWHR8LDIMwymyh5uCApbn/aTrCAZKNXcPOyAn9tM8Bu3FHk3Pf24Er3SN+bnGxgpzDrFjsDSHjDFT9UMIc2WdA3tuMv9X3DDn0bRCsHnsIw3WrwY6HQ8mumdbURk+2Ey3eRFfMYxyS96kOgBC2hqZOlDwVPAKTPtS4hoq+cQ0sRaJQ4T0UALJrBVHa+EESgRaTvrXqAECgYEA+WKmy9hcvp6IWZlk9Q1JZ+dgIVxrO65zylK2FnD1/vcTx2JMn73WKtQb6vdvTuk+Ruv9hY9PEsf7S8gHSTTmzHOUgo5x0F8yCxXFnfji2juoUnDdpkjtQK5KySDcpQb5kcCJWEVi9v+zObM0Zr1Nu5/NreE8EqUl3+7MtHOu1TMCgYEA9WM9P6m4frHPW7h4gs/GISA9LuOdtjLvAtgCK4cW2mhtGNAMttD8zOBQrRuafcbFAyU9de6nhGwetOhkW9YSV+xRNa7HWTeIRgXJuJBrluq5e1QGTIwZU/GujpNaR4Qiu0B8TodM/FME7htsyxjmCwEfT6SDYlkeMzTbMa9Q0DECgYBqsR/2+dvD2YMwAgZFKKgNAdoIq8dcwyfamUQ5mZ5EtGQL2yw48zibHh/LiIxgUD1Kjk/qQgNsX45NP4iOc0mCkrgomtRqdy+rumbPTNmQ0BEVJCBPscd+8pIgNiTvnWpMRvj7gMP0NDTzLI3wnnCRIq8WAtR2jZ0Ejt+ZHBziLQKBgQDibEe/zqNmhDuJrpXEXmO7fTv3YB/OVwEj5p1Z/LSho2nHU3Hn3r7lbLYEhUvwctCnLl2fzC7Wic1rsGOqOcWDS5NDrZpUQGGF+yE/JEOiZcPwgH+vcjaMtp0TAfRzuQEzNzV8YGwxB4mtC7E/ViIuVULHAk4ZGZI8PbFkDxjKgQKBgG8jEuLTI1tsP3kyaF3jAylnw7SkBc4gfe9knsYlw44YlrDSKr8AOp/zSgwvMYvqT+fygaJ3yf9uIBdrIilqCHKXccZ9uA/bT5JfIi6jbg3EoE9YhB0+1aGAS1O2dBvUiD8tJ+BjAT4OB0UDpmM6QsFLQgFyXgvDnzr/o+hQJelW + appid: OP00000462 #接入方唯一编号 + mchSerialNo: 00dfba8194c41b84cf #证书序列号 + merchantNo: 8221210594300JY #商户号 + vposId: 491612871013605376 #vpos_id + termNo: A0073841 #终端号 + apiUrl: https://test.wsmsd.cn/ + privateKeyPath: "classpath:lakalaConf/OP00000003_private_key.pem" + certificatePath: "classpath:lakalaConf/OP00000003_cert" + diff --git a/pluss-common-bundle/src/main/resources/lakalaConf/OP00000003_cert.cer b/pluss-common-bundle/src/main/resources/lakalaConf/OP00000003_cert.cer new file mode 100644 index 0000000..f85afd0 --- /dev/null +++ b/pluss-common-bundle/src/main/resources/lakalaConf/OP00000003_cert.cer @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDYTCCAkmgAwIBAgIJAN+6gZTEG4TPMA0GCSqGSIb3DQEBCwUAMEkxCzAJBgNV +BAYTAlVTMREwDwYDVQQIEwhzaGFuZ2hhaTERMA8GA1UEBxMIc2hhbmdoYWkxFDAS +BgNVBAMUC2xha2FsYV8yMDIxMB4XDTIxMDYxODA3MjEzNFoXDTMxMDYxOTA3MjEz +NFowSTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCHNoYW5naGFpMREwDwYDVQQHEwhz +aGFuZ2hhaTEUMBIGA1UEAxQLbGFrYWxhXzIwMjEwggEiMA0GCSqGSIb3DQEBAQUA +A4IBDwAwggEKAoIBAQDvDBZyHUDndAGxrIcsCV2njhNO3vCEZotTaWYSYwtDvkcA +b1EjsBFabXZaKigpqFXk5XXNI3NIHP9M8XKzIgGvc65NpLAfRjVql8JiTvLyYd1g +IUcOXMInabu+oX7dQSI1mS8XzqaoVRhDZQWhXcJW9bxMulgnzvk0Ggw07AjGF7si ++hP/Va8SJmN7EJwfQq6TpSxR+WdIHpbWdhZ+NHwitnQwAJTLBFvfk28INM39G7XO +sXdVLfsooFdglVTOHpNuRiQAj9gShCCNrpGsNQxDiJIxE43qRsNsRwigyo6DPJk/ +klgDJa417E2wgP8VrwiXparO4FMzOGK15quuoD7DAgMBAAGjTDBKMAkGA1UdEwQC +MAAwEQYJYIZIAYb4QgEBBAQDAgTwMAsGA1UdDwQEAwIFoDAdBgNVHSUEFjAUBggr +BgEFBQcDAgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADggEBAI21YYAlH+Pc1ISv +nbQrGqL8suGL0Hh/8hGaFfrJEJEKr9OeC8jElUhck2MTmfu/Y1lB7r8RBrhGPXi4 +kTXmB6ADs/9+ezNW3WXyFj7fhs3JcZ3mo33T9wyQySDKd//JrEtrTsc/s2PZ602y +qNmPomXSzjrlugaMyC7LI9sR44mc7sQnchjHoxrQFD5/usTFW72UQfYCORsQWYMt +0KKEyAcpRL51RE3xbX1WDtduFYGP62PbwLAn2nCL/j1wlF5hltWj7sditWqKgso5 +F8BTffn2Bb0RdsNxqwMy1cTPrWLeXVOqMDu3ge7hvoav8lZKTjk5Kmqhs7wNAQXK +mg9qSwo= +-----END CERTIFICATE----- diff --git a/pluss-common-bundle/src/main/resources/lakalaConf/OP00000003_private_key.pem b/pluss-common-bundle/src/main/resources/lakalaConf/OP00000003_private_key.pem new file mode 100644 index 0000000..7d95886 --- /dev/null +++ b/pluss-common-bundle/src/main/resources/lakalaConf/OP00000003_private_key.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDvDBZyHUDndAGx +rIcsCV2njhNO3vCEZotTaWYSYwtDvkcAb1EjsBFabXZaKigpqFXk5XXNI3NIHP9M +8XKzIgGvc65NpLAfRjVql8JiTvLyYd1gIUcOXMInabu+oX7dQSI1mS8XzqaoVRhD +ZQWhXcJW9bxMulgnzvk0Ggw07AjGF7si+hP/Va8SJmN7EJwfQq6TpSxR+WdIHpbW +dhZ+NHwitnQwAJTLBFvfk28INM39G7XOsXdVLfsooFdglVTOHpNuRiQAj9gShCCN +rpGsNQxDiJIxE43qRsNsRwigyo6DPJk/klgDJa417E2wgP8VrwiXparO4FMzOGK1 +5quuoD7DAgMBAAECggEBANhmWOt1EAx3OBFf3f4/fEjylQgRSiqRqg8Ymw6KGuh4 +mE4Md6eW/B6geUOmZjVP7nIIR1wte28M0REWgn8nid8LGf+v1sB5DmIwgAf+8G/7 +qCwd8/VMg3aqgQtRp0ckb5OV2Mv0h2pbnltkWHR8LDIMwymyh5uCApbn/aTrCAZK +NXcPOyAn9tM8Bu3FHk3Pf24Er3SN+bnGxgpzDrFjsDSHjDFT9UMIc2WdA3tuMv9X +3DDn0bRCsHnsIw3WrwY6HQ8mumdbURk+2Ey3eRFfMYxyS96kOgBC2hqZOlDwVPAK +TPtS4hoq+cQ0sRaJQ4T0UALJrBVHa+EESgRaTvrXqAECgYEA+WKmy9hcvp6IWZlk +9Q1JZ+dgIVxrO65zylK2FnD1/vcTx2JMn73WKtQb6vdvTuk+Ruv9hY9PEsf7S8gH +STTmzHOUgo5x0F8yCxXFnfji2juoUnDdpkjtQK5KySDcpQb5kcCJWEVi9v+zObM0 +Zr1Nu5/NreE8EqUl3+7MtHOu1TMCgYEA9WM9P6m4frHPW7h4gs/GISA9LuOdtjLv +AtgCK4cW2mhtGNAMttD8zOBQrRuafcbFAyU9de6nhGwetOhkW9YSV+xRNa7HWTeI +RgXJuJBrluq5e1QGTIwZU/GujpNaR4Qiu0B8TodM/FME7htsyxjmCwEfT6SDYlke +MzTbMa9Q0DECgYBqsR/2+dvD2YMwAgZFKKgNAdoIq8dcwyfamUQ5mZ5EtGQL2yw4 +8zibHh/LiIxgUD1Kjk/qQgNsX45NP4iOc0mCkrgomtRqdy+rumbPTNmQ0BEVJCBP +scd+8pIgNiTvnWpMRvj7gMP0NDTzLI3wnnCRIq8WAtR2jZ0Ejt+ZHBziLQKBgQDi +bEe/zqNmhDuJrpXEXmO7fTv3YB/OVwEj5p1Z/LSho2nHU3Hn3r7lbLYEhUvwctCn +Ll2fzC7Wic1rsGOqOcWDS5NDrZpUQGGF+yE/JEOiZcPwgH+vcjaMtp0TAfRzuQEz +NzV8YGwxB4mtC7E/ViIuVULHAk4ZGZI8PbFkDxjKgQKBgG8jEuLTI1tsP3kyaF3j +Aylnw7SkBc4gfe9knsYlw44YlrDSKr8AOp/zSgwvMYvqT+fygaJ3yf9uIBdrIilq +CHKXccZ9uA/bT5JfIi6jbg3EoE9YhB0+1aGAS1O2dBvUiD8tJ+BjAT4OB0UDpmM6 +QsFLQgFyXgvDnzr/o+hQJelW +-----END PRIVATE KEY----- diff --git a/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/PlussMerchantLklDao.java b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/PlussMerchantLklDao.java new file mode 100644 index 0000000..33b27da --- /dev/null +++ b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/PlussMerchantLklDao.java @@ -0,0 +1,9 @@ +package cn.pluss.platform.mapper; + +import cn.pluss.platform.entity.PlussMerchantLklEntity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface PlussMerchantLklDao extends BaseMapper { +} diff --git a/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/TbLklRegionBankInfoDao.java b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/TbLklRegionBankInfoDao.java new file mode 100644 index 0000000..67fc0d4 --- /dev/null +++ b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/TbLklRegionBankInfoDao.java @@ -0,0 +1,8 @@ +package cn.pluss.platform.mapper; +import cn.pluss.platform.entity.TbLklRegionBankInfoEntity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +@Mapper +public interface TbLklRegionBankInfoDao extends BaseMapper { + +} diff --git a/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/TbPlussBankBranchLklMapper.java b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/TbPlussBankBranchLklMapper.java new file mode 100644 index 0000000..f888c60 --- /dev/null +++ b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/TbPlussBankBranchLklMapper.java @@ -0,0 +1,9 @@ +package cn.pluss.platform.mapper; + +import cn.pluss.platform.entity.TbPlussBankBranchLklEntity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface TbPlussBankBranchLklMapper extends BaseMapper { +} diff --git a/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/TbPlussBankRegionLklMapper.java b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/TbPlussBankRegionLklMapper.java new file mode 100644 index 0000000..25c4f5e --- /dev/null +++ b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/TbPlussBankRegionLklMapper.java @@ -0,0 +1,9 @@ +package cn.pluss.platform.mapper; + +import cn.pluss.platform.entity.TbPlussBankRegionLklEntity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface TbPlussBankRegionLklMapper extends BaseMapper { +} diff --git a/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/TbPlussBusinessSmallLklDao.java b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/TbPlussBusinessSmallLklDao.java new file mode 100644 index 0000000..6697ccf --- /dev/null +++ b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/TbPlussBusinessSmallLklDao.java @@ -0,0 +1,9 @@ +package cn.pluss.platform.mapper; + +import cn.pluss.platform.entity.TbPlussBusinessSmallLklEntity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface TbPlussBusinessSmallLklDao extends BaseMapper { +} diff --git a/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/TbPlussRegionLklMapper.java b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/TbPlussRegionLklMapper.java new file mode 100644 index 0000000..9ab494b --- /dev/null +++ b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/TbPlussRegionLklMapper.java @@ -0,0 +1,9 @@ +package cn.pluss.platform.mapper; + +import cn.pluss.platform.entity.TbPlussRegionLklEntity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface TbPlussRegionLklMapper extends BaseMapper { +} diff --git a/pluss-manage-page/manage.jar b/pluss-manage-page/manage.jar new file mode 100644 index 0000000..018a2de Binary files /dev/null and b/pluss-manage-page/manage.jar differ diff --git a/pluss-manage-page/src/main/java/cn/pluss/platform/controller/activityActivate/ActivityActivateController.java b/pluss-manage-page/src/main/java/cn/pluss/platform/controller/activityActivate/ActivityActivateController.java index 79b8f93..fd1b2f6 100644 --- a/pluss-manage-page/src/main/java/cn/pluss/platform/controller/activityActivate/ActivityActivateController.java +++ b/pluss-manage-page/src/main/java/cn/pluss/platform/controller/activityActivate/ActivityActivateController.java @@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import java.io.IOException; @@ -187,6 +188,7 @@ public class ActivityActivateController extends BaseNoModelController { @RequestMapping(value = "/saveActivityActivate", method = RequestMethod.POST) @ResponseBody public Map saveActivityActivate(ActivityActivate activityActivate) { + Map result = new HashMap(16); // 通过merchantCode查商户信息 MerchantBaseInfo merchantBaseInfo = new MerchantBaseInfo(); diff --git a/pluss-manage-page/src/main/java/cn/pluss/platform/controller/deviceGoods/DeviceGoodsController.java b/pluss-manage-page/src/main/java/cn/pluss/platform/controller/deviceGoods/DeviceGoodsController.java index 95a3a8f..195d197 100644 --- a/pluss-manage-page/src/main/java/cn/pluss/platform/controller/deviceGoods/DeviceGoodsController.java +++ b/pluss-manage-page/src/main/java/cn/pluss/platform/controller/deviceGoods/DeviceGoodsController.java @@ -6,9 +6,11 @@ import cn.pluss.platform.api.Result; import cn.pluss.platform.api.ResultGenerator; import cn.pluss.platform.base.BaseModelController; import cn.pluss.platform.device.DeviceGoodTagService; +import cn.pluss.platform.device.DeviceSpecService; import cn.pluss.platform.device.DeviceTypeService; import cn.pluss.platform.entity.DeviceGoodTag; import cn.pluss.platform.entity.DeviceGoods; +import cn.pluss.platform.entity.DeviceSpec; import cn.pluss.platform.entity.DeviceType; import cn.pluss.platform.util.OssOperatUtil; import com.alibaba.fastjson.JSONObject; @@ -20,6 +22,7 @@ import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; +import javax.annotation.Resource; import java.util.List; import java.util.Map; import java.util.Objects; @@ -70,7 +73,8 @@ public class DeviceGoodsController extends BaseModelController list = deviceGoodTagService.list(); model.addAttribute("deviceGoodTagList", list); + List list1 = deviceSpecService.list(); + model.addAttribute("list1", list1); + Map uploadParam = OssOperatUtil.getUploadParam(); model.addAttribute("uploadParam",uploadParam); if (id != null) { diff --git a/pluss-manage-page/src/main/java/cn/pluss/platform/controller/home/HomeController.java b/pluss-manage-page/src/main/java/cn/pluss/platform/controller/home/HomeController.java index 7b95dc8..b395d4d 100644 --- a/pluss-manage-page/src/main/java/cn/pluss/platform/controller/home/HomeController.java +++ b/pluss-manage-page/src/main/java/cn/pluss/platform/controller/home/HomeController.java @@ -3,7 +3,10 @@ package cn.pluss.platform.controller.home; import cn.pluss.platform.api.Result; import cn.pluss.platform.api.ResultGenerator; import cn.pluss.platform.controller.BaseNoModelController; +import cn.pluss.platform.device.DeviceSpecService; import cn.pluss.platform.entitiy.ShiroUser; +import cn.pluss.platform.entity.DeviceSpec; +import cn.pluss.platform.entity.DeviceType; import cn.pluss.platform.entity.MerchantChannelStatus; import cn.pluss.platform.entity.PlatformData; import cn.pluss.platform.home.HomeService; @@ -17,6 +20,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -166,7 +170,6 @@ public class HomeController extends BaseNoModelController { result.put("loginName", loginName); return result; } - @PostMapping(value = "/getAuditData") @ResponseBody public Result getAuditData() { diff --git a/pluss-manage-page/src/main/webapp/WEB-INF/jsp/deviceGoods/detail.jsp b/pluss-manage-page/src/main/webapp/WEB-INF/jsp/deviceGoods/detail.jsp index 00c1657..4d9d0ad 100644 --- a/pluss-manage-page/src/main/webapp/WEB-INF/jsp/deviceGoods/detail.jsp +++ b/pluss-manage-page/src/main/webapp/WEB-INF/jsp/deviceGoods/detail.jsp @@ -77,7 +77,28 @@ +<%--
--%> +<%--
--%> +<%-- --%> + +<%--
--%> +<%-- --%> +<%--
--%> +<%--
--%> +<%-- * 若需添加规格的商品,可以在编码和名称中自定义--%> +<%--
--%> +<%--
--%> +<%--
--%> + +
+
@@ -328,6 +349,17 @@ } else { $("input[name = 'codeName']").val(""); } + }); + form.on("select(typeSelect1)", function(data) { + console.log("aaaaa"); + console.log(data.othis); + console.log(data.value); + $("input[name = 'code']").val(data.value); + if (data.value != "") { + $("input[name = 'codeName']").val(data.elem[data.elem.selectedIndex].text); + } else { + $("input[name = 'codeName']").val(""); + } }) }); diff --git a/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/PlussMerchantLklEntity.java b/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/PlussMerchantLklEntity.java new file mode 100644 index 0000000..48f1bde --- /dev/null +++ b/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/PlussMerchantLklEntity.java @@ -0,0 +1,15 @@ +package cn.pluss.platform.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +@TableName("tb_pluss_merchant_lkl") +@Data +public class PlussMerchantLklEntity { + @TableField("merchantId") + private String merchantId; + @TableField("merchantlkl") + private String merchantlkl; + @TableField("type") + private String type; +} diff --git a/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/TbLklRegionBankInfoEntity.java b/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/TbLklRegionBankInfoEntity.java new file mode 100644 index 0000000..8b092cc --- /dev/null +++ b/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/TbLklRegionBankInfoEntity.java @@ -0,0 +1,28 @@ +package cn.pluss.platform.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@TableName("tb_lkl_region_bank_info") +@Data +public class TbLklRegionBankInfoEntity { + @TableField("s_code") + private String sCode; + @TableField("s_name") + private String sName; + @TableField("r_code") + private String rCode; + @TableField("r_name") + private String rName; + @TableField("clear_no") + private String clearNo; + @TableField("area_code") + private String areaCode; + @TableField("branch_bank_no") + private String branchBankNo; + @TableField("branch_bank_name") + private String branchBankName; + @TableField("bank_no") + private String bankNo; +} diff --git a/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/TbPlussBankBranchLklEntity.java b/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/TbPlussBankBranchLklEntity.java new file mode 100644 index 0000000..16e9b4e --- /dev/null +++ b/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/TbPlussBankBranchLklEntity.java @@ -0,0 +1,28 @@ +package cn.pluss.platform.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Data +@TableName("tb_pluss_bank_branch_lkl") +public class TbPlussBankBranchLklEntity { + @TableField("id") + private String id; + @TableField("create_time") + private String createTime; + @TableField("optimistic") + private String optimistic; + @TableField("update_time") + private String updateTime; + @TableField("area_code") + private String areaCode; + @TableField("bank_no") + private String bankNo; + @TableField("branch_bank_name") + private String branchBankName; + @TableField("branch_bank_no") + private String branchBankNo; + @TableField("clear_no") + private String clearNo; +} diff --git a/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/TbPlussBankRegionLklEntity.java b/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/TbPlussBankRegionLklEntity.java new file mode 100644 index 0000000..a265fb4 --- /dev/null +++ b/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/TbPlussBankRegionLklEntity.java @@ -0,0 +1,24 @@ +package cn.pluss.platform.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Data +@TableName("tb_pluss_bank_region_lkl") +public class TbPlussBankRegionLklEntity { + @TableField("id") + private String id; + @TableField("create_time") + private String createTime; + @TableField("optimistic") + private String optimistic; + @TableField("update_time") + private String updateTime; + @TableField("code") + private String code; + @TableField("name") + private String name; + @TableField("parent_code") + private String parentCode; +} diff --git a/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/TbPlussBusinessSmallLklEntity.java b/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/TbPlussBusinessSmallLklEntity.java new file mode 100644 index 0000000..813716b --- /dev/null +++ b/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/TbPlussBusinessSmallLklEntity.java @@ -0,0 +1,23 @@ +package cn.pluss.platform.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +@TableName("tb_pluss_business_small_lkl") +@Data +public class TbPlussBusinessSmallLklEntity { + @TableField("id") + private String id; + @TableField("create_time") + private String createTime; + @TableField("optimistic") + private String optimistic; + @TableField("update_time") + private String updateTime; + @TableField("code") + private String code; + @TableField("name") + private String name; + @TableField("parent_code") + private String parentCode; +} diff --git a/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/TbPlussRegionLklEntity.java b/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/TbPlussRegionLklEntity.java new file mode 100644 index 0000000..44f2c37 --- /dev/null +++ b/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/TbPlussRegionLklEntity.java @@ -0,0 +1,24 @@ +package cn.pluss.platform.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Data +@TableName("tb_pluss_region_lkl") +public class TbPlussRegionLklEntity { + @TableField("id") + private String id; + @TableField("create_time") + private String createTime; + @TableField("optimistic") + private String optimistic; + @TableField("update_time") + private String updateTime; + @TableField("code") + private String code; + @TableField("name") + private String name; + @TableField("parent_code") + private String parentCode; +} diff --git a/pluss-service-bundle/hs_err_pid5812.log b/pluss-service-bundle/hs_err_pid5812.log new file mode 100644 index 0000000..d2f52ec --- /dev/null +++ b/pluss-service-bundle/hs_err_pid5812.log @@ -0,0 +1,269 @@ +# +# A fatal error has been detected by the Java Runtime Environment: +# +# Internal Error (javaCalls.cpp:51), pid=5812, tid=0x000000000000351c +# guarantee(thread->is_Java_thread()) failed: crucial check - the VM thread cannot and must not escape to Java code +# +# JRE version: Java(TM) SE Runtime Environment (8.0_191-b12) (build 1.8.0_191-b12) +# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.191-b12 mixed mode windows-amd64 compressed oops) +# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows +# +# If you would like to submit a bug report, please visit: +# http://bugreport.java.com/bugreport/crash.jsp +# + +--------------- T H R E A D --------------- + +Current thread (0x000000001c347800): VMThread [stack: 0x000000001d3d0000,0x000000001d4d0000] [id=13596] + +Stack: [0x000000001d3d0000,0x000000001d4d0000] +[error occurred during error reporting (printing stack bounds), id 0xc0000005] + +Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) + +VM_Operation (0x000000001de2f3e0): GetOrSetLocal, mode: safepoint, requested by thread 0x000000001c3bd800 + + +--------------- P R O C E S S --------------- + +Java Threads: ( => current thread ) + 0x0000000020201000 JavaThread "Log4j2-TF-5-Scheduled-1" daemon [_thread_blocked, id=1548, stack(0x0000000021020000,0x0000000021120000)] + 0x000000001d810800 JavaThread "Service Thread" daemon [_thread_blocked, id=4332, stack(0x000000001e330000,0x000000001e430000)] + 0x000000001d783000 JavaThread "C1 CompilerThread2" daemon [_thread_blocked, id=12680, stack(0x000000001e230000,0x000000001e330000)] + 0x000000001d782800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=6696, stack(0x000000001e130000,0x000000001e230000)] + 0x000000001c3da800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=12008, stack(0x000000001e030000,0x000000001e130000)] + 0x000000001c3cd800 JavaThread "JDWP Command Reader" daemon [_thread_in_native, id=1908, stack(0x000000001df30000,0x000000001e030000)] + 0x000000001c3ca800 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=8808, stack(0x000000001de30000,0x000000001df30000)] + 0x000000001c3bd800 JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_blocked, id=14240, stack(0x000000001dd30000,0x000000001de30000)] + 0x000000001c39d800 JavaThread "Attach Listener" daemon [_thread_blocked, id=2052, stack(0x000000001dc30000,0x000000001dd30000)] + 0x000000001c39a800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=1496, stack(0x000000001db30000,0x000000001dc30000)] + 0x000000001c373000 JavaThread "Finalizer" daemon [_thread_blocked, id=12924, stack(0x000000001d5d0000,0x000000001d6d0000)] + 0x0000000002c4e800 JavaThread "Reference Handler" daemon [_thread_blocked, id=1312, stack(0x000000001d4d0000,0x000000001d5d0000)] + 0x0000000002b59000 JavaThread "main" [_thread_blocked, id=11748, stack(0x0000000002a50000,0x0000000002b50000)] + +Other Threads: +=>0x000000001c347800 VMThread [stack: 0x000000001d3d0000,0x000000001d4d0000] [id=13596] + 0x000000001d8be000 WatcherThread [stack: 0x000000001e430000,0x000000001e530000] [id=13868] + +VM state:at safepoint (normal execution) + +VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event]) +[0x0000000002b55430] Threads_lock - owner thread: 0x000000001c347800 + +Heap: + PSYoungGen total 75776K, used 32669K [0x000000076b580000, 0x0000000770a00000, 0x00000007c0000000) + eden space 65024K, 39% used [0x000000076b580000,0x000000076ceb27c0,0x000000076f500000) + from space 10752K, 63% used [0x000000076ff80000,0x0000000770634f60,0x0000000770a00000) + to space 10752K, 0% used [0x000000076f500000,0x000000076f500000,0x000000076ff80000) + ParOldGen total 173568K, used 88K [0x00000006c2000000, 0x00000006cc980000, 0x000000076b580000) + object space 173568K, 0% used [0x00000006c2000000,0x00000006c2016010,0x00000006cc980000) + Metaspace used 18663K, capacity 18906K, committed 19200K, reserved 1067008K + class space used 2216K, capacity 2293K, committed 2304K, reserved 1048576K + +Card table byte_map: [0x0000000012150000,0x0000000012950000] byte_map_base: 0x000000000eb40000 + +Marking Bits: (ParMarkBitMap*) 0x000000005b433e30 + Begin Bits: [0x00000000132a0000, 0x0000000017220000) + End Bits: [0x0000000017220000, 0x000000001b1a0000) + +Polling page: 0x00000000009f0000 + +CodeCache: size=245760Kb used=6265Kb max_used=6276Kb free=239494Kb + bounds [0x0000000002d90000, 0x00000000033c0000, 0x0000000011d90000] + total_blobs=2175 nmethods=1725 adapters=370 + compilation: enabled + +Compilation events (10 events): +Event: 3.052 Thread 0x000000001d783000 nmethod 1721 0x00000000033ab3d0 code [0x00000000033ab620, 0x00000000033ac5f8] +Event: 3.052 Thread 0x000000001d783000 1723 3 java.lang.Class::privateGetMethodRecursive (130 bytes) +Event: 3.052 Thread 0x000000001d783000 nmethod 1723 0x00000000033aa450 code [0x00000000033aa660, 0x00000000033aaf98] +Event: 3.052 Thread 0x000000001d783000 1722 3 java.lang.Class::getMethod0 (40 bytes) +Event: 3.053 Thread 0x000000001d783000 nmethod 1722 0x00000000033a9e50 code [0x00000000033a9fe0, 0x00000000033aa2f8] +Event: 3.080 Thread 0x000000001c3da800 nmethod 1720 0x00000000033b2210 code [0x00000000033b2420, 0x00000000033b37a8] +Event: 3.273 Thread 0x000000001d783000 1725 3 java.lang.AbstractStringBuilder::append (50 bytes) +Event: 3.273 Thread 0x000000001d783000 nmethod 1725 0x00000000033b15d0 code [0x00000000033b17a0, 0x00000000033b1ef8] +Event: 3.273 Thread 0x000000001d783000 1726 3 java.lang.StringBuilder::append (8 bytes) +Event: 3.273 Thread 0x000000001d783000 nmethod 1726 0x00000000033a96d0 code [0x00000000033a9840, 0x00000000033a99e8] + +GC Heap History (4 events): +Event: 1.308 GC heap before +{Heap before GC invocations=1 (full 0): + PSYoungGen total 75776K, used 65024K [0x000000076b580000, 0x0000000770a00000, 0x00000007c0000000) + eden space 65024K, 100% used [0x000000076b580000,0x000000076f500000,0x000000076f500000) + from space 10752K, 0% used [0x000000076ff80000,0x000000076ff80000,0x0000000770a00000) + to space 10752K, 0% used [0x000000076f500000,0x000000076f500000,0x000000076ff80000) + ParOldGen total 173568K, used 0K [0x00000006c2000000, 0x00000006cc980000, 0x000000076b580000) + object space 173568K, 0% used [0x00000006c2000000,0x00000006c2000000,0x00000006cc980000) + Metaspace used 8261K, capacity 8462K, committed 8576K, reserved 1056768K + class space used 1003K, capacity 1047K, committed 1152K, reserved 1048576K +Event: 1.314 GC heap after +Heap after GC invocations=1 (full 0): + PSYoungGen total 75776K, used 5856K [0x000000076b580000, 0x0000000770a00000, 0x00000007c0000000) + eden space 65024K, 0% used [0x000000076b580000,0x000000076b580000,0x000000076f500000) + from space 10752K, 54% used [0x000000076f500000,0x000000076fab8370,0x000000076ff80000) + to space 10752K, 0% used [0x000000076ff80000,0x000000076ff80000,0x0000000770a00000) + ParOldGen total 173568K, used 8K [0x00000006c2000000, 0x00000006cc980000, 0x000000076b580000) + object space 173568K, 0% used [0x00000006c2000000,0x00000006c2002000,0x00000006cc980000) + Metaspace used 8261K, capacity 8462K, committed 8576K, reserved 1056768K + class space used 1003K, capacity 1047K, committed 1152K, reserved 1048576K +} +Event: 2.481 GC heap before +{Heap before GC invocations=2 (full 0): + PSYoungGen total 75776K, used 70880K [0x000000076b580000, 0x0000000770a00000, 0x00000007c0000000) + eden space 65024K, 100% used [0x000000076b580000,0x000000076f500000,0x000000076f500000) + from space 10752K, 54% used [0x000000076f500000,0x000000076fab8370,0x000000076ff80000) + to space 10752K, 0% used [0x000000076ff80000,0x000000076ff80000,0x0000000770a00000) + ParOldGen total 173568K, used 8K [0x00000006c2000000, 0x00000006cc980000, 0x000000076b580000) + object space 173568K, 0% used [0x00000006c2000000,0x00000006c2002000,0x00000006cc980000) + Metaspace used 16634K, capacity 16904K, committed 17024K, reserved 1064960K + class space used 1999K, capacity 2098K, committed 2176K, reserved 1048576K +Event: 2.495 GC heap after +Heap after GC invocations=2 (full 0): + PSYoungGen total 75776K, used 6867K [0x000000076b580000, 0x0000000770a00000, 0x00000007c0000000) + eden space 65024K, 0% used [0x000000076b580000,0x000000076b580000,0x000000076f500000) + from space 10752K, 63% used [0x000000076ff80000,0x0000000770634f60,0x0000000770a00000) + to space 10752K, 0% used [0x000000076f500000,0x000000076f500000,0x000000076ff80000) + ParOldGen total 173568K, used 88K [0x00000006c2000000, 0x00000006cc980000, 0x000000076b580000) + object space 173568K, 0% used [0x00000006c2000000,0x00000006c2016010,0x00000006cc980000) + Metaspace used 16634K, capacity 16904K, committed 17024K, reserved 1064960K + class space used 1999K, capacity 2098K, committed 2176K, reserved 1048576K +} + +Deoptimization events (10 events): +Event: 2.122 Thread 0x0000000002b59000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000000000302d28c method=java.util.jar.JarFile.getJarEntry(Ljava/lang/String;)Ljava/util/jar/JarEntry; @ 2 +Event: 2.122 Thread 0x0000000002b59000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000000000302d28c method=java.util.jar.JarFile.getJarEntry(Ljava/lang/String;)Ljava/util/jar/JarEntry; @ 2 +Event: 2.122 Thread 0x0000000002b59000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000000000302d28c method=java.util.jar.JarFile.getJarEntry(Ljava/lang/String;)Ljava/util/jar/JarEntry; @ 2 +Event: 2.196 Thread 0x0000000002b59000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000000031edda0 method=java.lang.CharacterDataLatin1.digit(II)I @ 82 +Event: 2.270 Thread 0x0000000002b59000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000000030b8a3c method=sun.misc.URLClassPath$FileLoader.getResource(Ljava/lang/String;Z)Lsun/misc/Resource; @ 139 +Event: 2.618 Thread 0x0000000002b59000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000000031ddb2c method=java.lang.CharacterDataLatin1.digit(II)I @ 82 +Event: 2.830 Thread 0x0000000002b59000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000000032ecc4c method=java.util.Arrays.equals([B[B)Z @ 12 +Event: 2.914 Thread 0x0000000002b59000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000000307157c method=sun.nio.cs.UTF_8$Decoder.decode([BII[C)I @ 30 +Event: 3.273 Thread 0x0000000002b59000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003073518 method=java.lang.AbstractStringBuilder.append(Ljava/lang/String;)Ljava/lang/AbstractStringBuilder; @ 1 +Event: 3.273 Thread 0x0000000002b59000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000002faee1c method=java.lang.AbstractStringBuilder.append(Ljava/lang/String;)Ljava/lang/AbstractStringBuilder; @ 1 + +Classes redefined (6 events): +Event: 103.687 Thread 0x000000001c347800 redefined class name=cn.pluss.platform.klk.service.LklPayService$1, count=1 +Event: 103.692 Thread 0x000000001c347800 redefined class name=cn.pluss.platform.klk.service.LklPayService, count=1 +Event: 140.095 Thread 0x000000001c347800 redefined class name=cn.pluss.platform.klk.service.LklPayService$1, count=2 +Event: 140.101 Thread 0x000000001c347800 redefined class name=cn.pluss.platform.klk.service.LklPayService, count=2 +Event: 172.684 Thread 0x000000001c347800 redefined class name=cn.pluss.platform.klk.service.LklPayService$1, count=3 +Event: 172.689 Thread 0x000000001c347800 redefined class name=cn.pluss.platform.klk.service.LklPayService, count=3 + +Internal exceptions (10 events): +Event: 0.859 Thread 0x0000000002b59000 Exception (0x000000076cc56830) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u191\11896\hotspot\src\share\vm\prims\jvm.cpp, line 1435] +Event: 0.860 Thread 0x0000000002b59000 Exception (0x000000076cc56c28) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u191\11896\hotspot\src\share\vm\prims\jvm.cpp, line 1435] +Event: 1.485 Thread 0x0000000002b59000 Exception (0x000000076c1bd948) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u191\11896\hotspot\src\share\vm\interpreter\interpreterRuntime.cpp, line 366] +Event: 1.486 Thread 0x0000000002b59000 Exception (0x000000076c1c0118) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u191\11896\hotspot\src\share\vm\interpreter\interpreterRuntime.cpp, line 366] +Event: 1.724 Thread 0x0000000002b59000 Exception (0x000000076d0917c8) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u191\11896\hotspot\src\share\vm\interpreter +Event: 2.174 Thread 0x0000000002b59000 Exception (0x000000076db79410) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u191\11896\hotspot\src\share\vm\prims\methodHandles.cpp, line 1167] +Event: 2.177 Thread 0x0000000002b59000 Exception (0x000000076db87fe0) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u191\11896\hotspot\src\share\vm\prims\methodHandles.cpp, line 1167] +Event: 2.830 Thread 0x0000000002b59000 Implicit null exception at 0x00000000032ecadd to 0x00000000032ecc39 +Event: 3.273 Thread 0x0000000002b59000 Implicit null exception at 0x0000000003073017 to 0x00000000030734fd +Event: 3.273 Thread 0x0000000002b59000 Implicit null exception at 0x0000000002fae956 to 0x0000000002faee05 + +Events (10 events): +Event: 153.845 Executing VM operation: ChangeBreakpoints done +Event: 153.848 Executing VM operation: ChangeBreakpoints +Event: 153.849 Executing VM operation: ChangeBreakpoints done +Event: 172.673 Executing VM operation: ChangeBreakpoints +Event: 172.673 Executing VM operation: ChangeBreakpoints done +Event: 172.676 Executing VM operation: RedefineClasses +Event: 172.689 Executing VM operation: RedefineClasses done +Event: 172.703 Executing VM operation: ChangeBreakpoints +Event: 172.703 Executing VM operation: ChangeBreakpoints done +Event: 172.730 Executing VM operation: GetOrSetLocal + + +Dynamic libraries: +0x00007ff6c21e0000 - 0x00007ff6c2217000 D:\jdk\bin\java.exe +0x00007ffd31ed0000 - 0x00007ffd320c5000 C:\Windows\SYSTEM32\ntdll.dll +0x00007ffd31700000 - 0x00007ffd317be000 C:\Windows\System32\KERNEL32.DLL +0x00007ffd2f620000 - 0x00007ffd2f8e8000 C:\Windows\System32\KERNELBASE.dll +0x00007ffd30150000 - 0x00007ffd301fe000 C:\Windows\System32\ADVAPI32.dll +0x00007ffd300b0000 - 0x00007ffd3014e000 C:\Windows\System32\msvcrt.dll +0x00007ffd30f00000 - 0x00007ffd30f9c000 C:\Windows\System32\sechost.dll +0x00007ffd30fa0000 - 0x00007ffd310c5000 C:\Windows\System32\RPCRT4.dll +0x00007ffd31540000 - 0x00007ffd316e0000 C:\Windows\System32\USER32.dll +0x00007ffd2fca0000 - 0x00007ffd2fcc2000 C:\Windows\System32\win32u.dll +0x00007ffd30610000 - 0x00007ffd3063b000 C:\Windows\System32\GDI32.dll +0x00007ffd2fe20000 - 0x00007ffd2ff2b000 C:\Windows\System32\gdi32full.dll +0x00007ffd2fa30000 - 0x00007ffd2facd000 C:\Windows\System32\msvcp_win.dll +0x00007ffd2fd20000 - 0x00007ffd2fe20000 C:\Windows\System32\ucrtbase.dll +0x00007ffd1b570000 - 0x00007ffd1b80a000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll +0x00007ffd30420000 - 0x00007ffd30450000 C:\Windows\System32\IMM32.DLL +0x000000005b4c0000 - 0x000000005b592000 D:\jdk\jre\bin\msvcr100.dll +0x000000005ac10000 - 0x000000005b4b4000 D:\jdk\jre\bin\server\jvm.dll +0x00007ffd30600000 - 0x00007ffd30608000 C:\Windows\System32\PSAPI.DLL +0x00007ffd218e0000 - 0x00007ffd218ea000 C:\Windows\SYSTEM32\VERSION.dll +0x00007ffd21110000 - 0x00007ffd21137000 C:\Windows\SYSTEM32\WINMM.dll +0x00007ffd1b9e0000 - 0x00007ffd1b9e9000 C:\Windows\SYSTEM32\WSOCK32.dll +0x00007ffd30640000 - 0x00007ffd306ab000 C:\Windows\System32\WS2_32.dll +0x000000005ac00000 - 0x000000005ac0f000 D:\jdk\jre\bin\verify.dll +0x000000005abd0000 - 0x000000005abf9000 D:\jdk\jre\bin\java.dll +0x000000005ab30000 - 0x000000005ab65000 D:\jdk\jre\bin\jdwp.dll +0x000000005ab20000 - 0x000000005ab28000 D:\jdk\jre\bin\npt.dll +0x000000005aaf0000 - 0x000000005ab13000 D:\jdk\jre\bin\instrument.dll +0x000000005abb0000 - 0x000000005abc6000 D:\jdk\jre\bin\zip.dll +0x00007ffd30720000 - 0x00007ffd30e64000 C:\Windows\System32\SHELL32.dll +0x00007ffd2d720000 - 0x00007ffd2deb4000 C:\Windows\SYSTEM32\windows.storage.dll +0x00007ffd31940000 - 0x00007ffd31c94000 C:\Windows\System32\combase.dll +0x00007ffd2ef80000 - 0x00007ffd2efac000 C:\Windows\SYSTEM32\Wldp.dll +0x00007ffd31ca0000 - 0x00007ffd31d4d000 C:\Windows\System32\SHCORE.dll +0x00007ffd303c0000 - 0x00007ffd30415000 C:\Windows\System32\shlwapi.dll +0x00007ffd2f530000 - 0x00007ffd2f54f000 C:\Windows\SYSTEM32\profapi.dll +0x000000005aae0000 - 0x000000005aae9000 D:\jdk\jre\bin\dt_socket.dll +0x00007ffd2ece0000 - 0x00007ffd2ed4a000 C:\Windows\system32\mswsock.dll +0x000000005aad0000 - 0x000000005aadd000 D:\jdk\jre\bin\management.dll +0x000000005ab90000 - 0x000000005abaa000 D:\jdk\jre\bin\net.dll +0x00007ffd1a400000 - 0x00007ffd1a417000 C:\Windows\system32\napinsp.dll +0x00007ffd1a3e0000 - 0x00007ffd1a3fb000 C:\Windows\system32\pnrpnsp.dll +0x00007ffd1a3c0000 - 0x00007ffd1a3d5000 C:\Windows\system32\wshbth.dll +0x00007ffd2b3e0000 - 0x00007ffd2b3fd000 C:\Windows\system32\NLAapi.dll +0x00007ffd2e9d0000 - 0x00007ffd2ea0b000 C:\Windows\SYSTEM32\IPHLPAPI.DLL +0x00007ffd2ea10000 - 0x00007ffd2eada000 C:\Windows\SYSTEM32\DNSAPI.dll +0x00007ffd30280000 - 0x00007ffd30288000 C:\Windows\System32\NSI.dll +0x00007ffd1a3a0000 - 0x00007ffd1a3b2000 C:\Windows\System32\winrnr.dll +0x00007ffd2afd0000 - 0x00007ffd2afda000 C:\Windows\System32\rasadhlp.dll +0x00007ffd29910000 - 0x00007ffd2998f000 C:\Windows\System32\fwpuclnt.dll +0x00007ffd2f5f0000 - 0x00007ffd2f617000 C:\Windows\System32\bcrypt.dll +0x000000005ab70000 - 0x000000005ab81000 D:\jdk\jre\bin\nio.dll +0x00007ffd2eee0000 - 0x00007ffd2eef8000 C:\Windows\SYSTEM32\CRYPTSP.dll +0x00007ffd2e660000 - 0x00007ffd2e694000 C:\Windows\system32\rsaenh.dll +0x00007ffd2f4f0000 - 0x00007ffd2f51e000 C:\Windows\SYSTEM32\USERENV.dll +0x00007ffd2f9a0000 - 0x00007ffd2fa22000 C:\Windows\System32\bcryptprimitives.dll +0x00007ffd2eed0000 - 0x00007ffd2eedc000 C:\Windows\SYSTEM32\CRYPTBASE.dll +0x00007ffd2a590000 - 0x00007ffd2a5a7000 C:\Windows\SYSTEM32\dhcpcsvc6.DLL +0x00007ffd2a520000 - 0x00007ffd2a53d000 C:\Windows\SYSTEM32\dhcpcsvc.DLL +0x000000005aaa0000 - 0x000000005aac4000 D:\jdk\jre\bin\sunec.dll +0x000000005aa90000 - 0x000000005aa9b000 D:\jdk\jre\bin\sunmscapi.dll +0x00007ffd2fb40000 - 0x00007ffd2fc96000 C:\Windows\System32\CRYPT32.dll + +VM Arguments: +jvm_args: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:58312,suspend=y,server=n -ea -Didea.test.cyclic.buffer.size=1048576 -javaagent:C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2023.1\captureAgent\debugger-agent.jar -Dfile.encoding=UTF-8 +java_command: com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 cn.pluss.platform.klk.service.LklPayService,test1 +java_class_path (initial): D:\IntelliJ IDEA 2023.1\lib\idea_rt.jar;D:\IntelliJ IDEA 2023.1\plugins\junit\lib\junit5-rt.jar;D:\IntelliJ IDEA 2023.1\plugins\junit\lib\junit-rt.jar;D:\jdk\jre\lib\charsets.jar;D:\jdk\jre\lib\deploy.jar;D:\jdk\jre\lib\ext\access-bridge-64.jar;D:\jdk\jre\lib\ext\cldrdata.jar;D:\jdk\jre\lib\ext\dnsns.jar;D:\jdk\jre\lib\ext\jaccess.jar;D:\jdk\jre\lib\ext\jfxrt.jar;D:\jdk\jre\lib\ext\localedata.jar;D:\jdk\jre\lib\ext\nashorn.jar;D:\jdk\jre\lib\ext\sunec.jar;D:\jdk\jre\lib\ext\sunjce_provider.jar;D:\jdk\jre\lib\ext\sunmscapi.jar;D:\jdk\jre\lib\ext\sunpkcs11.jar;D:\jdk\jre\lib\ext\zipfs.jar;D:\jdk\jre\lib\javaws.jar;D:\jdk\jre\lib\jce.jar;D:\jdk\jre\lib\jfr.jar;D:\jdk\jre\lib\jfxswt.jar;D:\jdk\jre\lib\jsse.jar;D:\jdk\jre\lib\management-agent.jar;D:\jdk\jre\lib\plugin.jar;D:\jdk\jre\lib\resources.jar;D:\jdk\jre\lib\rt.jar;D:\project\chaozhanggui\pluss-service-bundle\target\classes;D:\project\chaozhanggui\pluss-dao-bundle\target\classes;D:\apache-maven-3.8.8\repository\com\baomidou\mybatis-plus-boot-starter\3.3.2\mybatis-plus-boot-starter-3.3.2.jar;D:\apache-maven-3.8.8\repository\com\baomidou\mybatis-plus\3.3.2\mybatis-plus-3.3.2.jar;D:\apache-maven-3.8.8\repository\com\baomidou\mybatis-plus-extension\3.3.2\mybatis-plus-extension-3.3.2.jar;D:\apache-maven-3.8.8\repository\com\baomidou\mybatis-plus-core\3.3.2\mybatis-plus-core-3.3.2.jar;D:\apache-maven-3.8.8\repository\com\github\jsqlparser\jsqlparser\3.1\jsqlparser-3.1.jar;D:\apache-maven-3.8.8\repository\org\mybatis\mybatis-spring\2.0.4\mybatis-spring-2.0.4.jar;D:\apache-maven-3.8.8\repository\org\springframework\boot\spring-boot-autoconfigure\2.1.0.RELEASE\spring-boot-autoconfigure-2.1.0.RELEASE.jar;D:\apache-maven-3.8.8\repository\org\springframework\boot\spring-boot-starter-jdbc\2.1.0.RELEASE\spring-boot-starter-jdbc-2.1.0.RELEASE.jar;D:\apache-maven-3.8.8\repository\com\zaxxer\HikariCP\3.2.0\HikariCP-3.2.0.jar;D:\apache-maven-3.8.8\repository\org\springframework\spring-jdbc\5.1.2.RELEASE +Launcher Type: SUN_STANDARD + +Environment Variables: +JAVA_HOME=D:\jdk +CLASSPATH=.;D:\jdk\lib;D:\jdk\lib\tools.jar +PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;D:\jdk\bin;D:\apache-maven-3.8.8\bin;E:\git\bin;E:\xshell\;E:\xshell\xftp\;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps; +USERNAME=Administrator +OS=Windows_NT +PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel + + + +--------------- S Y S T E M --------------- + +OS: Windows 10.0 , 64 bit Build 19041 (10.0.19041.1566) + +CPU:total 4 (initial active 4) (4 cores per cpu, 1 threads per core) family 6 model 42 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, aes, clmul, tsc, tscinvbit + +Memory: 4k page, physical 16645820k(8876808k free), swap 19660476k(10620968k free) + +vm_info: Java HotSpot(TM) 64-Bit Server VM (25.191-b12) for windows-amd64 JRE (1.8.0_191-b12), built on Oct 6 2018 09:29:03 by "java_re" with MS VC++ 10.0 (VS2010) + +time: Mon Apr 24 15:08:12 2023 +elapsed time: 172 seconds (0d 0h 2m 52s) + diff --git a/pluss-service-bundle/hs_err_pid79608.log b/pluss-service-bundle/hs_err_pid79608.log new file mode 100644 index 0000000..7adf716 --- /dev/null +++ b/pluss-service-bundle/hs_err_pid79608.log @@ -0,0 +1,178 @@ +# +# There is insufficient memory for the Java Runtime Environment to continue. +# Native memory allocation (malloc) failed to allocate 34192 bytes for Chunk::new +# Possible reasons: +# The system is out of physical RAM or swap space +# In 32 bit mode, the process size limit was hit +# Possible solutions: +# Reduce memory load on the system +# Increase physical memory or swap space +# Check if swap backing store is full +# Use 64 bit Java on a 64 bit OS +# Decrease Java heap size (-Xmx/-Xms) +# Decrease number of Java threads +# Decrease Java thread stack sizes (-Xss) +# Set larger code cache with -XX:ReservedCodeCacheSize= +# This output file may be truncated or incomplete. +# +# Out of Memory Error (allocation.cpp:390), pid=79608, tid=0x00000000000122e0 +# +# JRE version: Java(TM) SE Runtime Environment (8.0_191-b12) (build 1.8.0_191-b12) +# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.191-b12 mixed mode windows-amd64 compressed oops) +# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows +# + +--------------- T H R E A D --------------- + +Current thread (0x0000000003528800): JavaThread "main" [_thread_in_native, id=74464, stack(0x0000000003420000,0x0000000003520000)] + +Stack: [0x0000000003420000,0x0000000003520000] +[error occurred during error reporting (printing stack bounds), id 0xc0000005] + +Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) + +Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) +j java.lang.invoke.MethodHandle.()V+16 +v ~StubRoutines::call_stub + +--------------- P R O C E S S --------------- + +Java Threads: ( => current thread ) + 0x000000001cd1d000 JavaThread "C1 CompilerThread2" daemon [_thread_blocked, id=74396, stack(0x000000001e980000,0x000000001ea80000)] + 0x000000001cd11000 JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=81192, stack(0x000000001e880000,0x000000001e980000)] + 0x000000001cd0b000 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=81444, stack(0x000000001e780000,0x000000001e880000)] + 0x000000001cd09800 JavaThread "Monitor Ctrl-Break" daemon [_thread_in_native, id=79884, stack(0x000000001e680000,0x000000001e780000)] + 0x000000001ccf0000 JavaThread "Attach Listener" daemon [_thread_blocked, id=32944, stack(0x000000001e580000,0x000000001e680000)] + 0x000000001cced800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=80224, stack(0x000000001e480000,0x000000001e580000)] + 0x000000001ccb2800 JavaThread "Finalizer" daemon [_thread_blocked, id=79604, stack(0x000000001df20000,0x000000001e020000)] + 0x000000000361e800 JavaThread "Reference Handler" daemon [_thread_blocked, id=65364, stack(0x000000001de20000,0x000000001df20000)] +=>0x0000000003528800 JavaThread "main" [_thread_in_native, id=74464, stack(0x0000000003420000,0x0000000003520000)] + +Other Threads: + 0x000000001cc88000 VMThread [stack: 0x000000001dd20000,0x000000001de20000] [id=79988] + +VM state:not at safepoint (normal execution) + +VM Mutex/Monitor currently owned by a thread: None + +Heap: + PSYoungGen total 75776K, used 3904K [0x000000076b580000, 0x0000000770a00000, 0x00000007c0000000) + eden space 65024K, 6% used [0x000000076b580000,0x000000076b9500e8,0x000000076f500000) + from space 10752K, 0% used [0x000000076ff80000,0x000000076ff80000,0x0000000770a00000) + to space 10752K, 0% used [0x000000076f500000,0x000000076f500000,0x000000076ff80000) + ParOldGen total 173568K, used 0K [0x00000006c2000000, 0x00000006cc980000, 0x000000076b580000) + object space 173568K, 0% used [0x00000006c2000000,0x00000006c2000000,0x00000006cc980000) + Metaspace used 2879K, capacity 4494K, committed 4864K, reserved 1056768K + class space used 312K, capacity 386K, committed 512K, reserved 1048576K + +Card table byte_map: [0x0000000012ae0000,0x00000000132e0000] byte_map_base: 0x000000000f4d0000 + +Marking Bits: (ParMarkBitMap*) 0x000000005b433e30 + Begin Bits: [0x0000000013c30000, 0x0000000017bb0000) + End Bits: [0x0000000017bb0000, 0x000000001bb30000) + +Polling page: 0x0000000002f00000 + +CodeCache: size=245760Kb used=1040Kb max_used=1054Kb free=244719Kb + bounds [0x0000000003720000, 0x0000000003990000, 0x0000000012720000] + total_blobs=240 nmethods=6 adapters=149 + compilation: enabled + +Compilation events (2 events): +Event: 0.339 Thread 0x000000001cd1d000 2 3 java.lang.Math::min (11 bytes) +Event: 0.339 Thread 0x000000001cd1d000 nmethod 2 0x000000000381fcd0 code [0x000000000381fe20, 0x000000000381ffb0] + +GC Heap History (0 events): +No events + +Deoptimization events (0 events): +No events + +Classes redefined (0 events): +No events + +Internal exceptions (2 events): +Event: 0.069 Thread 0x0000000003528800 Exception (0x000000076b587cb0) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u191\11896\hotspot +Event: 0.069 Thread 0x0000000003528800 Exception (0x000000076b587f98) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u191\11896\hotspot\src\share\vm\prim + +Events (10 events): +Event: 0.338 loading class java/net/SocketAddress done +Event: 0.338 loading class java/net/InetSocketAddress done +Event: 0.338 loading class java/net/InetAddress +Event: 0.338 loading class java/lang/invoke/MethodHandleImpl +Event: 0.339 loading class java/net/InetAddress done +Event: 0.339 loading class java/net/InetSocketAddress$InetSocketAddressHolder +Event: 0.339 loading class java/net/InetSocketAddress$InetSocketAddressHolder done +Event: 0.339 loading class sun/security/action/GetBooleanAction +Event: 0.339 loading class sun/security/action/GetBooleanAction done +Event: 0.339 loading class java/net/InetAddress$1 + + +Dynamic libraries: +0x00007ff6c21e0000 - 0x00007ff6c2217000 D:\jdk\bin\java.exe +0x00007ffd31ed0000 - 0x00007ffd320c5000 C:\Windows\SYSTEM32\ntdll.dll +0x00007ffd31700000 - 0x00007ffd317be000 C:\Windows\System32\KERNEL32.DLL +0x00007ffd2f620000 - 0x00007ffd2f8e8000 C:\Windows\System32\KERNELBASE.dll +0x00007ffd30150000 - 0x00007ffd301fe000 C:\Windows\System32\ADVAPI32.dll +0x00007ffd300b0000 - 0x00007ffd3014e000 C:\Windows\System32\msvcrt.dll +0x00007ffd30f00000 - 0x00007ffd30f9c000 C:\Windows\System32\sechost.dll +0x00007ffd30fa0000 - 0x00007ffd310c5000 C:\Windows\System32\RPCRT4.dll +0x00007ffd31540000 - 0x00007ffd316e0000 C:\Windows\System32\USER32.dll +0x00007ffd2fca0000 - 0x00007ffd2fcc2000 C:\Windows\System32\win32u.dll +0x00007ffd30610000 - 0x00007ffd3063b000 C:\Windows\System32\GDI32.dll +0x00007ffd2fe20000 - 0x00007ffd2ff2b000 C:\Windows\System32\gdi32full.dll +0x00007ffd2fa30000 - 0x00007ffd2facd000 C:\Windows\System32\msvcp_win.dll +0x00007ffd2fd20000 - 0x00007ffd2fe20000 C:\Windows\System32\ucrtbase.dll +0x00007ffd1b570000 - 0x00007ffd1b80a000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll +0x00007ffd30420000 - 0x00007ffd30450000 C:\Windows\System32\IMM32.DLL +0x000000005b4c0000 - 0x000000005b592000 D:\jdk\jre\bin\msvcr100.dll +0x000000005ac10000 - 0x000000005b4b4000 D:\jdk\jre\bin\server\jvm.dll +0x00007ffd30600000 - 0x00007ffd30608000 C:\Windows\System32\PSAPI.DLL +0x00007ffd1b9e0000 - 0x00007ffd1b9e9000 C:\Windows\SYSTEM32\WSOCK32.dll +0x00007ffd30640000 - 0x00007ffd306ab000 C:\Windows\System32\WS2_32.dll +0x00007ffd21110000 - 0x00007ffd21137000 C:\Windows\SYSTEM32\WINMM.dll +0x00007ffd218e0000 - 0x00007ffd218ea000 C:\Windows\SYSTEM32\VERSION.dll +0x000000005ac00000 - 0x000000005ac0f000 D:\jdk\jre\bin\verify.dll +0x000000005abd0000 - 0x000000005abf9000 D:\jdk\jre\bin\java.dll +0x000000005aaf0000 - 0x000000005ab13000 D:\jdk\jre\bin\instrument.dll +0x000000005abb0000 - 0x000000005abc6000 D:\jdk\jre\bin\zip.dll +0x00007ffd30720000 - 0x00007ffd30e64000 C:\Windows\System32\SHELL32.dll +0x00007ffd2d720000 - 0x00007ffd2deb4000 C:\Windows\SYSTEM32\windows.storage.dll +0x00007ffd31940000 - 0x00007ffd31c94000 C:\Windows\System32\combase.dll +0x00007ffd2ef80000 - 0x00007ffd2efac000 C:\Windows\SYSTEM32\Wldp.dll +0x00007ffd31ca0000 - 0x00007ffd31d4d000 C:\Windows\System32\SHCORE.dll +0x00007ffd303c0000 - 0x00007ffd30415000 C:\Windows\System32\shlwapi.dll +0x00007ffd2f530000 - 0x00007ffd2f54f000 C:\Windows\SYSTEM32\profapi.dll +0x00007ffd18210000 - 0x00007ffd1822a000 D:\IntelliJ IDEA 2023.1\bin\breakgen64.dll +0x000000005ab90000 - 0x000000005abaa000 D:\jdk\jre\bin\net.dll +0x00007ffd2ece0000 - 0x00007ffd2ed4a000 C:\Windows\system32\mswsock.dll + +VM Arguments: +jvm_args: -ea -Didea.test.cyclic.buffer.size=1048576 -javaagent:D:\IntelliJ IDEA 2023.1\lib\idea_rt.jar=51680:D:\IntelliJ IDEA 2023.1\bin -Dfile.encoding=UTF-8 +java_command: com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 cn.pluss.platform.klk.service.LklPayService +java_class_path (initial): D:\IntelliJ IDEA 2023.1\lib\idea_rt.jar;D:\IntelliJ IDEA 2023.1\plugins\junit\lib\junit5-rt.jar;D:\IntelliJ IDEA 2023.1\plugins\junit\lib\junit-rt.jar;D:\jdk\jre\lib\charsets.jar;D:\jdk\jre\lib\deploy.jar;D:\jdk\jre\lib\ext\access-bridge-64.jar;D:\jdk\jre\lib\ext\cldrdata.jar;D:\jdk\jre\lib\ext\dnsns.jar;D:\jdk\jre\lib\ext\jaccess.jar;D:\jdk\jre\lib\ext\jfxrt.jar;D:\jdk\jre\lib\ext\localedata.jar;D:\jdk\jre\lib\ext\nashorn.jar;D:\jdk\jre\lib\ext\sunec.jar;D:\jdk\jre\lib\ext\sunjce_provider.jar;D:\jdk\jre\lib\ext\sunmscapi.jar;D:\jdk\jre\lib\ext\sunpkcs11.jar;D:\jdk\jre\lib\ext\zipfs.jar;D:\jdk\jre\lib\javaws.jar;D:\jdk\jre\lib\jce.jar;D:\jdk\jre\lib\jfr.jar;D:\jdk\jre\lib\jfxswt.jar;D:\jdk\jre\lib\jsse.jar;D:\jdk\jre\lib\management-agent.jar;D:\jdk\jre\lib\plugin.jar;D:\jdk\jre\lib\resources.jar;D:\jdk\jre\lib\rt.jar;D:\project\chaozhanggui\pluss-service-bundle\target\classes;D:\project\chaozhanggui\pluss-dao-bundle\target\classes;D:\apache-maven-3.8.8\repository\com\baomidou\mybatis-plus-boot-starter\3.3.2\mybatis-plus-boot-starter-3.3.2.jar;D:\apache-maven-3.8.8\repository\com\baomidou\mybatis-plus\3.3.2\mybatis-plus-3.3.2.jar;D:\apache-maven-3.8.8\repository\com\baomidou\mybatis-plus-extension\3.3.2\mybatis-plus-extension-3.3.2.jar;D:\apache-maven-3.8.8\repository\com\baomidou\mybatis-plus-core\3.3.2\mybatis-plus-core-3.3.2.jar;D:\apache-maven-3.8.8\repository\com\github\jsqlparser\jsqlparser\3.1\jsqlparser-3.1.jar;D:\apache-maven-3.8.8\repository\org\mybatis\mybatis-spring\2.0.4\mybatis-spring-2.0.4.jar;D:\apache-maven-3.8.8\repository\org\springframework\boot\spring-boot-autoconfigure\2.1.0.RELEASE\spring-boot-autoconfigure-2.1.0.RELEASE.jar;D:\apache-maven-3.8.8\repository\org\springframework\boot\spring-boot-starter-jdbc\2.1.0.RELEASE\spring-boot-starter-jdbc-2.1.0.RELEASE.jar;D:\apache-maven-3.8.8\repository\com\zaxxer\HikariCP\3.2.0\HikariCP-3.2.0.jar;D:\apache-maven-3.8.8\repository\org\springframework\spring-jdbc\5.1.2.RELEASE +Launcher Type: SUN_STANDARD + +Environment Variables: +JAVA_HOME=D:\jdk +CLASSPATH=.;D:\jdk\lib;D:\jdk\lib\tools.jar +PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;D:\jdk\bin;D:\apache-maven-3.8.8\bin;E:\git\bin;E:\xshell\;E:\xshell\xftp\;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps; +USERNAME=Administrator +OS=Windows_NT +PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel + + + +--------------- S Y S T E M --------------- + +OS: Windows 10.0 , 64 bit Build 19041 (10.0.19041.1566) + +CPU:total 4 (initial active 4) (4 cores per cpu, 1 threads per core) family 6 model 42 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, aes, clmul, tsc, tscinvbit + +Memory: 4k page, physical 16645820k(2539888k free), swap 23433272k(3064k free) + +vm_info: Java HotSpot(TM) 64-Bit Server VM (25.191-b12) for windows-amd64 JRE (1.8.0_191-b12), built on Oct 6 2018 09:29:03 by "java_re" with MS VC++ 10.0 (VS2010) + +time: Thu Apr 27 16:48:10 2023 +elapsed time: 0 seconds (0d 0h 0m 0s) + diff --git a/pluss-service-bundle/hs_err_pid80668.log b/pluss-service-bundle/hs_err_pid80668.log new file mode 100644 index 0000000..1087d52 --- /dev/null +++ b/pluss-service-bundle/hs_err_pid80668.log @@ -0,0 +1,157 @@ +# +# There is insufficient memory for the Java Runtime Environment to continue. +# Native memory allocation (malloc) failed to allocate 1048576 bytes for AllocateHeap +# Possible reasons: +# The system is out of physical RAM or swap space +# In 32 bit mode, the process size limit was hit +# Possible solutions: +# Reduce memory load on the system +# Increase physical memory or swap space +# Check if swap backing store is full +# Use 64 bit Java on a 64 bit OS +# Decrease Java heap size (-Xmx/-Xms) +# Decrease number of Java threads +# Decrease Java thread stack sizes (-Xss) +# Set larger code cache with -XX:ReservedCodeCacheSize= +# This output file may be truncated or incomplete. +# +# Out of Memory Error (memory/allocation.inline.hpp:61), pid=80668, tid=0x0000000000013a10 +# +# JRE version: (8.0_191-b12) (build ) +# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.191-b12 mixed mode windows-amd64 compressed oops) +# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows +# + +--------------- T H R E A D --------------- + +Current thread (0x0000000002d09800): JavaThread "Unknown thread" [_thread_in_vm, id=80400, stack(0x0000000002b20000,0x0000000002c20000)] + +Stack: [0x0000000002b20000,0x0000000002c20000] +[error occurred during error reporting (printing stack bounds), id 0xc0000005] + +Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) + + +--------------- P R O C E S S --------------- + +Java Threads: ( => current thread ) + +Other Threads: + +=>0x0000000002d09800 (exited) JavaThread "Unknown thread" [_thread_in_vm, id=80400, stack(0x0000000002b20000,0x0000000002c20000)] + +VM state:not at safepoint (normal execution) + +VM Mutex/Monitor currently owned by a thread: None + +Heap: + PSYoungGen total 75776K, used 1300K [0x000000076b580000, 0x0000000770a00000, 0x00000007c0000000) + eden space 65024K, 2% used [0x000000076b580000,0x000000076b6c51f8,0x000000076f500000) + from space 10752K, 0% used [0x000000076ff80000,0x000000076ff80000,0x0000000770a00000) + to space 10752K, 0% used [0x000000076f500000,0x000000076f500000,0x000000076ff80000) + ParOldGen total 173568K, used 0K [0x00000006c2000000, 0x00000006cc980000, 0x000000076b580000) + object space 173568K, 0% used [0x00000006c2000000,0x00000006c2000000,0x00000006cc980000) + Metaspace used 786K, capacity 4480K, committed 4480K, reserved 1056768K + class space used 76K, capacity 384K, committed 384K, reserved 1048576K + +Card table byte_map: [0x0000000012330000,0x0000000012b30000] byte_map_base: 0x000000000ed20000 + +Marking Bits: (ParMarkBitMap*) 0x000000005b433e30 + Begin Bits: [0x0000000013480000, 0x0000000017400000) + End Bits: [0x0000000017400000, 0x000000001b380000) + +Polling page: 0x0000000000ef0000 + +CodeCache: size=245760Kb used=328Kb max_used=328Kb free=245431Kb + bounds [0x0000000002f70000, 0x00000000031e0000, 0x0000000011f70000] + total_blobs=58 nmethods=0 adapters=38 + compilation: enabled + +Compilation events (0 events): +No events + +GC Heap History (0 events): +No events + +Deoptimization events (0 events): +No events + +Classes redefined (0 events): +No events + +Internal exceptions (0 events): +No events + +Events (10 events): +Event: 0.046 loading class java/lang/Short +Event: 0.046 loading class java/lang/Short done +Event: 0.046 loading class java/lang/Integer +Event: 0.046 loading class java/lang/Integer done +Event: 0.046 loading class java/lang/Long +Event: 0.046 loading class java/lang/Long done +Event: 0.048 loading class java/lang/NullPointerException +Event: 0.048 loading class java/lang/NullPointerException done +Event: 0.048 loading class java/lang/ArithmeticException +Event: 0.048 loading class java/lang/ArithmeticException done + + +Dynamic libraries: +0x00007ff6c21e0000 - 0x00007ff6c2217000 D:\jdk\bin\java.exe +0x00007ffd31ed0000 - 0x00007ffd320c5000 C:\Windows\SYSTEM32\ntdll.dll +0x00007ffd31700000 - 0x00007ffd317be000 C:\Windows\System32\KERNEL32.DLL +0x00007ffd2f620000 - 0x00007ffd2f8e8000 C:\Windows\System32\KERNELBASE.dll +0x00007ffd30150000 - 0x00007ffd301fe000 C:\Windows\System32\ADVAPI32.dll +0x00007ffd300b0000 - 0x00007ffd3014e000 C:\Windows\System32\msvcrt.dll +0x00007ffd30f00000 - 0x00007ffd30f9c000 C:\Windows\System32\sechost.dll +0x00007ffd30fa0000 - 0x00007ffd310c5000 C:\Windows\System32\RPCRT4.dll +0x00007ffd31540000 - 0x00007ffd316e0000 C:\Windows\System32\USER32.dll +0x00007ffd2fca0000 - 0x00007ffd2fcc2000 C:\Windows\System32\win32u.dll +0x00007ffd30610000 - 0x00007ffd3063b000 C:\Windows\System32\GDI32.dll +0x00007ffd2fe20000 - 0x00007ffd2ff2b000 C:\Windows\System32\gdi32full.dll +0x00007ffd2fa30000 - 0x00007ffd2facd000 C:\Windows\System32\msvcp_win.dll +0x00007ffd2fd20000 - 0x00007ffd2fe20000 C:\Windows\System32\ucrtbase.dll +0x00007ffd1b570000 - 0x00007ffd1b80a000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll +0x00007ffd30420000 - 0x00007ffd30450000 C:\Windows\System32\IMM32.DLL +0x000000005b4c0000 - 0x000000005b592000 D:\jdk\jre\bin\msvcr100.dll +0x000000005ac10000 - 0x000000005b4b4000 D:\jdk\jre\bin\server\jvm.dll +0x00007ffd30600000 - 0x00007ffd30608000 C:\Windows\System32\PSAPI.DLL +0x00007ffd21110000 - 0x00007ffd21137000 C:\Windows\SYSTEM32\WINMM.dll +0x00007ffd1b9e0000 - 0x00007ffd1b9e9000 C:\Windows\SYSTEM32\WSOCK32.dll +0x00007ffd30640000 - 0x00007ffd306ab000 C:\Windows\System32\WS2_32.dll +0x00007ffd218e0000 - 0x00007ffd218ea000 C:\Windows\SYSTEM32\VERSION.dll +0x000000005ac00000 - 0x000000005ac0f000 D:\jdk\jre\bin\verify.dll +0x000000005abd0000 - 0x000000005abf9000 D:\jdk\jre\bin\java.dll +0x000000005ab30000 - 0x000000005ab65000 D:\jdk\jre\bin\jdwp.dll +0x000000005ab20000 - 0x000000005ab28000 D:\jdk\jre\bin\npt.dll +0x000000005aaf0000 - 0x000000005ab13000 D:\jdk\jre\bin\instrument.dll +0x000000005abb0000 - 0x000000005abc6000 D:\jdk\jre\bin\zip.dll + +VM Arguments: +jvm_args: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:51688,suspend=y,server=n -ea -Didea.test.cyclic.buffer.size=1048576 -javaagent:C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2023.1\captureAgent\debugger-agent.jar -Dfile.encoding=UTF-8 +java_command: com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 cn.pluss.platform.klk.service.LklPayService +java_class_path (initial): D:\IntelliJ IDEA 2023.1\lib\idea_rt.jar;D:\IntelliJ IDEA 2023.1\plugins\junit\lib\junit5-rt.jar;D:\IntelliJ IDEA 2023.1\plugins\junit\lib\junit-rt.jar;D:\jdk\jre\lib\charsets.jar;D:\jdk\jre\lib\deploy.jar;D:\jdk\jre\lib\ext\access-bridge-64.jar;D:\jdk\jre\lib\ext\cldrdata.jar;D:\jdk\jre\lib\ext\dnsns.jar;D:\jdk\jre\lib\ext\jaccess.jar;D:\jdk\jre\lib\ext\jfxrt.jar;D:\jdk\jre\lib\ext\localedata.jar;D:\jdk\jre\lib\ext\nashorn.jar;D:\jdk\jre\lib\ext\sunec.jar;D:\jdk\jre\lib\ext\sunjce_provider.jar;D:\jdk\jre\lib\ext\sunmscapi.jar;D:\jdk\jre\lib\ext\sunpkcs11.jar;D:\jdk\jre\lib\ext\zipfs.jar;D:\jdk\jre\lib\javaws.jar;D:\jdk\jre\lib\jce.jar;D:\jdk\jre\lib\jfr.jar;D:\jdk\jre\lib\jfxswt.jar;D:\jdk\jre\lib\jsse.jar;D:\jdk\jre\lib\management-agent.jar;D:\jdk\jre\lib\plugin.jar;D:\jdk\jre\lib\resources.jar;D:\jdk\jre\lib\rt.jar;D:\project\chaozhanggui\pluss-service-bundle\target\classes;D:\project\chaozhanggui\pluss-dao-bundle\target\classes;D:\apache-maven-3.8.8\repository\com\baomidou\mybatis-plus-boot-starter\3.3.2\mybatis-plus-boot-starter-3.3.2.jar;D:\apache-maven-3.8.8\repository\com\baomidou\mybatis-plus\3.3.2\mybatis-plus-3.3.2.jar;D:\apache-maven-3.8.8\repository\com\baomidou\mybatis-plus-extension\3.3.2\mybatis-plus-extension-3.3.2.jar;D:\apache-maven-3.8.8\repository\com\baomidou\mybatis-plus-core\3.3.2\mybatis-plus-core-3.3.2.jar;D:\apache-maven-3.8.8\repository\com\github\jsqlparser\jsqlparser\3.1\jsqlparser-3.1.jar;D:\apache-maven-3.8.8\repository\org\mybatis\mybatis-spring\2.0.4\mybatis-spring-2.0.4.jar;D:\apache-maven-3.8.8\repository\org\springframework\boot\spring-boot-autoconfigure\2.1.0.RELEASE\spring-boot-autoconfigure-2.1.0.RELEASE.jar;D:\apache-maven-3.8.8\repository\org\springframework\boot\spring-boot-starter-jdbc\2.1.0.RELEASE\spring-boot-starter-jdbc-2.1.0.RELEASE.jar;D:\apache-maven-3.8.8\repository\com\zaxxer\HikariCP\3.2.0\HikariCP-3.2.0.jar;D:\apache-maven-3.8.8\repository\org\springframework\spring-jdbc\5.1.2.RELEASE +Launcher Type: SUN_STANDARD + +Environment Variables: +JAVA_HOME=D:\jdk +CLASSPATH=.;D:\jdk\lib;D:\jdk\lib\tools.jar +PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;D:\jdk\bin;D:\apache-maven-3.8.8\bin;E:\git\bin;E:\xshell\;E:\xshell\xftp\;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps; +USERNAME=Administrator +OS=Windows_NT +PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel + + + +--------------- S Y S T E M --------------- + +OS: Windows 10.0 , 64 bit Build 19041 (10.0.19041.1566) + +CPU:total 4 (initial active 4) (4 cores per cpu, 1 threads per core) family 6 model 42 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, aes, clmul, tsc, tscinvbit + +Memory: 4k page, physical 16645820k(2560500k free), swap 23433272k(5160k free) + +vm_info: Java HotSpot(TM) 64-Bit Server VM (25.191-b12) for windows-amd64 JRE (1.8.0_191-b12), built on Oct 6 2018 09:29:03 by "java_re" with MS VC++ 10.0 (VS2010) + +time: Thu Apr 27 16:48:34 2023 +elapsed time: 0 seconds (0d 0h 0m 0s) + diff --git a/pluss-service-bundle/hs_err_pid81560.log b/pluss-service-bundle/hs_err_pid81560.log new file mode 100644 index 0000000..a15a408 --- /dev/null +++ b/pluss-service-bundle/hs_err_pid81560.log @@ -0,0 +1,155 @@ +# +# There is insufficient memory for the Java Runtime Environment to continue. +# Native memory allocation (malloc) failed to allocate 1048576 bytes for AllocateHeap +# Possible reasons: +# The system is out of physical RAM or swap space +# In 32 bit mode, the process size limit was hit +# Possible solutions: +# Reduce memory load on the system +# Increase physical memory or swap space +# Check if swap backing store is full +# Use 64 bit Java on a 64 bit OS +# Decrease Java heap size (-Xmx/-Xms) +# Decrease number of Java threads +# Decrease Java thread stack sizes (-Xss) +# Set larger code cache with -XX:ReservedCodeCacheSize= +# This output file may be truncated or incomplete. +# +# Out of Memory Error (memory/allocation.inline.hpp:61), pid=81560, tid=0x0000000000013830 +# +# JRE version: (8.0_191-b12) (build ) +# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.191-b12 mixed mode windows-amd64 compressed oops) +# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows +# + +--------------- T H R E A D --------------- + +Current thread (0x0000000002f08800): JavaThread "Unknown thread" [_thread_in_vm, id=79920, stack(0x0000000002e00000,0x0000000002f00000)] + +Stack: [0x0000000002e00000,0x0000000002f00000] +[error occurred during error reporting (printing stack bounds), id 0xc0000005] + +Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) + + +--------------- P R O C E S S --------------- + +Java Threads: ( => current thread ) + +Other Threads: + +=>0x0000000002f08800 (exited) JavaThread "Unknown thread" [_thread_in_vm, id=79920, stack(0x0000000002e00000,0x0000000002f00000)] + +VM state:not at safepoint (normal execution) + +VM Mutex/Monitor currently owned by a thread: None + +Heap: + PSYoungGen total 75776K, used 1300K [0x000000076b580000, 0x0000000770a00000, 0x00000007c0000000) + eden space 65024K, 2% used [0x000000076b580000,0x000000076b6c51f8,0x000000076f500000) + from space 10752K, 0% used [0x000000076ff80000,0x000000076ff80000,0x0000000770a00000) + to space 10752K, 0% used [0x000000076f500000,0x000000076f500000,0x000000076ff80000) + ParOldGen total 173568K, used 0K [0x00000006c2000000, 0x00000006cc980000, 0x000000076b580000) + object space 173568K, 0% used [0x00000006c2000000,0x00000006c2000000,0x00000006cc980000) + Metaspace used 775K, capacity 4480K, committed 4480K, reserved 1056768K + class space used 76K, capacity 384K, committed 384K, reserved 1048576K + +Card table byte_map: [0x0000000012550000,0x0000000012d50000] byte_map_base: 0x000000000ef40000 + +Marking Bits: (ParMarkBitMap*) 0x000000005b433e30 + Begin Bits: [0x00000000136a0000, 0x0000000017620000) + End Bits: [0x0000000017620000, 0x000000001b5a0000) + +Polling page: 0x00000000012a0000 + +CodeCache: size=245760Kb used=328Kb max_used=328Kb free=245431Kb + bounds [0x0000000003190000, 0x0000000003400000, 0x0000000012190000] + total_blobs=58 nmethods=0 adapters=38 + compilation: enabled + +Compilation events (0 events): +No events + +GC Heap History (0 events): +No events + +Deoptimization events (0 events): +No events + +Classes redefined (0 events): +No events + +Internal exceptions (0 events): +No events + +Events (10 events): +Event: 0.045 loading class java/lang/Short +Event: 0.045 loading class java/lang/Short done +Event: 0.045 loading class java/lang/Integer +Event: 0.046 loading class java/lang/Integer done +Event: 0.046 loading class java/lang/Long +Event: 0.046 loading class java/lang/Long done +Event: 0.046 loading class java/lang/NullPointerException +Event: 0.046 loading class java/lang/NullPointerException done +Event: 0.046 loading class java/lang/ArithmeticException +Event: 0.047 loading class java/lang/ArithmeticException done + + +Dynamic libraries: +0x00007ff6c21e0000 - 0x00007ff6c2217000 D:\jdk\bin\java.exe +0x00007ffd31ed0000 - 0x00007ffd320c5000 C:\Windows\SYSTEM32\ntdll.dll +0x00007ffd31700000 - 0x00007ffd317be000 C:\Windows\System32\KERNEL32.DLL +0x00007ffd2f620000 - 0x00007ffd2f8e8000 C:\Windows\System32\KERNELBASE.dll +0x00007ffd30150000 - 0x00007ffd301fe000 C:\Windows\System32\ADVAPI32.dll +0x00007ffd300b0000 - 0x00007ffd3014e000 C:\Windows\System32\msvcrt.dll +0x00007ffd30f00000 - 0x00007ffd30f9c000 C:\Windows\System32\sechost.dll +0x00007ffd30fa0000 - 0x00007ffd310c5000 C:\Windows\System32\RPCRT4.dll +0x00007ffd31540000 - 0x00007ffd316e0000 C:\Windows\System32\USER32.dll +0x00007ffd2fca0000 - 0x00007ffd2fcc2000 C:\Windows\System32\win32u.dll +0x00007ffd30610000 - 0x00007ffd3063b000 C:\Windows\System32\GDI32.dll +0x00007ffd2fe20000 - 0x00007ffd2ff2b000 C:\Windows\System32\gdi32full.dll +0x00007ffd2fa30000 - 0x00007ffd2facd000 C:\Windows\System32\msvcp_win.dll +0x00007ffd2fd20000 - 0x00007ffd2fe20000 C:\Windows\System32\ucrtbase.dll +0x00007ffd1b570000 - 0x00007ffd1b80a000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll +0x00007ffd30420000 - 0x00007ffd30450000 C:\Windows\System32\IMM32.DLL +0x000000005b4c0000 - 0x000000005b592000 D:\jdk\jre\bin\msvcr100.dll +0x000000005ac10000 - 0x000000005b4b4000 D:\jdk\jre\bin\server\jvm.dll +0x00007ffd30600000 - 0x00007ffd30608000 C:\Windows\System32\PSAPI.DLL +0x00007ffd1b9e0000 - 0x00007ffd1b9e9000 C:\Windows\SYSTEM32\WSOCK32.dll +0x00007ffd30640000 - 0x00007ffd306ab000 C:\Windows\System32\WS2_32.dll +0x00007ffd21110000 - 0x00007ffd21137000 C:\Windows\SYSTEM32\WINMM.dll +0x00007ffd218e0000 - 0x00007ffd218ea000 C:\Windows\SYSTEM32\VERSION.dll +0x000000005ac00000 - 0x000000005ac0f000 D:\jdk\jre\bin\verify.dll +0x000000005abd0000 - 0x000000005abf9000 D:\jdk\jre\bin\java.dll +0x000000005aaf0000 - 0x000000005ab13000 D:\jdk\jre\bin\instrument.dll +0x000000005abb0000 - 0x000000005abc6000 D:\jdk\jre\bin\zip.dll + +VM Arguments: +jvm_args: -ea -Didea.test.cyclic.buffer.size=1048576 -javaagent:D:\IntelliJ IDEA 2023.1\lib\idea_rt.jar=51651:D:\IntelliJ IDEA 2023.1\bin -Dfile.encoding=UTF-8 +java_command: com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 cn.pluss.platform.klk.service.LklPayService +java_class_path (initial): D:\IntelliJ IDEA 2023.1\lib\idea_rt.jar;D:\IntelliJ IDEA 2023.1\plugins\junit\lib\junit5-rt.jar;D:\IntelliJ IDEA 2023.1\plugins\junit\lib\junit-rt.jar;D:\jdk\jre\lib\charsets.jar;D:\jdk\jre\lib\deploy.jar;D:\jdk\jre\lib\ext\access-bridge-64.jar;D:\jdk\jre\lib\ext\cldrdata.jar;D:\jdk\jre\lib\ext\dnsns.jar;D:\jdk\jre\lib\ext\jaccess.jar;D:\jdk\jre\lib\ext\jfxrt.jar;D:\jdk\jre\lib\ext\localedata.jar;D:\jdk\jre\lib\ext\nashorn.jar;D:\jdk\jre\lib\ext\sunec.jar;D:\jdk\jre\lib\ext\sunjce_provider.jar;D:\jdk\jre\lib\ext\sunmscapi.jar;D:\jdk\jre\lib\ext\sunpkcs11.jar;D:\jdk\jre\lib\ext\zipfs.jar;D:\jdk\jre\lib\javaws.jar;D:\jdk\jre\lib\jce.jar;D:\jdk\jre\lib\jfr.jar;D:\jdk\jre\lib\jfxswt.jar;D:\jdk\jre\lib\jsse.jar;D:\jdk\jre\lib\management-agent.jar;D:\jdk\jre\lib\plugin.jar;D:\jdk\jre\lib\resources.jar;D:\jdk\jre\lib\rt.jar;D:\project\chaozhanggui\pluss-service-bundle\target\classes;D:\project\chaozhanggui\pluss-dao-bundle\target\classes;D:\apache-maven-3.8.8\repository\com\baomidou\mybatis-plus-boot-starter\3.3.2\mybatis-plus-boot-starter-3.3.2.jar;D:\apache-maven-3.8.8\repository\com\baomidou\mybatis-plus\3.3.2\mybatis-plus-3.3.2.jar;D:\apache-maven-3.8.8\repository\com\baomidou\mybatis-plus-extension\3.3.2\mybatis-plus-extension-3.3.2.jar;D:\apache-maven-3.8.8\repository\com\baomidou\mybatis-plus-core\3.3.2\mybatis-plus-core-3.3.2.jar;D:\apache-maven-3.8.8\repository\com\github\jsqlparser\jsqlparser\3.1\jsqlparser-3.1.jar;D:\apache-maven-3.8.8\repository\org\mybatis\mybatis-spring\2.0.4\mybatis-spring-2.0.4.jar;D:\apache-maven-3.8.8\repository\org\springframework\boot\spring-boot-autoconfigure\2.1.0.RELEASE\spring-boot-autoconfigure-2.1.0.RELEASE.jar;D:\apache-maven-3.8.8\repository\org\springframework\boot\spring-boot-starter-jdbc\2.1.0.RELEASE\spring-boot-starter-jdbc-2.1.0.RELEASE.jar;D:\apache-maven-3.8.8\repository\com\zaxxer\HikariCP\3.2.0\HikariCP-3.2.0.jar;D:\apache-maven-3.8.8\repository\org\springframework\spring-jdbc\5.1.2.RELEASE +Launcher Type: SUN_STANDARD + +Environment Variables: +JAVA_HOME=D:\jdk +CLASSPATH=.;D:\jdk\lib;D:\jdk\lib\tools.jar +PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;D:\jdk\bin;D:\apache-maven-3.8.8\bin;E:\git\bin;E:\xshell\;E:\xshell\xftp\;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps; +USERNAME=Administrator +OS=Windows_NT +PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel + + + +--------------- S Y S T E M --------------- + +OS: Windows 10.0 , 64 bit Build 19041 (10.0.19041.1566) + +CPU:total 4 (initial active 4) (4 cores per cpu, 1 threads per core) family 6 model 42 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, aes, clmul, tsc, tscinvbit + +Memory: 4k page, physical 16645820k(2651352k free), swap 23433272k(5624k free) + +vm_info: Java HotSpot(TM) 64-Bit Server VM (25.191-b12) for windows-amd64 JRE (1.8.0_191-b12), built on Oct 6 2018 09:29:03 by "java_re" with MS VC++ 10.0 (VS2010) + +time: Thu Apr 27 16:47:34 2023 +elapsed time: 0 seconds (0d 0h 0m 0s) + diff --git a/pluss-service-bundle/hs_err_pid81780.log b/pluss-service-bundle/hs_err_pid81780.log new file mode 100644 index 0000000..2ddc2b3 --- /dev/null +++ b/pluss-service-bundle/hs_err_pid81780.log @@ -0,0 +1,155 @@ +# +# There is insufficient memory for the Java Runtime Environment to continue. +# Native memory allocation (malloc) failed to allocate 1048576 bytes for AllocateHeap +# Possible reasons: +# The system is out of physical RAM or swap space +# In 32 bit mode, the process size limit was hit +# Possible solutions: +# Reduce memory load on the system +# Increase physical memory or swap space +# Check if swap backing store is full +# Use 64 bit Java on a 64 bit OS +# Decrease Java heap size (-Xmx/-Xms) +# Decrease number of Java threads +# Decrease Java thread stack sizes (-Xss) +# Set larger code cache with -XX:ReservedCodeCacheSize= +# This output file may be truncated or incomplete. +# +# Out of Memory Error (memory/allocation.inline.hpp:61), pid=81780, tid=0x000000000000b114 +# +# JRE version: (8.0_191-b12) (build ) +# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.191-b12 mixed mode windows-amd64 compressed oops) +# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows +# + +--------------- T H R E A D --------------- + +Current thread (0x0000000003538800): JavaThread "Unknown thread" [_thread_in_vm, id=45332, stack(0x0000000003430000,0x0000000003530000)] + +Stack: [0x0000000003430000,0x0000000003530000] +[error occurred during error reporting (printing stack bounds), id 0xc0000005] + +Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) + + +--------------- P R O C E S S --------------- + +Java Threads: ( => current thread ) + +Other Threads: + +=>0x0000000003538800 (exited) JavaThread "Unknown thread" [_thread_in_vm, id=45332, stack(0x0000000003430000,0x0000000003530000)] + +VM state:not at safepoint (normal execution) + +VM Mutex/Monitor currently owned by a thread: None + +Heap: + PSYoungGen total 75776K, used 1300K [0x000000076b580000, 0x0000000770a00000, 0x00000007c0000000) + eden space 65024K, 2% used [0x000000076b580000,0x000000076b6c51f8,0x000000076f500000) + from space 10752K, 0% used [0x000000076ff80000,0x000000076ff80000,0x0000000770a00000) + to space 10752K, 0% used [0x000000076f500000,0x000000076f500000,0x000000076ff80000) + ParOldGen total 173568K, used 0K [0x00000006c2000000, 0x00000006cc980000, 0x000000076b580000) + object space 173568K, 0% used [0x00000006c2000000,0x00000006c2000000,0x00000006cc980000) + Metaspace used 775K, capacity 4480K, committed 4480K, reserved 1056768K + class space used 76K, capacity 384K, committed 384K, reserved 1048576K + +Card table byte_map: [0x0000000012b50000,0x0000000013350000] byte_map_base: 0x000000000f540000 + +Marking Bits: (ParMarkBitMap*) 0x000000005b433e30 + Begin Bits: [0x0000000013ca0000, 0x0000000017c20000) + End Bits: [0x0000000017c20000, 0x000000001bba0000) + +Polling page: 0x0000000001530000 + +CodeCache: size=245760Kb used=328Kb max_used=328Kb free=245431Kb + bounds [0x0000000003790000, 0x0000000003a00000, 0x0000000012790000] + total_blobs=58 nmethods=0 adapters=38 + compilation: enabled + +Compilation events (0 events): +No events + +GC Heap History (0 events): +No events + +Deoptimization events (0 events): +No events + +Classes redefined (0 events): +No events + +Internal exceptions (0 events): +No events + +Events (10 events): +Event: 0.041 loading class java/lang/Short +Event: 0.041 loading class java/lang/Short done +Event: 0.041 loading class java/lang/Integer +Event: 0.041 loading class java/lang/Integer done +Event: 0.041 loading class java/lang/Long +Event: 0.041 loading class java/lang/Long done +Event: 0.042 loading class java/lang/NullPointerException +Event: 0.042 loading class java/lang/NullPointerException done +Event: 0.042 loading class java/lang/ArithmeticException +Event: 0.042 loading class java/lang/ArithmeticException done + + +Dynamic libraries: +0x00007ff6c21e0000 - 0x00007ff6c2217000 D:\jdk\bin\java.exe +0x00007ffd31ed0000 - 0x00007ffd320c5000 C:\Windows\SYSTEM32\ntdll.dll +0x00007ffd31700000 - 0x00007ffd317be000 C:\Windows\System32\KERNEL32.DLL +0x00007ffd2f620000 - 0x00007ffd2f8e8000 C:\Windows\System32\KERNELBASE.dll +0x00007ffd30150000 - 0x00007ffd301fe000 C:\Windows\System32\ADVAPI32.dll +0x00007ffd300b0000 - 0x00007ffd3014e000 C:\Windows\System32\msvcrt.dll +0x00007ffd30f00000 - 0x00007ffd30f9c000 C:\Windows\System32\sechost.dll +0x00007ffd30fa0000 - 0x00007ffd310c5000 C:\Windows\System32\RPCRT4.dll +0x00007ffd31540000 - 0x00007ffd316e0000 C:\Windows\System32\USER32.dll +0x00007ffd2fca0000 - 0x00007ffd2fcc2000 C:\Windows\System32\win32u.dll +0x00007ffd30610000 - 0x00007ffd3063b000 C:\Windows\System32\GDI32.dll +0x00007ffd2fe20000 - 0x00007ffd2ff2b000 C:\Windows\System32\gdi32full.dll +0x00007ffd2fa30000 - 0x00007ffd2facd000 C:\Windows\System32\msvcp_win.dll +0x00007ffd2fd20000 - 0x00007ffd2fe20000 C:\Windows\System32\ucrtbase.dll +0x00007ffd1b570000 - 0x00007ffd1b80a000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll +0x00007ffd30420000 - 0x00007ffd30450000 C:\Windows\System32\IMM32.DLL +0x000000005b4c0000 - 0x000000005b592000 D:\jdk\jre\bin\msvcr100.dll +0x000000005ac10000 - 0x000000005b4b4000 D:\jdk\jre\bin\server\jvm.dll +0x00007ffd30600000 - 0x00007ffd30608000 C:\Windows\System32\PSAPI.DLL +0x00007ffd1b9e0000 - 0x00007ffd1b9e9000 C:\Windows\SYSTEM32\WSOCK32.dll +0x00007ffd21110000 - 0x00007ffd21137000 C:\Windows\SYSTEM32\WINMM.dll +0x00007ffd30640000 - 0x00007ffd306ab000 C:\Windows\System32\WS2_32.dll +0x00007ffd218e0000 - 0x00007ffd218ea000 C:\Windows\SYSTEM32\VERSION.dll +0x000000005ac00000 - 0x000000005ac0f000 D:\jdk\jre\bin\verify.dll +0x000000005abd0000 - 0x000000005abf9000 D:\jdk\jre\bin\java.dll +0x000000005aaf0000 - 0x000000005ab13000 D:\jdk\jre\bin\instrument.dll +0x000000005abb0000 - 0x000000005abc6000 D:\jdk\jre\bin\zip.dll + +VM Arguments: +jvm_args: -ea -Didea.test.cyclic.buffer.size=1048576 -javaagent:D:\IntelliJ IDEA 2023.1\lib\idea_rt.jar=51664:D:\IntelliJ IDEA 2023.1\bin -Dfile.encoding=UTF-8 +java_command: com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 cn.pluss.platform.klk.service.LklPayService +java_class_path (initial): D:\IntelliJ IDEA 2023.1\lib\idea_rt.jar;D:\IntelliJ IDEA 2023.1\plugins\junit\lib\junit5-rt.jar;D:\IntelliJ IDEA 2023.1\plugins\junit\lib\junit-rt.jar;D:\jdk\jre\lib\charsets.jar;D:\jdk\jre\lib\deploy.jar;D:\jdk\jre\lib\ext\access-bridge-64.jar;D:\jdk\jre\lib\ext\cldrdata.jar;D:\jdk\jre\lib\ext\dnsns.jar;D:\jdk\jre\lib\ext\jaccess.jar;D:\jdk\jre\lib\ext\jfxrt.jar;D:\jdk\jre\lib\ext\localedata.jar;D:\jdk\jre\lib\ext\nashorn.jar;D:\jdk\jre\lib\ext\sunec.jar;D:\jdk\jre\lib\ext\sunjce_provider.jar;D:\jdk\jre\lib\ext\sunmscapi.jar;D:\jdk\jre\lib\ext\sunpkcs11.jar;D:\jdk\jre\lib\ext\zipfs.jar;D:\jdk\jre\lib\javaws.jar;D:\jdk\jre\lib\jce.jar;D:\jdk\jre\lib\jfr.jar;D:\jdk\jre\lib\jfxswt.jar;D:\jdk\jre\lib\jsse.jar;D:\jdk\jre\lib\management-agent.jar;D:\jdk\jre\lib\plugin.jar;D:\jdk\jre\lib\resources.jar;D:\jdk\jre\lib\rt.jar;D:\project\chaozhanggui\pluss-service-bundle\target\classes;D:\project\chaozhanggui\pluss-dao-bundle\target\classes;D:\apache-maven-3.8.8\repository\com\baomidou\mybatis-plus-boot-starter\3.3.2\mybatis-plus-boot-starter-3.3.2.jar;D:\apache-maven-3.8.8\repository\com\baomidou\mybatis-plus\3.3.2\mybatis-plus-3.3.2.jar;D:\apache-maven-3.8.8\repository\com\baomidou\mybatis-plus-extension\3.3.2\mybatis-plus-extension-3.3.2.jar;D:\apache-maven-3.8.8\repository\com\baomidou\mybatis-plus-core\3.3.2\mybatis-plus-core-3.3.2.jar;D:\apache-maven-3.8.8\repository\com\github\jsqlparser\jsqlparser\3.1\jsqlparser-3.1.jar;D:\apache-maven-3.8.8\repository\org\mybatis\mybatis-spring\2.0.4\mybatis-spring-2.0.4.jar;D:\apache-maven-3.8.8\repository\org\springframework\boot\spring-boot-autoconfigure\2.1.0.RELEASE\spring-boot-autoconfigure-2.1.0.RELEASE.jar;D:\apache-maven-3.8.8\repository\org\springframework\boot\spring-boot-starter-jdbc\2.1.0.RELEASE\spring-boot-starter-jdbc-2.1.0.RELEASE.jar;D:\apache-maven-3.8.8\repository\com\zaxxer\HikariCP\3.2.0\HikariCP-3.2.0.jar;D:\apache-maven-3.8.8\repository\org\springframework\spring-jdbc\5.1.2.RELEASE +Launcher Type: SUN_STANDARD + +Environment Variables: +JAVA_HOME=D:\jdk +CLASSPATH=.;D:\jdk\lib;D:\jdk\lib\tools.jar +PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;D:\jdk\bin;D:\apache-maven-3.8.8\bin;E:\git\bin;E:\xshell\;E:\xshell\xftp\;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps; +USERNAME=Administrator +OS=Windows_NT +PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel + + + +--------------- S Y S T E M --------------- + +OS: Windows 10.0 , 64 bit Build 19041 (10.0.19041.1566) + +CPU:total 4 (initial active 4) (4 cores per cpu, 1 threads per core) family 6 model 42 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, aes, clmul, tsc, tscinvbit + +Memory: 4k page, physical 16645820k(2553524k free), swap 23433272k(5712k free) + +vm_info: Java HotSpot(TM) 64-Bit Server VM (25.191-b12) for windows-amd64 JRE (1.8.0_191-b12), built on Oct 6 2018 09:29:03 by "java_re" with MS VC++ 10.0 (VS2010) + +time: Thu Apr 27 16:47:50 2023 +elapsed time: 0 seconds (0d 0h 0m 0s) + diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/channel/ys/impl/YSAuditServiceV3.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/channel/ys/impl/YSAuditServiceV3.java index e3060dd..33e412a 100644 --- a/pluss-service-bundle/src/main/java/cn/pluss/platform/channel/ys/impl/YSAuditServiceV3.java +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/channel/ys/impl/YSAuditServiceV3.java @@ -11,6 +11,7 @@ import cn.pluss.platform.dto.AccountDTO; import cn.pluss.platform.dto.BankCardDTO; import cn.pluss.platform.entity.*; import cn.pluss.platform.exception.MsgException; +import cn.pluss.platform.klk.vo.CallBackVo; import cn.pluss.platform.mapper.AccountMapper; import cn.pluss.platform.mapper.UserAppMapper; import cn.pluss.platform.mcc.MccReflectService; @@ -549,6 +550,59 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer } } + /** + * 入网申请流水 lkl + * 备注 note + * 客户号id custId + * 入网状态 status + */ + public void lklResultHandle(CallBackVo cust) { + String status = cust.getStatus(); + String sysFlowId = cust.getSysFlowId(); + MerchantChannelStatus mcs = new MerchantChannelStatus(); + mcs.setApplicationId(sysFlowId); + mcs.setChannel(5); + mcs = mcsService.getOne(new QueryWrapper<>(mcs)); + mcs.setThirdStatus(status); + mcs.getExtra().putAll((JSONObject) JSON.toJSON(cust)); + + switch (status) { + case YsConfigV3.STATUS_SUCCESS: + mcs.setAuditSuccessTime(new Date()); + mcsService.updateById(mcs); + sign(mcs); + break; + case YsConfigV3.STATUS_REFUSE: + List excludeStatus = Arrays.asList(MerchantChannelStatus.AUDIT_STATUS_REJECT, MerchantChannelStatus.AUDIT_STATUS_SUCCESS); + MerchantChannelStatus finalMcs = mcs; + boolean returnFlag = excludeStatus.stream().anyMatch(s -> s.equals(finalMcs.getStatus())); + if (returnFlag) { + return; + } + MerchantBaseInfo mbi = mbiService.getMerchantBaseInfoByMerchantCode(mcs.getMerchantCode()); + String note = cust.getNote(); + mcs.setRemark(note); + mcs.setStatus(MerchantChannelStatus.AUDIT_STATUS_REJECT); + mcsService.updateById(mcs); + mercAuditListener.onFail(mbi.getUserId(), mcs, note); + break; +// case YsConfigV3.STATUS_TO_MANUAL: +// List excludeStatus2 = Arrays.asList(MerchantChannelStatus.AUDIT_STATUS_SUCCESS, MerchantChannelStatus.AUDIT_STATUS_ARTIFICIAL_EXAMINING); +// MerchantChannelStatus finalMcs2 = mcs; +// boolean returnFlag2 = excludeStatus2.stream().anyMatch(s -> s.equals(finalMcs2.getStatus())); +// if (returnFlag2) { +// return; +// } +// mcs.setStatus(MerchantChannelStatus.AUDIT_STATUS_ARTIFICIAL_EXAMINING); +// mcsService.updateById(mcs); +// break; + } + } + + + + + public void step2(String userId) { MerchantBaseInfo mbi = mbiService.getMerchantBaseInfoByUserId(userId); List miList = miService.getListOfMerch(userId, Account.CHANNEL_TYPE_D0); diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/LaKaLaUtility.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/LaKaLaUtility.java new file mode 100644 index 0000000..7cd31bc --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/LaKaLaUtility.java @@ -0,0 +1,56 @@ +package cn.pluss.platform.klk; + +import javax.crypto.Cipher; +import java.io.ByteArrayOutputStream; +import java.security.KeyFactory; +import java.security.spec.X509EncodedKeySpec; +import java.util.Base64; + +public class LaKaLaUtility { +// static String pubKey ="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCp5aV3ZiXG2R8Yd8Nxocv+cF7VAUHBc0TF4MNne7mI8wM2yEP2QgI+rK1qDf6G7\n" + +// "ZFPhutpIHKQchpolbSuC0vgaHpSjO9OUs1fpnK/JjZq9o8DatUsA0n4Fccec9NBbV5dy5yrwro7xmDpsevp1\n" + +// "/IeiIssi1+iD+nBWqqVFx7GVQIDAQAB"; + //测试公钥 + private static String pubKey="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvO9EN9W6OG7y72VUWZili4m8DlD+TMofgIl96OPX9fRBS7Icg3oIqxmU20xFbiswJ2cCU6I1gbE7GDM14CihLQd26xW5T/8TmHCaVFFy1b9AWHNK7sW3aNd2KK1PI3h4gS38ND8jqvdr/8YZSCNF2KOoOe3F17FqVecBdq+1VZQIDAQAB"; + + public static void main(String[] args) throws Exception { + String data="TOykml1JtGtrNL8rS+Aj/FOaq87eERTCUt9uZJk/ObFvuX5TRstQSl9fP3J2UTjSPO0b/p3Sh8Sxi1w9a6YuDQL9rrZ9orpWpEU+vg8H99fVZnvFjozB4HJf7NE5S9z7Mah93zW7TY1TFS55pIDv4go/fOtGTUcReUY0uFpZQote41m9KHvcjv5HiyCKaT/4cOoSMzHrsRiThwsU+rCDTzI4C32obwrXDOiaMd45wU4GL9/YMfHSpPOqgcsRZIWSBi2Pgt4nJX/s4uxVLzzKG00A8Jxa+yo0JZEgWRuHkOgcrV2Mxg8WmnXug8KeZBSeqYyvPXG9hy32q2phEwd1c6AYEOAKRu3QVhXEyDWjXkn86nvPimn8aohxYaAjky4E66LTnNIPNKOkwC5KVG27H9Fv27ZgqpDzRpYvaRExBT3RjJxXssLBRQ/eejOf7uuq0RgDUqFfwqOICqIUb8qbos6qu+QIsY2tvkbsMB1ZmD3s1SviHmvxWisD0VE/ZTDVQwDLUiORTwaMExirkc0s5bcB51FHHs2TFDa1raa/kSQwL/ADS0yAWNctiQGQtymErEmiD9iFdGXMvgjbqJ7KsDTAotKuYh9VzIA/RuAy+lpajvCIG6NOy428VHHin+RcXe/Ztx1UUHVk3xrHWNYG2aI4yyTLcz0EbG7rcOgWFwI="; +// String data ="hplFXwPU1gbHYwraQM/fKEcoIkBfHD07VSH99OnKTZk9HJRFAvZyOm9nsdeSi8t/UdGPn+LXldrjZ7wiY+F5MzGlIdEma7agKZyHJ+UO6CrDJfYFMwlPUOgO+Pq5ljg6QOdZBxBLEHkRMkQnC/CTv9vQnPDqeCv4MvAbHJspADGRRPvmjxtzf0J4OQgP3hj9+ZqH+btsuX+W+YZRXRMYL+uOQkSJhMUv31hc9MAC/1Sp0C9cBcHKxr+idS+0CCjvD8WzLbXv2QuOSQccIKQw+Je8RMeuKs8f64MibCkf+RkilTCVCEd5apL1MkhYJZoUVzqPXmDBLjaJgr987X1wBAzQMS8+F34Vl/BonKPuJ4RRwdE/M3WJ+ZfM2WiLawpU7ZqUQdVY2bwJO801TcmFCswLoz2qxHHsBsjXtQPqMOj3pw3Kvz3WH3oWmcFRZjHKIbDSy9Jh2STEFRbvVWarjksBVjXkcbletDtOtY0T8XCdiiNoQNlVNj5kH5QkAWmt"; + String decrypt = LaKaLaUtility.decrypt(data); + System.out.println("解密结果:" + decrypt); + } + /** + * 公钥解密 + * @param pubKey Base64 公钥 + * @param data Base64 数据 + * @return 解密字符串 + * @throws Exception 解密异常 + */ + public static String decrypt(String data){ + try { + Base64.Decoder decoder = Base64.getDecoder(); + byte[] keyBytes = decoder.decode(pubKey.getBytes()); + byte[] dataBytes = decoder.decode(data.getBytes()); + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.DECRYPT_MODE, + KeyFactory.getInstance("RSA").generatePublic(new + X509EncodedKeySpec(keyBytes))); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + byte[] cache; + for (int i = 0, offset = 0, length = dataBytes.length; length - + offset > 0; i++, offset = i * 128) { + if (length - offset > 128) { + cache = cipher.doFinal(dataBytes, offset, 128); + } else { + cache = cipher.doFinal(dataBytes, offset, length - offset); + } + out.write(cache, 0, cache.length); + } + return out.toString(); + }catch (Exception e){ + e.printStackTrace(); + } + return null; + } + +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/LklConfig.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/LakalaConfig.java similarity index 81% rename from pluss-service-bundle/src/main/java/cn/pluss/platform/klk/LklConfig.java rename to pluss-service-bundle/src/main/java/cn/pluss/platform/klk/LakalaConfig.java index bbb4fdd..6c1383c 100644 --- a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/LklConfig.java +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/LakalaConfig.java @@ -7,8 +7,8 @@ import org.springframework.stereotype.Component; @Data @Component -@ConfigurationProperties(prefix = "lkl") -public class LklConfig { +@ConfigurationProperties(prefix = "lkl1") +public class LakalaConfig { @Value("private_key") private String privateKey; } diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/cache/MemoryCache.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/cache/MemoryCache.java new file mode 100644 index 0000000..4f6ea9b --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/cache/MemoryCache.java @@ -0,0 +1,196 @@ +package cn.pluss.platform.klk.cache; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.*; +/** + * 暂时用jdk的缓存 + * */ +public class MemoryCache { + //键值对集合 + private final static Map map = new HashMap<>(); + //定时器线程池,用于清除过期缓存 + private final static ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor(); + + /** + * 添加缓存 + * 可用 synchronized 加锁 + * @param key 键 + * @param data 值 + */ + public static void put(String key, Object data) { + MemoryCache.put(key, data, 0); + } + + /** + * 添加缓存 + * 可用 synchronized 加锁 + * @param key 键 + * @param data 值 + * @param expire 过期时间,单位:毫秒, 0表示无限长 + */ + public static void put(String key, Object data, long expire) { + //清除原键值对 + MemoryCache.remove(key); + //设置过期时间 + if (expire > 0) { + Future future = executor.schedule(new Runnable() { + @Override + public void run() { + //过期后清除该键值对 + synchronized (MemoryCache.class) { + map.remove(key); + } + } + }, expire, TimeUnit.MILLISECONDS); + map.put(key, new Entity(data, future)); + } else { + //不设置过期时间 + map.put(key, new Entity(data, null)); + } + } + + /** + * 读取缓存 + * 可用 synchronized 加锁 + * @param key 键 + * @return + */ + public static Object get(String key) { + Entity entity = map.get(key); + return entity == null ? null : entity.getValue(); + } + + /** + * 读取缓存 + * 可用 synchronized 加锁 + * @param key 键 + * @param clazz 值类型 + * @return + */ + public static T get(String key, Class clazz) { + return clazz.cast(MemoryCache.get(key)); + } + + /** + * 清除缓存 + * 可用 synchronized 加锁 + * @param key + * @return + */ + public static Object remove(String key) { + //清除原缓存数据 + Entity entity = map.remove(key); + if (entity == null) { + return null; + } + //清除原键值对定时器 + Future future = entity.getFuture(); + if (future != null) { + future.cancel(true); + } + return entity.getValue(); + } + + /** + * 查询当前缓存的键值对数量 + * 可用 synchronized 加锁 + * @return + */ + public static int size() { + return map.size(); + } + + /** + * 缓存实体类 + */ + private static class Entity { + //键值对的value + private Object value; + //定时器Future + private Future future; + + public Entity(Object value, Future future) { + this.value = value; + this.future = future; + } + + /** + * 获取值 + * + * @return + */ + public Object getValue() { + return value; + } + + /** + * 获取Future对象 + * + * @return + */ + public Future getFuture() { + return future; + } + } + + public static void main(String[] args) throws ExecutionException, InterruptedException { + String key = "id"; + //不设置过期时间 + System.out.println("***********不设置过期时间**********"); + MemoryCache.put(key, 123); + System.out.println("key:" + key + ", value:" + MemoryCache.get(key)); + System.out.println("key:" + key + ", value:" + MemoryCache.remove(key)); + System.out.println("key:" + key + ", value:" + MemoryCache.get(key)); + + //设置过期时间 + System.out.println("\n***********设置过期时间**********"); + MemoryCache.put(key, "123456", 1000); + System.out.println("key:" + key + ", value:" + MemoryCache.get(key)); + TimeUnit.MILLISECONDS.sleep(1500); + System.out.println("key:" + key + ", value:" + MemoryCache.get(key)); + + /******************并发性能测试************/ + System.out.println("\n***********并发性能测试************"); + //创建有10个线程的线程池,将1000000次操作分10次添加到线程池 + ExecutorService executorService = Executors.newFixedThreadPool(10); + Future[] futures = new Future[10]; + /********添加********/ + { + long start = System.currentTimeMillis(); + for (int j = 0; j < 10; j++) { + futures[j] = executorService.submit(() -> { + for (int i = 0; i < 100000; i++) { + MemoryCache.put(Thread.currentThread().getId() + key + i, i, 300000); + } + }); + } + //等待全部线程执行完成,打印执行时间 + for (Future future : futures) { + future.get(); + } + System.out.printf("添加耗时:%dms\n", System.currentTimeMillis() - start); + } + + /********查询********/ + { + long start = System.currentTimeMillis(); + for (int j = 0; j < 10; j++) { + futures[j] = executorService.submit(() -> { + for (int i = 0; i < 100000; i++) { + Object obj = MemoryCache.get(Thread.currentThread().getId() + key + i); + System.out.println("cacheObj:" + obj); + } + }); + } + //等待全部线程执行完成,打印执行时间 + for (Future future : futures) { + future.get(); + } + System.out.printf("查询耗时:%dms\n", System.currentTimeMillis() - start); + } + + System.out.println("当前缓存容量:" + MemoryCache.size()); + } + +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/controller/FacePlusThrowErrorHandler.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/controller/FacePlusThrowErrorHandler.java new file mode 100644 index 0000000..b6a000e --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/controller/FacePlusThrowErrorHandler.java @@ -0,0 +1,19 @@ +package cn.pluss.platform.klk.controller; + +import org.springframework.http.client.ClientHttpResponse; +import org.springframework.web.client.ResponseErrorHandler; + +import java.io.IOException; + +public class FacePlusThrowErrorHandler implements ResponseErrorHandler { + + @Override + public boolean hasError(ClientHttpResponse response) throws IOException { + return false; + } + + @Override + public void handleError(ClientHttpResponse response) throws IOException { + + } +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/controller/LaKaLaController.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/controller/LaKaLaController.java new file mode 100644 index 0000000..22496ef --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/controller/LaKaLaController.java @@ -0,0 +1,49 @@ +package cn.pluss.platform.klk.controller; + +import cn.pluss.platform.klk.service.impl.LaKalaInterfaceImpl; +import cn.pluss.platform.klk.vo.TuoKeVo; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.File; +import java.io.IOException; +import java.util.Map; + +@RestController +@RequestMapping("/lkl") +public class LaKaLaController { + @Resource + LaKalaInterfaceImpl laKalaInterface; + @PostMapping("/lkl") + public void aa(@RequestBody TuoKeVo tuoKeVo){ + laKalaInterface.tuoKeAddMer(tuoKeVo); + } + + + @PostMapping("/jjkl") + public void jjkl(MultipartFile file){ +// try { +// laKalaInterface.laKaLaFileUpload(); +// } catch (IOException e) { +// throw new RuntimeException(e); +// } + } + @PostMapping("/jjkls") + public void jjkls(){ + + laKalaInterface.ff(); + + } + @PostMapping("/tuoke") + public void jjklss(){ + + laKalaInterface.createTuoKeInfo("244"); + + } + + @PostMapping("/callBackToke") + public void callBackToke(@RequestBody Map map){ + laKalaInterface.tuoKeCallBack(map); + } +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/KlkService.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/KlkService.java index c3dc505..8bcd11f 100644 --- a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/KlkService.java +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/KlkService.java @@ -1,20 +1,14 @@ package cn.pluss.platform.klk.service; -import cn.pluss.platform.exception.MsgException; -import cn.pluss.platform.klk.LklConfig; +import cn.pluss.platform.klk.LakalaConfig; import cn.pluss.platform.klk.entity.ReqKlkEntity; -import cn.pluss.platform.klk.entity.RespKlkEntity; import cn.pluss.platform.util.RSAUtils; -import cn.pluss.platform.util.SM4Util; -import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; -import org.springframework.http.MediaType; import org.springframework.stereotype.Service; import static org.springframework.http.MediaType.APPLICATION_JSON; -import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; /** * @author lyf @@ -23,7 +17,7 @@ import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; @Service("KlkService") public class KlkService { @Autowired - private LklConfig lklConfig; + private LakalaConfig lakalaConfig; public void reqKlk()throws Exception{ String data = "req_data\": {\n" + " \"member_id\": \"AAA200154561278\",\n" + diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/LaKaLaVO.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/LaKaLaVO.java new file mode 100644 index 0000000..c070683 --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/LaKaLaVO.java @@ -0,0 +1,67 @@ +package cn.pluss.platform.klk.service; + +import lombok.Data; + +import java.util.Set; + +@Data +public class LaKaLaVO { + private String version; + private String orderNo; + private String posType; + private String orgCode; + private String merRegName; + private String merBizName; + private String merRegDistCode; + private String merRegAddr; + private String mccCode; + private String merBlisName; + private String merBlis; + private String merBlisStDt; + private String merBlisExpDt; + private String merBusiContent; + private String larName; + private String larIdType; + private String larIdcard; + private String larIdcardStDt; + private String larIdcardExpDt; + private String merContactMobile; + private String merContactName; + private String shopName; + private String shopDistCode; + private String shopAddr; + private String shopContactName; + private String shopContactMobile; + private String openningBankCode; + private String openningBankName; + private String clearingBankCode; + private String acctNo; + private String acctName; + private String acctTypeCode; + private String settlePeriod; + private String clearDt; + private String acctIdType; + private String acctIdcard; + private String acctIdDt; + private String devSerialNo; + private String devTypeName; + private String termVer; + private String salesStaff; + private String termNum; + private String retUrl; + private Set feeData; + private String fileData; + private String contractNo; + private String feeAssumeType; + private String amountOfMonth; + private String serviceFee; + + + +} +@Data +class FeeData{ + private String feeRateTypeCode; + private String feeRatePct; + private String feeRateTypeName; +} \ No newline at end of file diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/LaKalaInterface.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/LaKalaInterface.java new file mode 100644 index 0000000..85f82b9 --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/LaKalaInterface.java @@ -0,0 +1,23 @@ +package cn.pluss.platform.klk.service; + +import cn.pluss.platform.klk.vo.OrganVo; +import cn.pluss.platform.klk.vo.TuoKeVo; + +import java.util.List; + +public interface LaKalaInterface { + /** + * 拉卡拉进件 + * */ + void laKaLaAddMer(LaKaLaVO laVO,String ip); + + /** + * 拓客进件 + * */ + void tuoKeAddMer(TuoKeVo tuoKeVo); + + /** + * 获取省市区县 + * */ + List getOrganCode(String code); +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/LkLPayServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/LkLPayServiceImpl.java new file mode 100644 index 0000000..a6e554a --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/LkLPayServiceImpl.java @@ -0,0 +1,87 @@ +package cn.pluss.platform.klk.service; + +import cn.pluss.platform.dto.MemberScanPayDTO; +import cn.pluss.platform.dto.MerChantOrderDTO; +import cn.pluss.platform.entity.*; +import cn.pluss.platform.pay.PayService; +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; +@Service("lkLPayService") +@Slf4j +public class LkLPayServiceImpl implements PayService { + @Resource + LklPayService lklPayService; + @Override + public JSONObject tradePay(MerchantOrder order, MerchantChannelStatus channel, MerchantBaseInfo merchant) { + return null; + } + + @Override + public JSONObject tradePay(MerChantOrderDTO merchantOrderDTO, MerchantOrder order) { + return null; + } + + @Override + public Map refundPay(MerchantOrder order, String mchNo) { + return null; + } + + @Override + public JSONObject tradeQuery(MerchantOrder order, String mchId) { + return null; + } + + @Override + public JSONObject refundQuery(MerchantRefundOrder refundOrder) { + return null; + } + + @Override + public Map closeOrder(String orderNumber, String channelNo) { + return null; + } + + @Override + public Map getWxOpenId(MemberScanPayDTO memberScanPayDTO, MerchantChannelStatus channel) throws Exception { + return null; + } + + @Override + public Map getUnionInfo(String userAuthCode, String paymentApp, String merchantId) throws Exception { + Map result = new HashMap<>(); + JSONObject reqData = new JSONObject(2); + Map stringObjectMap=lklPayService.authUserId(userAuthCode, paymentApp); + reqData.put("data",stringObjectMap.get("userId")); + reqData.put("userAuthCode",userAuthCode); + reqData.put("appUpIdentifier",paymentApp); + result.put("data",reqData); + result.put("code","1"); + result.put("msg","获取成功"); + return result; + } + + @Override + public Object payNotifyCallBack(Map params) { + return null; + } + + @Override + public String tradePayWap(MerchantOrder order, MerchantChannelStatus channel) { + return null; + } + + @Override + public JSONObject getUnionAccountUrl(JSONObject reqData) { + return null; + } + + @Override + public JSONObject jftPay(JftReceiptOrder order, JftMercBaseInfo jftMerc, JftMercPaymentChannel jftChannel) { + return null; + } +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/LklPayService.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/LklPayService.java new file mode 100644 index 0000000..f0d2257 --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/LklPayService.java @@ -0,0 +1,483 @@ +package cn.pluss.platform.klk.service; + +import com.alibaba.fastjson.JSONArray; +import org.apache.commons.io.IOUtils; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.codec.binary.Base64; +import org.apache.http.HttpResponse; +import org.apache.http.client.HttpClient; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.conn.ClientConnectionManager; +import org.apache.http.conn.scheme.Scheme; +import org.apache.http.conn.scheme.SchemeRegistry; +import org.apache.http.conn.ssl.SSLSocketFactory; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.DefaultHttpClient; +import org.junit.Test; +import org.springframework.stereotype.Service; + +import javax.net.ssl.SSLContext; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; +import javax.servlet.http.HttpServletRequest; +import java.io.*; +import java.nio.charset.StandardCharsets; +import java.security.*; +import java.security.cert.*; +import java.security.spec.InvalidKeySpecException; +import java.security.spec.PKCS8EncodedKeySpec; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Map; + +@Service +@Slf4j +public class LklPayService { + + private static Integer index = 0; + + + /** + * 字符集固定 utf-8 + */ + + + /** + * API schema ,固定 LKLAPI-SHA256withRSA + */ + public final static String SCHEMA = "LKLAPI-SHA256withRSA"; + + private static final String SYMBOLS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + + private static final SecureRandom RANDOM = new SecureRandom(); + private String appId = "OP00000354"; + // private String appId="OP00000657"; + private String mchSerialNo = "00dfba8194c41b84cf"; + private String merchantNo = "8221210594300JY"; + private String termNo = "A0073841"; + // private String privateKeyPath="classpath:lakalaConf/OP00000003_private_key.pem"; + private String privateKeyPath = "C:\\Users\\Administrator\\Desktop\\dr\\OP00000003_private_key.pem"; + // private String cerPath="C:\\Users\\Administrator\\Desktop\\dr\\lkl-apigw-v1.cer"; + private String cerPath = "C:\\Users\\Administrator\\Desktop\\dr\\OP00000003_cert.cer"; + private String apiUrl = "https://test.wsmsd.cn/sit"; + String apiPath = "/api/v2/saas/query/wx_openid_query"; + + // private String apiUrl="https://s2.lakala.com"; + @Test + public void test1() { + LaKaLaVO laVO = new LaKaLaVO(); + createOrder(laVO, "127.0.0.1"); + } + + public String createOrder(LaKaLaVO laVO, String ip) { +//public String createOrder(String body,String apiPath,String ip) { +// String apiPath = "/api/v2/mms/openApi/addMer"; +// String apiPath = "/api/v3/labs/trans/preorder"; + +// String apiPath = "/api/v3/labs/relation/revoked"; +// String apiPath = "/api/v2/mms/openApi/addMer"; + //ordCode存在异议 +// String body ="{ \n" + +// " \"reqData\":{ \n" + +// " \"version\":\"1.0\", \n" + +// " \"orderNo\":\"2021031215011012345678\", \n" + +// " \"posType\":\"SUPER_POS\", \n" + +// " \"orgCode\":\"1\", \n" + +// " \"merRegName\":\"开放平台商户进件注册名称\", \n" + +// " \"merBizName\":\"开放平台商户进件经营名称\", \n" + +// " \"merRegDistCode\":\"290012\", \n" + +// " \"merRegAddr\":\"五星路102号\", \n" + +// " \"mccCode\":\"7011\", \n" + +// " \"merBusiContent\":\"640\", \n" + +// " \"larName\":\"张三丰\", \n" + +// " \"larIdType\":\"01\", \n" + +// " \"larIdcard\":\"33088119690117459X\", \n" + +// " \"larIdcardExpDt\":\"2051-01-10\", \n" + +// " \"merContactMobile\":\"15878559969\", \n" + +// " \"merContactName\":\"张三丰\", \n" + +// " \"settlePeriod\":\"T+1\", \n" + +// " \"openningBankCode\":\"102100000030\", \n" + +// " \"openningBankName\":\"中国工商银行股份有限公司北京市分行营业部\", \n" + +// " \"clearingBankCode\":\"102100099996\", \n" + +// " \"acctNo\":\"6212260200102400000\", \n" + +// " \"acctName\":\"仲涛飘\", \n" + +// " \"acctTypeCode\":\"58\", \n" + +// " \"acctIdcard\":\"33088119690117459X\", \n" + +// " \"devSerialNo\":\"yp13293921932131\", \n" + +// " \"devTypeName\":\"V8\", \n" + +// " \"termVer\":\"1.0\", \n" + +// " \"salesStaff\":\"销售3356\", \n" + +// " \"retUrl\":\"http://10.177.93.135:8082/notify\", \n" + +// " \"feeData\":[\n" + +// " { \n" + +// " \"feeRateTypeCode\":\"300\", \n" + +// " \"feeRatePct\":\"0.38\", \n" + +// " \"feeUpperAmtPcnt\":\"20\", \n" + +// " \"feeLowerAmtPcnt\":\"10\"\n" + +// " },\n" + +// " { \n" + +// " \"feeRateTypeCode\":\"301\", \n" + +// " \"feeRatePct\":\"0.58\"\n" + +// " },\n" + +// " { \n" + +// " \"feeRateTypeCode\":\"302\", \n" + +// " \"feeRatePct\":\"0.48\"\n" + +// " },\n" + +// " { \n" + +// " \"feeRateTypeCode\":\"303\", \n" + +// " \"feeRatePct\":\"0.48\"\n" + +// " }\n" + +// " ], \n" + +// " \"fileData\":[\n" + +// " { \n" + +// " \"attType\":\"ID_CARD_FRONT\", \n" + +// " \"attFileId\":\"G1/M00/00/61/CrFdEl3IyceAVVd8AAA0ADuZsA0911.jpg\"\n" + +// " }\n" + +// " ]\n" + +// " }, \n" + +// " \"ver\":\"1.0.0\", \n" + +// " \"timestamp\":\"1541589957000\", \n" + +// " \"reqId\":\"baff59de4694438ca9089862253517a5\"\n" + +// "}"; + Integer type = null; + String subAppid = ""; + String subOpenid = ""; + String body = ""; + String orderNumber = ""; + String consumeFee = ""; + HttpServletRequest request = null; + + body = "{ \n" + + " \"ver\": \"1.0.0\",\n" + + " \"timestamp\": \"1541589957000\",\n" + + " \"reqId\": \"ca9089862253517a5\",\n" + + " \"reqData\": {\n" + + " \"mercId\": \"" + merchantNo + "\",\n" + + " \"termNo\": \"" + termNo + "\",\n" + + " \"authCode\": \"136519690623734145\",\n" + + " \"tradeCode\":\"030304\"\n" + + " }\n" + + "}"; + + +// if (type==51||type==71){ +// +// body="{\n" + +// " \"out_org_code\":\""+appId+"\",\n" + +// " \"req_data\":{\n" + +// " \"acc_busi_fields\":{\n" + +// " \"detail\":\"{\\\"goods_detail\\\":[{\\\\\\\"goods_id\\\\\\\":\\\\\\\"100734033\\\\\\\",\\\\\\\"price\\\\\\\":\\\\\\\"50\\\\\\\",\\\\\\\"quantity\\\\\\\":\\\\\\\"1\\\\\\\"}]}\",\n" + +// " \"goods_tag\":\"ceshi\",\n" + +// " \"sub_appid\":\""+subAppid+"\",\n" + +// " \"user_id\":\""+subOpenid+"\"\n" + +// " },\n" + +// " \"account_type\":\"WECHAT\",\n" + +// " \"location_info\":{\n" + +// " \"request_ip\":\""+IpUtils.getIpAddr(request)+"\"\n" + +// " },\n" + +// " \"merchant_no\":\""+merchantNo+"\",\n" + +// " \"notify_url\":\"https://testca/notify\",\n" + +// " \"out_trade_no\":\""+orderNumber+"\",\n" + +// " \"term_no\":\""+ laVO.getTermNum()+"\",\n" + +// " \"total_amount\":\""+consumeFee+"\",\n" + +// " \"trans_type\":\""+type+"\"\n" + +// " },\n" + +// " \"req_time\":\""+getNowDate()+"\",\n" + +// " \"version\":\"3.0\"\n" + +// "}"; +// }else if (type==41){ +// body="{\n" + +// " \"out_org_code\":\""+appId+"\",\n" + +// " \"req_data\":{\n" + +// " \"acc_busi_fields\":{\n" + +// " \"detail\":\"{\\\"goods_detail\\\":[{\\\\\\\"goods_id\\\\\\\":\\\\\\\"100734033\\\\\\\",\\\\\\\"price\\\\\\\":\\\\\\\"50\\\\\\\",\\\\\\\"quantity\\\\\\\":\\\\\\\"1\\\\\\\"}]}\",\n" + +// " \"goods_tag\":\"ceshi\",\n" + +// " \"sub_appid\":\""+subAppid+"\",\n" + +// " \"user_id\":\""+subOpenid+"\"\n" + +// " },\n" + +// " \"account_type\":\"WECHAT\",\n" + +// " \"location_info\":{\n" + +// " \"request_ip\":\""+IpUtils.getIpAddr(request)+"\"\n" + +// " },\n" + +// " \"merchant_no\":\""+merchantNo+"\",\n" + +// " \"notify_url\":\"https://testca/notify\",\n" + +// " \"out_trade_no\":\""+orderNumber+"\",\n" + +// " \"term_no\":\""+ laVO.getTermNum()+"\",\n" + +// " \"total_amount\":\""+consumeFee+"\",\n" + +// " \"trans_type\":\""+type+"\"\n" + +// " },\n" + +// " \"req_time\":\""+getNowDate()+"\",\n" + +// " \"version\":\"3.0\"\n" + +// "}"; +// } + return ""; + } + + public Map authUserId(String authCode, String appUpIdentifier) { + String body = "{ \n" + + " \"ver\": \"1.0.0\",\n" + + " \"timestamp\": \"1541589957000\",\n" + + " \"reqId\": \"ca9089862253517a5\",\n" + + " \"reqData\": {\n" + + " \"mercId\": \"" + merchantNo + "\",\n" + + " \"termNo\": \"" + termNo + "\",\n" + + " \"authCode\": \"" + authCode + "\",\n" + + " \"tradeCode\":\"030304\",\n" + + " \"appUpIdentifier\":\"" + appUpIdentifier + "\"\n" + + " }\n" + + "}"; + Map map = (Map) JSONArray.parse(req(body)); + return (Map) JSONArray.parse(map.get("reqData").toString()); + } + + public String req(String body) { + String encode = encode("client_id:client_secret".getBytes()); + System.out.println("base64:" + encode); + + try { + + String authorization = getAuthorization(body, appId, mchSerialNo, privateKeyPath); + HttpResponse lakalaResponse = post(apiUrl + apiPath, body, authorization, "utf-8"); + if (lakalaResponse.getStatusLine().getStatusCode() != 200) { + log.error("请求失败,statusCode:{},message:{}", lakalaResponse.getStatusLine(), IOUtils.toString(lakalaResponse.getEntity().getContent(), "utf-8")); + } + + String appid = getHeadValue(lakalaResponse, "Lklapi-Appid"); + String lklapiSerial = getHeadValue(lakalaResponse, "Lklapi-Serial"); + String timestamp = getHeadValue(lakalaResponse, "Lklapi-Timestamp"); + String nonce = getHeadValue(lakalaResponse, "Lklapi-Nonce"); + String signature = getHeadValue(lakalaResponse, "Lklapi-Signature"); + String responseStr = IOUtils.toString(lakalaResponse.getEntity().getContent(), "utf-8"); + log.info("返回的信息为 responseStr:{}", responseStr); + + String source = appid + "\n" + lklapiSerial + "\n" + timestamp + "\n" + nonce + "\n" + responseStr + "\n"; + log.info("请求的数据为:{}", source); + +// X509Certificate lklCertificate = loadCertificate(new FileInputStream(new File(privateKeyPath))); + X509Certificate lklCertificate = loadCertificate(new FileInputStream(new File(cerPath))); + + boolean verify = verify(lklCertificate, source.getBytes("utf-8"), signature); + + if (verify) { + log.info("验签通过"); + return responseStr; + } else { + return null; + } + + } catch (Exception e) { + e.printStackTrace(); + return null; + } + + } + + public static String encode(byte[] content) { + return new sun.misc.BASE64Encoder().encode(content); + } + + + public static boolean isNumeric(String str) { + //?:0或1个, *:0或多个, +:1或多个 + Boolean strResult = str.matches("-?[0-9]+.?[0-9]*"); + if (strResult == true) { + return true; + } else { + return false; + } + } + + private boolean isNumber(String str) { + for (int i = str.length(); --i >= 0; ) { + if (!Character.isDigit(str.charAt(i))) { + return false; + } + } + return true; + } + + + public HttpResponse post(String url, String message, String authorization, String ENCODING) throws Exception { + SSLContext ctx = SSLContext.getInstance("TLS"); + X509TrustManager tm = new X509TrustManager() { + @Override + public X509Certificate[] getAcceptedIssuers() { + return null; + } + + @Override + public void checkClientTrusted(X509Certificate[] xcs, String str) { + } + + @Override + public void checkServerTrusted(X509Certificate[] xcs, String str) { + } + }; + HttpClient http = new DefaultHttpClient(); + ClientConnectionManager ccm = http.getConnectionManager(); + ctx.init(null, new TrustManager[]{tm}, null); + SSLSocketFactory ssf = new SSLSocketFactory(ctx); + ssf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); + SchemeRegistry registry = ccm.getSchemeRegistry(); + registry.register(new Scheme("https", ssf, 443)); + HttpPost post = new HttpPost(url); + StringEntity myEntity = new StringEntity(message, ENCODING); + post.setEntity(myEntity); + post.setHeader("Authorization", SCHEMA + " " + authorization); + post.setHeader("Accept", "application/json"); + post.setHeader("Content-Type", "application/json"); + return http.execute(post); + } + + private String getNowDate() { + Date date = new Date(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + return simpleDateFormat.format(date); + } + + private String getRandom() { + String rand = ""; + for (int i = 0; i < 8; i++) { + rand = rand + (int) (Math.random() * 10); + } + return rand; + + } + + public String createOrderCode() { + String OrderCode = getNowDate() + getRandom(); + return OrderCode; + } + + + protected long generateTimestamp() { + return System.currentTimeMillis() / 1000; + } + + protected String generateNonceStr() { + char[] nonceChars = new char[32]; + for (int index = 0; index < nonceChars.length; ++index) { + nonceChars[index] = SYMBOLS.charAt(RANDOM.nextInt(SYMBOLS.length())); + } + return new String(nonceChars); + } + + public final String getAuthorization(String body, String appid, String mchSerialNo, String merchantPrivateKeyPath) throws IOException { + String nonceStr = generateNonceStr(); + long timestamp = generateTimestamp(); + + String message = appid + "\n" + mchSerialNo + "\n" + timestamp + "\n" + nonceStr + "\n" + body + "\n"; + + System.out.println("getToken message : " + message); + + PrivateKey merchantPrivateKey = loadPrivateKey(new FileInputStream(new File(merchantPrivateKeyPath))); + + String signature = this.sign(message.getBytes("utf-8"), merchantPrivateKey); + + String authorization = "appid=\"" + appid + "\"," + "serial_no=\"" + mchSerialNo + "\"," + "timestamp=\"" + + timestamp + "\"," + "nonce_str=\"" + nonceStr + "\"," + "signature=\"" + signature + "\""; + System.out.println("authorization message :" + authorization); + + return authorization; + } + + public String sign(byte[] message, PrivateKey privateKey) { + try { + Signature sign = Signature.getInstance("SHA256withRSA"); + sign.initSign(privateKey); + sign.update(message); + return new String(Base64.encodeBase64(sign.sign())); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException("当前Java环境不支持SHA256withRSA", e); + } catch (SignatureException e) { + throw new RuntimeException("签名计算失败", e); + } catch (InvalidKeyException e) { + throw new RuntimeException("无效的私钥", e); + } + } + + private static String getHeadValue(HttpResponse response, String key) { + return (response.containsHeader(key)) ? response.getFirstHeader(key).getValue() : ""; + } + + private static boolean verify(X509Certificate certificate, byte[] message, String signature) { + try { + Signature sign = Signature.getInstance("SHA256withRSA"); + sign.initVerify(certificate); + sign.update(message); + byte[] signatureB = Base64.decodeBase64(signature); + return sign.verify(signatureB); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException("当前Java环境不支持SHA256withRSA", e); + } catch (SignatureException e) { + throw new RuntimeException("签名验证过程发生了错误", e); + } catch (InvalidKeyException e) { + throw new RuntimeException("无效的证书", e); + } + } + + public static PrivateKey loadPrivateKey(InputStream inputStream) { + try { + ByteArrayOutputStream array = new ByteArrayOutputStream(); + byte[] buffer = new byte[1024]; + int length; + while ((length = inputStream.read(buffer)) != -1) { + array.write(buffer, 0, length); + } + + String privateKey = array.toString("utf-8").replace("-----BEGIN PRIVATE KEY-----", "") + .replace("-----END PRIVATE KEY-----", "").replaceAll("\\s+", ""); + KeyFactory kf = KeyFactory.getInstance("RSA"); + return kf.generatePrivate(new PKCS8EncodedKeySpec(Base64.decodeBase64(privateKey))); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException("当前Java环境不支持RSA", e); + } catch (InvalidKeySpecException e) { + throw new RuntimeException("无效的密钥格式"); + } catch (IOException e) { + throw new RuntimeException("无效的密钥"); + } + } + + public static X509Certificate loadCertificate(InputStream inputStream) { + try { + CertificateFactory cf = CertificateFactory.getInstance("X509"); + X509Certificate cert = (X509Certificate) cf.generateCertificate(inputStream); + + cert.checkValidity(); + return cert; + } catch (CertificateExpiredException e) { + throw new RuntimeException("证书已过期", e); + } catch (CertificateNotYetValidException e) { + throw new RuntimeException("证书尚未生效", e); + } catch (CertificateException e) { + throw new RuntimeException("无效的证书", e); + } + } + + + protected final String getBody(HttpServletRequest request) throws Exception { + InputStreamReader in = null; + try { + in = new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8); + StringBuffer bf = new StringBuffer(); + int len; + char[] chs = new char[1024]; + while ((len = in.read(chs)) != -1) { + bf.append(new String(chs, 0, len)); + } + return bf.toString(); + } catch (Exception e) { + log.error("请求头部取数据异常:{}", e); + throw new RuntimeException("999999", e.getCause()); + } finally { + if (null != in) { + try { + in.close(); + } catch (Exception e) { + log.error("流关闭异常:{}", e); + } + } + } + } + +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/PlussMerchantLklService.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/PlussMerchantLklService.java new file mode 100644 index 0000000..51406e3 --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/PlussMerchantLklService.java @@ -0,0 +1,7 @@ +package cn.pluss.platform.klk.service; + +import cn.pluss.platform.entity.PlussMerchantLklEntity; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface PlussMerchantLklService extends IService { +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/TbLklRegionBankInfoService.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/TbLklRegionBankInfoService.java new file mode 100644 index 0000000..c50e098 --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/TbLklRegionBankInfoService.java @@ -0,0 +1,7 @@ +package cn.pluss.platform.klk.service; + +import cn.pluss.platform.entity.TbLklRegionBankInfoEntity; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface TbLklRegionBankInfoService extends IService { +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/TbPlussBankBranchLklService.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/TbPlussBankBranchLklService.java new file mode 100644 index 0000000..af41bb6 --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/TbPlussBankBranchLklService.java @@ -0,0 +1,7 @@ +package cn.pluss.platform.klk.service; + +import cn.pluss.platform.entity.TbPlussBankBranchLklEntity; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface TbPlussBankBranchLklService extends IService { +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/TbPlussBankRegionLklService.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/TbPlussBankRegionLklService.java new file mode 100644 index 0000000..5fb825b --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/TbPlussBankRegionLklService.java @@ -0,0 +1,7 @@ +package cn.pluss.platform.klk.service; + +import cn.pluss.platform.entity.TbPlussBankRegionLklEntity; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface TbPlussBankRegionLklService extends IService { +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/TbPlussBusinessSmallLklService.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/TbPlussBusinessSmallLklService.java new file mode 100644 index 0000000..2432f2b --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/TbPlussBusinessSmallLklService.java @@ -0,0 +1,7 @@ +package cn.pluss.platform.klk.service; + +import cn.pluss.platform.entity.TbPlussBusinessSmallLklEntity; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface TbPlussBusinessSmallLklService extends IService { +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/TbPlussRegionLklService.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/TbPlussRegionLklService.java new file mode 100644 index 0000000..b13d83d --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/TbPlussRegionLklService.java @@ -0,0 +1,7 @@ +package cn.pluss.platform.klk.service; + +import cn.pluss.platform.entity.TbPlussRegionLklEntity; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface TbPlussRegionLklService extends IService { +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/CommonInputStreamResource.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/CommonInputStreamResource.java new file mode 100644 index 0000000..0a645ad --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/CommonInputStreamResource.java @@ -0,0 +1,53 @@ +package cn.pluss.platform.klk.service.impl; + +import org.springframework.core.io.InputStreamResource; + +import java.io.InputStream; + +public class CommonInputStreamResource extends InputStreamResource { + /*** + * 文件長度 + */ + private int length; + /*** + * 文件名稱 + */ + private String fileName; + public CommonInputStreamResource(InputStream inputStream) { + super(inputStream); + } + public CommonInputStreamResource(InputStream inputStream, int length,String fileName) { + super(inputStream); + this.length = length; + this.fileName = fileName; + } + /** + * 覆写父类方法 + * 如果不重写这个方法,并且文件有一定大小,那么服务端会出现异常 + * {@code The multi-part request contained parameter data (excluding uploaded files) that exceeded} + * + * @return + */ + @Override + public String getFilename() { + return this.fileName; + } + /** + * 覆写父类 contentLength 方法 + * 因为 {@link org.springframework.core.io.AbstractResource#contentLength()}方法会重新读取一遍文件, + * 而上传文件时,restTemplate 会通过这个方法获取大小。然后当真正需要读取内容的时候,发现已经读完,会报如下错误。 + * + * java.lang.IllegalStateException: InputStream has already been read - do not use InputStreamResource if a stream needs to be read multiple times + * at org.springframework.core.io.InputStreamResource.getInputStream(InputStreamResource.java:96) + * + *

+ * ref:com.amazonaws.services.s3.model.S3ObjectInputStream#available() + * + * @return + */ + @Override + public long contentLength() { + int estimate = length; + return estimate == 0 ? 1 : estimate; + } +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/LaKalaInterfaceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/LaKalaInterfaceImpl.java new file mode 100644 index 0000000..c979b0b --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/LaKalaInterfaceImpl.java @@ -0,0 +1,789 @@ +package cn.pluss.platform.klk.service.impl; + +import cn.pluss.platform.BankCardService; +import cn.pluss.platform.IdCardService; +import cn.pluss.platform.channel.ys.impl.YSAuditServiceV3; +import cn.pluss.platform.dto.AccountDTO; +import cn.pluss.platform.entity.*; +import cn.pluss.platform.exception.MsgException; +import cn.pluss.platform.klk.LaKaLaUtility; +import cn.pluss.platform.klk.service.*; +import cn.pluss.platform.klk.vo.*; + +import cn.pluss.platform.mcc.MccReflectService; +import cn.pluss.platform.merchant.AccountService; +import cn.pluss.platform.merchant.MerchantBaseInfoService; +import cn.pluss.platform.merchantChannelStatus.MerchantChannelStatusService; +import cn.pluss.platform.userApp.UserAppService; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import lombok.Data; +import lombok.SneakyThrows; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.core.io.ByteArrayResource; +import org.springframework.http.*; +import org.springframework.mock.web.MockMultipartFile; +import org.springframework.stereotype.Service; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.RestTemplate; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.*; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.*; + +@Service +public class LaKalaInterfaceImpl implements LaKalaInterface { + @Resource + LklPayService lklPayService; + @Resource + TbLklRegionBankInfoServiceImpl tbLklRegionBankInfoServiceImpl; + @Resource + TbPlussBankBranchLklService tbPlussBankBranchLklService; + + @Resource + UserAppService uaService; + @Resource + private MerchantBaseInfoService mbiService; + @Resource + BankCardService bankCardService; + @Resource + private TbPlussRegionLklService tbPlussRegionLklService; + + @Resource + private IdCardService idCardService; + @Resource + private TbPlussBankRegionLklService regionLklService; + + @Resource + AccountService accountService; + + @Lazy + @Resource + private MerchantChannelStatusService mcsService; + @Resource + MerchantBaseInfoService baseInfoService; + + @Resource + TbPlussBusinessSmallLklService businessSmallLklService; + @Resource + MccReflectService service; + @Resource + PlussMerchantLklService merchantLklService; +// private static final String client_id = "chaozhanggui"; +// private static final String client_secret = "Y54Gqy6aLpxld3dp"; +// private static final String grant_type = "client_credentials"; +// private static final String userNo = "22241007"; +// /** +// * 商户进件 +// */ +// private static final String tuoKeMerchat = "https://htkactvi.lakala.com/registration/merchant"; +// /** +// * 获取地区信息 +// */ +// private static final String organparentCode = "https://htkactvi.lakala.com/registration/organization/"; +// /** +// * 获取银行地区信息 +// */ +// private static final String organizationBank = "https://htkactvi.lakala.com/registration/organization/bank/"; +// /** +// * 文件上传 +// */ +// private static final String fileUpload = "https://htkactvi.lakala.com/registration/file/upload"; +// private static final String tuoKeToken = "https://tkapi.lakala.com/auth/oauth/token"; + + /************************************************测试信息***************************************************/ + private static final String client_id = "testsit"; + private static final String client_secret = "EguwEckByf2I6u6z"; + private static final String grant_type = "client_credentials"; + private static final String userNo = "20000101"; + /** + * 商户进件 + */ + private static final String tuoKeMerchat = "https://test.wsmsd.cn/sit/htkregistration/merchant"; + /** + * 获取地区信息 + */ + private static final String organparentCode = "https://test.wsmsd.cn/sit/htkregistration/organization/"; + /** + * 获取银行地区信息 + */ + private static final String organizationBank = "https://test.wsmsd.cn/sit/htkregistration/organization/bank/"; + /** + * 文件上传 + */ + private static final String fileUpload = "https://test.wsmsd.cn/sit//htkregistration/file/upload"; + private static final String tuoKeToken = "https://test.wsmsd.cn/sit/htkauth/oauth/token"; + + + + /** + * 拉卡拉模式进件 + */ + @Override + public void laKaLaAddMer(LaKaLaVO laVO, String ip) { + String apiPath = "/api/v2/mms/openApi/addMer"; + JSONObject object1 = new JSONObject(); + JSONObject object2 = new JSONObject(); + object1.put("reqData", object2); + object2.put("version", "1.0"); //接口版本号 + object2.put("orderNo", laVO.getOrderNo()); //订单编号(便于后续跟踪排查问题及核对报文) + object2.put("posType", laVO.getPosType()); //进件POS类型 —按接入系统做控制,参见 【POS类型字典表】 + object2.put("orgCode", "1"); //机构代码 (合作方在拉卡拉的标识,请联系业务员) + object2.put("merRegName", laVO.getMerRegName()); //商户注册名称 + object2.put("merRegDistCode", laVO.getMerRegDistCode()); //地区代码,参看地区文档] + object2.put("merRegAddr", laVO.getMerRegAddr()); //商户详细地址 + object2.put("mccCode", laVO.getMccCode()); //商户MCC编号 + if (null != laVO.getMerBlisName() || null != laVO.getMerBlis()) { //小微商户可不传,其它必传,为空则小微商户 + object2.put("merBlisName", laVO.getMerBlisName()); //营业执照名称 + object2.put("merBlis", laVO.getMerBlis()); //营业执照号 + object2.put("merBlisStDt", laVO.getMerBlisStDt()); //营业执照开始日期 + object2.put("merBlisExpDt", "1.0"); //营业执照有效期 + } + + object2.put("merBusiContent", laVO.getMerBusiContent()); //参看【经营内容字典表】文档 + object2.put("larName", laVO.getLarName()); //商户法人姓名 + object2.put("larIdType", laVO.getLarIdType()); //支持其他证件类型,见参【证件类型字典表】 + object2.put("larIdcard", laVO.getLarIdcard()); //法人身份证号码 + object2.put("larIdcardStDt", laVO.getLarIdcardStDt()); //法人身份证开始日期 yyyy-MM-dd + object2.put("larIdcardExpDt", laVO.getLarIdcardExpDt()); //法人身份证有效期 yyyy-MM-dd + object2.put("merContactMobile", laVO.getMerContactMobile()); //商户联系人手机号码 + object2.put("merContactName", laVO.getMerContactName()); //商户联系人 + + object2.put("openningBankCode", laVO.getOpenningBankCode()); //可根据结算卡信息进行查询,(仅支持对私结算卡查询)参见【卡BIN信息查询】 + object2.put("openningBankName", laVO.getOpenningBankName()); //可根据结算卡信息进行查询,(仅支持对私结算卡查询)参见【卡BIN信息查询】 + object2.put("clearingBankCode", laVO.getClearingBankCode()); //可根据结算卡信息进行查询,(仅支持对私结算卡查询)参见【卡BIN信息查询】 + object2.put("acctNo", laVO.getAcctNo()); //结算账户账号 + object2.put("acctName", laVO.getAcctName()); //结算账户名称 + object2.put("acctTypeCode", laVO.getAcctTypeCode()); //结算账户性质 57对公 58 对私 + object2.put("settlePeriod", laVO.getSettlePeriod()); //结算周期 参见【结算周期表】 + object2.put("retUrl", "1.0"); //回调地址url + object2.put("feeData", laVO.getFeeData()); //费率信息集合 参看下方【费率信息】 +// orderService.createOrder(object1.toString(),apiPath,""); + } + + /** + * 拉卡拉拓客进件 + * */ + public TuoKeVo createTuoKeInfo(String userId) { + MerchantBaseInfo merchantBaseInfo = mbiService.getMerchantBaseInfoByUserId(userId); + TuoKeVo tuoKeVo = new TuoKeVo(); + tuoKeVo.setBusiCode(""); //业务类型 + tuoKeVo.setEmail("chaozhanggui2023@163.com"); + tuoKeVo.setMerchantCode(merchantBaseInfo.getMerchantCode()); + tuoKeVo.setMerRegName(merchantBaseInfo.getMerchantName());//商户注册名称 + if (merchantBaseInfo.getMerchantType().equals("1") || merchantBaseInfo.getMerchantType().equals("2")) { //商户类型/营业执照类型 可选值:1:小微2:个体3:企业 + tuoKeVo.setMerType("TP_PERSONAL");//商户注册类型 TP_MERCHANT:企业 TP_PERSONAL:⼩微个⼈ + } else { + tuoKeVo.setMerType("TP_MERCHANT");//商户注册类型 + } + + tuoKeVo.setMerName(merchantBaseInfo.getMerchantName()); //商户名称(经营名称 + tuoKeVo.setMerAddr(merchantBaseInfo.getAddress()); //市区后的详细地址 + List proOrganCode = getOrganCode("1"); + System.out.println("proOrganCode :" + proOrganCode); + String cityCode = null; + for (OrganVo organVo : proOrganCode) { //省code + if (organVo.getName().equals(merchantBaseInfo.getProvince())) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("name", merchantBaseInfo.getProvince()).last("limit 1"); + TbPlussRegionLklEntity one = tbPlussRegionLklService.getOne(wrapper); + tuoKeVo.setProvinceCode(one.getCode()); + cityCode = one.getCode(); + break; + } + } + List cityOrganCode = getOrganCode(cityCode); //市code + for (OrganVo organVo : cityOrganCode) { + if (organVo.getName().equals(merchantBaseInfo.getCity())) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("name", merchantBaseInfo.getCity()).last("limit 1"); + TbPlussRegionLklEntity one = tbPlussRegionLklService.getOne(wrapper); + tuoKeVo.setCityCode(one.getCode()); + cityCode = one.getCode(); + break; + } + } + + List countyOrganCode = getOrganCode(cityCode); //区code + for (OrganVo organVo : countyOrganCode) { + if (organVo.getName().equals(merchantBaseInfo.getDistrict())) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("name", merchantBaseInfo.getDistrict()).last("limit 1"); + TbPlussRegionLklEntity one = tbPlussRegionLklService.getOne(wrapper); + tuoKeVo.setCountyCode(one.getCode()); + cityCode = one.getCode(); + break; + } + } + if (!merchantBaseInfo.getMerchantType().equals("1")) {// 非小微商户类型 + tuoKeVo.setLicenseName(merchantBaseInfo.getBussAuthName()); //营业执照名称 + tuoKeVo.setLicenseNo(merchantBaseInfo.getBussAuthNum());//营业执照号码 ⼩微商户可不传, 其他必传 + tuoKeVo.setLicenseDtStart(merchantBaseInfo.getBussAuthStartTime());//营业执照开始时间⼩微商户可不传, 其他必传,格式yyyy-MM-dd + tuoKeVo.setLicenseDtEnd(merchantBaseInfo.getBussAuthEndTime());//⼩微商户可不传, 其他必传,格式yyyy-MM-dd + } + tuoKeVo.setLatitude("");//经度 进件所在地址经度 + tuoKeVo.setLongtude("");//纬度 进件所在地址纬度 + tuoKeVo.setSource("APP"); //进件来源 APP: app H5: h5 + tuoKeVo.setBusinessContent(merchantBaseInfo.getMccName()); //商户经营内容 + + IdCard one = idCardService.getLegalIdCard(userId); //获取法人身份证信息 + tuoKeVo.setLarName(one.getCertName()); + tuoKeVo.setLarIdType("01"); + tuoKeVo.setLarIdCard(one.getCertNo()); + tuoKeVo.setLarIdCardStart(birthdayDate(one.getCertStartTime())); + tuoKeVo.setLarIdCardEnd(birthdayDate(one.getCertEndTime())); + tuoKeVo.setContactMobile(merchantBaseInfo.getContactMobile()); + tuoKeVo.setContactName(merchantBaseInfo.getContactName()); + QueryWrapper accountQueryWrapper1 = new QueryWrapper<>(); + accountQueryWrapper1.eq("userId", userId); + accountQueryWrapper1.eq("channelType", "D1"); + Account accountServiceOne1 = accountService.getOne(accountQueryWrapper1); + QueryWrapper bankCardWrapper = new QueryWrapper<>(); + bankCardWrapper.eq("id", accountServiceOne1.getBankCardId()); + BankCard userBrakCard = bankCardService.getOne(bankCardWrapper); + QueryWrapper lklEntityQueryWrapper = new QueryWrapper<>(); + lklEntityQueryWrapper.eq("branch_bank_no", userBrakCard.getContactLine()); + TbPlussBankBranchLklEntity lakalaBranchInfo = tbPlussBankBranchLklService.getOne(lklEntityQueryWrapper); + tuoKeVo.setOpenningBankCode(lakalaBranchInfo.getBranchBankNo()); + tuoKeVo.setOpenningBankName(lakalaBranchInfo.getBranchBankName()); + tuoKeVo.setClearingBankCode(lakalaBranchInfo.getClearNo()); + QueryWrapper regionLklEntityQueryWrapper = new QueryWrapper<>(); + regionLklEntityQueryWrapper.eq("code", lakalaBranchInfo.getAreaCode()); + TbPlussBankRegionLklEntity bankParentCode = regionLklService.getOne(regionLklEntityQueryWrapper); //市code 和 name + regionLklEntityQueryWrapper.clear(); + regionLklEntityQueryWrapper.eq("code", bankParentCode.getParentCode()); + TbPlussBankRegionLklEntity parentCode = regionLklService.getOne(regionLklEntityQueryWrapper); //省code 和 名称 + tuoKeVo.setSettleProvinceCode(parentCode.getCode()); + tuoKeVo.setSettleProvinceName(parentCode.getName()); + tuoKeVo.setSettleCityCode(bankParentCode.getCode()); + tuoKeVo.setSettleCityName(bankParentCode.getName()); + Account account = new Account().setUserId("userId").setChannelType("D1"); + + AccountDTO accountV4 = getAccountV4(userId, "D1"); //结算人 + + + /**获取结算人**/ + + BankCard bankCard = accountV4.getBankCard(); + tuoKeVo.setAccountNo(bankCard.getBankCardNo()); + tuoKeVo.setAccountName(bankCard.getBranchName()); + if (bankCard.getAccountType().equals("01")) { + tuoKeVo.setAccountType("58"); //结算账户类型 57 对公 58 对私 + } else { + tuoKeVo.setAccountType("57"); + } + IdCard idcard = accountV4.getIdcard(); + tuoKeVo.setAccountIdCard(idcard.getCertNo());//结算人证件号码 + tuoKeVo.setTermNum("1"); + tuoKeVo.setFeeCode("SCAN_PAY_SECOND"); //费率类型 参考 附录 费率类型表 + tuoKeVo.setFeeValue("0.038"); //费率值 百分比费率 + MerchantBaseInfo merchantBaseInfoByUserId = baseInfoService.getMerchantBaseInfoByUserId(userId); + + QueryWrapper userAppQueryWrapper = new QueryWrapper(); + userAppQueryWrapper.eq("standard_mcc_code", merchantBaseInfoByUserId.getMcc()).eq("channel_id", "5").last("limit 1"); + MccReflect mccReflect = service.getOne(userAppQueryWrapper); + + if (null != mccReflect) { + tuoKeVo.setMcc("11010"); //商户MCC编号 通过 【商户类别查询→查询小类】接口获取 对应 code字段 +// tuoKeVo.setMcc(mccReflect.getMccCode()); //商户MCC编号 通过 【商户类别查询→查询小类】接口获取 对应 code字段 + } else { + tuoKeVo.setMcc("18001"); + } + + tuoKeVo.setActivityId("12"); //归属活动信息 由拓客SAAS分配 + + Set attchmentsVoSet = new HashSet<>(); + AttchmentsVo frontLegalPerson = new AttchmentsVo(); //图片set + frontLegalPerson.setId(laKaLaFileUpload(idcard.getImgPositive()));//法人身份证图片地址 + frontLegalPerson.setType("ID_CARD_FRONT");//身份证正⾯ + + AttchmentsVo reverseLegalPerson = new AttchmentsVo(); + reverseLegalPerson.setId(idcard.getImgNegative()); //法人身份证图片地址 + reverseLegalPerson.setType("ID_CARD_BEHIND");//身份证反⾯ + attchmentsVoSet.add(reverseLegalPerson); + tuoKeVo.setSet(attchmentsVoSet); + tuoKeVo.setSettleType("D1"); //结算类型 D0秒到 D1次日结算 + tuoKeAddMer(tuoKeVo); + return tuoKeVo; + } + + /** + * 参数组装 + * */ + @Override + public void tuoKeAddMer(TuoKeVo tuoKeVo) { + JSONObject object1 = new JSONObject(); + JSONObject object2 = new JSONObject(); + object1.put("userNo", userNo); //合作机构信息 由拓客SAAS提供 + object1.put("email", tuoKeVo.getEmail()); //商户邮箱 +// object1.put("busiCode", "PAPER_CODE");//业务类型 BPOS:传统POS, ZPOS:电签,ZPOS4G:4G电签,SUPER_POS:智能pos,B_WIZARD:蓝精灵,PAPER_CODE:码牌,WECHAT_PAY:专业化扫码,KLYX:云音箱,QRCODE:收款王,MONEY_BOX:收钱宝盒根据业务开放取值 + object1.put("busiCode", "PAPER_CODE");//业务类型 BPOS:传统POS, ZPOS:电签,ZPOS4G:4G电签,SUPER_POS:智能pos,B_WIZARD:蓝精灵,PAPER_CODE:码牌,WECHAT_PAY:专业化扫码,KLYX:云音箱,QRCODE:收款王,MONEY_BOX:收钱宝盒根据业务开放取值 + object1.put("merRegName", tuoKeVo.getMerRegName()); //商户注册名称 不能少于七个中文 + object1.put("merType", tuoKeVo.getMerType()); //商户注册类型 TP_MERCHANT:企业 TP_PERSONAL:⼩微个⼈ + object1.put("merName", tuoKeVo.getMerName()); //商户名称(经营名称) 不能少于七个中文 + object1.put("merAddr", tuoKeVo.getMerAddr()); //去掉省,市区后的详细地址 + object1.put("provinceCode", tuoKeVo.getProvinceCode()); //省代码 通过【地区信息→获取地区查询】接口获取 对应 code字段 + object1.put("cityCode", tuoKeVo.getCityCode()); // 市代码 通过【地区信息→获取地区查询】接口获取 对应 code字段 + object1.put("countyCode", tuoKeVo.getCountyCode()); // 区县代码 通过【地区信息→获取地区查询】接口获取 对应 code字段 + object1.put("licenseName", tuoKeVo.getLicenseName()); //营业执照名称 + object1.put("licenseNo", tuoKeVo.getLicenseNo()); //营业执照号码 ⼩微商户可不传, 其他必传 + object1.put("licenseDtStart", tuoKeVo.getLicenseDtStart()); //营业执照开始时间⼩微商户可不传, 其他必传,格式yyyy-MM-dd + object1.put("licenseDtEnd", tuoKeVo.getLicenseDtEnd()); //⼩微商户可不传, 其他必传,格式yyyy-MM-dd + + object1.put("latitude", "108.94647"); //经度 进件所在地址经度error + object1.put("longtude", "34.34727"); //纬度 进件所在地址纬度 error + object1.put("source", tuoKeVo.getSource()); //进件来源 APP: app H5: h5 + object1.put("businessContent", tuoKeVo.getBusinessContent()); //商户经营内容 + object1.put("larName", tuoKeVo.getLarName()); //法⼈姓名 + object1.put("larIdType", tuoKeVo.getLarIdType()); //法⼈证件类型 01 身份证 暂时只支持身份证 + object1.put("larIdCard", tuoKeVo.getLarIdCard()); //法⼈证件号码 + object1.put("larIdCardStart", tuoKeVo.getLarIdCardStart()); //法⼈证件开始⽇期 格式yyyy-MM-dd + object1.put("larIdCardEnd", tuoKeVo.getLarIdCardEnd()); //法⼈证件过期时间 格式yyyy-MM-dd + + object1.put("contactMobile", tuoKeVo.getContactMobile()); //商户联系⼈⼿机号码 + object1.put("contactName", tuoKeVo.getContactName()); //商户联系⼈姓名 + object1.put("openningBankCode", tuoKeVo.getOpenningBankCode()); //结算账户开户⾏号 通过【银行列表查询】接口获取 对应 branchBankNo字段 + object1.put("openningBankName", tuoKeVo.getOpenningBankName()); //结算账户开户⾏名称 通过【银行列表查询】接口获取 对应 branchBankName字段 + object1.put("clearingBankCode", tuoKeVo.getClearingBankCode()); //结算账户清算⾏号 通过【银行列表查询】接口获取 对应 clearNo字段 + object1.put("settleProvinceCode", tuoKeVo.getSettleProvinceCode()); //结算信息省份名称 通过【地区信息→获取银行地区查询】接口获取 对应 code字段 + object1.put("settleProvinceName", tuoKeVo.getSettleProvinceName()); //结算信息省份代码 通过【地区信息→获取银行地区查询】接口获取 对应 name字段 + object1.put("settleCityCode", tuoKeVo.getSettleCityCode()); //结算信息城市名称 通过【地区信息→获取银行地区查询】接口获取 对应 code字段 + object1.put("settleCityName", tuoKeVo.getSettleCityName()); //结算信息城市代码 通过【地区信息→获取银行地区查询】接口获取 对应 name字段 + object1.put("accountNo", tuoKeVo.getAccountNo()); //结算人银行卡号 + + + object1.put("accountName", tuoKeVo.getAccountName()); //结算人账户名称 + object1.put("accountType", tuoKeVo.getAccountType()); //结算账户类型 57 对公 58 对私 +// object1.put("accountIdType",tuoKeVo.getUserNo()); //结算⼈证件类型 为空同法⼈ + object1.put("accountIdCard", tuoKeVo.getAccountIdCard()); //结算⼈证件号码 + + + Set feesSet = new HashSet<>(); + FeesSetVo f = new FeesSetVo(); + f.setFeeCode(tuoKeVo.getFeeCode()); + f.setFeeValue(tuoKeVo.getFeeValue()); + feesSet.add(f); + + object2.put("termNum", tuoKeVo.getTermNum()); //终端数量 1-5 最⼤ 5个终端 + object2.put("fees", feesSet); //费率集合 + object2.put("mcc", tuoKeVo.getMcc()); //商户MCC编号 通过 【商户类别查询→查询小类】接口获取 对应 code字段 +// object2.put("activityId", tuoKeVo.getActivityId()); //归属活动信息 由拓客SAAS分配 + object2.put("activityId","37"); //归属活动信息 由拓客SAAS分配 + object1.put("bizContent", object2); //业务扩展信息 参⻅ 业务扩展信息 + +// +// Set attchmentsVoSet = new HashSet<>(); +// AttchmentsVo attchmentsVo = new AttchmentsVo(); +// attchmentsVo.setId(tuoKeVo.getId()); +// attchmentsVo.setType(tuoKeVo.getType()); +// attchmentsVoSet.add(attchmentsVo); +// object1.put("attchments", attchmentsVoSet); //附件信息集合 参⻅ 附件信息 + object1.put("attchments", tuoKeVo.getSet()); //附件信息集合 参⻅ 附件信息 + object1.put("settleType", tuoKeVo.getSettleType()); //结算类型 D0秒到 D1次日结算 + + System.out.println("请求报文: " + object1); + /**获取拓客accessToken**/ + Map map = getToken(); + String result=""; + try{ + result = cn.hutool.http.HttpRequest.post(tuoKeMerchat) + .header("Authorization", "bearer " + map.get("access_token")).header("content-type", "application/json") + .body(object1.toString()).execute().body(); + Map arry = (Map) JSONArray.parse(result); + if (String.valueOf(arry.get("status")).equals("WAIT_AUDI")){ + PlussMerchantLklEntity plussMerchantLklEntity =new PlussMerchantLklEntity(); + plussMerchantLklEntity.setMerchantId(tuoKeVo.getMerchantCode()); + plussMerchantLklEntity.setMerchantlkl(String.valueOf(arry.get("merchantNo"))); + plussMerchantLklEntity.setType("0"); + merchantLklService.save(plussMerchantLklEntity); + }else { + + } + }catch (Exception e){ + Map arry = (Map) JSONArray.parse(result); + new MsgException(String.valueOf(arry.get("message"))); + } + + + } + @Resource + YSAuditServiceV3 auditServiceV3; + /** + * 进件回调 + * */ + public String tuoKeCallBack(Map map){ + String data = LaKaLaUtility.decrypt(map.get("data").toString()); + Map arryMap = (Map) JSONArray.parse(data); + System.out.println(arryMap); + if (String.valueOf(arryMap.get("status")).equals("SUCCESS")){ + CallBackVo callBackVo =new CallBackVo(); + callBackVo.setStatus("00"); + callBackVo.setNote(String.valueOf(arryMap.get("remark"))); + callBackVo.setSysFlowId(String.valueOf(arryMap.get("customerNo"))); + callBackVo.setJsoon(data); + auditServiceV3.lklResultHandle(callBackVo); + } else if (String.valueOf(arryMap.get("status")).equals("FAILURE")) { + CallBackVo callBackVo =new CallBackVo(); + callBackVo.setStatus("90"); + callBackVo.setNote(String.valueOf(arryMap.get("remark"))); + callBackVo.setSysFlowId(String.valueOf(arryMap.get("customerNo"))); + callBackVo.setJsoon(data); + auditServiceV3.lklResultHandle(callBackVo); + } + return "200"; + } + + /** + * 获取拓客accessToken + */ + public static Map getToken() { + RestTemplate client = new RestTemplate(); + HttpHeaders headers = new HttpHeaders(); + // 表单提交 + headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); + headers.set("Authorization", "Basic " + getBase64()); + // 封装参数 + MultiValueMap params = new LinkedMultiValueMap(); + params.add("grant_type", grant_type); + params.add("client_id", client_id); + params.add("client_secret", client_secret); + HttpEntity> requestEntity = new HttpEntity>(params, headers); + // 执行HTTP请求 + ResponseEntity response = client.exchange(tuoKeToken, HttpMethod.POST, requestEntity, String.class); + + Map map = (Map) JSONArray.parse(response.getBody()); + return map; + } + + + // 加密 + public static String getBase64() { + + String encodeBase64String = org.apache.commons.codec.binary.Base64.encodeBase64String((client_id + ":" + client_secret).getBytes()); + + return encodeBase64String; + } + + // 解密 + public static String getFromBase64(String s) { + byte[] decodeBase64 = org.apache.commons.codec.binary.Base64.decodeBase64(s); + s = new String(decodeBase64); + return s; + } + + + /** + * 拼接身份证过期时间 + */ + public String birthdayDate(String date) { + String str = new String(date); + String s1 = ""; + + s1 = str.substring(0, 4) + "-" + str.substring(4, 6) + "-" + str.substring(6, str.length()); + return s1; + } + + @Autowired + private UserAppService userAppService; + + /** + * 获取结算人信息 + */ + public AccountDTO getAccountV4(String userId, String type) { + RestTemplate restTemplate = new RestTemplate(); + HttpHeaders headers = new HttpHeaders(); + headers.set("token", "admin"); + headers.set("myLoginName", "admin"); + HttpEntity> formEntity = new HttpEntity>(headers); + + + ResponseEntity exchange = restTemplate.exchange("http://127.0.0.1:7004/api/account/v4?userId=" + userId + "&channelType=" + type, HttpMethod.GET, formEntity, String.class); + + JSONObject jsonArray = JSONArray.parseObject(exchange.getBody()); + + AccountDTO accountDTO = JSONArray.parseObject(jsonArray.get("data").toString(), AccountDTO.class); + System.out.println(accountDTO); + return accountDTO; + } + + /** + * 获取地区信息 + */ + @Override + public List getOrganCode(String code) { + /**获取拓客accessToken**/ + RestTemplate client = new RestTemplate(); + + + Map parse = getToken(); + HttpHeaders header = new HttpHeaders(); + header.set("Authorization", "bearer " + parse.get("access_token")); + // 封装参数 + MultiValueMap par = new LinkedMultiValueMap(); + + HttpEntity> request = new HttpEntity>(par, header); + // 执行HTTP请求 + ResponseEntity re = client.exchange(organparentCode + code, HttpMethod.GET, request, String.class); + List jsonArrayList = null; + try { + String seqResult = new String(re.getBody().getBytes("ISO8859-1"), "utf-8"); + jsonArrayList = JSONArray.parseArray(seqResult, OrganVo.class); +// jsonArrayList = (List) JSONArray.parse(seqResult); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e); + } + return jsonArrayList; + } + + + /** + * 获取银行地区信息 + */ + public String bankOrgen(String code) { + RestTemplate client = new RestTemplate(); + Map parse = getToken(); + HttpHeaders header = new HttpHeaders(); + header.set("Authorization", "bearer " + parse.get("access_token")); + MultiValueMap par = new LinkedMultiValueMap(); + HttpEntity> request = new HttpEntity>(par, header); + // 执行HTTP请求 + ResponseEntity re = client.exchange(organizationBank + code, HttpMethod.GET, request, String.class); + try { + String seqResult = new String(re.getBody().getBytes("ISO8859-1"), "utf-8"); + return seqResult; + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e); + } + } + + /** + * 银行列表查询 + */ + public String banList(String areaCode) { + Map parse = getToken(); + + + //请求头 + HttpHeaders header = new HttpHeaders(); + header.add("Authorization", "bearer " + parse.get("access_token")); + MultiValueMap param = new LinkedMultiValueMap(); + //封装请求头 + HttpEntity> formEntity = new HttpEntity>(param, header); + RestTemplate restTemplate = new RestTemplate(); + try { + //访问地址 + ResponseEntity result4 = restTemplate.exchange("https://htkactvi.lakala.com/registration/bank?areaCode=" + areaCode, HttpMethod.GET, formEntity, String.class); + String seqResult = new String(result4.getBody().getBytes("ISO8859-1"), "utf-8"); + + return seqResult; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + + /** + * 商户类别查询 + * 一般商户传1 小微系统商户传2 (拓客现在只传2) + */ + public String htkRegistration() { + /**获取拓客accessToken**/ + RestTemplate client = new RestTemplate(); + HttpHeaders headers = new HttpHeaders(); + // 表单提交 + headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); + // 封装参数 + MultiValueMap params = new LinkedMultiValueMap(); + params.add("grant_type", "client_credentials"); + params.add("client_id", "testsit"); + params.add("client_secret", "EguwEckByf2I6u6z"); + HttpEntity> requestEntity = new HttpEntity>(params, headers); + // 执行HTTP请求 + ResponseEntity response = client.exchange("https://test.wsmsd.cn/sit/htkauth/oauth/token", HttpMethod.POST, requestEntity, String.class); + System.out.println(response.getBody().toString()); + + Map parse = (Map) JSONArray.parse(response.getBody().toString()); + HttpHeaders header = new HttpHeaders(); + header.set("Authorization", "bearer " + parse.get("access_token")); + // 封装参数 + MultiValueMap par = new LinkedMultiValueMap(); + par.add("businessScene", "2"); + HttpEntity> request = new HttpEntity>(par, header); + // 执行HTTP请求 + ResponseEntity re = client.exchange("https://test.wsmsd.cn/sit/htkregistration/customer/category", HttpMethod.GET, request, String.class); + + try { + String seqResult = new String(re.getBody().getBytes("ISO8859-1"), "utf-8"); + return seqResult; + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e); + } + } + + /** + * 获取大类和小类 + */ + public String getRegistrationChid() { + /**获取拓客accessToken**/ + RestTemplate client = new RestTemplate(); + HttpHeaders headers = new HttpHeaders(); + // 表单提交 + headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); + // 封装参数 + MultiValueMap params = new LinkedMultiValueMap(); + params.add("grant_type", "client_credentials"); + params.add("client_id", "testsit"); + params.add("client_secret", "EguwEckByf2I6u6z"); + HttpEntity> requestEntity = new HttpEntity>(params, headers); + // 执行HTTP请求 + ResponseEntity response = client.exchange("https://test.wsmsd.cn/sit/htkauth/oauth/token", HttpMethod.POST, requestEntity, String.class); + System.out.println(response.getBody().toString()); + + Map parse = (Map) JSONArray.parse(response.getBody().toString()); + HttpHeaders header = new HttpHeaders(); + header.set("Authorization", "bearer " + parse.get("access_token")); + // 封装参数 + MultiValueMap par = new LinkedMultiValueMap(); + + HttpEntity> request = new HttpEntity>(par, header); + // 执行HTTP请求 + ResponseEntity re = client.exchange("https://test.wsmsd.cn/sit/htkregistration/customer/category", HttpMethod.GET, request, String.class); + + try { + String seqResult = new String(re.getBody().getBytes("ISO8859-1"), "utf-8"); + return seqResult; + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e); + } + } + + /** + * 拓客文件上传接口 + */ + @SneakyThrows + public String laKaLaFileUpload(String url1) { + RestTemplate restTemplate = new RestTemplate(); + String url = fileUpload; + MultiValueMap params = new LinkedMultiValueMap<>(); + +// String url1 = "https://czg-oss.oss-cn-hangzhou.aliyuncs.com/images/9b42a8f68e2b4682bdb72490abe131fe.png?Expires=1994642722&OSSAccessKeyId=LTAI5tPdEfYSZcqHbjCrtPRD&Signature=cTcS0ey%2F6NYWQnyvVCMQsO6rZMU%3D"; + URI uri = null; + try { + uri = new URI(url1); + } catch (URISyntaxException e) { + throw new RuntimeException(e); + } + RestTemplate restTemplate1 = new RestTemplate(); + ResponseEntity exchange = restTemplate1.exchange(uri, HttpMethod.GET, null, byte[].class); + MultipartFile file1 = new MockMultipartFile("file", exchange.getBody()); + ByteArrayResource fileAsResource = new ByteArrayResource(file1.getBytes()) { + @Override + public String getFilename() { + + + return file1.getOriginalFilename(); +// return null; + } + + @Override + public long contentLength() { +// return 0L; + return file1.getSize(); + } + }; + params.add("file", fileAsResource); + params.add("imgType", "ID_CARD_FRONT"); + params.add("sourcechnl", "1"); + params.add("isOcr", "false"); + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.MULTIPART_FORM_DATA); + Map token = getToken(); + headers.set("Authorization", "bearer " + token.get("access_token")); + HttpEntity> requestEntity = new HttpEntity<>(params, headers); + String result = restTemplate.postForObject(url, requestEntity, String.class); + Map parse = (Map) JSONArray.parse(result); + return parse.get("url").toString(); + } + + + + + /** + * 银行地区对象 + */ + @Data + static class BankInfo { + private String clearNo; + private String branchBankNo; + private String branchBankName; + private String bankNo; + private String areaCode; + } + + /** + * 银行对象 + */ + @Data + static class Region { + private String code; + private String name; + } + + + public void ff() { + LaKalaInterfaceImpl laKalaInterface = new LaKalaInterfaceImpl(); + + String s = laKalaInterface.bankOrgen("1"); + List lists = JSONArray.parseArray(s, Region.class); + for (Region list : lists) { + String s1 = laKalaInterface.bankOrgen(list.getCode()); + List lists1 = JSONArray.parseArray(s1, Region.class); + for (Region bank : lists1) { + String s2 = laKalaInterface.banList(bank.getCode()); + List bankInfos = JSONArray.parseArray(s2, BankInfo.class); + for (BankInfo bankInfo : bankInfos) { + TbLklRegionBankInfoEntity entity = new TbLklRegionBankInfoEntity(); + entity.setSCode(list.getCode()); + entity.setSName(list.getName()); + entity.setRCode(bank.getCode()); + entity.setRName(bank.getName()); + entity.setAreaCode(bankInfo.getAreaCode()); + entity.setBankNo(bankInfo.getBankNo()); + entity.setBranchBankName(bankInfo.getBranchBankName()); + entity.setBranchBankNo(bankInfo.getBranchBankNo()); + entity.setClearNo(bankInfo.getClearNo()); + tbLklRegionBankInfoServiceImpl.aa(entity); + } + } + } + } + + public static void main(String[] args) { +// getToken(); + + LaKalaInterfaceImpl laKalaInterface = new LaKalaInterfaceImpl(); + laKalaInterface.getOrganCode("1"); +// try { +// laKalaInterface.laKaLaFileUpload1(); +// } catch (IOException e) { +// throw new RuntimeException(e); +// } + +// System.out.println(getBase64("testsit:EguwEckByf2I6u6z")); + +// String str = new String("20180301"); +// String s1 = ""; +// +// s1 = str.substring(0, 4) + "-" + str.substring(4, 6) + "-" + str.substring(6, str.length()); +// +// System.out.println(s1); + } + +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/PlussMerchantLklServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/PlussMerchantLklServiceImpl.java new file mode 100644 index 0000000..6bfb9c1 --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/PlussMerchantLklServiceImpl.java @@ -0,0 +1,11 @@ +package cn.pluss.platform.klk.service.impl; + +import cn.pluss.platform.entity.PlussMerchantLklEntity; +import cn.pluss.platform.klk.service.PlussMerchantLklService; +import cn.pluss.platform.mapper.PlussMerchantLklDao; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +@Service +public class PlussMerchantLklServiceImpl extends ServiceImpl implements PlussMerchantLklService { +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/TbLklRegionBankInfoServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/TbLklRegionBankInfoServiceImpl.java new file mode 100644 index 0000000..85217a5 --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/TbLklRegionBankInfoServiceImpl.java @@ -0,0 +1,20 @@ +package cn.pluss.platform.klk.service.impl; + +import cn.pluss.platform.entity.TbLklRegionBankInfoEntity; +import cn.pluss.platform.klk.service.TbLklRegionBankInfoService; +import cn.pluss.platform.mapper.TbLklRegionBankInfoDao; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service("tbLklRegionBankInfoServiceImpl") +public class TbLklRegionBankInfoServiceImpl extends ServiceImpl implements TbLklRegionBankInfoService { + + @Resource + TbLklRegionBankInfoDao regionBankInfoDao; + public void aa(TbLklRegionBankInfoEntity entity){ +// QueryWrapper wrapper =new QueryWrapper<>(); + regionBankInfoDao.insert(entity); + } +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/TbPlussBankBranchLklServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/TbPlussBankBranchLklServiceImpl.java new file mode 100644 index 0000000..dbdc591 --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/TbPlussBankBranchLklServiceImpl.java @@ -0,0 +1,12 @@ +package cn.pluss.platform.klk.service.impl; + +import cn.pluss.platform.entity.TbPlussBankBranchLklEntity; +import cn.pluss.platform.klk.service.TbPlussBankBranchLklService; +import cn.pluss.platform.mapper.TbPlussBankBranchLklMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +@Service +public class TbPlussBankBranchLklServiceImpl extends ServiceImpl implements TbPlussBankBranchLklService { + +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/TbPlussBankRegionLklServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/TbPlussBankRegionLklServiceImpl.java new file mode 100644 index 0000000..90ec6e5 --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/TbPlussBankRegionLklServiceImpl.java @@ -0,0 +1,11 @@ +package cn.pluss.platform.klk.service.impl; + +import cn.pluss.platform.entity.TbPlussBankRegionLklEntity; +import cn.pluss.platform.klk.service.TbPlussBankRegionLklService; +import cn.pluss.platform.mapper.TbPlussBankRegionLklMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +@Service +public class TbPlussBankRegionLklServiceImpl extends ServiceImpl implements TbPlussBankRegionLklService { +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/TbPlussBusinessSmallLklServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/TbPlussBusinessSmallLklServiceImpl.java new file mode 100644 index 0000000..dc2658a --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/TbPlussBusinessSmallLklServiceImpl.java @@ -0,0 +1,11 @@ +package cn.pluss.platform.klk.service.impl; + +import cn.pluss.platform.entity.TbPlussBusinessSmallLklEntity; +import cn.pluss.platform.klk.service.TbPlussBusinessSmallLklService; +import cn.pluss.platform.mapper.TbPlussBusinessSmallLklDao; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +@Service +public class TbPlussBusinessSmallLklServiceImpl extends ServiceImpl implements TbPlussBusinessSmallLklService { +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/TbPlussRegionLklServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/TbPlussRegionLklServiceImpl.java new file mode 100644 index 0000000..ebb2758 --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/service/impl/TbPlussRegionLklServiceImpl.java @@ -0,0 +1,11 @@ +package cn.pluss.platform.klk.service.impl; + +import cn.pluss.platform.entity.TbPlussRegionLklEntity; +import cn.pluss.platform.klk.service.TbPlussRegionLklService; +import cn.pluss.platform.mapper.TbPlussRegionLklMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +@Service +public class TbPlussRegionLklServiceImpl extends ServiceImpl implements TbPlussRegionLklService { +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/vo/AttchmentsVo.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/vo/AttchmentsVo.java new file mode 100644 index 0000000..8a73ced --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/vo/AttchmentsVo.java @@ -0,0 +1,9 @@ +package cn.pluss.platform.klk.vo; + +import lombok.Data; + +@Data +public class AttchmentsVo { + private String id; + private String type; +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/vo/CallBackVo.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/vo/CallBackVo.java new file mode 100644 index 0000000..0027f5b --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/vo/CallBackVo.java @@ -0,0 +1,11 @@ +package cn.pluss.platform.klk.vo; + +import lombok.Data; + +@Data +public class CallBackVo { + private String status; + private String sysFlowId; + private String note; + private String jsoon; +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/vo/FeesSetVo.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/vo/FeesSetVo.java new file mode 100644 index 0000000..98aa23d --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/vo/FeesSetVo.java @@ -0,0 +1,9 @@ +package cn.pluss.platform.klk.vo; + +import lombok.Data; + +@Data +public class FeesSetVo { + private String feeCode; + private String feeValue; +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/vo/OrganVo.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/vo/OrganVo.java new file mode 100644 index 0000000..ef47d53 --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/vo/OrganVo.java @@ -0,0 +1,14 @@ +package cn.pluss.platform.klk.vo; + +import lombok.Data; + +@Data +public class OrganVo { + private String id; + private String createTime; + private String optimistic; + private String updateTime; + private String code; + private String name; + private String parentCode; +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/vo/TuoKeVo.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/vo/TuoKeVo.java new file mode 100644 index 0000000..d6d6c86 --- /dev/null +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/klk/vo/TuoKeVo.java @@ -0,0 +1,68 @@ +package cn.pluss.platform.klk.vo; + +import lombok.Data; + +import java.util.Set; + +@Data +public class TuoKeVo { + private String userNo; + private String email; + private String busiCode; + private String merchantCode; + private String merRegName; + private String merType; + private String merName; + private String merAddr; + private String provinceCode; + private String cityCode; + private String countyCode; + private String licenseName; + private String licenseNo; + private String licenseDtStart; + private String licenseDtEnd; + private String latitude; + private String longtude; + private String source; + private String businessContent; + private String larName; + private String larIdType; + private String larIdCard; + private String larIdCardStart; + private String larIdCardEnd; + private String contactMobile; + private String contactName; + private String openningBankCode; + private String openningBankName; + private String clearingBankCode; + private String settleProvinceCode; + private String settleProvinceName; + private String settleCityCode; + private String settleCityName; + private String accountNo; + private String accountName; + private String accountType; + private String accountIdCard; + private String ccountIdDtStart; + private String accountIdDtEnd; + private String accountIdType; + private String bizContent; + private String settleType; + private String shopId; + private String settlementType; + private String regularSettlementTime; + private String merchantNo; + private String id; + private String type; + private String termNum; + private String termVer; + private String fees; + private String mcc; + private String feeCode; + private String feeValue; + private String topFee; + private String activityId; + private Set set; + +} + diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/userApp/impl/UserAppServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/userApp/impl/UserAppServiceImpl.java index 652a11c..bd32167 100644 --- a/pluss-service-bundle/src/main/java/cn/pluss/platform/userApp/impl/UserAppServiceImpl.java +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/userApp/impl/UserAppServiceImpl.java @@ -20,6 +20,7 @@ import cn.pluss.platform.entity.*; import cn.pluss.platform.enums.UserRoleEnum; import cn.pluss.platform.exception.MsgException; import cn.pluss.platform.jfShop.JfShopHandler; +import cn.pluss.platform.klk.service.impl.LaKalaInterfaceImpl; import cn.pluss.platform.leshua.BizConstants; import cn.pluss.platform.leshua.ExpandDto; import cn.pluss.platform.mapper.*; @@ -65,6 +66,7 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.math.RoundingMode; @@ -735,7 +737,8 @@ public class UserAppServiceImpl extends ServiceImpl impl return result; } - +@Resource + LaKalaInterfaceImpl laKalaInterface; @Override @Transactional(rollbackFor = Exception.class) public void merchantAudit(JSONObject jsonObject, String channelId) { @@ -801,6 +804,8 @@ public class UserAppServiceImpl extends ServiceImpl impl //ysAuditServiceV2.merchantAudit(userId, false); ysAuditServiceV3.merchantAuditV3(userId, false); break; + case "5": + laKalaInterface.createTuoKeInfo(userId); default: MsgException.throwException("未知的进件通道"); } diff --git a/pluss-wap-page/pom.xml b/pluss-wap-page/pom.xml index 65394ce..e95ae37 100644 --- a/pluss-wap-page/pom.xml +++ b/pluss-wap-page/pom.xml @@ -88,6 +88,7 @@ nekohtml 1.9.22 + diff --git a/pluss-wap-page/src/main/java/cn/pluss/platform/controller/home/MerchantController.java b/pluss-wap-page/src/main/java/cn/pluss/platform/controller/home/MerchantController.java index cc2bf22..1784499 100644 --- a/pluss-wap-page/src/main/java/cn/pluss/platform/controller/home/MerchantController.java +++ b/pluss-wap-page/src/main/java/cn/pluss/platform/controller/home/MerchantController.java @@ -66,6 +66,9 @@ import cn.pluss.platform.wechat.*; import cn.pluss.platform.wx.WxAccessTokenRequest; import cn.pluss.platform.wx.WxCommonService; import cn.pluss.platform.wx.WxOauth2AccessTokenResponse; +import cn.pluss.platform.ys.YSConstants; +import cn.pluss.platform.ys.YsEnum; +import cn.pluss.platform.ys.YsService; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alipay.api.AlipayApiException; @@ -168,6 +171,9 @@ public class MerchantController { @Setter(onMethod_ = {@Autowired, @Qualifier("ysPayOldService")}) private PayService ysPayOldService; + @Setter(onMethod_ = {@Autowired, @Qualifier("lkLPayService")}) + private PayService lkLPayService; + @Setter(onMethod_ = {@Autowired}) private RyxPayService ryxPayService; @@ -565,6 +571,8 @@ public class MerchantController { unionInfo = ryxPayService.getUnionInfo(userAuthCode, payMentApp, channel.getMerchantId()); } else if (channel.getChannel() == 4) { unionInfo = ysPayOldService.getUnionInfo(userAuthCode, payMentApp, null); + } else if (channel.getChannel() == 5) { + unionInfo = lkLPayService.getUnionInfo(userAuthCode, payMentApp, null); } else { view.addObject("error", "未知通道类型"); return view; @@ -1698,6 +1706,8 @@ public class MerchantController { unionInfo = ryxPayService.getUnionInfo(userAuthCode, payMentApp, channel.getMerchantId()); } else if (channel.getChannel() == 4) { unionInfo = ysPayOldService.getUnionInfo(userAuthCode, payMentApp, null); + } else if (channel.getChannel() == 5) { + unionInfo = lkLPayService.getUnionInfo(userAuthCode, payMentApp, null); } else { view.addObject("error", "未知通道类型"); return view; @@ -1929,6 +1939,8 @@ public class MerchantController { return modelAndView; } else if (channel.getChannel() == 4) { unionInfo = ysPayOldService.getUnionInfo(userAuthCode, payMentApp, null); + } else if (channel.getChannel() == 5) { + unionInfo = lkLPayService.getUnionInfo(userAuthCode, payMentApp, null); } else { modelAndView.addObject("error", "未知通道类型"); modelAndView.setViewName("/merchant/errorInfo2");