7 Commits
back ... dev

Author SHA1 Message Date
deng
aae4ef8b48 扫码王业务代码 2023-05-29 11:57:03 +08:00
hankaikai
790920f13e "拉卡拉进件支付代码" 2023-05-23 12:55:26 +08:00
hankaikai
52650b7ae0 "设备规格修改" 2023-05-23 12:50:46 +08:00
hankaikai
c56357adc0 "设备规格修改" 2023-05-23 12:48:55 +08:00
hankaikai
085297700a "拉卡拉修改" 2023-05-23 12:47:17 +08:00
hankaikai
7d2f7b2d80 "设备规格修改" 2023-05-23 12:45:52 +08:00
hankaikai
a344d0a9df "audit" 2023-05-23 12:42:41 +08:00
316 changed files with 4944 additions and 15374 deletions

8
.idea/.gitignore generated vendored
View File

@@ -1,8 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

21
.idea/compiler.xml generated
View File

@@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile default="true" name="Default" enabled="true" />
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="pluss-dao-bundle" />
<module name="pluss-manage-page" />
<module name="code-generator" />
<module name="pluss-common-bundle" />
<module name="pluss-wap-page" />
<module name="pluss-api-page" />
<module name="pluss-model-bundle" />
<module name="pluss-service-bundle" />
</profile>
</annotationProcessing>
</component>
</project>

23
.idea/encodings.xml generated
View File

@@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/code-generator/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/code-generator/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pluss-api-page/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pluss-api-page/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pluss-common-bundle/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pluss-common-bundle/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pluss-dao-bundle/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pluss-dao-bundle/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pluss-manage-page/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pluss-model-bundle/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pluss-model-bundle/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pluss-service-bundle/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pluss-service-bundle/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pluss-wap-page/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pluss-wap-page/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pluss-wap-page/src/main/webapp" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
</component>
</project>

View File

@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="http://maven.aliyun.com/nexus/content/groups/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
</component>
</project>

6
.idea/kotlinc.xml generated
View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="KotlinJpsPluginSettings">
<option name="version" value="1.6.21" />
</component>
</project>

12
.idea/misc.xml generated
View File

@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
</project>

124
.idea/uiDesigner.xml generated
View File

@@ -1,124 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>

6
.idea/vcs.xml generated
View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

View File

@@ -1,570 +0,0 @@
#
# 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.<init>()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::<init> (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 <a 'sun/nio/fs/WindowsException'{0x0000000711b26990}> (0x0000000711b26990)
thrown [s\src\hotspot\share\prims\jni.cpp, line 517]
Event: 0.310 Thread 0x000002df6282a0c0 Exception <a 'java/lang/NoSuchMethodError'{0x0000000711b51bd0}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)'> (0x0000000711b51bd0)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 771]
Event: 0.312 Thread 0x000002df6282a0c0 Exception <a 'java/lang/NoSuchMethodError'{0x0000000711b5caa0}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeInterface(java.lang.Object, java.lang.Object)'> (0x0000000711b5caa0)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 771]
Event: 0.312 Thread 0x000002df6282a0c0 Exception <a 'java/lang/IncompatibleClassChangeError'{0x0000000711b603c0}: Found class java.lang.Object, but interface was expected> (0x0000000711b603c0)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 838]
Event: 0.313 Thread 0x000002df6282a0c0 Exception <a 'java/lang/NoSuchMethodError'{0x0000000711b63770}: 'void java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, java.lang.Object)'> (0x0000000711b63770)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 771]
Event: 0.313 Thread 0x000002df6282a0c0 Exception <a 'java/lang/NoSuchMethodError'{0x0000000711b67088}: 'void java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, java.lang.Object)'> (0x0000000711b67088)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 771]
Event: 0.315 Thread 0x000002df6282a0c0 Exception <a 'java/lang/NoSuchMethodError'{0x0000000711b6d9c0}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, java.lang.Object)'> (0x0000000711b6d9c0)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 771]
Event: 0.358 Thread 0x000002df6282a0c0 Exception <a 'java/lang/NoSuchMethodError'{0x00000007118541d0}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, int, int, int, int)'> (0x00000007118541d0)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 771]
Event: 0.436 Thread 0x000002df6282a0c0 Exception <a 'java/lang/NoSuchMethodError'{0x00000007118e9910}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, java.lang.Object, int, int, int, int)'> (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.

View File

@@ -123,8 +123,6 @@
<configuration> <configuration>
<mainClass>cn.pluss.platform.ApiApplication</mainClass> <mainClass>cn.pluss.platform.ApiApplication</mainClass>
<outputDirectory>./</outputDirectory> <outputDirectory>./</outputDirectory>
<fork>true</fork>
<includeSystemScope>true</includeSystemScope>
</configuration> </configuration>
<executions> <executions>
<execution> <execution>

View File

@@ -1,39 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd
">
<id>release</id>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>src/assembly</directory>
<outputDirectory>.</outputDirectory>
<includes>
<include>*.sh</include>
<include>*.bat</include>
</includes>
</fileSet>
<fileSet>
<directory>src/main/resources</directory>
<outputDirectory>.</outputDirectory>
<includes>
<include>*.yml</include>
<!--<include>application.yml</include>-->
</includes>
</fileSet>
</fileSets>
<dependencySets>
<!-- 将scope为runtime的依赖包打包到lib目录下。 -->
<dependencySet>
<useProjectArtifact>true</useProjectArtifact>
<outputDirectory>libs</outputDirectory>
<scope>runtime</scope>
</dependencySet>
</dependencySets>
</assembly>

View File

@@ -1,5 +0,0 @@
@echo off
setLocal enableDelayedExpansion
set cp=.
FOR %%i IN ("%~dp0libs\*.jar") DO set cp=!cp!;%%~fsi
start "bidservice" java -cp %cp% Shell

View File

@@ -1,10 +0,0 @@
#!/bin/bash --login
shopt -s expand_aliases
baseDir=$(cd "$(dirname "$0")"; pwd)
cp=.
for file in $baseDir/libs/*.jar
do
cp=$cp:$file
done
java -cp $cp com.goodcoupons.GoodCoupons >>stdout.out 2>&1 &

View File

@@ -105,20 +105,6 @@ public class AccountController {
return ResultGenerator.genSuccessResult(result); return ResultGenerator.genSuccessResult(result);
} }
/**
* 用户切换结算方式
* @return
*/
@PostMapping ("/usercheck")
public Result<Object> userCheck(@RequestBody Map<String, Integer> params){
boolean b = accountService.checkChannel(params.get("channel"), params.get("userId"));
if (b){
return ResultGenerator.genSuccessResult();
}else {
return ResultGenerator.genFailResult("修改失败 ");
}
}
@GetMapping("/reckoner/v2") @GetMapping("/reckoner/v2")
public Result<Object> reckonerV2(String userId, String merchantType) { public Result<Object> reckonerV2(String userId, String merchantType) {
StoreSummaryVO result = accountService.getReckonerV2(userId, merchantType); StoreSummaryVO result = accountService.getReckonerV2(userId, merchantType);

View File

@@ -1,6 +1,5 @@
package cn.pluss.platform.controller; package cn.pluss.platform.controller;
import cn.pluss.platform.ali.AlipayService;
import cn.pluss.platform.api.Result; import cn.pluss.platform.api.Result;
import cn.pluss.platform.api.ResultGenerator; import cn.pluss.platform.api.ResultGenerator;
import cn.pluss.platform.dto.*; import cn.pluss.platform.dto.*;
@@ -16,7 +15,6 @@ import cn.pluss.platform.notice.NoticeService;
import cn.pluss.platform.userApp.UserAppService; import cn.pluss.platform.userApp.UserAppService;
import cn.pluss.platform.util.AliPayParam; import cn.pluss.platform.util.AliPayParam;
import cn.pluss.platform.util.StringUtil; import cn.pluss.platform.util.StringUtil;
import cn.pluss.platform.vo.AlipayVO;
import com.alipay.api.AlipayApiException; import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient; import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient; import com.alipay.api.DefaultAlipayClient;
@@ -70,8 +68,7 @@ public class AlipayController {
@Resource @Resource
private MerchantIncomeService merchantIncomeService; private MerchantIncomeService merchantIncomeService;
@Resource
private AlipayService alipayService;
@PostMapping @PostMapping
@@ -382,12 +379,8 @@ public class AlipayController {
// return merchantOrder; // return merchantOrder;
} }
// @PostMapping("/phonePay")
// public Result<?> phonePay(@RequestBody AlipayVO alipay) throws AlipayApiException {
// return alipayService.aliPayPhone(alipay.getOrderNo());
// }
/** /**
* *
* merchantIncome:(添加收益记录). <br/> * merchantIncome:(添加收益记录). <br/>

View File

@@ -49,21 +49,6 @@ public class BannerController {
List<Banner> banners = bannerService.queryBannerList(queryBanner); List<Banner> banners = bannerService.queryBannerList(queryBanner);
return ResultGenerator.genSuccessResult(banners); return ResultGenerator.genSuccessResult(banners);
} }
@PostMapping("/queryCarousel")
@ApiOperation(tags = {"页面-首页"}, value = "查询所有的轮播图", notes = "查询所有的轮播图", httpMethod = "POST")
public Result<List<Banner>> queryCarousel(@RequestBody Banner banner) {
if (banner == null) {
return ResultGenerator.genFailResult("参数错误!");
}
if (banner.getType() == null || StringUtil.isEmpty(banner.getType())) {
return ResultGenerator.genFailResult("查询参数错误!");
}
Banner queryBanner = new Banner();
queryBanner.setType(banner.getType());
List<Banner> banners = bannerService.queryBannerList(queryBanner);
return ResultGenerator.genSuccessResult(banners);
}
@DeleteMapping("/{id}") @DeleteMapping("/{id}")
@ApiOperation(value = "删除数据", notes = "根据id删除数据", httpMethod = "DELETE") @ApiOperation(value = "删除数据", notes = "根据id删除数据", httpMethod = "DELETE")

View File

@@ -7,7 +7,6 @@ import cn.pluss.platform.cash.CashService;
import cn.pluss.platform.entity.Cash; import cn.pluss.platform.entity.Cash;
import cn.pluss.platform.entity.UserApp; import cn.pluss.platform.entity.UserApp;
import cn.pluss.platform.entity.WxBankCode; import cn.pluss.platform.entity.WxBankCode;
import cn.pluss.platform.userApp.UserAppService;
import cn.pluss.platform.util.*; import cn.pluss.platform.util.*;
import cn.pluss.platform.wxBankCode.WxBankCodeService; import cn.pluss.platform.wxBankCode.WxBankCodeService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@@ -19,7 +18,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@@ -35,8 +33,6 @@ public class CashController {
private final CashService cashService; private final CashService cashService;
private final WxBankCodeService wxBankCodeService; private final WxBankCodeService wxBankCodeService;
@Resource
private UserAppService userAppService;
@GetMapping({ "", "/v3" }) @GetMapping({ "", "/v3" })
@ApiOperation(tags = { "页面-提现记录" }, value = "获取分页提现记录", notes = "返回分页过后的数据", httpMethod = "GET") @ApiOperation(tags = { "页面-提现记录" }, value = "获取分页提现记录", notes = "返回分页过后的数据", httpMethod = "GET")
@@ -46,14 +42,14 @@ public class CashController {
@ApiImplicitParam(name = "type", value = "提现类型 0粉丝分润 1推广分润 99其他 ", paramType = "type", dataType = "Integer", required = true), @ApiImplicitParam(name = "type", value = "提现类型 0粉丝分润 1推广分润 99其他 ", paramType = "type", dataType = "Integer", required = true),
@ApiImplicitParam(name = "status", value = "提现状态 0 申请提现 1 提现成功 2 提现失败", paramType = "status", dataType = "Integer"), @ApiImplicitParam(name = "status", value = "提现状态 0 申请提现 1 提现成功 2 提现失败", paramType = "status", dataType = "Integer"),
@ApiImplicitParam(name = "merchantCode", value = "商家Code", paramType = "merchantCode", dataType = "String", required = true), }) @ApiImplicitParam(name = "merchantCode", value = "商家Code", paramType = "merchantCode", dataType = "String", required = true), })
public Result<PageInfo<Cash>> list(@RequestParam(defaultValue = "1") Integer offset, public Result<PageInfo<Cash>> list(@RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "10") Integer pageSize, Integer type, Integer status, String merchantCode, @RequestParam(defaultValue = "10") Integer size, Integer type, Integer status, String merchantCode,
String userId) { String userId) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("pageSize", pageSize); map.put("pageSize", size);
map.put("offset", (offset - 1) * pageSize); map.put("offset", (page - 1) * size);
map.put("status",status);
if (StringUtil.isEmpty(userId)) { if (StringUtil.isEmpty(userId)) {
return ResultGenerator.genFailResult("无用户id"); return ResultGenerator.genFailResult("无用户id");
} }
@@ -63,8 +59,8 @@ public class CashController {
List<Cash> cashList = cashService.queryCashPage(map); List<Cash> cashList = cashService.queryCashPage(map);
Integer count = cashService.queryCashPageCount(map); Integer count = cashService.queryCashPageCount(map);
// 返回参数 // 返回参数
PageInfo<Cash> pageInfo = new PageInfo<>(count.longValue(), (long) StringUtil.getPageCount(count, pageSize), PageInfo<Cash> pageInfo = new PageInfo<>(count.longValue(), (long) StringUtil.getPageCount(count, size),
offset.longValue(), pageSize.longValue(), cashList); page.longValue(), size.longValue(), cashList);
return ResultGenerator.genSuccessResult(pageInfo); return ResultGenerator.genSuccessResult(pageInfo);
} }
@@ -91,44 +87,8 @@ public class CashController {
@PostMapping("/v3") @PostMapping("/v3")
public Result<Object> addV3(@RequestBody Cash cash) { public Result<Object> addV3(@RequestBody Cash cash) {
try { cashService.apiSaveCashV3(cash);
cashService.apiSaveCashV3(cash); return ResultGenerator.genSuccessResult();
return ResultGenerator.genSuccessResult();
} catch (Exception e) {
e.printStackTrace();
return ResultGenerator.genFailResult(e.getMessage());
}
} }
/**
* 下级相关
* @param
* @return
*/
@GetMapping("/subordinate")
public Result<Object> subordinate(@RequestParam("status") String status, @RequestParam("size") Integer size,
@RequestParam("page") Integer page){
UserApp tokenUa = userAppService.queryUserAppByToken();
List<Cash> subordinate = cashService.subordinate(tokenUa.getUserId().toString(),status, size, page);
return ResultGenerator.genSuccessResult(subordinate);
}
/**
* 提现审核
*/
@GetMapping ("/examine")
public Result<Object> examine(@RequestParam("id") Integer id,@RequestParam("status") String status,
@RequestParam("remark") String remark){
UserApp tokenUa = userAppService.queryUserAppByToken();
try {
Boolean aBoolean = cashService.modifyOutFlow(id, String.valueOf(tokenUa.getUserId()), status, remark);
if (aBoolean){
return ResultGenerator.genSuccessResult();
}
}catch (Exception e){
e.printStackTrace();
return ResultGenerator.genFailResult(e.getMessage());
}
return ResultGenerator.genFailResult("");
}
} }

View File

@@ -5,15 +5,11 @@ import cn.pluss.platform.api.Result;
import cn.pluss.platform.api.ResultGenerator; import cn.pluss.platform.api.ResultGenerator;
import cn.pluss.platform.appGuide.AppGuideService; import cn.pluss.platform.appGuide.AppGuideService;
import cn.pluss.platform.entity.AppGuide; import cn.pluss.platform.entity.AppGuide;
import cn.pluss.platform.enums.image;
import com.alipay.api.domain.UserVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import javax.servlet.http.HttpServletRequest; import org.springframework.web.bind.annotation.RequestMapping;
import java.util.HashMap; import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
import java.util.Objects;
/** /**
* @author djh * @author djh
@@ -27,101 +23,13 @@ public class IntroduceController {
private AppGuideService appGuideService; private AppGuideService appGuideService;
@GetMapping({"/common", "/common/{code}"}) @GetMapping({"/common", "/common/{code}"})
public Result<String> billIntro(@PathVariable(value = "code", required = false) String code, HttpServletRequest httpServletRequest) { public Result<String> billIntro(@PathVariable(value = "code", required = false) String code) {
if (StringUtils.isEmpty(code)) { if (StringUtils.isEmpty(code)) {
String html = "<p><img src=\"https://www.shouyinbei.net/resources/images/upload/82031620725808697.jpg\" style=\"\"/></p><p><img src=\"https://www.shouyinbei.net/resources/images/upload/86751620725811158.jpg\" style=\"\"/></p><p><img src=\"https://www.shouyinbei.net/resources/images/upload/38401620725814105.jpg\" style=\"\"/></p><p><img src=\"https://www.shouyinbei.net/resources/images/upload/14561620725816223.jpg\" style=\"\"/></p><p><img src=\"https://www.shouyinbei.net/resources/images/upload/45071620725822267.jpg\" style=\"\"/></p><p><img src=\"https://www.shouyinbei.net/resources/images/upload/31221620725827105.jpg\" style=\"\"/></p><p><img src=\"https://www.shouyinbei.net/resources/images/upload/68211620725829889.jpg\" style=\"\"/></p><p><br/></p>"; String html = "<p><img src=\"https://www.shouyinbei.net/resources/images/upload/82031620725808697.jpg\" style=\"\"/></p><p><img src=\"https://www.shouyinbei.net/resources/images/upload/86751620725811158.jpg\" style=\"\"/></p><p><img src=\"https://www.shouyinbei.net/resources/images/upload/38401620725814105.jpg\" style=\"\"/></p><p><img src=\"https://www.shouyinbei.net/resources/images/upload/14561620725816223.jpg\" style=\"\"/></p><p><img src=\"https://www.shouyinbei.net/resources/images/upload/45071620725822267.jpg\" style=\"\"/></p><p><img src=\"https://www.shouyinbei.net/resources/images/upload/31221620725827105.jpg\" style=\"\"/></p><p><img src=\"https://www.shouyinbei.net/resources/images/upload/68211620725829889.jpg\" style=\"\"/></p><p><br/></p>";
return ResultGenerator.genSuccessResult(html); return ResultGenerator.genSuccessResult(html);
} }
AppGuide entity = appGuideService.getByCode(code); AppGuide entity = appGuideService.getByCode(code);
if (!"SHTGKT".equals(code)){ return ResultGenerator.genSuccessResult(entity == null? "": entity.getContent());
return ResultGenerator.genSuccessResult(entity == null ? "" : entity.getContent());
}
//如果是推广宽图则看宽图是否开放
if (Objects.equals(entity.getType(), "1")) {
String type = httpServletRequest.getHeader("type");
//TODO 双端开启
if ("1".equals(type) || "2".equals(type)){
return ResultGenerator.genSuccessResult(entity.getContent());
}
// else if ("2".equals(type)){
// return ResultGenerator.genFailResult("");
// }
return ResultGenerator.genSuccessResult(entity == null ? "" : entity.getContent());
}else {
return ResultGenerator.genFailResult("");
}
} }
private String image(String typeCode, String merchantType){
if ("AG".equals(typeCode) || "FB".equals(typeCode) || "SB".equals(typeCode)){
return image.PROMOTION_IMAGE.getImageUrl();
}
//TODO 现在的逻辑是所有的都可以是创客
// if ("1".equals(merchantType)){
return image.SMALL_IMAGE.getImageUrl();
// }
// return image.OTHER_IMAGE.getImageUrl();
}
@PostMapping ("/common")
public Result<String> billIntro(HttpServletRequest httpServletRequest,
@RequestBody Map<String, String> params) {
AppGuide entity = appGuideService.getByCode(params.get("code"));
if (!"SHTGKT".equals(params.get("code"))){
return ResultGenerator.genSuccessResult(entity == null ? "" : entity.getContent());
}
//如果是推广宽图则看宽图是否开放
if (Objects.equals(entity.getType(), "1")) {
String type = httpServletRequest.getHeader("type");
//TODO 双端开启
if ("1".equals(type)||"2".equals(type)) {
return ResultGenerator.genSuccessResult(image(params.get("typeCode"), params.get("merchantType")));
}
// }else if ("2".equals(type)){
// return ResultGenerator.genFailResult("");
// }
return ResultGenerator.genSuccessResult(entity == null ? "" : entity.getContent());
}else {
return ResultGenerator.genFailResult("");
}
}
@PostMapping ("/commonV2")
public Result<String> billIntroV2(HttpServletRequest httpServletRequest,
@RequestBody Map<String, String> params) {
AppGuide entity = appGuideService.getByCode(imageV2(params.get("typeCode"), params.get("merchantType")));
//如果是推广宽图则看宽图是否开放
if (Objects.equals(entity.getType(), "1")) {
//获取安卓或者IOS
String type = httpServletRequest.getHeader("type");
//安卓
if ("1".equals(type)){
if ("1".equals(entity.getAndroid())) {
return ResultGenerator.genSuccessResult(image(params.get("typeCode"), params.get("merchantType")));
}
return ResultGenerator.genSuccessResult("");
//IOS
}else if ("2".equals(type)){
if ("1".equals(entity.getIos())) {
return ResultGenerator.genSuccessResult(image(params.get("typeCode"), params.get("merchantType")));
}
return ResultGenerator.genSuccessResult("");
}
return ResultGenerator.genFailResult("");
}else {
return ResultGenerator.genFailResult("");
}
}
private String imageV2(String typeCode, String merchantType){
if ("AG".equals(typeCode) || "FB".equals(typeCode) || "SB".equals(typeCode)){
return "SHTGKT";
}
if ("1".equals(merchantType)){
return "XWTG";
}
return "PUSH";
}
} }

View File

@@ -4,17 +4,13 @@ import cn.pluss.platform.api.Result;
import cn.pluss.platform.api.ResultGenerator; import cn.pluss.platform.api.ResultGenerator;
import cn.pluss.platform.app.MainPageService; import cn.pluss.platform.app.MainPageService;
import cn.pluss.platform.entity.UserApp; import cn.pluss.platform.entity.UserApp;
import cn.pluss.platform.merchantProfit.MerchantProfitService;
import cn.pluss.platform.userApp.UserAppService; import cn.pluss.platform.userApp.UserAppService;
import cn.pluss.platform.vo.MerchantProfitVO;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map; import java.util.Map;
@RestController @RestController
@@ -29,8 +25,6 @@ public class MainPageController {
@Autowired @Autowired
private MainPageService agentStaffMainPageService; private MainPageService agentStaffMainPageService;
@Resource
private MerchantProfitService merchantProfitService;
/** /**
* @page 商户推广 * @page 商户推广
@@ -42,53 +36,13 @@ public class MainPageController {
public Result<?> getSpreadData() { public Result<?> getSpreadData() {
UserApp userApp = userAppService.queryUserAppByToken(); UserApp userApp = userAppService.queryUserAppByToken();
Map<String, Object> resultMap; Map<String, Object> resultMap;
resultMap = promoterMainPageService.getSpreadData(userApp.getUserId() + "");
if ("agent_staff".equals(userApp.getUserType())) {
resultMap = agentStaffMainPageService.getSpreadData(userApp.getUserId() + "");
} else {
resultMap = promoterMainPageService.getSpreadData(userApp.getUserId() + "");
}
return ResultGenerator.genSuccessResult(resultMap); return ResultGenerator.genSuccessResult(resultMap);
} }
@GetMapping("/userApp/modifyFee")
public Result<Object> modifyFee(@RequestParam("id") Integer id, @RequestParam("fee") BigDecimal fee){
UserApp result = userAppService.queryUserBaseInfoByToken();
promoterMainPageService.modifyFee(result.getUserId(), id, fee);
return ResultGenerator.genSuccessResult();
}
/**
* 团队管理
* @param name
* @param current
* @param size
* @param typeCode
* @return
*/
@GetMapping("/userApp/teamControl")
public Result<Object> teamControl(String name,
@RequestParam(defaultValue = "1") Integer current,
@RequestParam(defaultValue = "10") Integer size,
@RequestParam("typeCode") String typeCode){
UserApp result = userAppService.queryUserBaseInfoByToken();
Map<String, Object> merchantProfitVOS = merchantProfitService.teamList(typeCode, result.getUserId(),
current,size,name);
return ResultGenerator.genSuccessResult(merchantProfitVOS);
}
/**
* 创客团队管理
* @param name
* @param current
* @param size
* @param typeCode
* @return
*/
@GetMapping("/userApp/teamQuotaControl")
public Result<Object> teamQuotaControl(String name,
@RequestParam(defaultValue = "1") Integer current,
@RequestParam(defaultValue = "10") Integer size,
@RequestParam("typeCode") String typeCode){
UserApp result = userAppService.queryUserBaseInfoByToken();
Map<String, Object> merchantProfitVOS = merchantProfitService.teamQuotaList(typeCode, result.getUserId(),
current,size,name);
return ResultGenerator.genSuccessResult(merchantProfitVOS);
}
} }

View File

@@ -12,7 +12,6 @@ import cn.pluss.platform.dto.BusinessLicenseDTO;
import cn.pluss.platform.dto.ImgDTO; import cn.pluss.platform.dto.ImgDTO;
import cn.pluss.platform.dto.MerchantBaseInfoDTO; import cn.pluss.platform.dto.MerchantBaseInfoDTO;
import cn.pluss.platform.entity.*; import cn.pluss.platform.entity.*;
import cn.pluss.platform.exception.MsgException;
import cn.pluss.platform.mapper.MerchantImageMapper; import cn.pluss.platform.mapper.MerchantImageMapper;
import cn.pluss.platform.mapper.MerchantRateMapper; import cn.pluss.platform.mapper.MerchantRateMapper;
import cn.pluss.platform.merchant.MerchantBaseInfoService; import cn.pluss.platform.merchant.MerchantBaseInfoService;
@@ -173,9 +172,6 @@ public class MerchantBaseInfoController {
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "MerchantBaseInfoDTO", value = "MerchantBaseInfoDTO实例", paramType = "body", dataType = "MerchantBaseInfoDTO", required = true)}) @ApiImplicitParam(name = "MerchantBaseInfoDTO", value = "MerchantBaseInfoDTO实例", paramType = "body", dataType = "MerchantBaseInfoDTO", required = true)})
public Result<?> saveMerchantBaseInfoV2(@RequestBody MerchantBaseInfoDTO merchantBaseInfoDTO) { public Result<?> saveMerchantBaseInfoV2(@RequestBody MerchantBaseInfoDTO merchantBaseInfoDTO) {
if (merchantBaseInfoDTO.getAlias().length() < 4 || merchantBaseInfoDTO.getAlias().length() > 18){
MsgException.check(true,"请输入4-18位商户简称");
}
try { try {
merchantBaseInfoService.saveMerchantBaseInfo(merchantBaseInfoDTO); merchantBaseInfoService.saveMerchantBaseInfo(merchantBaseInfoDTO);
return ResultGenerator.genSuccessResult("保存成功"); return ResultGenerator.genSuccessResult("保存成功");

View File

@@ -1,8 +1,6 @@
package cn.pluss.platform.controller; package cn.pluss.platform.controller;
import cn.hutool.json.JSONUtil;
import cn.pluss.platform.IdCardService; import cn.pluss.platform.IdCardService;
import cn.pluss.platform.UserMakerQuota.UserMakerQuotaService;
import cn.pluss.platform.annotation.OpLog; import cn.pluss.platform.annotation.OpLog;
import cn.pluss.platform.api.PageInfo; import cn.pluss.platform.api.PageInfo;
import cn.pluss.platform.api.Result; import cn.pluss.platform.api.Result;
@@ -13,7 +11,6 @@ import cn.pluss.platform.deviceStock.DeviceStockService;
import cn.pluss.platform.dto.*; import cn.pluss.platform.dto.*;
import cn.pluss.platform.entity.*; import cn.pluss.platform.entity.*;
import cn.pluss.platform.exception.MsgException; import cn.pluss.platform.exception.MsgException;
import cn.pluss.platform.klk.service.LklPayService;
import cn.pluss.platform.mapper.MerchantChannelStatusMapper; import cn.pluss.platform.mapper.MerchantChannelStatusMapper;
import cn.pluss.platform.mapper.MerchantOrderVOMapper; import cn.pluss.platform.mapper.MerchantOrderVOMapper;
import cn.pluss.platform.memberOrder.MemberOrderService; import cn.pluss.platform.memberOrder.MemberOrderService;
@@ -22,19 +19,12 @@ import cn.pluss.platform.merchantIncome.MerchantIncomeService;
import cn.pluss.platform.merchantMenber.MerchantMenberService; import cn.pluss.platform.merchantMenber.MerchantMenberService;
import cn.pluss.platform.merchantMenberRecharge.MerchantMenberRechargeService; import cn.pluss.platform.merchantMenberRecharge.MerchantMenberRechargeService;
import cn.pluss.platform.merchantOrder.MerchantOrderService; import cn.pluss.platform.merchantOrder.MerchantOrderService;
import cn.pluss.platform.merchantProfit.MerchantProfitService;
import cn.pluss.platform.notice.NoticeService; import cn.pluss.platform.notice.NoticeService;
import cn.pluss.platform.pay.PayService; import cn.pluss.platform.pay.PayService;
import cn.pluss.platform.pos.BasePosReq;
import cn.pluss.platform.pos.PosPay;
import cn.pluss.platform.pos.PosTradeQueryReq;
import cn.pluss.platform.pos.ReturnFundsReq;
import cn.pluss.platform.ryx.pay.RyxPayService; import cn.pluss.platform.ryx.pay.RyxPayService;
import cn.pluss.platform.sxf.pay.SxfPayService; import cn.pluss.platform.sxf.pay.SxfPayService;
import cn.pluss.platform.user.impl.GeneralPushUtil; import cn.pluss.platform.user.impl.GeneralPushUtil;
import cn.pluss.platform.userApp.UserAppService; import cn.pluss.platform.userApp.UserAppService;
import cn.pluss.platform.util.BeanUtils;
import cn.pluss.platform.util.IpUtils;
import cn.pluss.platform.util.StringUtil; import cn.pluss.platform.util.StringUtil;
import cn.pluss.platform.util.TokenUtil; import cn.pluss.platform.util.TokenUtil;
import cn.pluss.platform.vo.MemberScanVO; import cn.pluss.platform.vo.MemberScanVO;
@@ -56,14 +46,11 @@ import org.springframework.context.annotation.Lazy;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid; import javax.validation.Valid;
import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import static cn.hutool.poi.excel.sax.AttributeName.r;
import static cn.hutool.poi.excel.sax.AttributeName.s; import static cn.hutool.poi.excel.sax.AttributeName.s;
@Slf4j @Slf4j
@@ -96,11 +83,6 @@ public class MerchantOrderController {
@Setter(onMethod_ = {@Autowired, @Qualifier("ysPayOldService")}) @Setter(onMethod_ = {@Autowired, @Qualifier("ysPayOldService")})
private PayService ysPayOldService; private PayService ysPayOldService;
@Setter(onMethod_ = {@Autowired, @Qualifier("lkLPayService")})
private PayService lklPayService;
// 微信支付无法确认支付结果状态 // 微信支付无法确认支付结果状态
private String[] wechatPayNotSureResult = new String[]{"SYSTEMERROR", "USERPAYING", "BANKERROR"}; private String[] wechatPayNotSureResult = new String[]{"SYSTEMERROR", "USERPAYING", "BANKERROR"};
@@ -407,7 +389,7 @@ public class MerchantOrderController {
@ApiOperation(value = "会员充值", notes = "APP扫码-会员充值", httpMethod = "GET") @ApiOperation(value = "会员充值", notes = "APP扫码-会员充值", httpMethod = "GET")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "MemberRechargeDTO", value = "MemberRechargeDTO", paramType = "MemberRechargeDTO", dataType = "MemberRechargeDTO", required = true)}) @ApiImplicitParam(name = "MemberRechargeDTO", value = "MemberRechargeDTO", paramType = "MemberRechargeDTO", dataType = "MemberRechargeDTO", required = true)})
public Result<Map<String, Object>> memberRecharge(@RequestBody MemberRechargeDTO memberRechargeDTO) { public Result<Map<String, Object>> memberRecharge(@RequestBody MemberRechargeDTO memberRechargeDTO, HttpServletRequest request) {
try { try {
UserApp userApp = userAppService.queryUserAppByToken(); UserApp userApp = userAppService.queryUserAppByToken();
@@ -417,7 +399,7 @@ public class MerchantOrderController {
memberRechargeDTO.setMerchantCode(userApp.getMerchantCode()); memberRechargeDTO.setMerchantCode(userApp.getMerchantCode());
memberRechargeDTO.setUserId(String.valueOf(userApp.getUserId())); memberRechargeDTO.setUserId(String.valueOf(userApp.getUserId()));
memberRechargeDTO.setUserName(userApp.getUserName()); memberRechargeDTO.setUserName(userApp.getUserName());
return merchantOrderService.toMemberRecharge(memberRechargeDTO); return merchantOrderService.toMemberRecharge(memberRechargeDTO, request);
}catch (Exception e){ }catch (Exception e){
e.printStackTrace(); e.printStackTrace();
MsgException.throwException(e.getMessage()); MsgException.throwException(e.getMessage());
@@ -436,8 +418,7 @@ public class MerchantOrderController {
@ApiOperation(tags = {"页面-收款"}, value = "扫码支付", notes = "扫码支付", httpMethod = "POST") @ApiOperation(tags = {"页面-收款"}, value = "扫码支付", notes = "扫码支付", httpMethod = "POST")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "MerchantOrderVo", value = "扫码支付需要传递的参数实例", paramType = "body", dataType = "MerchantOrderVo", required = true)}) @ApiImplicitParam(name = "MerchantOrderVo", value = "扫码支付需要传递的参数实例", paramType = "body", dataType = "MerchantOrderVo", required = true)})
public Result<Object> scanPay(HttpServletRequest request, @RequestBody MerChantOrderDTO merchantOrderDTO) { public Result<Object> scanPay(@RequestBody MerChantOrderDTO merchantOrderDTO, HttpServletRequest req) {
log.info("scanPay>>>>>>>>>>>>{}", JSONUtil.toJsonStr(merchantOrderDTO));
UserApp tokenUa = userAppService.queryUserAppByToken(); UserApp tokenUa = userAppService.queryUserAppByToken();
merchantOrderDTO.setMerchantCode(tokenUa.getMerchantCode()); merchantOrderDTO.setMerchantCode(tokenUa.getMerchantCode());
//校验金额 //校验金额
@@ -445,7 +426,7 @@ public class MerchantOrderController {
MsgException.throwException("金额异常"); MsgException.throwException("金额异常");
} }
try { try {
return merchantOrderService.toActivePay(merchantOrderDTO, IpUtils.getIpAddr(request)); return merchantOrderService.toActivePay(merchantOrderDTO, req);
} catch (Exception e){ } catch (Exception e){
e.printStackTrace(); e.printStackTrace();
return ResultGenerator.genFailResult(e.getMessage()); return ResultGenerator.genFailResult(e.getMessage());
@@ -453,26 +434,15 @@ public class MerchantOrderController {
} }
/** /**
* 博实结pos机反扫支付 * 博实结pos机反扫支付
* @param * @param merchantOrderDTO
* @return * @return
*/ */
@PostMapping("/posScanPay") @PostMapping("/posScanPay")
public JSONObject posScanPay(HttpServletRequest request,@RequestBody BasePosReq req)throws Exception{ public Result<Object> posScanPay(@RequestBody MerChantOrderDTO merchantOrderDTO, HttpServletRequest request) {
//首先验签 //首先验签
verify(req.getTimestamp(), req.getRequestId(), req.getAppId(), req.getToken(), verify(merchantOrderDTO.getTimestamp(), merchantOrderDTO.getRequestId(), merchantOrderDTO.getAppId(), merchantOrderDTO.getToken());
req.getReqData());
//拆分参数
PosPay posPay = JSONObject.parseObject(req.getReqData(), PosPay.class);
MerChantOrderDTO merchantOrderDTO = new MerChantOrderDTO();
merchantOrderDTO.setSn(posPay.getSn());
merchantOrderDTO.setMercOrderNo(posPay.getMercOrderNo());
merchantOrderDTO.setType(posPay.getType());
merchantOrderDTO.setAuthCode(posPay.getAuthCode());
merchantOrderDTO.setRemark(posPay.getRemark());
merchantOrderDTO.setConsumeFee(Double.valueOf(posPay.getConsumeFee()));
//通过后查询商户信息 //通过后查询商户信息
DeviceStock deviceStock = deviceStockService.checkBind(posPay.getSn()); DeviceStock deviceStock = deviceStockService.checkBind(merchantOrderDTO.getSn());
MerchantBaseInfo merchantBaseInfoById = merchantBaseInfoService.getMerchantBaseInfoById(Integer.valueOf(deviceStock.getActMercId())); MerchantBaseInfo merchantBaseInfoById = merchantBaseInfoService.getMerchantBaseInfoById(Integer.valueOf(deviceStock.getActMercId()));
MsgException.checkNull(merchantBaseInfoById, "找不到商户"); MsgException.checkNull(merchantBaseInfoById, "找不到商户");
merchantOrderDTO.setMerchantCode(merchantBaseInfoById.getMerchantCode()); merchantOrderDTO.setMerchantCode(merchantBaseInfoById.getMerchantCode());
@@ -482,116 +452,19 @@ public class MerchantOrderController {
} }
//进行支付操作 //进行支付操作
try { try {
Result<Object> activePay = merchantOrderService.toActivePay(merchantOrderDTO,IpUtils.getIpAddr(request)); Result<Object> activePay = merchantOrderService.toActivePay(merchantOrderDTO, request);
String result = activePay.toString(); String result = activePay.toString();
JSONObject jsonData = JSONObject.parseObject(result); JSONObject jsonData = JSONObject.parseObject(result);
Object orderNumber = jsonData.getJSONObject("data").get("orderNumber"); Object orderNumber = jsonData.getJSONObject("data").get("orderNumber");
String data = jsonData.getJSONObject("data").get("data").toString();
JSONObject jsonDataInfo = JSONObject.parseObject(data);
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
map.put("orderNumber", orderNumber); map.put("orderNumber", orderNumber);
map.put("consumeFee", jsonDataInfo.get("consumeFee")); return ResultGenerator.genSuccessResult(map);
map.put("mercOrderNo", posPay.getMercOrderNo());
map.put("remark", posPay.getRemark());
map.put("status", jsonDataInfo.get("status"));
return ResultGenerator.genSuccessJsonPos(map, req.getAppId(), req.getRequestId());
} catch (Exception e){ } catch (Exception e){
e.printStackTrace(); e.printStackTrace();
return ResultGenerator.genFailJsonPos(e.getMessage(), req.getAppId(), req.getRequestId()); return ResultGenerator.genFailResult(e.getMessage());
} }
} }
@PostMapping(value = "orderList")
public Object posTradeQuery(HttpServletRequest request, @RequestBody BasePosReq req)throws Exception{
verify(req.getTimestamp(),req.getRequestId(),req.getAppId(),req.getToken(), req.getReqData());
PosTradeQueryReq tradeQueryReq=JSONObject.parseObject(req.getReqData(),PosTradeQueryReq.class);
DeviceStock deviceStock = deviceStockService.checkBind(tradeQueryReq.getSn());
MsgException.checkNull(deviceStock,"不存在的设备信息");
MerchantBaseInfo merchantBaseInfoById = merchantBaseInfoService.getMerchantBaseInfoById(Integer.valueOf(deviceStock.getActMercId()));
MsgException.checkNull(merchantBaseInfoById, "该设备对应的商户信息不存在");
return merchantOrderService.posTradeQuery(req.getRequestId(),merchantBaseInfoById.getMerchantCode(),tradeQueryReq.getDate(),tradeQueryReq.getType(),tradeQueryReq.getPage(),tradeQueryReq.getSize());
}
@PostMapping(value = "orderRefund")
public Object posReturn(HttpServletRequest request,@RequestBody BasePosReq req){
verify(req.getTimestamp(),req.getRequestId(),req.getAppId(),req.getToken());
ReturnFundsReq returnFundsReq=JSONObject.parseObject(req.getReqData(),ReturnFundsReq.class);
DeviceStock deviceStock = deviceStockService.checkBind(returnFundsReq.getSn());
MsgException.checkNull(deviceStock,"不存在的设备信息");
MerchantBaseInfo merchantBaseInfoById = merchantBaseInfoService.getMerchantBaseInfoById(Integer.valueOf(deviceStock.getActMercId()));
MsgException.checkNull(merchantBaseInfoById, "该设备对应的商户信息不存在");
return merchantOrderService.posReturnFunds(req.getRequestId(),returnFundsReq.getOrderNumber(),returnFundsReq.getRemark(),"pos",null);
}
@Resource
private MerchantProfitService profitService;
@Resource
private UserMakerQuotaService userMakerQuotaService;
@PostMapping("/orderTest")
public Result<Object> orderTest(@RequestBody MerchantOrder merchantOrder){
UserApp tokenUa = userAppService.queryUserAppByToken();
merchantOrder.setOrderNumber("TEST"+StringUtil.getBillno());
merchantOrder.setOrderType("2");
merchantOrder.setMerchantCode(tokenUa.getMerchantCode());
merchantOrder.setMerchantName("尖愁");
merchantOrder.setPayTypeCode("wechatPay");
merchantOrder.setPayTypeName("微信");
merchantOrder.setStoreId("0ZZC7Q");
merchantOrder.setStoreName("尖愁");
merchantOrder.setTransDt(new Date());
merchantOrder.setCreateDt(new Date());
merchantOrder.setStatus("1");
//BigDecimal e=new BigDecimal(merchantOrder.getConsumeFee()).subtract(new BigDecimal(merchantOrder.getConsumeFee()).multiply(new BigDecimal("0.0038")).setScale(2,BigDecimal.ROUND_DOWN)).setScale(2,BigDecimal.ROUND_DOWN);
BigDecimal bigDecimal = new BigDecimal(merchantOrder.getConsumeFee()).multiply(new BigDecimal("0.0038")).setScale(2, BigDecimal.ROUND_DOWN);
BigDecimal subtract = new BigDecimal(merchantOrder.getConsumeFee()).subtract(bigDecimal);
BigDecimal bigDecimal1 = new BigDecimal(String.valueOf(merchantOrder.getConsumeFee()));
BigDecimal subtract1 = bigDecimal1.subtract(bigDecimal);
merchantOrder.setEnterFee(subtract1.doubleValue());
merchantOrder.setAisleSwitch("1");
merchantOrder.setRate(new BigDecimal("38.00"));
merchantOrder.setSettlementType(1);
merchantOrder.setChannelRate(new BigDecimal("21.00"));
merchantOrder.setChannelFee(new BigDecimal("0.00"));
merchantOrder.setMercFee(new BigDecimal("0.00"));
boolean save = merchantOrderService.save(merchantOrder);
profitService.createOrderProfitV2(merchantOrder,"1");
userMakerQuotaService.quotaInfo(merchantOrder);
if (save){
return ResultGenerator.genSuccessResult();
}else {
return ResultGenerator.genFailResult("失败");
}
}
public static void main(String[] args) {
BigDecimal s = new BigDecimal("0.0038");
BigDecimal a = new BigDecimal("77.77");
BigDecimal multiply = s.multiply(a).setScale(2,BigDecimal.ROUND_DOWN);
BigDecimal bigDecimal = a.subtract(multiply).setScale(2, BigDecimal.ROUND_DOWN);
System.out.println(multiply);
System.out.println(bigDecimal);
}
/** /**
* 主扫会员支付 * 主扫会员支付
* @param memberScanPayDTO * @param memberScanPayDTO
@@ -896,10 +769,6 @@ public class MerchantOrderController {
case 4: case 4:
result = ysPayOldService.tradeQuery(order,channel.getMerchantId()); result = ysPayOldService.tradeQuery(order,channel.getMerchantId());
break; break;
case 5:
result=lklPayService.tradeQuery(order,channel.getMerchantId());
break;
} }
if(result != null){ if(result != null){
@@ -912,21 +781,23 @@ public class MerchantOrderController {
} }
return ResultGenerator.genSuccessResult("获取成功",order); return ResultGenerator.genSuccessResult("获取成功",order);
} }
@PostMapping("/posTradeQueryNumber") @GetMapping("/pos/tradeQuery/{orderNumber}")
public JSONObject posTradeQuery(@RequestBody BasePosReq req) throws Exception { @ApiOperation(value = "pos交易订单支付结果查询", notes = "交易订单支付结果查询", httpMethod = "GET")
@ApiImplicitParams({
@ApiImplicitParam(name = "orderNumber", value = "查询的orderNumber", paramType = "orderNumber", required = true, dataType = "String")})
public Result<Object> posTradeQuery(@PathVariable String orderNumber, String timestamp,
String requestId, String token, String appId) throws Exception {
//首先验签 //首先验签
verify(req.getTimestamp(), req.getRequestId(), req.getAppId(), req.getToken(), verify(timestamp, requestId, appId, token);
req.getReqData());
PosPay posPay = JSONObject.parseObject(req.getReqData(), PosPay.class);
// 校验参数是否完整 // 校验参数是否完整
if (StringUtil.isEmpty(posPay.getOrderNumber())) { if (StringUtil.isEmpty(orderNumber)) {
return ResultGenerator.genFailJsonPos("无订单号", req.getAppId(), req.getReqData()); return ResultGenerator.genFailResult("无订单号");
} }
QueryWrapper<MerchantOrder> queryWrapper = new QueryWrapper<MerchantOrder>() QueryWrapper<MerchantOrder> queryWrapper = new QueryWrapper<MerchantOrder>()
.eq("orderNumber", posPay.getOrderNumber()); .eq("orderNumber",orderNumber);
MerchantOrder order = merchantOrderService.getOne(queryWrapper); MerchantOrder order = merchantOrderService.getOne(queryWrapper);
if(order == null){ if(order == null){
return ResultGenerator.genFailJsonPos("订单数据异常", req.getAppId(), req.getReqData()); return ResultGenerator.genFailResult("订单数据异常");
} }
MerchantOrderPosVO orderPosVO = new MerchantOrderPosVO(); MerchantOrderPosVO orderPosVO = new MerchantOrderPosVO();
//支付成功 //支付成功
@@ -934,10 +805,7 @@ public class MerchantOrderController {
orderPosVO.setConsumeFee(order.getConsumeFee()); orderPosVO.setConsumeFee(order.getConsumeFee());
orderPosVO.setStatus(order.getStatus()); orderPosVO.setStatus(order.getStatus());
orderPosVO.setPayTypeCode(order.getPayTypeCode()); orderPosVO.setPayTypeCode(order.getPayTypeCode());
orderPosVO.setOrderNumber(order.getOrderNumber()); return ResultGenerator.genSuccessResult("获取成功",orderPosVO);
orderPosVO.setMercOrderNo(order.getMercOrderNo());
orderPosVO.setTransTime(String.valueOf(order.getTransDt()));
return ResultGenerator.genSuccessJsonPos(orderPosVO, req.getAppId(), req.getRequestId());
} }
String aisleSwitch = order.getAisleSwitch(); String aisleSwitch = order.getAisleSwitch();
MerchantChannelStatus channel = null; MerchantChannelStatus channel = null;
@@ -961,8 +829,6 @@ public class MerchantOrderController {
case 4: case 4:
result = ysPayOldService.tradeQuery(order,channel.getMerchantId()); result = ysPayOldService.tradeQuery(order,channel.getMerchantId());
break; break;
case 5:
result = lklPayService.tradeQuery(order,channel.getMerchantId());
} }
if(result != null){ if(result != null){
@@ -975,11 +841,8 @@ public class MerchantOrderController {
orderPosVO.setConsumeFee(order.getConsumeFee()); orderPosVO.setConsumeFee(order.getConsumeFee());
orderPosVO.setStatus(order.getStatus()); orderPosVO.setStatus(order.getStatus());
orderPosVO.setPayTypeCode(order.getPayTypeCode()); orderPosVO.setPayTypeCode(order.getPayTypeCode());
orderPosVO.setOrderNumber(order.getOrderNumber());
orderPosVO.setMercOrderNo(order.getMercOrderNo());
orderPosVO.setTransTime(String.valueOf(order.getTransDt()));
} }
return ResultGenerator.genSuccessJsonPos(orderPosVO, req.getAppId(), req.getRequestId()); return ResultGenerator.genSuccessResult("获取成功", orderPosVO);
} }
@GetMapping("/closeOrder") @GetMapping("/closeOrder")
@@ -1123,31 +986,6 @@ public class MerchantOrderController {
return ResultGenerator.genSuccessResult("退款成功",null); return ResultGenerator.genSuccessResult("退款成功",null);
} }
@GetMapping("/returnOrderV3")
@ApiOperation(value = "商家退款", notes = "商家给用户交易部分退款退款", httpMethod = "GET")
public Result<Object> returnOrderV3(@RequestParam String orderNumber,@RequestParam BigDecimal amount,@RequestParam String noticeCode,
@RequestParam String mercRefundNo,
@RequestParam String notifyUrl,
@RequestParam String refundReason,
@RequestParam String payPassword){
JSONObject object= merchantOrderService.apiReturnOrderV3(orderNumber,amount,mercRefundNo,notifyUrl,noticeCode,payPassword, refundReason, "app");
return ResultGenerator.genSuccessResult("退款成功",object);
}
@GetMapping("/returnOrderV4")
@ApiOperation(value = "商家退款", notes = "商家给用户交易部分退款退款", httpMethod = "GET")
public Result<Object> returnOrderV4(@RequestParam String orderNumber,@RequestParam BigDecimal amount,@RequestParam String noticeCode,
@RequestParam String mercRefundNo,
@RequestParam String notifyUrl,
@RequestParam String refundReason
){
JSONObject object= merchantOrderService.apiReturnOrderV4(orderNumber,amount,mercRefundNo,notifyUrl,noticeCode, null,"app" );
return ResultGenerator.genSuccessResult("退款成功",object);
}
/** /**
* leshuaReturn:(乐刷退款). <br/> * leshuaReturn:(乐刷退款). <br/>
* *
@@ -1460,36 +1298,11 @@ public class MerchantOrderController {
} }
@GetMapping("/couponList") @GetMapping("/couponList")
public Result<List<Map<String, Object>>> getCouponListByOrderNumber(String orderNumber,Long id) { public Result<List<Map<String, Object>>> getCouponListByOrderNumber(String orderNumber) {
List<Map<String, Object>> couponList = merchantOrderService.getCouponList(orderNumber,id); List<Map<String, Object>> couponList = merchantOrderService.getCouponList(orderNumber);
return ResultGenerator.genSuccessResult(couponList); return ResultGenerator.genSuccessResult(couponList);
} }
/**
* 加上参数的签名
* @param timestamp
* @param requestId
* @param appId
* @param token
* @param reqData
* @throws Exception
*/
public void verify(String timestamp, String requestId, String appId,
String token, String reqData)throws Exception{
//首先验证签
Map<String, String> tokenMap = TokenUtil.getToken(timestamp, requestId, appId, reqData);
boolean sign = tokenMap.get("TOKEN").equals(token);
System.out.println(token);
MsgException.check(!sign,"签名错误");
}
/**
* 不加参数的签名
* @param timestamp
* @param requestId
* @param appId
* @param token
*/
public void verify(String timestamp, String requestId, String appId, public void verify(String timestamp, String requestId, String appId,
String token){ String token){
//首先验证签 //首先验证签

View File

@@ -14,8 +14,6 @@ import cn.pluss.platform.merchantOrder.MerchantOrderService;
import cn.pluss.platform.merchantProfit.MerchantProfitService; import cn.pluss.platform.merchantProfit.MerchantProfitService;
import cn.pluss.platform.userApp.UserAppService; import cn.pluss.platform.userApp.UserAppService;
import cn.pluss.platform.util.StringUtil; import cn.pluss.platform.util.StringUtil;
import cn.pluss.platform.vo.MerchantProfitVO;
import cn.pluss.platform.vo.ProfitOrderVO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
@@ -126,7 +124,7 @@ public class MerchantProfitController {
map.put("endTime", sdf.parse(endTime)); map.put("endTime", sdf.parse(endTime));
} }
} }
//直属
List<MerchantProfit> merchantProfitList = merchantProfitService.queryMerchantProfitPage(map); List<MerchantProfit> merchantProfitList = merchantProfitService.queryMerchantProfitPage(map);
if (merchantProfitList != null && merchantProfitList.size() > 0) { if (merchantProfitList != null && merchantProfitList.size() > 0) {
@@ -255,17 +253,5 @@ public class MerchantProfitController {
merchantProfit = merchantProfitService.queryMerchantProfit(merchantProfit); merchantProfit = merchantProfitService.queryMerchantProfit(merchantProfit);
return ResultGenerator.genSuccessResult(merchantProfit); return ResultGenerator.genSuccessResult(merchantProfit);
} }
@GetMapping("/profitOrderList")
public Result<List<ProfitOrderVO>> ProfitOrderList(@RequestParam Integer type, @RequestParam Integer page,
@RequestParam Integer size, String startTime, String endTime){
UserApp userApp = userAppService.queryUserAppByToken();
Integer pageSize = size;
Integer offset = (page-1) * size;
if (type == 1) {
return ResultGenerator.genSuccessResult(merchantProfitMapper.directlyOrder(userApp.getUserId(), pageSize, offset, startTime, endTime));
}
return ResultGenerator.genSuccessResult(merchantProfitMapper.teamOrder(userApp.getUserId(), pageSize, offset, startTime, endTime));
}
} }

View File

@@ -15,7 +15,9 @@ import cn.pluss.platform.exception.MsgException;
import cn.pluss.platform.leshua.*; import cn.pluss.platform.leshua.*;
import cn.pluss.platform.leshua.impl.LeshuaMerchantAuditService; import cn.pluss.platform.leshua.impl.LeshuaMerchantAuditService;
import cn.pluss.platform.level.LevelService; import cn.pluss.platform.level.LevelService;
import cn.pluss.platform.mapper.*; import cn.pluss.platform.mapper.MerchantImageMapper;
import cn.pluss.platform.mapper.MerchantOrderMapper;
import cn.pluss.platform.mapper.MerchantRateMapper;
import cn.pluss.platform.merchant.AccountService; import cn.pluss.platform.merchant.AccountService;
import cn.pluss.platform.merchant.MerchantBaseInfoService; import cn.pluss.platform.merchant.MerchantBaseInfoService;
import cn.pluss.platform.merchantBankCard.MerchantBankCardService; import cn.pluss.platform.merchantBankCard.MerchantBankCardService;
@@ -26,10 +28,8 @@ import cn.pluss.platform.merchantStore.MerchantStoreService;
import cn.pluss.platform.systemConfig.SystemConfigService; import cn.pluss.platform.systemConfig.SystemConfigService;
import cn.pluss.platform.systemInfo.SystemInfoService; import cn.pluss.platform.systemInfo.SystemInfoService;
import cn.pluss.platform.user.UserProfitService; import cn.pluss.platform.user.UserProfitService;
import cn.pluss.platform.userAccount.UserAccountService;
import cn.pluss.platform.userApp.UserAppService; import cn.pluss.platform.userApp.UserAppService;
import cn.pluss.platform.userInfo.UserInfoService; import cn.pluss.platform.userInfo.UserInfoService;
import cn.pluss.platform.userPromotion.UserPromotionService;
import cn.pluss.platform.util.*; import cn.pluss.platform.util.*;
import cn.pluss.platform.vo.*; import cn.pluss.platform.vo.*;
import cn.pluss.platform.wechat.WechatService; import cn.pluss.platform.wechat.WechatService;
@@ -40,14 +40,11 @@ import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import javax.annotation.Resource;
import javax.validation.Valid; import javax.validation.Valid;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.Setter; import lombok.Setter;
@@ -118,14 +115,6 @@ public class UserAppController {
@Setter(onMethod_ = { @Autowired, @Lazy }) @Setter(onMethod_ = { @Autowired, @Lazy })
private MerchantChannelStatusService mcsService; private MerchantChannelStatusService mcsService;
@Resource
private UserPromotionService userPromotionService;
@Resource
private CashMapper cashMapper;
@Resource
private UserAccountService userAccountService;
@Resource
private UserAccountFlowMapper userAccountFlowMapper;
private static String keyStoreUrl = private static String keyStoreUrl =
"/home/syb/resources/wechatCert/apiclient_cert.p12"; // 验证证书路径 "/home/syb/resources/wechatCert/apiclient_cert.p12"; // 验证证书路径
@@ -274,7 +263,9 @@ public class UserAppController {
@RequestBody @Valid CertificationDTO certificationDTO) { @RequestBody @Valid CertificationDTO certificationDTO) {
if (Pattern.matches("^[1-9]\\d{5}(?:18|19|20)\\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\\d|30|31)\\d{3}[\\dXx]$", if (Pattern.matches("^[1-9]\\d{5}(?:18|19|20)\\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\\d|30|31)\\d{3}[\\dXx]$",
certificationDTO.getCertnum())){ certificationDTO.getCertnum())){
System.out.println("身份证无误");
} else { } else {
System.out.println("身份证有误");
return ResultGenerator.genFailResult("身份证号码错误"); return ResultGenerator.genFailResult("身份证号码错误");
} }
try { try {
@@ -384,20 +375,8 @@ public class UserAppController {
if (result.getLevelCode() != null) { if (result.getLevelCode() != null) {
result.setLevelCode(result.getLevelCode().replace("T", "VIP")); result.setLevelCode(result.getLevelCode().replace("T", "VIP"));
} }
//查询角色code // MerchantChannelStatus mcs = mcsService.getValidData(result.getMerchantCode());
QueryWrapper<UserPromotion> QueryWrapper = new QueryWrapper<>(); // mcsService.verifyWxAuthStatus(mcs);
QueryWrapper.eq("user_id", result.getUserId());
UserPromotion userPromotion = userPromotionService.getOne(QueryWrapper);
if("promoter".equals(result.getUserType())) {
if (userPromotion == null) {
MsgException.checkBlank("", "用户状态异常");
}
result.setTypeCode(userPromotion == null ? "null" : userPromotion.getTypeCode());
result.setMinFee(userPromotion == null ? "null" : userPromotion.getCurrentFee());
result.setMaxFee("0.32");
result.setIsExtend(userPromotion.getIsExtend());
}
return ResultGenerator.genSuccessResult(result); return ResultGenerator.genSuccessResult(result);
} }
@@ -503,51 +482,98 @@ public class UserAppController {
if (nextLevel != null) { if (nextLevel != null) {
nextRate = nextLevel.getRate(); nextRate = nextLevel.getRate();
} }
Double totalShareMoneyToday = 0d; // 今日分润总额
Double totalAccumulateShareMoney = 0d; // 累计总分润
Double merchantShareMoneyToday = 0d; // 推广商户今日分润
Double merchantShareMoneyHistory = 0d; // 推广商户历史分润
Double allowCashMoney = 0d; // 可提现分润
BigDecimal totalShareMoneyToday = null; // 今日分润总额ok Double noCashMoney = 0d; // 不可提现分润
BigDecimal totalAccumulateShareMoney = null; // 累计总分润ok Double cashedMoney = 0d; // 已提现分润
BigDecimal allowCashMoney = null; // 可提现分润ok
BigDecimal examineMoney = null;
// 获取当前商户的所有的下级商户信息 // 获取当前商户的所有的下级商户信息
// Map<String, Object> queryMap = new HashMap<>();
// if ("agent_staff".equals(queryUserApp.getUserType())) {
// queryMap.put("agentStaffId", userId);
// } else {
// queryMap.put("userId", userId);
// }
//
// queryMap.put("status", 1);
// 累计总分润 TODO 改变方式 Map<String, Object> queryMap = new HashMap<>();
UserAccount userAccountByUserId = userAccountService.getUserAccountByUserId(userId); if ("agent_staff".equals(queryUserApp.getUserType())) {
if (userAccountByUserId == null) { queryMap.put("agentStaffId", userId);
totalShareMoneyToday = BigDecimal.ZERO; } else {
totalAccumulateShareMoney = BigDecimal.ZERO; queryMap.put("userId", userId);
allowCashMoney = BigDecimal.ZERO;
examineMoney = BigDecimal.ZERO;
}else {
// 累计总分润
totalAccumulateShareMoney = userAccountByUserId.getBalance().add(userAccountByUserId.getOutBalance());
//今日分润总额
totalShareMoneyToday = userAccountFlowMapper.selectSumByUserId(userId, DateUtils.getDayBegin(), DateUtils.getDayEnd());
// 可提现分润
allowCashMoney = userAccountByUserId.getBalance().subtract(userAccountByUserId.getFreezeBalance());
//审核中的提现金额
examineMoney = userAccountByUserId.getFreezeBalance();
} }
queryMap.put("status", 1);
// 累计总分润
totalAccumulateShareMoney =
merchantProfitService.queryMerchantProfitSumPrice(queryMap);
if (totalAccumulateShareMoney == null) {
totalAccumulateShareMoney = 0d;
}
queryMap.put("startTime", DateUtils.getDayBegin());
totalShareMoneyToday =
merchantProfitService.queryMerchantProfitSumPrice(queryMap);
if (totalShareMoneyToday == null) {
totalShareMoneyToday = 0d;
}
queryMap.put("retype", "1");
// 商户今日分润
merchantShareMoneyToday =
merchantProfitService.queryMerchantProfitSumPrice(queryMap);
if (merchantShareMoneyToday == null) {
merchantShareMoneyToday = 0d;
}
// 商户历史分润
queryMap.put("startTime", null);
queryMap.put("endTime", DateUtils.getDayBegin());
merchantShareMoneyHistory =
merchantProfitService.queryMerchantProfitSumPrice(queryMap);
if (merchantShareMoneyHistory == null) {
merchantShareMoneyHistory = 0d;
}
// 今日总分润 = 今日商户分润
// 已经提现与正在提现的分润 //+ cashService.sumFansAreadlyCash(map);
cashedMoney = cashService.sumMerchantSuccessCash(userId);
if (cashedMoney == null) {
cashedMoney = 0d;
}
noCashMoney = totalShareMoneyToday;
allowCashMoney = totalAccumulateShareMoney - cashedMoney - noCashMoney;
Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
//今日总分润 resultMap.put(
resultMap.put("totalShareMoneyToday", totalShareMoneyToday.setScale(2,RoundingMode.DOWN)); "totalShareMoneyToday",
//累计总分润 StringUtil.bigDecimal(totalShareMoneyToday)
resultMap.put("totalAccumulateShareMoney", totalAccumulateShareMoney.setScale(2,RoundingMode.DOWN)); ); //今日总分润
//可提现分润 resultMap.put(
resultMap.put("allowCashMoney",allowCashMoney.setScale(2,RoundingMode.DOWN)); "totalAccumulateShareMoney",
//审核中的提现金额 StringUtil.bigDecimal(totalAccumulateShareMoney)
resultMap.put("examineMoney", examineMoney.setScale(2,RoundingMode.DOWN)); ); //累计总分润
resultMap.put(
"merchantShareMoneyToday",
StringUtil.bigDecimal(merchantShareMoneyToday)
); //今日推广分润
resultMap.put(
"merchantShareMoneyHistory",
StringUtil.bigDecimal(merchantShareMoneyHistory)
); //历史推广分润
resultMap.put(
"nextMerchantShareMoneyToday",
StringUtil.bigDecimal(totalShareMoneyToday - merchantShareMoneyToday)
); //今日升级分润
resultMap.put(
"nextMerchantShareMoneyHistory",
StringUtil.bigDecimal(
totalAccumulateShareMoney -
merchantShareMoneyHistory -
totalShareMoneyToday
)
); //历史升级分润
resultMap.put(
"allowCashMoney",
StringUtil.bigDecimal(allowCashMoney, RoundingMode.DOWN)
);
resultMap.put("noCashMoney", StringUtil.bigDecimal(noCashMoney));
resultMap.put("cashedMoney", StringUtil.bigDecimal(cashedMoney));
return ResultGenerator.genSuccessResult(resultMap); return ResultGenerator.genSuccessResult(resultMap);
} }
@@ -1707,38 +1733,4 @@ public class UserAppController {
UserApp info = userAppService.getUserAppByPhone(phone, userApp); UserApp info = userAppService.getUserAppByPhone(phone, userApp);
return ResultGenerator.genSuccessResult("操作成功", info); return ResultGenerator.genSuccessResult("操作成功", info);
} }
@GetMapping("/getUserId")
public Result<Object> getUserId(@RequestParam String merchantStore){
MerchantStore byId = merchantStoreService.getById(merchantStore);
QueryWrapper<UserApp> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("merchantCode",byId.getMerchantCode());
queryWrapper.eq("userType","promoter");
UserApp one = userAppService.getOne(queryWrapper);
if (one == null) {
throw new MsgException("未找到商家");
}
QueryWrapper<UserInfo> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("id", one.getUserId());
UserInfo one1 = userInfoService.getOne(queryWrapper1);
HashMap<String, Object> map = new HashMap<>();
map.put("userId", one.getUserId());
map.put("myLoginName", one1.getLoginName());
map.put("token", one.getToken());
map.put("merchantCode",byId.getMerchantCode());
return ResultGenerator.genSuccessResult(map);
}
/**
* 申请
* @return
*/
@GetMapping(value = "/applyMarker")
public Result<Object> applyMarker(@RequestParam("code") String code){
UserApp userApp = userAppService.checkApiToken();
userAppService.applyMarker(userApp, code);
return ResultGenerator.genSuccessResult();
}
} }

View File

@@ -236,9 +236,6 @@ public class UserInfoController {
*/ */
@PostMapping("/login") @PostMapping("/login")
public Result<Map<String, Object>> detail(@RequestBody UserInfo userInfo) { public Result<Map<String, Object>> detail(@RequestBody UserInfo userInfo) {
if (userInfo == null){
throw new MsgException("请输入用户名密码");
}
Map<String, Object> login = userInfoNewService.login(userInfo.getLoginName(), userInfo.getPassword()); Map<String, Object> login = userInfoNewService.login(userInfo.getLoginName(), userInfo.getPassword());
return ResultGenerator.genSuccessResult(login); return ResultGenerator.genSuccessResult(login);
} }

View File

@@ -1,46 +0,0 @@
package cn.pluss.platform.controller;
import cn.pluss.platform.UserMakerQuota.UserMakerQuotaService;
import cn.pluss.platform.api.Result;
import cn.pluss.platform.api.ResultGenerator;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Map;
/**
* @author lyf
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/userMakerQuota")
public class UserMakerQuotaController {
@Resource
private UserMakerQuotaService userMakerQuotaService;
/**
* 汇总数据
* @return
*/
@GetMapping("/quota")
public Result<Object> quota() {
Map<String, BigDecimal> quota = userMakerQuotaService.quota();
return ResultGenerator.genSuccessResult(quota);
}
/**
* 额度明细
* @param page
* @param size
* @return
*/
@GetMapping("/quotaInfo")
public Result<Object> quotaList(Integer page, Integer size, Integer type){
return ResultGenerator.genSuccessResult(userMakerQuotaService.quotaList(page,size,type));
}
}

View File

@@ -1,105 +0,0 @@
package cn.pluss.platform.controller;
import cn.pluss.platform.api.Result;
import cn.pluss.platform.api.ResultGenerator;
import cn.pluss.platform.entity.Account;
import cn.pluss.platform.entity.MerchantChannelStatus;
import cn.pluss.platform.enums.ZfbChannel;
import cn.pluss.platform.exception.MsgException;
import cn.pluss.platform.mapper.AccountMapper;
import cn.pluss.platform.merchant.AccountService;
import cn.pluss.platform.merchantChannelStatus.MerchantChannelStatusService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author lyf
*/
@RestController
@RequestMapping("/zxfAttestation")
public class ZfbAttestationController {
@Resource
private MerchantChannelStatusService merchantChannelStatusService;
@Resource
private AccountService accountService;
@Resource
private AccountMapper accountMapper;
/**
* 支付认证
* @param params
* @return
*/
@PostMapping
public Result<Object> Attestation(@RequestBody Map<String, String> params) {
MerchantChannelStatus merchantCode = checkChannel(params.get("merchantCode"));
if (merchantCode == null){
throw new MsgException("账号异常");
}
HashMap<Object, Object> merchantCodeMap = new HashMap<>();
switch (merchantCode.getChannel()){
case 1:
merchantCodeMap.put("virChannelFlag", merchantCode.getVirChannelFlag());
merchantCodeMap.put("url", ZfbChannel.SXF_CHANNEL.getUrl());
merchantCodeMap.put("nameChannel",ZfbChannel.SXF_CHANNEL.getName());
break;
case 4:
merchantCodeMap.put("virChannelFlag", merchantCode.getVirChannelFlag());
merchantCodeMap.put("url", ZfbChannel.YS_CHANNEL.getUrl());
merchantCodeMap.put("nameChannel",ZfbChannel.YS_CHANNEL.getName());
break;
case 5:
merchantCodeMap.put("virChannelFlag", merchantCode.getVirChannelFlag());
merchantCodeMap.put("url", ZfbChannel.LKL_CHANNEL.getUrl());
merchantCodeMap.put("nameChannel",ZfbChannel.LKL_CHANNEL.getName());
break;
case 6:
merchantCodeMap.put("virChannelFlag", merchantCode.getVirChannelFlag());
merchantCodeMap.put("url", ZfbChannel.YS_CHANNEL.getUrl());
merchantCodeMap.put("nameChannel",ZfbChannel.YS_CHANNEL.getName());
break;
case 7:
merchantCodeMap.put("virChannelFlag", merchantCode.getVirChannelFlag());
merchantCodeMap.put("url", ZfbChannel.HF_CHANNEL.getUrl());
merchantCodeMap.put("nameChannel",ZfbChannel.HF_CHANNEL.getName());
break;
default:
throw new MsgException("未知通道");
}
return ResultGenerator.genSuccessResult(merchantCodeMap);
}
private MerchantChannelStatus checkChannel(String merchantCode){
LambdaQueryWrapper<MerchantChannelStatus> qWrapper2 = Wrappers.lambdaQuery();
qWrapper2.eq(MerchantChannelStatus::getMerchantCode, merchantCode)
.in(MerchantChannelStatus::getStatus,
MerchantChannelStatus.AUDIT_STATUS_SUCCESS,
MerchantChannelStatus.AUDIT_STATUS_DATA_EDIT)
.orderByDesc(MerchantChannelStatus::getValid)
.orderByAsc(MerchantChannelStatus::getId)
.last("limit 1");
MerchantChannelStatus mcs = merchantChannelStatusService.getOne(qWrapper2);
if (mcs != null) {
return mcs;
}
LambdaQueryWrapper<MerchantChannelStatus> qWrapper = new LambdaQueryWrapper<MerchantChannelStatus>()
.eq(MerchantChannelStatus::getMerchantCode, merchantCode)
.orderByDesc(MerchantChannelStatus::getValid)
.orderByAsc(MerchantChannelStatus::getId)
.last("limit 1");
return merchantChannelStatusService.getOne(qWrapper);
}
}

View File

@@ -0,0 +1,208 @@
package cn.pluss.platform.controller.access;
import cn.pluss.platform.access.AccessService;
import cn.pluss.platform.access.domain.CodeEnum;
import cn.pluss.platform.access.domain.ReqEntity;
import cn.pluss.platform.access.domain.RespEntity;
import cn.pluss.platform.access.exception.AccessException;
import cn.pluss.platform.access.service.AccessBizService;
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/access")
@RestController
public class AccessController {
@Autowired
private AccessService accessService;
@Autowired
private AccessBizService accessBizService;
@PostMapping("/storeInfoByDeviceNo")
public RespEntity machineStoreInfo(@RequestBody ReqEntity reqEntity) {
String requestId = reqEntity.getRequestId();
JSONObject reqData = reqEntity.initJSONData();
RespEntity result;
String deviceNo = reqData.getString("deviceNo");
if (deviceNo == null) {
result = new RespEntity(reqEntity.getOrgId(), CodeEnum.PARAM_ERROR, null, requestId);
accessService.addSign(result);
return result;
}
Object bizResult = accessBizService.machineStoreInfo(deviceNo);
result = new RespEntity(reqEntity.getOrgId(), CodeEnum.SUCCESS, bizResult, requestId);
accessService.addSign(result);
return result;
}
@PostMapping("/scanPay")
public RespEntity scanPay(@RequestBody ReqEntity reqEntity) {
String requestId = reqEntity.getRequestId();
JSONObject reqData = reqEntity.initJSONData();
RespEntity result;
String deviceNo = reqData.getString("deviceNo");
if (deviceNo == null) {
result = new RespEntity(reqEntity.getOrgId(), CodeEnum.PARAM_ERROR, null, requestId);
accessService.addSign(result);
return result;
}
try {
Object bizResult = accessBizService.scanPay(reqData);
result = new RespEntity(reqEntity.getOrgId(), CodeEnum.SUCCESS, bizResult, requestId);
accessService.addSign(result);
return result;
} catch (AccessException e) {
result = new RespEntity(reqEntity.getOrgId(), e.getCode(), null, requestId, e.getMessage());
accessService.addSign(result);
return result;
}
}
@PostMapping("/orderStatus")
public RespEntity orderStatus(@RequestBody ReqEntity reqEntity) {
String requestId = reqEntity.getRequestId();
JSONObject reqData = reqEntity.initJSONData();
RespEntity result;
String deviceNo = reqData.getString("deviceNo");
if (deviceNo == null) {
result = new RespEntity(reqEntity.getOrgId(), CodeEnum.PARAM_ERROR, null, requestId);
accessService.addSign(result);
return result;
}
String orderNumber = reqData.getString("orderNumber");
String mercOrderNo = reqData.getString("mercOrderNo");
try {
Object bizResult = accessBizService.orderStatus(orderNumber, mercOrderNo);
result = new RespEntity(reqEntity.getOrgId(), CodeEnum.SUCCESS, bizResult, requestId);
accessService.addSign(result);
return result;
} catch (AccessException e) {
result = new RespEntity(reqEntity.getOrgId(), e.getCode(), null, requestId, e.getMessage());
accessService.addSign(result);
return result;
}
}
@PostMapping("/orderRefund")
public RespEntity orderRefund(@RequestBody ReqEntity reqEntity) {
String requestId = reqEntity.getRequestId();
JSONObject reqData = reqEntity.initJSONData();
RespEntity result;
String deviceNo = reqData.getString("deviceNo");
if (deviceNo == null) {
result = new RespEntity(reqEntity.getOrgId(), CodeEnum.PARAM_ERROR, null, requestId);
accessService.addSign(result);
return result;
}
try {
Object bizResult = accessBizService.refund(reqData);
result = new RespEntity(reqEntity.getOrgId(), CodeEnum.SUCCESS, bizResult, requestId);
accessService.addSign(result);
return result;
} catch (AccessException e) {
result = new RespEntity(reqEntity.getOrgId(), e.getCode(), null, requestId, e.getMessage());
accessService.addSign(result);
return result;
}
}
@PostMapping("/orderRefundList")
public RespEntity orderRefundList(@RequestBody ReqEntity reqEntity) {
String requestId = reqEntity.getRequestId();
JSONObject reqData = reqEntity.initJSONData();
RespEntity result;
String deviceNo = reqData.getString("deviceNo");
if (deviceNo == null) {
result = new RespEntity(reqEntity.getOrgId(), CodeEnum.PARAM_ERROR, null, requestId);
accessService.addSign(result);
return result;
}
try {
Object bizResult = accessBizService.refundList(reqData);
result = new RespEntity(reqEntity.getOrgId(), CodeEnum.SUCCESS, bizResult, requestId);
accessService.addSign(result);
return result;
} catch (AccessException e) {
result = new RespEntity(reqEntity.getOrgId(), e.getCode(), null, requestId, e.getMessage());
accessService.addSign(result);
return result;
}
}
@PostMapping("/orderList")
public RespEntity orderList(@RequestBody ReqEntity reqEntity) {
String requestId = reqEntity.getRequestId();
JSONObject reqData = reqEntity.initJSONData();
RespEntity result;
String deviceNo = reqData.getString("deviceNo");
if (deviceNo == null) {
result = new RespEntity(reqEntity.getOrgId(), CodeEnum.PARAM_ERROR, null, requestId);
accessService.addSign(result);
return result;
}
try {
Object bizResult = accessBizService.orderList(reqData);
result = new RespEntity(reqEntity.getOrgId(), CodeEnum.SUCCESS, bizResult, requestId);
accessService.addSign(result);
return result;
} catch (AccessException e) {
result = new RespEntity(reqEntity.getOrgId(), e.getCode(), null, requestId, e.getMessage());
accessService.addSign(result);
return result;
}
}
@PostMapping("/dataAnalysis")
public RespEntity dataAnalysis(@RequestBody ReqEntity reqEntity) {
String requestId = reqEntity.getRequestId();
JSONObject reqData = reqEntity.initJSONData();
RespEntity result;
String deviceNo = reqData.getString("deviceNo");
if (deviceNo == null) {
result = new RespEntity(reqEntity.getOrgId(), CodeEnum.PARAM_ERROR, null, requestId);
accessService.addSign(result);
return result;
}
try {
Object bizResult = accessBizService.dataAnalysis(reqData);
result = new RespEntity(reqEntity.getOrgId(), CodeEnum.SUCCESS, bizResult, requestId);
accessService.addSign(result);
return result;
} catch (AccessException e) {
result = new RespEntity(reqEntity.getOrgId(), e.getCode(), null, requestId, e.getMessage());
accessService.addSign(result);
return result;
}
}
}

View File

@@ -95,23 +95,4 @@ public class DeviceStockController{
dsService.bindDevcieV2(dto); dsService.bindDevcieV2(dto);
return ResultGenerator.genSuccessResult("绑定成功",null); return ResultGenerator.genSuccessResult("绑定成功",null);
} }
@PostMapping("/bindtablecode")
public Result<Object> bindTableCode(@RequestBody DeviceStockDTO dto){
dsService.bindTableCode(dto);
return ResultGenerator.genSuccessResult("绑定成功",null);
}
/**
* 验证桌码
* @param code
* @return
*/
@GetMapping("/checkNum")
public Result<Object> checkNum(String code){
dsService.checkDevice(code);
return ResultGenerator.genSuccessResult();
}
} }

View File

@@ -18,7 +18,6 @@ import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects;
/** /**
* @author DJH * @author DJH
@@ -36,9 +35,7 @@ public class MerchantCashPlaceController {
@PostMapping @PostMapping
public Result<Object> add(@RequestBody MerchantCashPlace merchantCashPlace) { public Result<Object> add(@RequestBody MerchantCashPlace merchantCashPlace) {
//判定字符位数 //判定字符位数
if (Objects.equals(merchantCashPlace.getAddress(), null) || Objects.equals(merchantCashPlace.getName(), null)){ size(merchantCashPlace.getAddress());
throw new MsgException("地址或收银点名称不能为空");
}
size(merchantCashPlace.getName()); size(merchantCashPlace.getName());
cashPlaceService.saveOrUpdate(merchantCashPlace); cashPlaceService.saveOrUpdate(merchantCashPlace);
return ResultGenerator.genSuccessResult("保存成功", merchantCashPlace); return ResultGenerator.genSuccessResult("保存成功", merchantCashPlace);

View File

@@ -3,7 +3,6 @@ package cn.pluss.platform.controller.merchant;
import cn.pluss.platform.api.Result; import cn.pluss.platform.api.Result;
import cn.pluss.platform.api.ResultGenerator; import cn.pluss.platform.api.ResultGenerator;
import cn.pluss.platform.merchantChannelStatus.MerchantChannelStatusService; import cn.pluss.platform.merchantChannelStatus.MerchantChannelStatusService;
import cn.pluss.platform.vo.AccountChannelVO;
import cn.pluss.platform.vo.ChannelStatusVO; import cn.pluss.platform.vo.ChannelStatusVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -32,16 +31,6 @@ public class MerchantChannelStatusController {
return ResultGenerator.genSuccessResult(csVO); return ResultGenerator.genSuccessResult(csVO);
} }
/**
* 结算银行卡切换
* @return
*/
@GetMapping("/channelCheck")
public Result<AccountChannelVO> channelCheck(){
return ResultGenerator.genSuccessResult(channelStatusService.channelCheck());
}
/** /**
* 快速到账通道和常规通道切换 * 快速到账通道和常规通道切换
* @param params 通道标识目前是0常规通道 1 快速到账通道 * @param params 通道标识目前是0常规通道 1 快速到账通道
@@ -53,10 +42,4 @@ public class MerchantChannelStatusController {
ChannelStatusVO channelStatusVO = channelStatusService.appSwitchChannel(Integer.parseInt(flag)); ChannelStatusVO channelStatusVO = channelStatusService.appSwitchChannel(Integer.parseInt(flag));
return ResultGenerator.genSuccessResult(channelStatusVO); return ResultGenerator.genSuccessResult(channelStatusVO);
} }
@PostMapping("/request")
public Result<ChannelStatusVO> request(@RequestBody Map<String, Object> params){
String flag = (String) params.get("flag");
ChannelStatusVO channelStatusVO = channelStatusService.appSwitchRequest(Integer.parseInt(flag));
return ResultGenerator.genSuccessResult(channelStatusVO);
}
} }

View File

@@ -202,15 +202,15 @@ public class WxController {
public void appIdAddOrUpdate(){ public void appIdAddOrUpdate(){
JSONObject bizContentMap = new JSONObject(); JSONObject bizContentMap = new JSONObject();
bizContentMap.put("channelId", "CUPS_WECHAT"); bizContentMap.put("channelId", "CUPS_WECHAT");
bizContentMap.put("mercId", "QRY230510383416"); bizContentMap.put("mercId", "QRY230511483159");
bizContentMap.put("appletId", "wxfc7bd92a462eb191"); bizContentMap.put("appletId", "wxc2bb94c0ddda1032");
ysServiceV3.req(ReqMethod.appIdAddOrUpdate, bizContentMap,4); ysServiceV3.req(ReqMethod.appIdAddOrUpdate, bizContentMap);
} }
// @PostMapping("/auditResult") @PostMapping("/auditResult")
// public void test(String sysFlowId){ public void test(String sysFlowId){
// ysAuditServiceV3.result(sysFlowId); ysAuditServiceV3.result(sysFlowId);
// } }
/** /**
* 获取公众号权限 * 获取公众号权限

View File

@@ -1,14 +1,11 @@
package cn.pluss.platform.controller.merchant.callback; package cn.pluss.platform.controller.merchant.callback;
import cn.hutool.crypto.symmetric.DES; import cn.hutool.crypto.symmetric.DES;
import cn.hutool.json.JSONUtil;
import cn.pluss.platform.channel.MerchantAuditService; import cn.pluss.platform.channel.MerchantAuditService;
import cn.pluss.platform.channel.ys.YSAuditServiceV3; import cn.pluss.platform.channel.ys.YSAuditServiceV3;
import cn.pluss.platform.entity.MerchantChannelStatus;
import cn.pluss.platform.entity.RyxAccessModel; import cn.pluss.platform.entity.RyxAccessModel;
import cn.pluss.platform.klk.service.impl.LaKalaInterfaceImpl; import cn.pluss.platform.klk.service.impl.LaKalaInterfaceImpl;
import cn.pluss.platform.ryx.RyxService; import cn.pluss.platform.ryx.RyxService;
import cn.pluss.platform.sxf.audit.LklMerAuditServiceImpl;
import cn.pluss.platform.ys.impl.v20210929.YsConfigV2; import cn.pluss.platform.ys.impl.v20210929.YsConfigV2;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
@@ -47,9 +44,6 @@ public class AuditCallbackController {
@Setter(onMethod_ = {@Autowired}) @Setter(onMethod_ = {@Autowired})
private MerchantAuditService ysAuditServiceExtensionV2; private MerchantAuditService ysAuditServiceExtensionV2;
@Setter(onMethod_ = {@Autowired})
private LklMerAuditServiceImpl lklMerAuditService;
@Autowired @Autowired
private RyxService ryxService; private RyxService ryxService;
@@ -66,14 +60,6 @@ public class AuditCallbackController {
return sxfMerchantAuditService.merchantAuditCallback(result); return sxfMerchantAuditService.merchantAuditCallback(result);
} }
@PostMapping("updateSxf")
// TODO 后续需要接sxf的回调
public Map<String, Object> updateSxfCallback(@RequestBody JSONObject result) throws Exception {
System.out.println("回调成功+++++++++\n");
System.out.println(result);
return result;
}
@PostMapping("ys") @PostMapping("ys")
public String ysAuditCallback(@RequestParam Map<String, Object> result) throws Exception { public String ysAuditCallback(@RequestParam Map<String, Object> result) throws Exception {
result = (JSONObject) JSON.toJSON(result); result = (JSONObject) JSON.toJSON(result);
@@ -102,34 +88,19 @@ public class AuditCallbackController {
log.info("云商服V3进件接口回调参数{}",result.toJSONString()); log.info("云商服V3进件接口回调参数{}",result.toJSONString());
executorService.execute(() -> { executorService.execute(() -> {
try { try {
ysAuditServiceV3.callback(result,4); ysAuditServiceV3.callback(result);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
}); });
return "success"; return "success";
} }
@PostMapping("/ysV3D1")
public String ysAuditCallbackV3D1(@RequestBody JSONObject result) throws Exception {
log.info("云商服V3进件接口回调参数{}",result.toJSONString());
executorService.execute(() -> {
try {
ysAuditServiceV3.callback(result,6);
} catch (Exception e) {
e.printStackTrace();
}
});
return "success";
}
@PostMapping("/ysSignV3") @PostMapping("/ysSignV3")
public String ysSignV3(@RequestBody JSONObject result) throws Exception { public String ysSignV3(@RequestBody JSONObject result) throws Exception {
log.info("云商服V3签约接口回调参数{}",result.toJSONString()); log.info("云商服V3签约接口回调参数{}",result.toJSONString());
executorService.execute(() -> { executorService.execute(() -> {
try { try {
ysAuditServiceV3.callback(result,4); ysAuditServiceV3.callback(result);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
@@ -174,20 +145,7 @@ public class AuditCallbackController {
LaKalaInterfaceImpl laKalaInterface; LaKalaInterfaceImpl laKalaInterface;
@PostMapping("lklCallBack") @PostMapping("lklCallBack")
public String lklCallBack(@RequestBody Map<String, Object> map) throws Exception { public String lklCallBack(@RequestBody Map<String, Object> map) throws Exception {
return lklMerAuditService.merchantAuditCallback(map); 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);
} }
@PostMapping("lklModfiyCallBack")
public String lklModfiyCallBack(@RequestBody Map<String, Object> map) throws Exception{
log.info("修改回调信息:{}", JSONUtil.toJsonStr(map));
return lklMerAuditService.auditEditHander(map);
}
@GetMapping("queryMerchantChannelStatus")
public MerchantChannelStatus queryMerchantChannelStatus(String customerNo, String externalCustomerNo ) throws Exception {
return lklMerAuditService.queryMerchantChannelStatus(customerNo, externalCustomerNo);
}
} }

View File

@@ -1,43 +0,0 @@
package cn.pluss.platform.controller.store;
import cn.pluss.platform.AppletStoreUser.AppletStoreUserService;
import cn.pluss.platform.api.Result;
import cn.pluss.platform.api.ResultGenerator;
import cn.pluss.platform.appletStore.AppletStoreService;
import cn.pluss.platform.entity.AppletStore;
import cn.pluss.platform.entity.AppletStoreUser;
import cn.pluss.platform.vo.AppletStoreVO;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* @author lyf
*/
@RestController
@RequestMapping("/MercApplet")
public class MercAppletController {
@Resource
private AppletStoreService appletStoreService;
@Resource
private AppletStoreUserService appletStoreUserService;
@GetMapping("/list")
public Result<Object> menuList(Integer userId){
List<AppletStoreVO> list = appletStoreService.getList(userId);
return ResultGenerator.genSuccessResult(list);
}
@PostMapping("/add")
public Result<Object> addStore(@RequestBody AppletStoreUser appletStoreUser){
Integer integer = appletStoreUserService.addAppletStoreUser(appletStoreUser);
if (integer > 0){
return ResultGenerator.genSuccessResult("");
}
return ResultGenerator.genFailResult("");
}
}

View File

@@ -121,8 +121,8 @@ public class MercOrderDetailController {
* 查看物流信息(快递鸟) * 查看物流信息(快递鸟)
*/ */
@GetMapping("/logistic") @GetMapping("/logistic")
public Result<Object> logistic(@RequestParam String orderNo)throws Exception{ public Result<Object> logistic(@RequestParam String expressNo)throws Exception{
JSONObject expressInfo = mercOrderExpressService.getExpressInfo(orderNo); JSONObject expressInfo = mercOrderExpressService.getExpressInfo(expressNo);
if (expressInfo.isEmpty()){ if (expressInfo.isEmpty()){
return ResultGenerator.genFailResult("无法查询快递信息"); return ResultGenerator.genFailResult("无法查询快递信息");
}else { }else {

View File

@@ -11,7 +11,6 @@ import cn.pluss.platform.entity.UserApp;
import cn.pluss.platform.exception.MsgException; import cn.pluss.platform.exception.MsgException;
import cn.pluss.platform.userApp.UserAppService; import cn.pluss.platform.userApp.UserAppService;
import cn.pluss.platform.vo.MercOrderNewVO; import cn.pluss.platform.vo.MercOrderNewVO;
import com.alipay.api.AlipayApiException;
import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;

View File

@@ -1,5 +1,9 @@
package cn.pluss.platform.interceptor; package cn.pluss.platform.interceptor;
import cn.pluss.platform.access.AccessService;
import cn.pluss.platform.access.domain.CodeEnum;
import cn.pluss.platform.access.domain.ReqEntity;
import cn.pluss.platform.access.domain.RespEntity;
import cn.pluss.platform.api.Result; import cn.pluss.platform.api.Result;
import cn.pluss.platform.api.ResultCode; import cn.pluss.platform.api.ResultCode;
import cn.pluss.platform.constants.CommonError; import cn.pluss.platform.constants.CommonError;
@@ -10,14 +14,20 @@ import cn.pluss.platform.merchant.MerchantStaffConnService;
import cn.pluss.platform.userApp.UserAppService; import cn.pluss.platform.userApp.UserAppService;
import cn.pluss.platform.userInfo.UserInfoService; import cn.pluss.platform.userInfo.UserInfoService;
import cn.pluss.platform.util.ComUtil; import cn.pluss.platform.util.ComUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URLDecoder; import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -35,6 +45,9 @@ public class TokenRegistryInterceptor extends HandlerInterceptorAdapter {
@Resource @Resource
private MerchantStaffConnService staffConnService; private MerchantStaffConnService staffConnService;
@Autowired
private AccessService accessService;
@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String requestUri = request.getRequestURI(); String requestUri = request.getRequestURI();
@@ -67,19 +80,6 @@ public class TokenRegistryInterceptor extends HandlerInterceptorAdapter {
limitUri.add("/api/questionsAnswers"); limitUri.add("/api/questionsAnswers");
limitUri.add("/api/helpVideo"); limitUri.add("/api/helpVideo");
limitUri.add("/api/systemConfig/updateSystemVersion"); limitUri.add("/api/systemConfig/updateSystemVersion");
limitUri.add("/api/lkl/querySubMerInfo");
limitUri.add("/api/lkl/lklCallBack");
limitUri.add("/api/auditCallback/lklModfiyCallBack");
limitUri.add("/api/lkl/lklCallBackVoiceBox");
limitUri.add("/api/lkl/queryMerchantChannelStatus");
limitUri.add("/api/auditCallback/tradeCallBack");
limitUri.add("/api/merchantOrder/posTradeQuery");
limitUri.add("/api/merchantOrder/posTradeQueryNumber");
limitUri.add("/api/device/stock/checkNum");
limitUri.add("/api/device/stock/bindtablecode");
limitUri.add("/api/userApp/getUserId");
limitUri.add("/api/payConfig/appconfig");
limitUri.add("/api/zxfAttestation/testSuccess");
boolean passFlag = limitUri.stream().anyMatch(s -> s.equals(requestUri) || requestUri.startsWith(s)); boolean passFlag = limitUri.stream().anyMatch(s -> s.equals(requestUri) || requestUri.startsWith(s));
if (passFlag) { if (passFlag) {
return true; return true;
@@ -88,6 +88,46 @@ public class TokenRegistryInterceptor extends HandlerInterceptorAdapter {
String contentType = request.getContentType(); String contentType = request.getContentType();
if (contentType != null
&& contentType.contains("application/json")
&& requestUri.startsWith("/api/access")) {
StringBuilder responseStrBuilder = new StringBuilder();
InputStream is = request.getInputStream();
BufferedReader streamReader = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8));
String inputStr;
while ((inputStr = streamReader.readLine()) != null) {
responseStrBuilder.append(inputStr);
}
ReqEntity reqEntity;
try {
reqEntity = JSON.toJavaObject(JSON.parseObject(responseStrBuilder.toString()), ReqEntity.class);
} catch (Exception e) {
RespEntity entity = new RespEntity(null, CodeEnum.PARAM_ERROR, null, null);
ComUtil.responseResult(response, entity);
return false;
}
if (reqEntity == null || reqEntity.getOrgId() == null) {
RespEntity entity = new RespEntity(null, CodeEnum.ORG_ID_NOT_FOUND, null, null);
ComUtil.responseResult(response, entity);
return false;
}
boolean signCheck = accessService.checkSign(reqEntity);
// 操作
if (signCheck) {
return true;
} else {
RespEntity entity = new RespEntity(reqEntity.getOrgId(), CodeEnum.SIGN_ERROR, null, reqEntity.getRequestId());
accessService.addSign(entity);
ComUtil.responseResult(response, entity);
return false;
}
}
synchronized (this) { synchronized (this) {
String requestToken = request.getHeader("token"); String requestToken = request.getHeader("token");
// 登录账号 // 登录账号

View File

@@ -1,22 +1,17 @@
spring: spring:
# datasource: # datasource:
# url: jdbc:mysql://60.205.224.68:3306/chaozhanggui?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8 # url: jdbc:mysql://60.205.224.68:3306/chaozhanggui?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
# username: chaozhanggui # username: root
# password: CZGmysqlroot@123 # password: CZGmysqlroot@123
# driver-class-name: com.mysql.jdbc.Driver # driver-class-name: com.mysql.jdbc.Driver
datasource: datasource:
url: jdbc:mysql://101.37.12.135:3306/ysk_test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8 url: jdbc:mysql://rm-bp19ib8x213kh9t450o.rwlb.rds.aliyuncs.com:3306/chaozhanggui?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
username: ysk_test username: root
password: mysqlroot@123 password: prodCZGmysqlroot@123
driver-class-name: com.mysql.jdbc.Driver driver-class-name: com.mysql.jdbc.Driver
# datasource:
# url: jdbc:mysql://101.37.12.135:3306/ysk_test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
# username: ysk_test
# password: CZGmysqlroot@123
# driver-class-name: com.mysql.jdbc.Driver
parameter: parameter:
### 这个根据自己的情况配置 ### 这个根据自己的情况配置
domain: https://admintestapi.sxczgkj.cn domain: https://ky.sxczgkj.cn
swagger: swagger:
### 生产环境不允许访问swagger ### 生产环境不允许访问swagger
@@ -24,6 +19,3 @@ swagger:
logging: logging:
config: classpath:log4j2-dev.xml config: classpath:log4j2-dev.xml
hf:
pay:
callBack: https://admintestapi.sxczgkj.cn/wap/notify/hfCallBack

View File

@@ -1,6 +1,7 @@
spring: spring:
datasource: datasource:
url: jdbc:mysql://rm-bp1uo9iq250st2e691o.mysql.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
url: jdbc:mysql://rm-bp19ib8x213kh9t450o.rwlb.rds.aliyuncs.com:3306/chaozhanggui?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
username: root username: root
password: prodCZGmysqlroot@123 password: prodCZGmysqlroot@123
driver-class-name: com.mysql.jdbc.Driver driver-class-name: com.mysql.jdbc.Driver
@@ -18,6 +19,3 @@ swagger:
logging: logging:
config: classpath:log4j2-prod.xml config: classpath:log4j2-prod.xml
hf:
pay:
callBack: https://ky.sxczgkj.cn/wap/notify/hfCallBack

View File

@@ -1,17 +1,14 @@
# 测试服务器上的数据库连接 # 测试服务器上的数据库连接
spring: spring:
datasource: datasource:
url: jdbc:mysql://101.37.12.135:3306/ysk_test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8 url: jdbc:mysql://60.205.224.68:3306/chaozhanggui?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
username: ysk_test username: root
password: mysqlroot@123 password: CZGmysqlroot@123
driver-class-name: com.mysql.jdbc.Driver driver-class-name: com.mysql.jdbc.Driver
parameter: parameter:
domain: https://p40312246f.goho.co domain: https://ky.sxczgkj.cn
swagger: swagger:
### 生产环境不允许访问swagger ### 生产环境不允许访问swagger
production: true production: true
hf:
pay:
callBack: https://p40312246f.goho.co/wap/notify/hfCallBack

View File

@@ -5,7 +5,7 @@ spring:
profiles: profiles:
### 将一些固定的配置放到下级文件夹下的yml文件中 ### 将一些固定的配置放到下级文件夹下的yml文件中
include: common, ryx, ys include: common, ryx, ys
active: prod active: dev
mvc: mvc:
view: view:
prefix: /WEB-INF/jsp/ prefix: /WEB-INF/jsp/
@@ -25,5 +25,3 @@ server:
servlet: servlet:
context-path: /api context-path: /api
port: 7004 port: 7004
environment: test

View File

@@ -52,12 +52,12 @@
<!--然后定义logger只有定义了logger并引入的appenderappender才会生效--> <!--然后定义logger只有定义了logger并引入的appenderappender才会生效-->
<loggers> <loggers>
<!--过滤掉spring和mybatis的一些无用的DEBUG信息--> <!--过滤掉spring和mybatis的一些无用的DEBUG信息-->
<logger name="cn.pluss.platform.mapper" level="WARN"></logger> <logger name="cn.pluss.platform.mapper" level="DEBUG"></logger>
<logger name="cn.pluss.platform.ryx" level="WARN"></logger> <logger name="cn.pluss.platform.ryx" level="DEBUG"></logger>
<logger name="cn.pluss.platform.ys" level="WARN"></logger> <logger name="cn.pluss.platform.ys" level="DEBUG"></logger>
<logger name="org.apache.http.impl.conn.PoolingHttpClientConnectionManager" level="INFO"></logger> <logger name="org.apache.http.impl.conn.PoolingHttpClientConnectionManager" level="INFO"></logger>
<root level="WARN"> <root level="DEBUG">
<appender-ref ref="Console"/> <appender-ref ref="Console"/>
<appender-ref ref="RollingFileInfo"/> <appender-ref ref="RollingFileInfo"/>
<appender-ref ref="RollingFileWarn"/> <appender-ref ref="RollingFileWarn"/>

View File

@@ -77,22 +77,4 @@ public class ResultGenerator {
result.put("data",data); result.put("data",data);
return result; return result;
} }
public static JSONObject genSuccessJsonPos(Object data, String appId, String requestId) {
JSONObject result = new JSONObject();
result.put("code","0000");
result.put("msg","操作成功");
result.put("appId", appId);
result.put("requestId", requestId);
result.put("respData", data);
return result;
}
public static JSONObject genFailJsonPos(String msg, String appId, String requestId) {
JSONObject result = new JSONObject();
result.put("code","400");
result.put("msg", msg);
result.put("appId", appId);
result.put("requestId", requestId);
return result;
}
} }

View File

@@ -7,8 +7,6 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import java.util.ArrayList;
import java.util.List;
/** /**
* @author Djh * @author Djh
@@ -278,7 +276,6 @@ public class ParameterConfig {
@Value("${parameter.SJ_APPSECRET}") @Value("${parameter.SJ_APPSECRET}")
public String SJ_APPSECRET; public String SJ_APPSECRET;
/** /**
* 快递相关(快递鸟) * 快递相关(快递鸟)
*/ */
@@ -287,9 +284,6 @@ public class ParameterConfig {
@Value("${express.APIKEY}") @Value("${express.APIKEY}")
public String APIKEY; public String APIKEY;
public List<String> url;
@PostConstruct @PostConstruct
public void init() { public void init() {
ParametersUtil.upload_save_path = upload_save_path; ParametersUtil.upload_save_path = upload_save_path;
@@ -339,11 +333,6 @@ public class ParameterConfig {
ParametersUtil.USERID = USERID; ParametersUtil.USERID = USERID;
ParametersUtil.APIKEY = APIKEY; ParametersUtil.APIKEY = APIKEY;
url=new ArrayList<>();
url.add("https://kysh.sxczgkj.cn/javaApi/java-api/add-store");
url.add("https://door.sxczgkj.cn/api/javaapp/apple/registeredstore");
ParametersUtil.url = url;
SxfConfg.init(sxfDomain, publicKey, orgId); SxfConfg.init(sxfDomain, publicKey, orgId);
RyxConfig.init(this); RyxConfig.init(this);

View File

@@ -17,7 +17,7 @@ public enum Ys4GEnum {
* @date: 2021/12/6 18:24 * @date: 2021/12/6 18:24
*/ */
//BSJ_4G_YYS("ZF042","2021bsjZF042",""), //BSJ_4G_YYS("ZF042","2021bsjZF042",""),
BSJ_4G_YYS("ZF544","2022bsjZF544GAH","https://ioe.car900.com/v1/openApi/dev/controlDevice.json"), BSJ_4G_YYS("ZF544","2022bsjZF544GAH","https://ioe.car900.com/v1/openApi/dev/controlDevice.json"),
/** /**
* @description:天喻4G正式环境 * @description:天喻4G正式环境
* @date: 2021/12/6 18:25 * @date: 2021/12/6 18:25

View File

@@ -1,396 +0,0 @@
package cn.pluss.platform.util;
import org.apache.tomcat.util.codec.binary.Base64;
import sun.misc.BASE64Encoder;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
public class BASE64 {
static private final int BASELENGTH = 128;
static private final int LOOKUPLENGTH = 64;
static private final int TWENTYFOURBITGROUP = 24;
static private final int EIGHTBIT = 8;
static private final int SIXTEENBIT = 16;
static private final int FOURBYTE = 4;
static private final int SIGN = -128;
static private final char PAD = '=';
static private final boolean fDebug = false;
static final private byte[] base64Alphabet = new byte[BASELENGTH];
static final private char[] lookUpBase64Alphabet = new char[LOOKUPLENGTH];
static {
for (int i = 0; i < BASELENGTH; ++i) {
base64Alphabet[i] = -1;
}
for (int i = 'Z'; i >= 'A'; i--) {
base64Alphabet[i] = (byte) (i - 'A');
}
for (int i = 'z'; i >= 'a'; i--) {
base64Alphabet[i] = (byte) (i - 'a' + 26);
}
for (int i = '9'; i >= '0'; i--) {
base64Alphabet[i] = (byte) (i - '0' + 52);
}
base64Alphabet['+'] = 62;
base64Alphabet['/'] = 63;
for (int i = 0; i <= 25; i++) {
lookUpBase64Alphabet[i] = (char) ('A' + i);
}
for (int i = 26, j = 0; i <= 51; i++, j++) {
lookUpBase64Alphabet[i] = (char) ('a' + j);
}
for (int i = 52, j = 0; i <= 61; i++, j++) {
lookUpBase64Alphabet[i] = (char) ('0' + j);
}
lookUpBase64Alphabet[62] = (char) '+';
lookUpBase64Alphabet[63] = (char) '/';
}
/**
* 将本地图片进行Base64位编码
*
* @param imgUrl 图片的url路径如D:\\photo\\1.png
*
* @return
*/
public static String encodeImgageToBase64(File imageFile) {
// 将图片文件转化为字节数组字符串并对其进行Base64编码处理
// 其进行Base64编码处理
byte[] data = null;
// 读取图片字节数组
try {
InputStream in = new FileInputStream(imageFile);
data = new byte[in.available()];
in.read(data);
in.close();
} catch (Exception e) {
e.printStackTrace();
}
// 对字节数组Base64编码
BASE64Encoder encoder = new BASE64Encoder();
// 返回Base64编码过的字节数组字符串
return encoder.encode(data);
}
private static boolean isWhiteSpace(char octect) {
return (octect == 0x20 || octect == 0xd || octect == 0xa || octect == 0x9);
}
private static boolean isPad(char octect) {
return (octect == PAD);
}
private static boolean isData(char octect) {
return (octect < BASELENGTH && base64Alphabet[octect] != -1);
}
/**
* Encodes hex octects into Base64
*
* @param binaryData Array containing binaryData
* @return Encoded Base64 array
*/
public static String encode(byte[] binaryData) {
if (binaryData == null) {
return null;
}
int lengthDataBits = binaryData.length * EIGHTBIT;
if (lengthDataBits == 0) {
return "";
}
int fewerThan24bits = lengthDataBits % TWENTYFOURBITGROUP;
int numberTriplets = lengthDataBits / TWENTYFOURBITGROUP;
int numberQuartet = fewerThan24bits != 0 ? numberTriplets + 1 : numberTriplets;
char encodedData[] = null;
encodedData = new char[numberQuartet * 4];
byte k = 0, l = 0, b1 = 0, b2 = 0, b3 = 0;
int encodedIndex = 0;
int dataIndex = 0;
if (fDebug) {
System.out.println("number of triplets = " + numberTriplets);
}
for (int i = 0; i < numberTriplets; i++) {
b1 = binaryData[dataIndex++];
b2 = binaryData[dataIndex++];
b3 = binaryData[dataIndex++];
if (fDebug) {
System.out.println("b1= " + b1 + ", b2= " + b2 + ", b3= " + b3);
}
l = (byte) (b2 & 0x0f);
k = (byte) (b1 & 0x03);
byte val1 = ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0);
byte val2 = ((b2 & SIGN) == 0) ? (byte) (b2 >> 4) : (byte) ((b2) >> 4 ^ 0xf0);
byte val3 = ((b3 & SIGN) == 0) ? (byte) (b3 >> 6) : (byte) ((b3) >> 6 ^ 0xfc);
if (fDebug) {
System.out.println("val2 = " + val2);
System.out.println("k4 = " + (k << 4));
System.out.println("vak = " + (val2 | (k << 4)));
}
encodedData[encodedIndex++] = lookUpBase64Alphabet[val1];
encodedData[encodedIndex++] = lookUpBase64Alphabet[val2 | (k << 4)];
encodedData[encodedIndex++] = lookUpBase64Alphabet[(l << 2) | val3];
encodedData[encodedIndex++] = lookUpBase64Alphabet[b3 & 0x3f];
}
// form integral number of 6-bit groups
if (fewerThan24bits == EIGHTBIT) {
b1 = binaryData[dataIndex];
k = (byte) (b1 & 0x03);
if (fDebug) {
System.out.println("b1=" + b1);
System.out.println("b1<<2 = " + (b1 >> 2));
}
byte val1 = ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0);
encodedData[encodedIndex++] = lookUpBase64Alphabet[val1];
encodedData[encodedIndex++] = lookUpBase64Alphabet[k << 4];
encodedData[encodedIndex++] = PAD;
encodedData[encodedIndex++] = PAD;
} else if (fewerThan24bits == SIXTEENBIT) {
b1 = binaryData[dataIndex];
b2 = binaryData[dataIndex + 1];
l = (byte) (b2 & 0x0f);
k = (byte) (b1 & 0x03);
byte val1 = ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0);
byte val2 = ((b2 & SIGN) == 0) ? (byte) (b2 >> 4) : (byte) ((b2) >> 4 ^ 0xf0);
encodedData[encodedIndex++] = lookUpBase64Alphabet[val1];
encodedData[encodedIndex++] = lookUpBase64Alphabet[val2 | (k << 4)];
encodedData[encodedIndex++] = lookUpBase64Alphabet[l << 2];
encodedData[encodedIndex++] = PAD;
}
return new String(encodedData);
}
/**
* Decodes Base64 data into octects
*
* @param encoded string containing Base64 data
* @return Array containind decoded data.
*/
public static byte[] decode(String encoded) {
if (encoded == null) {
return null;
}
char[] base64Data = encoded.toCharArray();
// remove white spaces
int len = removeWhiteSpace(base64Data);
if (len % FOURBYTE != 0) {
return null;//should be divisible by four
}
int numberQuadruple = (len / FOURBYTE);
if (numberQuadruple == 0) {
return new byte[0];
}
byte decodedData[] = null;
byte b1 = 0, b2 = 0, b3 = 0, b4 = 0;
char d1 = 0, d2 = 0, d3 = 0, d4 = 0;
int i = 0;
int encodedIndex = 0;
int dataIndex = 0;
decodedData = new byte[(numberQuadruple) * 3];
for (; i < numberQuadruple - 1; i++) {
if (!isData((d1 = base64Data[dataIndex++])) || !isData((d2 = base64Data[dataIndex++]))
|| !isData((d3 = base64Data[dataIndex++]))
|| !isData((d4 = base64Data[dataIndex++]))) {
return null;
}//if found "no data" just return null
b1 = base64Alphabet[d1];
b2 = base64Alphabet[d2];
b3 = base64Alphabet[d3];
b4 = base64Alphabet[d4];
decodedData[encodedIndex++] = (byte) (b1 << 2 | b2 >> 4);
decodedData[encodedIndex++] = (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf));
decodedData[encodedIndex++] = (byte) (b3 << 6 | b4);
}
if (!isData((d1 = base64Data[dataIndex++])) || !isData((d2 = base64Data[dataIndex++]))) {
return null;//if found "no data" just return null
}
b1 = base64Alphabet[d1];
b2 = base64Alphabet[d2];
d3 = base64Data[dataIndex++];
d4 = base64Data[dataIndex++];
if (!isData((d3)) || !isData((d4))) {//Check if they are PAD characters
if (isPad(d3) && isPad(d4)) {
if ((b2 & 0xf) != 0)//last 4 bits should be zero
{
return null;
}
byte[] tmp = new byte[i * 3 + 1];
System.arraycopy(decodedData, 0, tmp, 0, i * 3);
tmp[encodedIndex] = (byte) (b1 << 2 | b2 >> 4);
return tmp;
} else if (!isPad(d3) && isPad(d4)) {
b3 = base64Alphabet[d3];
if ((b3 & 0x3) != 0)//last 2 bits should be zero
{
return null;
}
byte[] tmp = new byte[i * 3 + 2];
System.arraycopy(decodedData, 0, tmp, 0, i * 3);
tmp[encodedIndex++] = (byte) (b1 << 2 | b2 >> 4);
tmp[encodedIndex] = (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf));
return tmp;
} else {
return null;
}
} else { //No PAD e.g 3cQl
b3 = base64Alphabet[d3];
b4 = base64Alphabet[d4];
decodedData[encodedIndex++] = (byte) (b1 << 2 | b2 >> 4);
decodedData[encodedIndex++] = (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf));
decodedData[encodedIndex++] = (byte) (b3 << 6 | b4);
}
return decodedData;
}
/**
* remove WhiteSpace from MIME containing encoded Base64 data.
*
* @param data the byte array of base64 data (with WS)
* @return the new length
*/
private static int removeWhiteSpace(char[] data) {
if (data == null) {
return 0;
}
// count characters that's not whitespace
int newSize = 0;
int len = data.length;
for (int i = 0; i < len; i++) {
if (!isWhiteSpace(data[i])) {
data[newSize++] = data[i];
}
}
return newSize;
}
/**
*
* 功能描述Base64加密将byte[]转换成字符串) 方法。
* <P/>
* 创建时间2017-02-14
* <P/>
* 创建人: 董耀明
*
* @param data byte[]类型 要加密的数据
*
* @return String类型 加密后结果
*
*/
public static String encryptBASE64(byte[] data)
{
return Base64.encodeBase64String(data);
//return (new BASE64Encoder()).encodeBuffer(data);
}
/**
*
* 功能描述Base64加密将byte[]转换成字符串) 方法。
* <P/>
* 创建时间2017-02-14
* <P/>
* 创建人: 董耀明
*
* @param data String类型 要加密的数据
*
* @return String类型 加密后结果
*
*/
public static String encryptBASE64(String data)
{
try {
//return (new BASE64Encoder()).encodeBuffer(data.getBytes("UTF-8"));
return Base64.encodeBase64String(data.getBytes("UTF-8"));
} catch (Exception e) {
return null;
}
}
/**
*
* 功能描述Base64加密将byte[]转换成字符串) 方法。
* <P/>
* 创建时间2017-02-14
* <P/>
* 创建人: 董耀明
*
* @param data String类型 要加密的数据
*
* @param encode String类型 编码类型
*
* @return String类型 加密后结果
*
*/
public static String encryptBASE64(String data,String encode)
{
try
{
if (encode == null || "".equals(encode))
{
return Base64.encodeBase64String(data.getBytes());
} else
{
return Base64.encodeBase64String(data.getBytes(encode));
}
} catch (UnsupportedEncodingException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
}

View File

@@ -139,7 +139,7 @@ public class ComUtil {
public static boolean equalsIgnoreCase(String str1, String str2) { public static boolean equalsIgnoreCase(String str1, String str2) {
return str1 != null ? str1.equalsIgnoreCase(str2) : str2 == null; return str1 != null ? str1.equalsIgnoreCase(str2) : str2 == null;
} }
public static String getIpAddress(HttpServletRequest request) { public static String getIpAddress(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for"); String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
@@ -165,7 +165,7 @@ public class ComUtil {
return ip; return ip;
} }
public static void responseResult(HttpServletResponse response, Result result) { public static void responseResult(HttpServletResponse response, Object result) {
response.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8");
response.setHeader(HttpHeaders.CONTENT_TYPE, "application/json;charset=UTF-8"); response.setHeader(HttpHeaders.CONTENT_TYPE, "application/json;charset=UTF-8");
response.setStatus(200); response.setStatus(200);

View File

@@ -610,74 +610,8 @@ public class DateUtils {
int hours = (int) ((date2.getTime() - date1.getTime()) / (1000*3600)); int hours = (int) ((date2.getTime() - date1.getTime()) / (1000*3600));
return Math.abs(hours); return Math.abs(hours);
} }
private final static SimpleDateFormat sdfTimes = new SimpleDateFormat("yyyyMMddHHmmss");
private final static SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
private final static SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static String getSdfTimes() {
return sdfTimes.format(new Date());
}
public static Date convertDate(String date) {
try {
return sdf.parse(date);
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
public static String convertString(String str){
StringBuilder stringBuilder=new StringBuilder();
stringBuilder.append(str.substring(0,4));
stringBuilder.append("-");
stringBuilder.append(str.substring(4,6));
stringBuilder.append("-");
stringBuilder.append(str.substring(6,8));
return stringBuilder.toString();
}
public static Date convertDate1(String date) {
try {
return sdf1.parse(date);
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
public static Date convertDateByString(String str){
StringBuilder sb=new StringBuilder();
sb.append(str.substring(0,4));
sb.append("-");
sb.append(str.substring(4,6));
sb.append("-");
sb.append(str.substring(6,8));
sb.append(" ");
sb.append(str.substring(8,10));
sb.append(":");
sb.append(str.substring(10,12));
sb.append(":");
sb.append(str.substring(12,14));
return convertDate1(sb.toString());
}
public static void main(String[] args) throws ParseException { public static void main(String[] args) throws ParseException {
System.out.println(DateUtils.convertDateByString("20240121141246"));
//List<String> last6Months = getLast6Months(); //List<String> last6Months = getLast6Months();
// List<String> last6Months = new ArrayList<>(); // List<String> last6Months = new ArrayList<>();
// last6Months.add("2019-11"); // last6Months.add("2019-11");

View File

@@ -93,19 +93,6 @@ public class FileUtil {
} }
public static String readFile(String fileName) throws IOException {
StringBuilder fileContent = new StringBuilder();
BufferedReader br = new BufferedReader(new FileReader(fileName));
String line;
while ((line = br.readLine()) != null) {
fileContent.append(line).append(System.lineSeparator());
}
return fileContent.toString();
}
/** /**
* 根据文件路径读取byte[] 数组 * 根据文件路径读取byte[] 数组
*/ */

View File

@@ -32,7 +32,7 @@ public class MobPushClient {
PushNotify notify = new PushNotify(); PushNotify notify = new PushNotify();
notify.setIosProduction(0); notify.setIosProduction(0);
notify.setPlats(Sets.newHashSet(2)); notify.setPlats(Sets.newHashSet(2));
notify.setContent("银收客到账100022.00元"); notify.setContent("收银呗到账100022.00元");
notify.setType(1); notify.setType(1);
Push push = new Push(); Push push = new Push();
push.setPushNotify(notify); push.setPushNotify(notify);

View File

@@ -114,7 +114,7 @@ public class MobV2PushUtilAndroid {
PushMessage pushMessage = new PushMessage(); PushMessage pushMessage = new PushMessage();
pushDTO.setPushMessage(pushMessage); pushDTO.setPushMessage(pushMessage);
//此格式的透传消息由 unipush 做了特殊处理,会自动展示通知栏。开发者也可自定义其它格式,在客户端自己处理。 //此格式的透传消息由 unipush 做了特殊处理,会自动展示通知栏。开发者也可自定义其它格式,在客户端自己处理。
//pushMessage.setTransmission(" {title:\"标题\",content:\"内容\",payload:\"银收客到账1万元\"}"); //pushMessage.setTransmission(" {title:\"标题\",content:\"内容\",payload:\"银到账1万元\"}");
//pushMessage.setTransmission("{title:" + title + ", content:" + content + ext); //pushMessage.setTransmission("{title:" + title + ", content:" + content + ext);

View File

@@ -37,9 +37,9 @@ import java.util.Map;
@Slf4j @Slf4j
public class MobV2PushUtilIOS { public class MobV2PushUtilIOS {
public static final String appKey = "9f5Nw6Bvb982HvsN3sG1y5"; public static final String appKey = "QwyHsKpc0I9BQMk9Xysx74";
public static final String appId = "jzSkfM0Wsk8uSDL2zwGu07 "; public static final String appId = "yuBG87yWEt6SXrwBSSvjy1 ";
public static final String masterSecret = "rKk62FdLE486boNJHWBPb1"; public static final String masterSecret = "PpidsIbMSs7EQddDMHAh81";
public String getToken() throws IOException, NoSuchAlgorithmException { public String getToken() throws IOException, NoSuchAlgorithmException {
@@ -111,7 +111,7 @@ public class MobV2PushUtilIOS {
PushMessage pushMessage = new PushMessage(); PushMessage pushMessage = new PushMessage();
pushDTO.setPushMessage(pushMessage); pushDTO.setPushMessage(pushMessage);
//此格式的透传消息由 unipush 做了特殊处理,会自动展示通知栏。开发者也可自定义其它格式,在客户端自己处理。 //此格式的透传消息由 unipush 做了特殊处理,会自动展示通知栏。开发者也可自定义其它格式,在客户端自己处理。
//pushMessage.setTransmission(" {title:\"标题\",content:\"内容\",payload:\"银收客到账1万元\"}"); //pushMessage.setTransmission(" {title:\"标题\",content:\"内容\",payload:\"银到账1万元\"}");
//pushMessage.setTransmission("{title:" + title + ", content:" + content + ext); //pushMessage.setTransmission("{title:" + title + ", content:" + content + ext);

View File

@@ -1,47 +0,0 @@
package cn.pluss.platform.util;
import java.math.BigDecimal;
import static java.math.BigDecimal.ROUND_DOWN;
public class N {
public static final int SCALE = 6;
public static final boolean isZero(BigDecimal num) {
return num == null || BigDecimal.ZERO.compareTo(num) == 0;
}
public static final boolean isNull(BigDecimal num) {
return num == null;
}
public static final boolean eq(BigDecimal n1, BigDecimal n2) {
return (!isNull(n1) && !isNull(n2) && n1.compareTo(n2) == 0);//n1==n2
}
public static final boolean gt(BigDecimal n1, BigDecimal n2) {
return (!isNull(n1) && !isNull(n2) && n1.compareTo(n2) > 0);//n1>n2
}
public static final boolean egt(BigDecimal n1, BigDecimal n2) {
return (!isNull(n1) && !isNull(n2) && n1.compareTo(n2) >= 0);
}
public static final BigDecimal mul(BigDecimal b1, BigDecimal b2) {
if (isNull(b1) || isNull(b2))
throw new IllegalArgumentException();
return b1.multiply(b2).setScale(SCALE, ROUND_DOWN);
}
public static final BigDecimal div(BigDecimal b1, BigDecimal b2) {
if (isNull(b1) || isZero(b2))
throw new IllegalArgumentException();
return b1.divide(b2, SCALE, ROUND_DOWN);
}
}

View File

@@ -1,7 +1,6 @@
package cn.pluss.platform.util; package cn.pluss.platform.util;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.List;
/** /**
* @author yuchen * @author yuchen
@@ -206,7 +205,5 @@ public class ParametersUtil {
*/ */
public static String USERID; public static String USERID;
public static String APIKEY; public static String APIKEY;
public static List<String> url;
} }

View File

@@ -1,376 +0,0 @@
package cn.pluss.platform.util;
import com.alipay.api.internal.util.codec.Base64;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import java.security.InvalidKeyException;
import java.security.KeyPair;
import java.security.NoSuchAlgorithmException;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import static cn.hutool.crypto.KeyUtil.getKeyPair;
import static cn.pluss.platform.util.RSASignature.signVerify;
import static cn.pluss.platform.util.RSAUtil.*;
/**
* @author: zph
* @Date: 2020/7/10 15:28
* @Description: RSA加密解密工具类
*/
public class RSAEncrypt {
/**
* 字节数据转字符串专用集合
*/
private static final char[] HEX_CHAR = { '0', '1', '2', '3', '4', '5', '6',
'7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
// FTP服务器hostname
public static String HOST = "";
// FTP服务器端口
// public static Integer PORT = ;
// FTP登录账号
public static String USERNAME = "";
// FTP登录密码
public static String PASSWORD = "";
// FTP上传路径
public static String INVOICE_BASE_PATH = "";
/**
* 随机生成密钥对
*/
// public static void genKeyPair() {
// // KeyPairGenerator类用于生成公钥和私钥对基于RSA算法生成对象
// KeyPairGenerator keyPairGen = null;
// try {
// keyPairGen = KeyPairGenerator.getInstance("RSA");
// } catch (NoSuchAlgorithmException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// // 初始化密钥对生成器密钥大小为96-1024位
// keyPairGen.initialize(1024,new SecureRandom());
// // 生成一个密钥对保存在keyPair中
// KeyPair keyPair = keyPairGen.generateKeyPair();
// // 得到私钥
// RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate();
// // 得到公钥
// RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic();
// try {
// // 得到公钥字符串
// String publicKeyString = BASE64.encode(publicKey.getEncoded());
// // 得到私钥字符串
// String privateKeyString = BASE64.encode(privateKey.getEncoded());
// System.err.println(publicKeyString);
// System.err.println(privateKeyString);
// // 将公密钥对写入到文件
// /*InputStream is = null;
// InputStream is1 = null;
// is = new ByteArrayInputStream(publicKeyString.getBytes());
// is1 = new ByteArrayInputStream(privateKeyString.getBytes());
// FTPClient ftpClient = new FTPClient();
// ftpClient.connect(HOST);
// ftpClient.login(USERNAME,PASSWORD);
// ftpClient.changeWorkingDirectory(INVOICE_BASE_PATH);
// ftpClient.setFileType(FTPClient.LOCAL_FILE_TYPE);
// ftpClient.storeFile(new String("publicKey.keystore".getBytes(),"iso-8859-1"),is);
// ftpClient.storeFile(new String("privateKey.keystore".getBytes(),"iso-8859-1"),is1);
// is.close();
// is1.close();*/
// //FileWriter pubfw = new FileWriter(filePath + "/publicKey.keystore");
// //FileWriter prifw = new FileWriter(filePath + "/privateKey.keystore");
// /*BufferedWriter pubbw = new BufferedWriter(pubfw);
// BufferedWriter pribw = new BufferedWriter(prifw);
// pubbw.write(publicKeyString);
// pribw.write(privateKeyString);
// pubbw.flush();
// pubbw.close();
// pubfw.close();
// pribw.flush();
// pribw.close();
// prifw.close();*/
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
//
// /**
// * 从文件中输入流中加载公钥
// *
// * @param
// *
// * @throws Exception
// * 加载公钥时产生的异常
// */
// public static String loadPublicKeyByFile() throws Exception {
// try {
// FTPClient ftpClient = new FTPClient();
// ftpClient.connect(HOST);
// ftpClient.login(USERNAME,PASSWORD);
// ftpClient.changeWorkingDirectory(INVOICE_BASE_PATH);
// InputStream is = ftpClient.retrieveFileStream("publicKey.keystore");
// BufferedReader br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
// String readLine = null;
// StringBuilder sb = new StringBuilder();
// while ((readLine = br.readLine()) != null) {
// sb.append(readLine);
// }
// br.close();
// return sb.toString();
// } catch (IOException e) {
// throw new Exception("公钥数据流读取错误");
// } catch (NullPointerException e) {
// throw new Exception("公钥输入流为空");
// }
// }
//
// /**
// * 从字符串中加载公钥
// *
// * @param publicKeyStr
// * 公钥数据字符串
// * @throws Exception
// * 加载公钥时产生的异常
// */
// public static RSAPublicKey loadPublicKeyByStr(String publicKeyStr)
// throws Exception {
// try {
// byte[] buffer = BASE64.decode(publicKeyStr);
// KeyFactory keyFactory = KeyFactory.getInstance("RSA");
// X509EncodedKeySpec keySpec = new X509EncodedKeySpec(buffer);
// return (RSAPublicKey) keyFactory.generatePublic(keySpec);
// } catch (NoSuchAlgorithmException e) {
// throw new Exception("无此算法");
// } catch (InvalidKeySpecException e) {
// throw new Exception("公钥非法");
// } catch (NullPointerException e) {
// throw new Exception("公钥数据为空");
// }
// }
//
// /**
// * 从文件中加载私钥
// *
// * @param
// *
// * @return 是否成功
// * @throws Exception
// */
// public static String loadPrivateKeyByFile() throws Exception {
// try {
// FTPClient ftpClient = new FTPClient();
// ftpClient.connect(HOST);
// ftpClient.login(USERNAME,PASSWORD);
// ftpClient.changeWorkingDirectory(INVOICE_BASE_PATH);
// InputStream is = ftpClient.retrieveFileStream("privateKey.keystore");
// BufferedReader br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
// String readLine = null;
// StringBuilder sb = new StringBuilder();
// while ((readLine = br.readLine()) != null) {
// sb.append(readLine);
// }
// br.close();
// return sb.toString();
// } catch (IOException e) {
// throw new Exception("私钥数据读取错误");
// } catch (NullPointerException e) {
// throw new Exception("私钥输入流为空");
// }
// }
//
// public static RSAPrivateKey loadPrivateKeyByStr(String privateKeyStr)
// throws Exception {
// try {
// byte[] buffer = BASE64.decode(privateKeyStr);
// PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(buffer);
// KeyFactory keyFactory = KeyFactory.getInstance("RSA");
// return (RSAPrivateKey) keyFactory.generatePrivate(keySpec);
// } catch (NoSuchAlgorithmException e) {
// throw new Exception("无此算法");
// } catch (InvalidKeySpecException e) {
// throw new Exception("私钥非法");
// } catch (NullPointerException e) {
// throw new Exception("私钥数据为空");
// }
// }
/**
* 公钥加密过程
*
* @param publicKey
* 公钥
* @param plainTextData
* 明文数据
* @return
* @throws Exception
* 加密过程中的异常信息
*/
public static byte[] encrypt(RSAPublicKey publicKey, byte[] plainTextData)
throws Exception {
if (publicKey == null) {
throw new Exception("加密公钥为空, 请设置");
}
Cipher cipher = null;
try {
// 使用默认RSA
cipher = Cipher.getInstance("RSA");
// cipher= Cipher.getInstance("RSA", new BouncyCastleProvider());
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
byte[] output = cipher.doFinal(plainTextData);
return output;
} catch (NoSuchAlgorithmException e) {
throw new Exception("无此加密算法");
} catch (NoSuchPaddingException e) {
e.printStackTrace();
return null;
} catch (InvalidKeyException e) {
throw new Exception("加密公钥非法,请检查");
} catch (IllegalBlockSizeException e) {
throw new Exception("明文长度非法");
} catch (BadPaddingException e) {
throw new Exception("明文数据已损坏");
}
}
/**
* 私钥加密过程
*
* @param privateKey
* 私钥
* @param plainTextData
* 明文数据
* @return
* @throws Exception
* 加密过程中的异常信息
*/
public static byte[] encrypt(RSAPrivateKey privateKey, byte[] plainTextData)
throws Exception {
if (privateKey == null) {
throw new Exception("加密私钥为空, 请设置");
}
Cipher cipher = null;
try {
// 使用默认RSA
cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, privateKey);
byte[] output = cipher.doFinal(plainTextData);
return output;
} catch (NoSuchAlgorithmException e) {
throw new Exception("无此加密算法");
} catch (NoSuchPaddingException e) {
e.printStackTrace();
return null;
} catch (InvalidKeyException e) {
throw new Exception("加密私钥非法,请检查");
} catch (IllegalBlockSizeException e) {
throw new Exception("明文长度非法");
} catch (BadPaddingException e) {
throw new Exception("明文数据已损坏");
}
}
/**
* 私钥解密过程
*
* @param privateKey
* 私钥
* @param cipherData
* 密文数据
* @return 明文
* @throws Exception
* 解密过程中的异常信息
*/
public static byte[] decrypt(RSAPrivateKey privateKey, byte[] cipherData)
throws Exception {
if (privateKey == null) {
throw new Exception("解密私钥为空, 请设置");
}
Cipher cipher = null;
try {
// 使用默认RSA
cipher = Cipher.getInstance("RSA");
// cipher= Cipher.getInstance("RSA", new BouncyCastleProvider());
cipher.init(Cipher.DECRYPT_MODE, privateKey);
byte[] output = cipher.doFinal(cipherData);
return output;
} catch (NoSuchAlgorithmException e) {
throw new Exception("无此解密算法");
} catch (NoSuchPaddingException e) {
e.printStackTrace();
return null;
} catch (InvalidKeyException e) {
throw new Exception("解密私钥非法,请检查");
} catch (IllegalBlockSizeException e) {
throw new Exception("密文长度非法");
} catch (BadPaddingException e) {
throw new Exception("密文数据已损坏");
}
}
/**
* 公钥解密过程
*
* @param publicKey
* 公钥
* @param cipherData
* 密文数据
* @return 明文
* @throws Exception
* 解密过程中的异常信息
*/
public static byte[] decrypt(RSAPublicKey publicKey, byte[] cipherData)
throws Exception {
if (publicKey == null) {
throw new Exception("解密公钥为空, 请设置");
}
Cipher cipher = null;
try {
// 使用默认RSA
cipher = Cipher.getInstance("RSA");
// cipher= Cipher.getInstance("RSA", new BouncyCastleProvider());
cipher.init(Cipher.DECRYPT_MODE, publicKey);
byte[] output = cipher.doFinal(cipherData);
return output;
} catch (NoSuchAlgorithmException e) {
throw new Exception("无此解密算法");
} catch (NoSuchPaddingException e) {
e.printStackTrace();
return null;
} catch (InvalidKeyException e) {
throw new Exception("解密公钥非法,请检查");
} catch (IllegalBlockSizeException e) {
throw new Exception("密文长度非法");
} catch (BadPaddingException e) {
throw new Exception("密文数据已损坏");
}
}
/**
* 字节数据转十六进制字符串
*
* @param data
* 输入数据
* @return 十六进制内容
*/
public static String byteArrayToString(byte[] data) {
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < data.length; i++) {
// 取出字节的高四位 作为索引得到相应的十六进制标识符 注意无符号右移
stringBuilder.append(HEX_CHAR[(data[i] & 0xf0) >>> 4]);
// 取出字节的低四位 作为索引得到相应的十六进制标识符
stringBuilder.append(HEX_CHAR[(data[i] & 0x0f)]);
if (i < data.length - 1) {
stringBuilder.append(' ');
}
}
return stringBuilder.toString();
}
}

View File

@@ -15,73 +15,40 @@ public class RSAEncryptUtil {
private static final String CIPHER_PROVIDER = "SunJCE"; private static final String CIPHER_PROVIDER = "SunJCE";
private static final String TRANSFORMATION_PKCS1Paddiing = "RSA/ECB/PKCS1Padding"; private static final String TRANSFORMATION_PKCS1Paddiing = "RSA/ECB/PKCS1Padding";
private static final String RSA_PKCS1_OAEP_PADDING = "RSA/ECB/OAEPWITHSHA-1ANDMGF1PADDING"; private static final String RSA_PKCS1_OAEP_PADDING = "RSA/ECB/OAEPWITHSHA-1ANDMGF1PADDING";
private static final String CHAR_ENCODING = "UTF-8";// 固定值,无须修改 private static final String CHAR_ENCODING = "UTF-8";// 固定值,无须修改
// private static final String CERT ="-----BEGIN CERTIFICATE-----\r\n" + private static final String CERT ="-----BEGIN CERTIFICATE-----\r\n" +
// "MIID3DCCAsSgAwIBAgIUTz/ylkJ1ui0tgyC8gYf7PhjSLf4wDQYJKoZIhvcNAQEL\r\n" + "MIID3DCCAsSgAwIBAgIUTz/ylkJ1ui0tgyC8gYf7PhjSLf4wDQYJKoZIhvcNAQEL\r\n" +
// "BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT\r\n" + "BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT\r\n" +
// "FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg\r\n" + "FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg\r\n" +
// "Q0EwHhcNMTkwOTE5MDYzOTI4WhcNMjQwOTE3MDYzOTI4WjBuMRgwFgYDVQQDDA9U\r\n" + "Q0EwHhcNMTkwOTE5MDYzOTI4WhcNMjQwOTE3MDYzOTI4WjBuMRgwFgYDVQQDDA9U\r\n" +
// "ZW5wYXkuY29tIHNpZ24xEzARBgNVBAoMClRlbnBheS5jb20xHTAbBgNVBAsMFFRl\r\n" + "ZW5wYXkuY29tIHNpZ24xEzARBgNVBAoMClRlbnBheS5jb20xHTAbBgNVBAsMFFRl\r\n" +
// "bnBheS5jb20gQ0EgQ2VudGVyMQswCQYDVQQGDAJDTjERMA8GA1UEBwwIU2hlblpo\r\n" + "bnBheS5jb20gQ0EgQ2VudGVyMQswCQYDVQQGDAJDTjERMA8GA1UEBwwIU2hlblpo\r\n" +
// "ZW4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCgVuNIZDy2F7UYQw7+\r\n" + "ZW4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCgVuNIZDy2F7UYQw7+\r\n" +
// "QjkWSBLbAimkhZ6Qa6jhquZvUruD1/YpKbtghk/ecxrSDpC8Pqsjl/QjrmkTPWv7\r\n" + "QjkWSBLbAimkhZ6Qa6jhquZvUruD1/YpKbtghk/ecxrSDpC8Pqsjl/QjrmkTPWv7\r\n" +
// "vNihoAMftuR/nAusmBrTkNlzxEBVvRpf4JRsIHg73wUi5zUJkZn7eAZ7kHVa0zow\r\n" + "vNihoAMftuR/nAusmBrTkNlzxEBVvRpf4JRsIHg73wUi5zUJkZn7eAZ7kHVa0zow\r\n" +
// "qflsl7w29guTvqUPP1P1+gH+xD3b3fCM1uRINDDqTyFff6p1hM7Fn9wnapKDmcO7\r\n" + "qflsl7w29guTvqUPP1P1+gH+xD3b3fCM1uRINDDqTyFff6p1hM7Fn9wnapKDmcO7\r\n" +
// "57QkL8VGNAWknVkBpMYiAmK2R7DlPW5zUleO9M30koNYSIRVwgHiS2Kutd1/gvW7\r\n" + "57QkL8VGNAWknVkBpMYiAmK2R7DlPW5zUleO9M30koNYSIRVwgHiS2Kutd1/gvW7\r\n" +
// "g5oC+nDLSgQkwgUoonrXzo1bUkE05icf92v89hDVccaXKzVjGgMP407s88++amNV\r\n" + "g5oC+nDLSgQkwgUoonrXzo1bUkE05icf92v89hDVccaXKzVjGgMP407s88++amNV\r\n" +
// "5J65AgMBAAGjgYEwfzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE8DBlBgNVHR8EXjBc\r\n" + "5J65AgMBAAGjgYEwfzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE8DBlBgNVHR8EXjBc\r\n" +
// "MFqgWKBWhlRodHRwOi8vZXZjYS5pdHJ1cy5jb20uY24vcHVibGljL2l0cnVzY3Js\r\n" + "MFqgWKBWhlRodHRwOi8vZXZjYS5pdHJ1cy5jb20uY24vcHVibGljL2l0cnVzY3Js\r\n" +
// "P0NBPTFCRDQyMjBFNTBEQkMwNEIwNkFEMzk3NTQ5ODQ2QzAxQzNFOEVCRDIwDQYJ\r\n" + "P0NBPTFCRDQyMjBFNTBEQkMwNEIwNkFEMzk3NTQ5ODQ2QzAxQzNFOEVCRDIwDQYJ\r\n" +
// "KoZIhvcNAQELBQADggEBAABTz0NLnc0bn7InEDVuYMEebEzZv3BxhHVdnzX6R0gQ\r\n" + "KoZIhvcNAQELBQADggEBAABTz0NLnc0bn7InEDVuYMEebEzZv3BxhHVdnzX6R0gQ\r\n" +
// "Ug0QifHdAtbh/qL10E4FjVACyWOOWgPoX/9I1BZjfxddzQgbUib3XybloR6eE0z3\r\n" + "Ug0QifHdAtbh/qL10E4FjVACyWOOWgPoX/9I1BZjfxddzQgbUib3XybloR6eE0z3\r\n" +
// "WUh/B88cCM3GsJU4btaxY0qpTkEjEcqP7K+4ZrJyfCItAfxWqYh6sllGbFVvRSYa\r\n" + "WUh/B88cCM3GsJU4btaxY0qpTkEjEcqP7K+4ZrJyfCItAfxWqYh6sllGbFVvRSYa\r\n" +
// "brlEI+lbdlNVnshrRNegtFZIJ40O8aSpNA/2R0+5lEKPeYiQUO4qYbCE3lkPpY9S\r\n" + "brlEI+lbdlNVnshrRNegtFZIJ40O8aSpNA/2R0+5lEKPeYiQUO4qYbCE3lkPpY9S\r\n" +
// "p0SMyX0UmB9SIwOFAX+BX3KJ6GBKh+zqSmd0hm4NtbCNRmEG9gYQPl845FdYizKJ\r\n" + "p0SMyX0UmB9SIwOFAX+BX3KJ6GBKh+zqSmd0hm4NtbCNRmEG9gYQPl845FdYizKJ\r\n" +
// "RIk+gkdXBduIpO3/ZkzED/PYMOj/hhJdLNByPe78Ipo=\r\n" + "RIk+gkdXBduIpO3/ZkzED/PYMOj/hhJdLNByPe78Ipo=\r\n" +
// "-----END CERTIFICATE-----";
// private static final String PUBLIC_KEY ="-----BEGIN PUBLIC KEY-----\r\n" +
// "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArjSigZVVYy1LzeKmjrJY\r\n" +
// "TVh1pS2mYa07hcXOH0vDGBFp8XY1HlJTedTDmYL9pBH/q6PSAf/mvQrXjEbOgFoa\r\n" +
// "ro2qEr+SLIze47hxXdZKtgHOKdX6XmjJ9zc1VgB1xHGL339fyOsAz9+lYy1aBClw\r\n" +
// "eInkruUBHSudF38dQY43UtHjLoXnrX+CiQCofTqcjbfjVgl/MKcsF6XVajkZ/yOa\r\n" +
// "I3kOaQ+YAxB45lAn8vt7rK+VvdkwEf/A1U0+jxwChpdzNlTGMy9qpIWQiILA1Z4+\r\n" +
// "9PtWq/3EYxGPKJyxG0PCSGT495v/rAbnYHDt37E4PqslBYBskYLlmQOIh4oltVMX\r\n" +
// "wwIDAQAB\r\n" +
// "-----END PUBLIC KEY-----";
private static final String PUBLIC_KEY ="-----BEGIN PUBLIC KEY-----\\r\\n"+
"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCA\r\n" +
"QEAkXVO04QyRKrCHYxkHjvuWlr0adiFAyDO8yEg5pl9PvIsVsdOd/KElnPlPheIg01rDJFtYv\r\n" +
"CavCbYXaIWv1IcNRBtkIP5UERtbRyfuJCO1F/GyybHcnv6amW5Q1xn4cu/IeKV4VzWnDepntJL\r\n" +
"bVaBAtw6OSMWBLnk2EuPGa6zNRjvHzdRaZvmAoYu+FZvJLw6oIeeDkR1pGty3CQgnuIe25pQeJ\r\n" +
"cAuOWyvC1+ZKvnRbSaS6Hfi8s5mxCQrEiiHEKXHA/rfPp/bDEwqJzA2e/hdnybIII9bcjjqx3l\r\n" +
"+9XG5jGHsa7trMedPaeJc96OQUJPm62l9rGG0OZc9+MlsVIskwIDAQAB\r\n"+
"-----END PUBLIC KEY-----";
private static final String CERT = "-----BEGIN CERTIFICATE-----\r\n"+
"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgE\r\n" +
"AAoIBAQCRdU7ThDJEqsIdjGQeO+5aWvRp2IUDIM7zISDmmX0+8ixWx0538oSWc+U+F4iDTW\r\n" +
"sMkW1i8Jq8Jthdoha/Uhw1EG2Qg/lQRG1tHJ+4kI7UX8bLJsdye/pqZblDXGfhy78h4pXhX\r\n" +
"NacN6me0kttVoEC3Do5IxYEueTYS48ZrrM1GO8fN1Fpm+YChi74Vm8kvDqgh54ORHWka3Lc\r\n" +
"JCCe4h7bmlB4lwC45bK8LX5kq+dFtJpLod+LyzmbEJCsSKIcQpccD+t8+n9sMTConMDZ7+F2\r\n" +
"fJsggj1tyOOrHeX71cbmMYexru2sx509p4lz3o5BQk+braX2sYbQ5lz34yWxUiyTAgMBAAEC\r\n" +
"ggEAfDRYB+L07Y+Fy6dqgiqYn8zUsWDySzaDoDXkmyPrP4mY9MyhI2kRcEssL7X2mm/L/eJc\r\n" +
"LkTXS9w7mtBibiHV9jW96M3YYILdkXMEq5u8anoSDLxjSE23CY0tAejwx2ysG2oYo2Qb2S7qh\r\n" +
"rR5NbbM2L1mdg2Qqp51W4BBhCOZ4LbNQxPOptPz0hJZAzwzPocmOXM0zP20nBA/Sm/IcjVOcr\r\n" +
"HLHYljFxaGg2SvLRlFN9BvnCCGheEy5NvYN/jqPl4cUxoH7S8rzYF/P7xzESha/oaiIStGrpm\r\n" +
"SirsyFQI+Wl1I9I9FymUvTPsdlr6YcJ8QuZrxf3Y+0s/gxwSU28Uc4QKBgQDBWedvCPnS5T/\r\n" +
"20Y+aZ1wUVAyA1gKQpYzM8Q+5BefaH+Oxpo01wfRWBeFM0oA2w0xaFJuD16lNDOri8qJKNGYoi\r\n" +
"HgiRJ/i39ueYZDYuwnSVgLoqwT6cv4wzSvGOOkY0ljXsuOqB8djRSgmNceHoUKmzMOXFfySsAla\r\n" +
"RsNsPTyOwwKBgQDAlsdcWPaZ9vhkGzTd2VtQvBX34FOQQajlEClD9PAJYdgNc5DKmd6Vzuh8wE2\r\n" +
"5IdWJVBPdNF1j91ZJwcmTeZx5xQd2HLRcZlvoijsNuKPv2ctycVRBZug1ebQWrODC71s8goYHyYd\r\n" +
"/ytKf70E4pbzMwdBpkCT9PHVxcG/uhHKt8QKBgQCF6MsllnTXgBity3OGf2FBXviN3ipGnbGHWs\r\n" +
"kF3rY11nIu3mfcPGkJjub7+qn7w4TEupL+W8WQbIrdBSgq9mFuXx28tgR574o+Bdp4kAl8WD+Jf\r\n" +
"rBi+HNdvys7DL07iKspMGcGon6QHRxyYjq/j4sG1Lf9kqervCmuEWZVN5ASWwKBgDHHx4hLRpLNj6\r\n" +
"7wiV2+zSe1Nkh4J6FmF23+G2yBZ3pFXD892/NCipJWhSmZ2307DaMNpITNAEbSq+8stBn2mUewchl\r\n" +
"JmiU4IBGfiVwmmdlphnjyakDthKAt8SrbTM2WaRLe+h4RLYEOwBqvEUC/NmoGvwRKSgVbF1BXK9ePT\r\n" +
"MVBAoGALyeHwCwOVM6F+CpeHLIvJSni2LmbCyzxxnRdcrMHhxtJWUx0eQTdLqIkVydssphlMDopRR\r\n" +
"0FBFdpA/sqo2f39YjAKoaLm01FymxliPcf8tbXQhqDdD8qmQgb58vV5wSh4fCn3mx5y2D/Vwkq3vk\r\n" +
"Z0BfEzRREXiOpdJhZdUCG1V8=\r\n"+
"-----END CERTIFICATE-----"; "-----END CERTIFICATE-----";
private static final String PUBLIC_KEY ="-----BEGIN PUBLIC KEY-----\r\n" +
"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArjSigZVVYy1LzeKmjrJY\r\n" +
"TVh1pS2mYa07hcXOH0vDGBFp8XY1HlJTedTDmYL9pBH/q6PSAf/mvQrXjEbOgFoa\r\n" +
"ro2qEr+SLIze47hxXdZKtgHOKdX6XmjJ9zc1VgB1xHGL339fyOsAz9+lYy1aBClw\r\n" +
"eInkruUBHSudF38dQY43UtHjLoXnrX+CiQCofTqcjbfjVgl/MKcsF6XVajkZ/yOa\r\n" +
"I3kOaQ+YAxB45lAn8vt7rK+VvdkwEf/A1U0+jxwChpdzNlTGMy9qpIWQiILA1Z4+\r\n" +
"9PtWq/3EYxGPKJyxG0PCSGT495v/rAbnYHDt37E4PqslBYBskYLlmQOIh4oltVMX\r\n" +
"wwIDAQAB\r\n" +
"-----END PUBLIC KEY-----";
/** /**
* 数据加密方法 * 数据加密方法
@@ -118,7 +85,7 @@ public class RSAEncryptUtil {
System.out.println(publicKey); System.out.println(publicKey);
return encodeBase64(encryptPkcs1padding(publicKey, Content.getBytes(CHAR_ENCODING))); return encodeBase64(encryptPkcs1padding(publicKey, Content.getBytes(CHAR_ENCODING)));
} }
public static String rsaEncrypt(String Content,String ras) throws Exception { public static String rsaEncrypt(String Content,String ras) throws Exception {
X509Certificate certificate = X509Certificate.getInstance(PUBLIC_KEY.getBytes()); X509Certificate certificate = X509Certificate.getInstance(PUBLIC_KEY.getBytes());
PublicKey publicKey = certificate.getPublicKey(); PublicKey publicKey = certificate.getPublicKey();
@@ -127,8 +94,4 @@ public class RSAEncryptUtil {
ci.init(Cipher.ENCRYPT_MODE, publicKey); ci.init(Cipher.ENCRYPT_MODE, publicKey);
return encodeBase64(ci.doFinal(Content.getBytes(CHAR_ENCODING))); return encodeBase64(ci.doFinal(Content.getBytes(CHAR_ENCODING)));
} }
public static void main(String[] args)throws Exception {
System.out.println(rsaEncrypt("orgId=67290416"));
}
} }

View File

@@ -1,248 +0,0 @@
package cn.pluss.platform.util;
import java.lang.reflect.Field;
import java.security.KeyFactory;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
/**
* @author: zph
* @Date: 2020/7/10 15:29
* @Description: RSA签名验签类
*/
public class RSASignature{
/**
* 签名算法
*/
public static final String SIGN_ALGORITHMS = "SHA1WithRSA";
/**
* RSA签名
* @param content 待签名数据
* @param privateKey 商户私钥
* @param encode 字符集编码
* @return 签名值
*/
public static String sign(String content, String privateKey, String encode)
{
try
{
PKCS8EncodedKeySpec priPKCS8 = new PKCS8EncodedKeySpec( BASE64.decode(privateKey) );
KeyFactory keyf = KeyFactory.getInstance("RSA");
PrivateKey priKey = keyf.generatePrivate(priPKCS8);
java.security.Signature signature = java.security.Signature.getInstance(SIGN_ALGORITHMS);
signature.initSign(priKey);
signature.update( content.getBytes(encode));
byte[] signed = signature.sign();
return BASE64.encode(signed);
}
catch (Exception e)
{
e.printStackTrace();
}
return null;
}
/**
* 根据 content 和 私钥 生成签名
* @param content 按字典顺序排序的内容
* @param privateKey ftp上保存的私钥
* @return
*/
public static String sign(String content, String privateKey)
{
try
{
PKCS8EncodedKeySpec priPKCS8 = new PKCS8EncodedKeySpec( BASE64.decode(privateKey) );
KeyFactory keyf = KeyFactory.getInstance("RSA");
PrivateKey priKey = keyf.generatePrivate(priPKCS8);
java.security.Signature signature = java.security.Signature.getInstance(SIGN_ALGORITHMS);
signature.initSign(priKey);
signature.update( content.getBytes());
byte[] signed = signature.sign();
return BASE64.encode(signed);
}
catch (Exception e)
{
e.printStackTrace();
}
return null;
}
/**
* RSA验签名检查
* @param content 待签名数据
* @param sign 签名值
* @param publicKey 分配给开发商公钥
* @param encode 字符集编码
* @return 布尔值
*/
public static boolean doCheck(String content, String sign, String publicKey,String encode)
{
try
{
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
byte[] encodedKey = BASE64.decode(publicKey);
PublicKey pubKey = keyFactory.generatePublic(new X509EncodedKeySpec(encodedKey));
java.security.Signature signature = java.security.Signature
.getInstance(SIGN_ALGORITHMS);
signature.initVerify(pubKey);
signature.update( content.getBytes(encode) );
boolean bverify = signature.verify( BASE64.decode(sign) );
return bverify;
}
catch (Exception e)
{
e.printStackTrace();
}
return false;
}
/**
* RSA验签名检查
* @param content 待签名数据
* @param sign 签名值
* @param publicKey 分配给开发商公钥
* @return 布尔值
*/
public static boolean doCheck(String content, String sign, String publicKey)
{
try
{
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
byte[] encodedKey = BASE64.decode(publicKey);
if (encodedKey==null){
return false;
}
PublicKey pubKey = keyFactory.generatePublic(new X509EncodedKeySpec(encodedKey));
// 用私钥对信息生成数字签名
java.security.Signature signature = java.security.Signature
.getInstance(SIGN_ALGORITHMS);
signature.initVerify(pubKey);
signature.update( content.getBytes() );
// 验证方法 返回true则为比对成功
boolean bverify = signature.verify( BASE64.decode(sign) );
return bverify;
}
catch (Exception e)
{
e.printStackTrace();
}
return false;
}
/**
* 对象转HashMap
* @param obj
* @return
*/
public static Map<String, Object> objectToMap(Object obj) {
if (obj == null) {
return null;
}
Map<String, Object> map = new HashMap<String, Object>();
try {
Field[] declaredFields = obj.getClass().getDeclaredFields();
for (Field field : declaredFields) {
field.setAccessible(true);
map.put(field.getName(), field.get(obj));
}
} catch (Exception e) {
}
return map;
}
/**
* @author: zph
* @Date: 2020/7/14 17:45
* @Description: 将签名的参数内容按参数名的字典顺序进行排序,并拼接为字符串
*/
public static String getContent(Map<String,Object> map){
//得到第三方签名 第三方会把sign也放在json里故转map的时候需要把sign删除
map.remove("sign");
map.entrySet().removeIf(entry -> entry.getValue() == null);
// 将签名的参数内容按参数名的字典顺序进行排序,并拼接为字符串
StringBuilder sb = new StringBuilder();
map.entrySet().stream().sorted(Comparator.comparing(Map.Entry::getKey)).forEach(entry ->
sb.append(entry.getKey()).append("=").append(entry.getValue()).append("&")
);
return sb.toString().substring(0, sb.length() - 1);
}
/**
* 签名方法
* 因为很多处都需要用,特地封装一下,方便调用
* @param paramStr 按字典顺序拼接过的字符串
* @param publicKey 从数据库查询出来的第三方公钥
* @param sign 第三方签名
* @return
*/
public static boolean signVerify(String paramStr,String publicKey,String sign){
System.err.println(paramStr);
try {
//String privateSign = RSASignature.sign(paramStr, RSAEncrypt.loadPrivateKeyByFile());
// 使用公钥进行验签
boolean result = RSASignature.doCheck(paramStr, sign, publicKey);
if (result){
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
// public static void main(String[] args) {
// try {
// // 生成密钥对
// KeyPair keyPair = getKeyPair();
// String privateKey = new String(Base64.encodeBase64(keyPair.getPrivate().getEncoded()));
// String publicKey = new String(Base64.encodeBase64(keyPair.getPublic().getEncoded()));
// System.out.println("私钥:" + privateKey);
// System.out.println("公钥:" + publicKey);
// // RSA加密
// String data = "待加密的文字内容";
// String encryptData = encrypt(data, getPublicKey(publicKey));
// System.out.println("加密后内容:" + encryptData);
// // RSA解密
// String decryptData = decrypt(encryptData, getPrivateKey(privateKey));
// System.out.println("解密后内容:" + decryptData);
//
// // RSA签名
// String sign = sign(data, getPrivateKey(privateKey));
// // RSA验签
// boolean result = verify(data, getPublicKey(publicKey), sign);
// System.out.print("验签结果:" + result);
// } catch (Exception e) {
// e.printStackTrace();
// System.out.print("加解密异常");
// }
// }
}

View File

@@ -1,220 +0,0 @@
package cn.pluss.platform.util;
import org.apache.commons.codec.binary.Base64;
import org.json.JSONObject;
import javax.crypto.Cipher;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
/**
* @author admin
* @date 2021/4/28 15:02
*/
public class RSAUtil {
public static String RSA_ALGORITHM = "RSA";
public static String UTF8 = "UTF-8";
/**
* 创建公钥私钥
*
* @return
* @throws Exception
*/
public static KeyStore createKeys() throws Exception {
KeyPairGenerator keyPairGeno = KeyPairGenerator.getInstance(RSA_ALGORITHM);
keyPairGeno.initialize(1024);
KeyPair keyPair = keyPairGeno.generateKeyPair();
RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic();
RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate();
KeyStore keyStore = new KeyStore();
keyStore.setPublicKey(Base64.encodeBase64String(publicKey.getEncoded()));
keyStore.setPrivateKey(Base64.encodeBase64String(privateKey.getEncoded()));
return keyStore;
}
/**
* 获取公钥对象
*
* @param pubKeyData
* @return
* @throws Exception
*/
public static RSAPublicKey getPublicKey(byte[] pubKeyData) throws Exception {
X509EncodedKeySpec keySpec = new X509EncodedKeySpec(pubKeyData);
KeyFactory keyFactory = KeyFactory.getInstance(RSA_ALGORITHM);
return (RSAPublicKey) keyFactory.generatePublic(keySpec);
}
/**
* 获取公钥对象
*
* @param pubKey
* 公钥
* @return
* @throws Exception
*/
public static RSAPublicKey getPublicKey(String pubKey) throws Exception {
return getPublicKey(Base64.decodeBase64(pubKey));
}
/**
* 获取私钥对象
*
* @param priKey
* 私钥
* @return
* @throws Exception
*/
public static RSAPrivateKey getPrivateKey(String priKey) throws Exception {
return getPrivateKey(Base64.decodeBase64(priKey));
}
/**
* 通过私钥byte[]将公钥还原适用于RSA算法
*
* @param keyBytes
* @return
* @throws Exception
*/
public static RSAPrivateKey getPrivateKey(byte[] keyBytes) throws Exception {
PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(keyBytes);
KeyFactory keyFactory = KeyFactory.getInstance(RSA_ALGORITHM);
return (RSAPrivateKey) keyFactory.generatePrivate(keySpec);
}
public static String encryptByPublicKey(String data, String publicKey) throws Exception {
return encryptByPublicKey(data, getPublicKey(publicKey));
}
/**
* 公钥加密
*
* @param data
* @param publicKey
* @return
* @throws Exception
*/
public static String encryptByPublicKey(String data, RSAPublicKey publicKey) throws Exception {
Cipher cipher = Cipher.getInstance(RSA_ALGORITHM);
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
byte[] bytes = cipher.doFinal(data.getBytes(UTF8));
return Base64.encodeBase64String(bytes);
}
public static String decryptByPublicKey(String data, String rsaPublicKey) throws Exception {
return decryptByPublicKey(data, getPublicKey(rsaPublicKey));
}
/**
* 公钥解密
*
* @param data
* @param rsaPublicKey
* @return
* @throws Exception
*/
public static String decryptByPublicKey(String data, RSAPublicKey rsaPublicKey) throws Exception {
Cipher cipher = Cipher.getInstance(RSA_ALGORITHM);
cipher.init(Cipher.DECRYPT_MODE, rsaPublicKey);
byte[] inputData = Base64.decodeBase64(data);
byte[] bytes = cipher.doFinal(inputData);
return new String(bytes, UTF8);
}
public static String encryptByPrivateKey(String data, String privateKey) throws Exception {
return encryptByPrivateKey(data, getPrivateKey(privateKey));
}
/**
* 私钥加密
*
* @param data
* @param privateKey
* @return
* @throws Exception
*/
public static String encryptByPrivateKey(String data, RSAPrivateKey privateKey) throws Exception {
Cipher cipher = Cipher.getInstance(RSA_ALGORITHM);
cipher.init(Cipher.ENCRYPT_MODE, privateKey);
byte[] bytes = cipher.doFinal(data.getBytes(UTF8));
return Base64.encodeBase64String(bytes);
}
public static String decryptByPrivateKey(String data, String privateKey) throws Exception {
return decryptByPrivateKey(data, getPrivateKey(privateKey));
}
/**
* 私钥解密
*
* @param data
* @param privateKey
* @return
* @throws Exception
*/
public static String decryptByPrivateKey(String data, RSAPrivateKey privateKey) throws Exception {
Cipher cipher = Cipher.getInstance(RSA_ALGORITHM);
cipher.init(Cipher.DECRYPT_MODE, privateKey);
byte[] inputData = Base64.decodeBase64(data);
byte[] bytes = cipher.doFinal(inputData);
return new String(bytes, UTF8);
}
public static class KeyStore {
private String publicKey;
private String privateKey;
public String getPublicKey() {
return publicKey;
}
public void setPublicKey(String publicKey) {
this.publicKey = publicKey;
}
public String getPrivateKey() {
return privateKey;
}
public void setPrivateKey(String privateKey) {
this.privateKey = privateKey;
}
}
public static void main(String[] args) throws Exception {
// KeyStore keyStore= createKeys();
// System.out.println(keyStore.publicKey);
// System.out.println(keyStore.privateKey);
String pubKey="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCt4B7TJ9vMml3p5qHEoYfZIuRqklbFSrI5jnq25vjjqpJp8Vc8Ir0n8QVCpfzaO5oU2tf4qZ4KIidwlysagdzLb73q8EQIf4ILt2BQFRS5RAGPnKNPA8BsWwqzbnAI2+GHCSWtixVatLbswfdmIQJEHMzDylLGHycbb3CG+mC/sQIDAQAB";
String priKey="MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAK3gHtMn28yaXenmocShh9ki5GqSVsVKsjmOerbm+OOqkmnxVzwivSfxBUKl/No7mhTa1/ipngoiJ3CXKxqB3MtvverwRAh/ggu3YFAVFLlEAY+co08DwGxbCrNucAjb4YcJJa2LFVq0tuzB92YhAkQczMPKUsYfJxtvcIb6YL+xAgMBAAECgYA6qkO8OtaOUgcdxBMQpO+Q85Td4EImju1TPh9pVsTjC8oatLMaNx5bO5bqxdZqS3HRV4VHAPOxt5RXCKoiZ253JMvmcWXmiwYNFEr9iFXOLVT0H6q+TT4cpp5klAFM5xELaR4WFsYlxvCA6KGdNqHg4wYSPwj+WdYM12xEhBtjgQJBAPttT2LuIoEyLvjrqUr8bMuFKHRuYp3rMtl3nwU0es2OuOOsWH69w+L7oi4tgHr1gzpN8k2XExMcf0uDnk9eBrsCQQCxCbdegzCiSafUxrDwZpROlfL1duRXDinkLc9KC2HfS+w4/9Mjuc49SFo3grKczGN3t6AnlBasONehmNuDAAqDAkAeFND3tCgarwdhrshdeWAG5ZKWg5J29GnsDNzQwZujtly2mKsp1sh2Asc/oSALFg6yThscX2Pf2Hv+a+vn8Qb7AkAuDXD9zPKhxLc7ylPMtWJu7uK8p6jOXIjZKnF5uWxEQeO5EBNEf9j+aAvP1NfRofld8w5ePU+IjWDKUJEJisExAkEA+L6M96L3ICNF3sYtdvILO2ExYb4AuxF18MmPVWEy0jK9xxan3rggpIG+BQQuy8DoL1snc+JABALiSFEbAZjm6Q==";
String data="hFAKmbWQ4mo/ARmGWPBUxPP0kbpiIukGrNWovZS3MJiq/wf63ZDtnfLlLDgGMbuNRxE0dX3sVM69O6Pndv1JNSGNs+NUsU8EAScg0gfWrBssoKFdi4ZFqla9uauoY7E/chsANvU3kwEoeMplloOilvvX4LTQueKnuNvHyt1WTYY=";
System.out.println(decryptByPrivateKey(data,priKey));
// JSONObject object=new JSONObject();
// object.put("openId","xsaxmasomxoamxoamsxo");
//
// System.out.println(RSAUtil.encryptByPublicKey(object.toString(),"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOUSIKUGRwvUFrDvD6s8PgL8hQoKQrzTTK6vKWzQ2MIQ09ArZOd0ndxaZVVygebA+6vb7lArn1rMwKPFvbCs/iQZtYyXe7l+sfaPp8VzWzmDyAqHgQjsD+0LAMsdqtLCpB6kzP/WojeKaxREGAalJNyVR3hX2UzW98qkAV40hepwIDAQAB"));
// String ssss = "4AAB79960924E25BE1B626FB7B42917711E48FFBEFBCF29C0E47716514073F97AB2C0A97F95BD80168E1FBD9852ABC21038631F40A79B1142E11570430A0C03D896722433886222BED782A3DB82C156B246C9E8A7287AAB1BAFB1D520BC030514E82130FD1D20DDCE8C67E3A552A8EFE6784BF657614D7B6D16BBED16B899E00";
// System.out.println(RSAUtil.decryptByPrivateKey(ssss,"MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJx0zH5Q01roGe33mUP27K4rHrWZ9UoPYcA7TE4ufv8wPk7/i1JZCZojx9BDUwwihn9Hwbv2XR66FRzQ7UzHsrjqNt5QcFUcbXh3Wm0BGQ6aLoK3qRAUIasvegIUxWHTvubQEGvV4Nld4FI0kStjLF89QzFBiyjCYa9xmWt62TU1AgMBAAECgYApWuouvViQn+cyso7NmzhGdVlhsTdYAybYdBQgWkPxWiQuJ3gBJU3Xc3u+ff02qO2aOTJpZ56Hn7Iy8rq239ZKhqnGJcQSjFTIODZo6S8xaWCv+DFjpsnTMA8rZ/ohiR/BoCMJPTFA3sRpjH4RquzV9y1HkSVvz96I/RAn2UU0QQJBAM8Cdudm96P67iYTRX/zAXeueV8wlqPKJ8i35lNBSprfyv0+N2v8ARjev8LCx8ebFzLNsLfEByx327KlnAY29EUCQQDBe5eya8wIqVRCbnZKzulCkSi8ZPg7Vzucg/W619hWe35ddXtUgLj/uPZ+SNZrGlWmt+dT9Mf7WEAxb4xXm+QxAkBtZ1QH//cpBtkN7mlwsbE421Dx6e/zKEfWYLqtjXgsWdIh/Nu1ij3aMv8No3uKFoEwLF0VAdj4u2+0/qly72AxAkEAo9MFUBKMMS1G5fTn/lGSGkYUqugHcx9anxzwvOK0EA4Cohmuco+HlSdEtwrvWsJykXaXzXOuvLgtqm4b87ZQkQJAWkKoEiIPloAVELKWqRtcoHNzdsJGZ5pMTlfOP0GgufNhZxYXFByEo7eZ7b7sbyaJkQOR6ubDlvwoPGxU1jnVKQ=="));
}
}

View File

@@ -1,23 +0,0 @@
package cn.pluss.platform.util;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.IdUtil;
import lombok.extern.slf4j.Slf4j;
/**
* @author Exrickx
*/
@Slf4j
public class SnowFlakeUtil {
/**
* 派号器workid0~31
* 机房datacenterid0~31
*/
private static Snowflake snowflake = IdUtil.createSnowflake(1, 1);
public static Long nextId() {
return snowflake.nextId();
}
}

View File

@@ -1,6 +1,4 @@
package cn.pluss.platform.util; package cn.pluss.platform.util;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
@@ -13,8 +11,6 @@ import javax.crypto.spec.SecretKeySpec;
import java.security.SecureRandom; import java.security.SecureRandom;
import java.util.*; import java.util.*;
import static cn.pluss.platform.util.RSAUtil.encryptByPublicKey;
/** /**
* AES加密工具类 * AES加密工具类
* *
@@ -31,7 +27,7 @@ public class TokenUtil {
private static final String APP_SECRET = "2022bsjZF544GAH"; private static final String APP_SECRET = "2022bsjZF544GAH";
//sn //sn
private static final String SN = "BSJQG01YJ0001"; private static final String SN = "BSJQG01YJ0001";
public static final String PUBLIC_KEY ="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCKjak6oTfMxO3hWZ8CnMgUxDXHtsHQLZf4GgxzbjVYIN93UtuycdHypfUEh18s8sWwHRvBfeJ4mG0QbLazMphUY7ju9ox/qyB+tmJtZO5fCUi1StnSh17fJRw2kBlD9dKtBBKHJw0PXC/d6ATRtbbbFerzgLtUz70SvUxooUQHtQIDAQAB";
/** /**
* 获取TOKEN值 * 获取TOKEN值
* @param timestamp 时间戳13位 * @param timestamp 时间戳13位
@@ -60,62 +56,14 @@ public class TokenUtil {
finalMap.put("TOKEN", MD5Util.md5(token + APP_SECRET).toUpperCase()); finalMap.put("TOKEN", MD5Util.md5(token + APP_SECRET).toUpperCase());
return finalMap; return finalMap;
} }
public static Map<String, String> getToken(String timestamp, String requestId, String appId, String reqData)throws Exception {
System.out.println(appId);
System.out.println(reqData);
SortedMap<String, Object> map = new TreeMap();
map.put("appId", appId);
map.put("timestamp", timestamp);
map.put("requestId", requestId);
map.put("reqData",convertObject(JSONObject.parseObject(reqData,Map.class)));
String encode= convertMap(map);
Map<String, String> finalMap = new HashMap<>();
finalMap.put("ENCODE",encode);
String t=encode.concat(APP_SECRET); public static void main(String[] args) {
finalMap.put("TOKEN", MD5Util.md5(t).toUpperCase());
return finalMap;
}
public static String convertObject(Map<String,Object> map){
String[] sortedKeys = map.keySet().toArray(new String[]{});
Arrays.sort(sortedKeys);// 排序请求参数
StringBuilder s2 = new StringBuilder();
s2.append("{");
for (String key : sortedKeys) {
s2.append("\"").append(key).append("\"").append(":").append("\"").append(map.get(key)).append("\"").append(",");
}
s2.deleteCharAt(s2.length() - 1);
s2.append("}");
return s2.toString();
}
public static String convertMap(Map<String,Object> map){
String[] sortedKeys = map.keySet().toArray(new String[]{});
Arrays.sort(sortedKeys);// 排序请求参数
StringBuilder s2 = new StringBuilder();
for (String key : sortedKeys) {
s2.append(key).append(map.get(key));
}
return s2.toString();
}
public static void main(String[] args) throws Exception{
String s = String.valueOf(System.currentTimeMillis()); String s = String.valueOf(System.currentTimeMillis());
System.out.println(s); System.out.println(s);
String s1 = UUID.randomUUID().toString(); String s1 = UUID.randomUUID().toString();
System.out.println(s1); System.out.println(s1);
String param = "{\"orderNumber\":\"LKL_Z_20230612170005985\"}"; Map<String, String> token = getToken(s, s1,APP_SECRET);
Map<String, String> token = getToken(s,s1 , APP_ID,param);
System.out.println(token); System.out.println(token);
System.out.println("");
} }
} }

View File

@@ -255,7 +255,7 @@ public class ValidateCodeUtil {
} }
// 1.发送短信 // 1.发送短信
com.aliyun.dysmsapi20170525.models.SendSmsRequest sendSmsRequest = new com.aliyun.dysmsapi20170525.models.SendSmsRequest() com.aliyun.dysmsapi20170525.models.SendSmsRequest sendSmsRequest = new com.aliyun.dysmsapi20170525.models.SendSmsRequest()
.setSignName("银收客") .setSignName("超掌柜")
.setTemplateCode("SMS_244665149") .setTemplateCode("SMS_244665149")
.setTemplateParam("{\"code\":" +"'"+checkCode +"'"+"}") .setTemplateParam("{\"code\":" +"'"+checkCode +"'"+"}")
.setPhoneNumbers(phone); .setPhoneNumbers(phone);

View File

@@ -132,7 +132,7 @@ public class YtCreateOrder implements Serializable {
public YtCreateOrder() { public YtCreateOrder() {
this.senderName = "银收客服部"; this.senderName = "银收客服部";
this.senderProvinceName = "陕西省"; this.senderProvinceName = "陕西省";
this.senderCityName = "西安市"; this.senderCityName = "西安市";
this.senderCountyName = "未央区"; this.senderCountyName = "未央区";

View File

@@ -85,9 +85,9 @@ spring:
rabbitmq: rabbitmq:
username: admin username: admin
password: admin password: CZGmysqlroot@123
host: 127.0.0.1 host: 192.168.1.114
port: 5673 port: 5672
parameter: parameter:
@@ -161,49 +161,6 @@ getui:
express: express:
USERID: 1778214 USERID: 1778214
APIKEY: 63e75d64-e8fd-4dcc-93fa-17dc710cdf04 APIKEY: 63e75d64-e8fd-4dcc-93fa-17dc710cdf04
#lkl:
# privateKey: MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAIcHuPuAbeKgueevtuy4RdMCH/xhLFKniVAhgZb2BfQiSDP0moBF2DiISdTq2A2KvEDol2DQBaAslDFAERkyTDIrZl9iB6xiGUmS/pZULy/k6Q6uED01JDeJLomxh6Cxk7QYlJO0tBpM4Xxahs9h7k0j55ZTV9HPZnLGVaUqyEF5AgMBAAECgYAmugRHvXHGiapH1JF2GvOLrRRXYddAbWRoYvOzxCO4/QwQOpsFJwL4U745HpGQcLXFN/ASiBbU9XQbG/DLdS182qAjvdZVJOA2e3H3LhpY3D8ec3webO+0nGk6e4oWGG1efJLM88Nb0FtQiQ0E6z17Paw5AGvxMVBPbL5SoQfq8QJBANHQmvFkAWlBL2XTLPUXaj+NAJzolE90ctAquxfDcTtfEXv0JitC5bwTg87uNl7n4PUTmtMDIkse+D5vQ2CIF78CQQCkwOIMzedKtWhOEbdGxiz1Y/jkuA8yF7HREeC7X2Av0z2Gi3yltoJd0s6zLn+6zowQp1O/5U6ifrYCIObWlTTHAkA0WOZ/eWL8vr2zmvdpgtkIWAaiH0j5deU7WJ3rNODoXjS/h0+KlZs5zGijVT2Nei7fFnAXW33P3j8zXJEj4XCDAkAcrG0rKVLNz9C9dZveN3NvqdyRge8zGqiZ6HCia7ED4dHdbr1c4ezCg4Px72/PhU8fPt/2j+Qlp8PpjuxeAE3VAkBqUiVV9XZptFEXa/77rgHP3SWrC3TcrrS5jtNTGfA4VISV95YXnZzWjYfpgs2WoxdAXjsrM5TB7L3V4um4o6Dp
# appid: OP00000657 #接入方唯一编号
# mchSerialNo: 01887665511e #证书序列号
# merchantNo: 8221210594300JY #商户号
# vposId: 491612871013605376 #vpos_id
# termNo: A0073841 #终端号
# apiUrl: https://s2.lakala.com/
# privateKeyPath: D:\\project\\chaozhanggui\\pluss-common-bundle\\src\\main\\resources\\lakalaConf\\api_private_key.pem
# certificatePath: D:\\project\\chaozhanggui\\pluss-common-bundle\\src\\main\\resources\\lakalaConf\\lkl-apigw-v1.cer
# returncatePath: D:\\project\\chaozhanggui\\pluss-common-bundle\\src\\main\\resources\\lakalaConf\\lkl-apigw-v1.cer
# callBackUrl: https://p40312246f.goho.co/wap/notify/lklCallBack
# pubKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCHB7j7gG3ioLnnr7bsuEXTAh/8YSxSp4lQIYGW9gX0Ikgz9JqARdg4iEnU6tgNirxA6Jdg0AWgLJQxQBEZMkwyK2ZfYgesYhlJkv6WVC8v5OkOrhA9NSQ3iS6JsYegsZO0GJSTtLQaTOF8WobPYe5NI+eWU1fRz2ZyxlWlKshBeQIDAQAB
lkl:
privateKey: MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAIcHuPuAbeKgueevtuy4RdMCH/xhLFKniVAhgZb2BfQiSDP0moBF2DiISdTq2A2KvEDol2DQBaAslDFAERkyTDIrZl9iB6xiGUmS/pZULy/k6Q6uED01JDeJLomxh6Cxk7QYlJO0tBpM4Xxahs9h7k0j55ZTV9HPZnLGVaUqyEF5AgMBAAECgYAmugRHvXHGiapH1JF2GvOLrRRXYddAbWRoYvOzxCO4/QwQOpsFJwL4U745HpGQcLXFN/ASiBbU9XQbG/DLdS182qAjvdZVJOA2e3H3LhpY3D8ec3webO+0nGk6e4oWGG1efJLM88Nb0FtQiQ0E6z17Paw5AGvxMVBPbL5SoQfq8QJBANHQmvFkAWlBL2XTLPUXaj+NAJzolE90ctAquxfDcTtfEXv0JitC5bwTg87uNl7n4PUTmtMDIkse+D5vQ2CIF78CQQCkwOIMzedKtWhOEbdGxiz1Y/jkuA8yF7HREeC7X2Av0z2Gi3yltoJd0s6zLn+6zowQp1O/5U6ifrYCIObWlTTHAkA0WOZ/eWL8vr2zmvdpgtkIWAaiH0j5deU7WJ3rNODoXjS/h0+KlZs5zGijVT2Nei7fFnAXW33P3j8zXJEj4XCDAkAcrG0rKVLNz9C9dZveN3NvqdyRge8zGqiZ6HCia7ED4dHdbr1c4ezCg4Px72/PhU8fPt/2j+Qlp8PpjuxeAE3VAkBqUiVV9XZptFEXa/77rgHP3SWrC3TcrrS5jtNTGfA4VISV95YXnZzWjYfpgs2WoxdAXjsrM5TB7L3V4um4o6Dp
appid: OP00000657 #接入方唯一编号
mchSerialNo: 01887665511e #证书序列号
merchantNo: 8221210594300JY #商户号
vposId: 491612871013605376 #vpos_id
termNo: A0073841 #终端号
apiUrl: https://s2.lakala.com/
privateKeyPath: /mnt/docker/project/czg/.key/api_private_key.pem
certificatePath: /mnt/docker/project/czg/.key/lkl-apigw-v1.cer
returncatePath: /mnt/docker/project/czg/.key/lkl-apigw-v1.cer
callBackUrl: https://ky.sxczgkj.cn/wap/notify/lklCallBack
pubKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCHB7j7gG3ioLnnr7bsuEXTAh/8YSxSp4lQIYGW9gX0Ikgz9JqARdg4iEnU6tgNirxA6Jdg0AWgLJQxQBEZMkwyK2ZfYgesYhlJkv6WVC8v5OkOrhA9NSQ3iS6JsYegsZO0GJSTtLQaTOF8WobPYe5NI+eWU1fRz2ZyxlWlKshBeQIDAQAB
#lkl:
# privateKey: MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAIcHuPuAbeKgueevtuy4RdMCH/xhLFKniVAhgZb2BfQiSDP0moBF2DiISdTq2A2KvEDol2DQBaAslDFAERkyTDIrZl9iB6xiGUmS/pZULy/k6Q6uED01JDeJLomxh6Cxk7QYlJO0tBpM4Xxahs9h7k0j55ZTV9HPZnLGVaUqyEF5AgMBAAECgYAmugRHvXHGiapH1JF2GvOLrRRXYddAbWRoYvOzxCO4/QwQOpsFJwL4U745HpGQcLXFN/ASiBbU9XQbG/DLdS182qAjvdZVJOA2e3H3LhpY3D8ec3webO+0nGk6e4oWGG1efJLM88Nb0FtQiQ0E6z17Paw5AGvxMVBPbL5SoQfq8QJBANHQmvFkAWlBL2XTLPUXaj+NAJzolE90ctAquxfDcTtfEXv0JitC5bwTg87uNl7n4PUTmtMDIkse+D5vQ2CIF78CQQCkwOIMzedKtWhOEbdGxiz1Y/jkuA8yF7HREeC7X2Av0z2Gi3yltoJd0s6zLn+6zowQp1O/5U6ifrYCIObWlTTHAkA0WOZ/eWL8vr2zmvdpgtkIWAaiH0j5deU7WJ3rNODoXjS/h0+KlZs5zGijVT2Nei7fFnAXW33P3j8zXJEj4XCDAkAcrG0rKVLNz9C9dZveN3NvqdyRge8zGqiZ6HCia7ED4dHdbr1c4ezCg4Px72/PhU8fPt/2j+Qlp8PpjuxeAE3VAkBqUiVV9XZptFEXa/77rgHP3SWrC3TcrrS5jtNTGfA4VISV95YXnZzWjYfpgs2WoxdAXjsrM5TB7L3V4um4o6Dp
# appid: OP00000462 #接入方唯一编号
# mchSerialNo: 00dfba8194c41b84cf #证书序列号
# merchantNo: 8221210594300JY #商户号
# vposId: 491612871013605376 #vpos_id
# termNo: A0073841 #终端号
# apiUrl: https://test.wsmsd.cn/sit/
# privateKeyPath: D:\\project\\chaozhanggui\\pluss-common-bundle\\src\\main\\resources\\lakalaConf\\OP00000003_private_key.pem
# certificatePath: D:\\project\\chaozhanggui\\pluss-common-bundle\\src\\main\\resources\\lakalaConf\\OP00000003_cert.cer
# returncatePath: D:\\project\\chaozhanggui\\pluss-common-bundle\\src\\main\\resources\\lakalaConf\\lkl-apigw-v1.cer
# callBackUrl: https://p40312246f.goho.co/api/auditCallback/tradeCallBack
# pubKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCHB7j7gG3ioLnnr7bsuEXTAh/8YSxSp4lQIYGW9gX0Ikgz9JqARdg4iEnU6tgNirxA6Jdg0AWgLJQxQBEZMkwyK2ZfYgesYhlJkv6WVC8v5OkOrhA9NSQ3iS6JsYegsZO0GJSTtLQaTOF8WobPYe5NI+eWU1fRz2ZyxlWlKshBeQIDAQAB

View File

@@ -0,0 +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"

View File

@@ -11,10 +11,9 @@ ys:
otherDomain: https://commonapi.ysepay.com/gateway.do otherDomain: https://commonapi.ysepay.com/gateway.do
## 代理商编号 ## 代理商编号
agentNo: 801521000002WJW agentNo: 801521000002WJW
## 交易发起方编号 ## 交易发起方编号 武汉融商创银科技有限公司
srcMerchantNo: 826521773920170 srcMerchantNo: 826521773920170
## 私钥用于签名,对应的公钥给到银盛 ## 私钥用于签名,对应的公钥给到银盛
priKey: MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDky8v1JlxCfZM0e0p7rkZq/hpa3yHjsF3aJaE5rBt0+x5G7MnHX1AIgi9jJzG3Z8QnEPUVutVClVbRZ3k9hZChlm6T9Miv4IhyvE4kPGJEXRi2q2r7nHyUeGve3TC4jXvELy0muS30BWRyczM/f2x13/uzjxeCM1eMnI5+jxfdg8aaYS2NpCydgObtEvKQRpx6YoF+F7eIF8DNvbYyoRNzM/+NsmquDmgK7Ad1qNK7gqYSmfXHUys7F97Sd/NxfegaiBMapepruUvQSlcQkYXJprM9cBGQuWx/iK8kQ+yYfmOI0OWX8pBwYWut7rR/ritujAdKtIpg14XVxRLnop6dAgMBAAECggEASjJA6TZQcwuQIlPdOrCwi1/uIgv8TH9UYDsVxsMmgFAzaGK/qNUi+i9luKzsNYMEHHsmT66wHBCb//qjWa0n0w8auwaF0mtpNHQWjy+52luqeQqr/f6oc+l9ad+nPiI7wcpexREGcv0QrwDm3K+w96T0Vi2QPRvzR1k56Jb08VN+kpAXb3g7X++il0Ql2lKFM8NySI0utnHAFMH7erJqNc4KeKmr2fJYw23ldBUOxmU6oWEIGwO+KiysfNlmzu3JspYE/eQfKX5aaEKaDbPVGF5Dje5e1SlJ1x9sTAfhOPeh83canoRN61aAI5mEKu04li5LLscBZfW6li2sVVJi7QKBgQD6qPgPc9NOusBvYP02NPdARBswCoafA86QHftPtWpyza67/M2c3X7dd+EnOU1Q+9p2Wj+L64M2KnC1JB+RUrVDBhs4e+yZ3Gly8rD+OUt1kWdJTaK3hJyKAnKtbL9yE90CEwMxLEH0XnYTmC8GhYYXGbOS2ZsqzQJaGUaYel3kTwKBgQDpq5Z00hb8EcPF6l34aL+FL9nAxlASXbYJql/UkD8PdhIkoxezkox/UI5jeF+RXbQ+VfuZQa6HfUrBQOcHTmp9o4cInDqoN/DSjvqV3v8Cnjs/PuF+kxFMDJdYPsjkps4IqR24l8nypPCdPHRjCaRnyfOyc1AteB1jYxDxkUmXUwKBgDOu7V76SeKc3RraC7vGlgiZQmXYdcOJ3GiY1f2scWN0h4fZa2fhv8vYcQNObGO7WmM23o1yJR7hB1ZCOYQUYq2ML8aovrNG4DNEWTxCAg4eygYyTM+8Ny65rH2Xw6247MQFuY3FC2BgrcYChge5NlnDAeTQm47qsIZ1WboM2Rk/AoGBAIuT1kSjtd0OE34mV8lpcHVzNsQi8XN3DKTLY4DKRRDMO1wtG5xFPq1SBiu+nH9tlJvjqm1KQaFnIv868IV5vrybsK5g+9y9xZlQlLhvQq5irAtEWVfNK3jc0I6CumdyiAG+WyWHbbcF9UBG+1KpUM46YNpIbS0r4Yobg+R4H5hHAoGBAOCZOg2VFPiluOPWzIcILb6nYvZyPhZP4pzz7WyzBht2SoHcD70cduCQpcuAXbj5JY59gUfNxURCDxQDNW2x8cQs6Hxme1kVg5kZNJAaclfb7Jx+ZqsYk4ua0NqxOtyfhRmYXVaTVKDFNt8CmwoiKYse4VDC/E3yKgha0UdcE+co priKey: MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDky8v1JlxCfZM0e0p7rkZq/hpa3yHjsF3aJaE5rBt0+x5G7MnHX1AIgi9jJzG3Z8QnEPUVutVClVbRZ3k9hZChlm6T9Miv4IhyvE4kPGJEXRi2q2r7nHyUeGve3TC4jXvELy0muS30BWRyczM/f2x13/uzjxeCM1eMnI5+jxfdg8aaYS2NpCydgObtEvKQRpx6YoF+F7eIF8DNvbYyoRNzM/+NsmquDmgK7Ad1qNK7gqYSmfXHUys7F97Sd/NxfegaiBMapepruUvQSlcQkYXJprM9cBGQuWx/iK8kQ+yYfmOI0OWX8pBwYWut7rR/ritujAdKtIpg14XVxRLnop6dAgMBAAECggEASjJA6TZQcwuQIlPdOrCwi1/uIgv8TH9UYDsVxsMmgFAzaGK/qNUi+i9luKzsNYMEHHsmT66wHBCb//qjWa0n0w8auwaF0mtpNHQWjy+52luqeQqr/f6oc+l9ad+nPiI7wcpexREGcv0QrwDm3K+w96T0Vi2QPRvzR1k56Jb08VN+kpAXb3g7X++il0Ql2lKFM8NySI0utnHAFMH7erJqNc4KeKmr2fJYw23ldBUOxmU6oWEIGwO+KiysfNlmzu3JspYE/eQfKX5aaEKaDbPVGF5Dje5e1SlJ1x9sTAfhOPeh83canoRN61aAI5mEKu04li5LLscBZfW6li2sVVJi7QKBgQD6qPgPc9NOusBvYP02NPdARBswCoafA86QHftPtWpyza67/M2c3X7dd+EnOU1Q+9p2Wj+L64M2KnC1JB+RUrVDBhs4e+yZ3Gly8rD+OUt1kWdJTaK3hJyKAnKtbL9yE90CEwMxLEH0XnYTmC8GhYYXGbOS2ZsqzQJaGUaYel3kTwKBgQDpq5Z00hb8EcPF6l34aL+FL9nAxlASXbYJql/UkD8PdhIkoxezkox/UI5jeF+RXbQ+VfuZQa6HfUrBQOcHTmp9o4cInDqoN/DSjvqV3v8Cnjs/PuF+kxFMDJdYPsjkps4IqR24l8nypPCdPHRjCaRnyfOyc1AteB1jYxDxkUmXUwKBgDOu7V76SeKc3RraC7vGlgiZQmXYdcOJ3GiY1f2scWN0h4fZa2fhv8vYcQNObGO7WmM23o1yJR7hB1ZCOYQUYq2ML8aovrNG4DNEWTxCAg4eygYyTM+8Ny65rH2Xw6247MQFuY3FC2BgrcYChge5NlnDAeTQm47qsIZ1WboM2Rk/AoGBAIuT1kSjtd0OE34mV8lpcHVzNsQi8XN3DKTLY4DKRRDMO1wtG5xFPq1SBiu+nH9tlJvjqm1KQaFnIv868IV5vrybsK5g+9y9xZlQlLhvQq5irAtEWVfNK3jc0I6CumdyiAG+WyWHbbcF9UBG+1KpUM46YNpIbS0r4Yobg+R4H5hHAoGBAOCZOg2VFPiluOPWzIcILb6nYvZyPhZP4pzz7WyzBht2SoHcD70cduCQpcuAXbj5JY59gUfNxURCDxQDNW2x8cQs6Hxme1kVg5kZNJAaclfb7Jx+ZqsYk4ua0NqxOtyfhRmYXVaTVKDFNt8CmwoiKYse4VDC/E3yKgha0UdcE+co
## 签名公钥,由银盛提供 ## 签名公钥,由银盛提供
@@ -29,7 +28,7 @@ ys:
## 代理商编号 ## 代理商编号
agentNoV2: 801521000002WJW agentNoV2: 801521000002WJW
## 进件私钥v2 ## 进件私钥v2
priKeyV2: MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBK gwggSkAgEAAoIBAQDky8v1JlxCfZM0e0p7rkZq/hpa3yHjsF3aJaE5rBt0+x5G7MnHX1AIgi9jJzG3Z8QnEPUVutVClVbRZ3k9hZChlm6T9Miv4IhyvE4kPGJEXRi2q2r7nHyUeGve3TC4jXvELy0muS30BWRyczM/f2x13/uzjxeCM1eMnI5+jxfdg8aaYS2NpCydgObtEvKQRpx6YoF+F7eIF8DNvbYyoRNzM/+NsmquDmgK7Ad1qNK7gqYSmfXHUys7F97Sd/NxfegaiBMapepruUvQSlcQkYXJprM9cBGQuWx/iK8kQ+yYfmOI0OWX8pBwYWut7rR/ritujAdKtIpg14XVxRLnop6dAgMBAAECggEASjJA6TZQcwuQIlPdOrCwi1/uIgv8TH9UYDsVxsMmgFAzaGK/qNUi+i9luKzsNYMEHHsmT66wHBCb//qjWa0n0w8auwaF0mtpNHQWjy+52luqeQqr/f6oc+l9ad+nPiI7wcpexREGcv0QrwDm3K+w96T0Vi2QPRvzR1k56Jb08VN+kpAXb3g7X++il0Ql2lKFM8NySI0utnHAFMH7erJqNc4KeKmr2fJYw23ldBUOxmU6oWEIGwO+KiysfNlmzu3JspYE/eQfKX5aaEKaDbPVGF5Dje5e1SlJ1x9sTAfhOPeh83canoRN61aAI5mEKu04li5LLscBZfW6li2sVVJi7QKBgQD6qPgPc9NOusBvYP02NPdARBswCoafA86QHftPtWpyza67/M2c3X7dd+EnOU1Q+9p2Wj+L64M2KnC1JB+RUrVDBhs4e+yZ3Gly8rD+OUt1kWdJTaK3hJyKAnKtbL9yE90CEwMxLEH0XnYTmC8GhYYXGbOS2ZsqzQJaGUaYel3kTwKBgQDpq5Z00hb8EcPF6l34aL+FL9nAxlASXbYJql/UkD8PdhIkoxezkox/UI5jeF+RXbQ+VfuZQa6HfUrBQOcHTmp9o4cInDqoN/DSjvqV3v8Cnjs/PuF+kxFMDJdYPsjkps4IqR24l8nypPCdPHRjCaRnyfOyc1AteB1jYxDxkUmXUwKBgDOu7V76SeKc3RraC7vGlgiZQmXYdcOJ3GiY1f2scWN0h4fZa2fhv8vYcQNObGO7WmM23o1yJR7hB1ZCOYQUYq2ML8aovrNG4DNEWTxCAg4eygYyTM+8Ny65rH2Xw6247MQFuY3FC2BgrcYChge5NlnDAeTQm47qsIZ1WboM2Rk/AoGBAIuT1kSjtd0OE34mV8lpcHVzNsQi8XN3DKTLY4DKRRDMO1wtG5xFPq1SBiu+nH9tlJvjqm1KQaFnIv868IV5vrybsK5g+9y9xZlQlLhvQq5irAtEWVfNK3jc0I6CumdyiAG+WyWHbbcF9UBG+1KpUM46YNpIbS0r4Yobg+R4H5hHAoGBAOCZOg2VFPiluOPWzIcILb6nYvZyPhZP4pzz7WyzBht2SoHcD70cduCQpcuAXbj5JY59gUfNxURCDxQDNW2x8cQs6Hxme1kVg5kZNJAaclfb7Jx+ZqsYk4ua0NqxOtyfhRmYXVaTVKDFNt8CmwoiKYse4VDC/E3yKgha0UdcE+co priKeyV2: MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDky8v1JlxCfZM0e0p7rkZq/hpa3yHjsF3aJaE5rBt0+x5G7MnHX1AIgi9jJzG3Z8QnEPUVutVClVbRZ3k9hZChlm6T9Miv4IhyvE4kPGJEXRi2q2r7nHyUeGve3TC4jXvELy0muS30BWRyczM/f2x13/uzjxeCM1eMnI5+jxfdg8aaYS2NpCydgObtEvKQRpx6YoF+F7eIF8DNvbYyoRNzM/+NsmquDmgK7Ad1qNK7gqYSmfXHUys7F97Sd/NxfegaiBMapepruUvQSlcQkYXJprM9cBGQuWx/iK8kQ+yYfmOI0OWX8pBwYWut7rR/ritujAdKtIpg14XVxRLnop6dAgMBAAECggEASjJA6TZQcwuQIlPdOrCwi1/uIgv8TH9UYDsVxsMmgFAzaGK/qNUi+i9luKzsNYMEHHsmT66wHBCb//qjWa0n0w8auwaF0mtpNHQWjy+52luqeQqr/f6oc+l9ad+nPiI7wcpexREGcv0QrwDm3K+w96T0Vi2QPRvzR1k56Jb08VN+kpAXb3g7X++il0Ql2lKFM8NySI0utnHAFMH7erJqNc4KeKmr2fJYw23ldBUOxmU6oWEIGwO+KiysfNlmzu3JspYE/eQfKX5aaEKaDbPVGF5Dje5e1SlJ1x9sTAfhOPeh83canoRN61aAI5mEKu04li5LLscBZfW6li2sVVJi7QKBgQD6qPgPc9NOusBvYP02NPdARBswCoafA86QHftPtWpyza67/M2c3X7dd+EnOU1Q+9p2Wj+L64M2KnC1JB+RUrVDBhs4e+yZ3Gly8rD+OUt1kWdJTaK3hJyKAnKtbL9yE90CEwMxLEH0XnYTmC8GhYYXGbOS2ZsqzQJaGUaYel3kTwKBgQDpq5Z00hb8EcPF6l34aL+FL9nAxlASXbYJql/UkD8PdhIkoxezkox/UI5jeF+RXbQ+VfuZQa6HfUrBQOcHTmp9o4cInDqoN/DSjvqV3v8Cnjs/PuF+kxFMDJdYPsjkps4IqR24l8nypPCdPHRjCaRnyfOyc1AteB1jYxDxkUmXUwKBgDOu7V76SeKc3RraC7vGlgiZQmXYdcOJ3GiY1f2scWN0h4fZa2fhv8vYcQNObGO7WmM23o1yJR7hB1ZCOYQUYq2ML8aovrNG4DNEWTxCAg4eygYyTM+8Ny65rH2Xw6247MQFuY3FC2BgrcYChge5NlnDAeTQm47qsIZ1WboM2Rk/AoGBAIuT1kSjtd0OE34mV8lpcHVzNsQi8XN3DKTLY4DKRRDMO1wtG5xFPq1SBiu+nH9tlJvjqm1KQaFnIv868IV5vrybsK5g+9y9xZlQlLhvQq5irAtEWVfNK3jc0I6CumdyiAG+WyWHbbcF9UBG+1KpUM46YNpIbS0r4Yobg+R4H5hHAoGBAOCZOg2VFPiluOPWzIcILb6nYvZyPhZP4pzz7WyzBht2SoHcD70cduCQpcuAXbj5JY59gUfNxURCDxQDNW2x8cQs6Hxme1kVg5kZNJAaclfb7Jx+ZqsYk4ua0NqxOtyfhRmYXVaTVKDFNt8CmwoiKYse4VDC/E3yKgha0UdcE+co
## 进件公钥v2 ## 进件公钥v2
pubKeyV2: MIGfMA0GCSGqSIb3DQEBAQUAA4GNADCBiQKBgQC7SPkmIUf2auwkgbVchMyfeCDgICuA1GKrSwRbDI24UMVhzDgcIxCUmFG5/DfcPJz0d3oV9Ggkd4/7NmteRvmNnOOGNOnmR6AGEKafDpL1mAdpndmpkAZ0f6OVo3Py5JDg2wt8d+u3dF0AFWwd2rrrqscWvxJVB55DnuZfXl2CyQIDAQAB pubKeyV2: MIGfMA0GCSGqSIb3DQEBAQUAA4GNADCBiQKBgQC7SPkmIUf2auwkgbVchMyfeCDgICuA1GKrSwRbDI24UMVhzDgcIxCUmFG5/DfcPJz0d3oV9Ggkd4/7NmteRvmNnOOGNOnmR6AGEKafDpL1mAdpndmpkAZ0f6OVo3Py5JDg2wt8d+u3dF0AFWwd2rrrqscWvxJVB55DnuZfXl2CyQIDAQAB
## 加密密钥 ## 加密密钥
@@ -43,13 +42,6 @@ ys:
sybPubKey: sybPubKey:
# 银盛公钥 # 银盛公钥
payPubKey: payPubKey:
#D1相关配置
agentNoD1: 801521000002UUS
srcMerchantNoD1: 826521673920090
## 进件私钥v2(D1)
priKeyV2D1: MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQD2J82Gg79Tk8HZ9Zl7EOeLwvUn41c4ktUg6jveIhYLhT/PW5hpPAtgKXd9BvhtpfXhzbK6U9UURKhBgFIkQ+oIJQNfbB/F2jdVK9ke3IYi0/TXHMnY63x43qxciLeAOt+LxdhHn6ZImV4MsRkPjF/zLsaJrPOPWbc2m4T1yvinfzkrxhZaWn1dj4+IdyO3tA/juXCjydQqKR2kSqJlo6gdT9N3RIJ+ETda2UUahZyYXBfjyxFQEaOXthm6krZH1zBHs510Og6bQJQHjMmTskkslWvj38qPDfsuC4tq0Hgbu3LcyiX9vGYzQoGOaGhDEiNPObdDlOuh5gn0slRmg+PxAgMBAAECggEAJRvrCBRki50C5HD6Kmtp/M/vVYwYYhcAum2ViO9qk2ILNJ+CYpsCvASEVvzuBtm2L8xq3Vw2C1AubXGC8KSsa33o/EG4qIM1REnP+a8VKbr6dlOIuoMFyNMI+QpDX7mAafnxmRqgXuGAJDmupYFsFaU/mRHRxhKoZDsd2FA5HEbuDI9SJp86keE72NHsxyqfDIZyIk3Z8k7HZY2wg3FW+YaOKQBHVA9JYvhfZMeaQ1ymrA0IAqWpUqjLkqAa2Qa6xUsbj+QhvrkBCE48i8duamXKDSOaLfkqTb8IyxOM9eTsFwLVGEuZQrkhrLxdrg5aBPvu81pIJME6SgrquJJ84QKBgQD/MAFLiWU0wDJ4Hqf2jKa5vgrBmCqOsANBc079s8gDXM4zbsG/TjMHPDmiOGZxtDG8937twjYzRv9XpnqyITMArlhWWMhTOJ3r3CTVr/OISgeZKPGjfp+MbeDsOK4OggTVKZmNLx3nKiuc94IlTDOcz5qArVBTxKadWg56f1UGswKBgQD28G+haXxneMhRZozoHPjcfdgtDoZJaVa8XTXw8nvQala5ioU9yesbIAdtD/VR/eWwuMtO4rK1IFxtNZQ/MtSXwqlnKLf1xDJQPuj3kY5mC7H7sn4HGeFDP50VFnPgIaUnB5VwgyYFm8l19AW06OBjlnoBv0dnl1s5u+DgpzQcywKBgQCfeWSVzBtPR/1CTAYzcdqPoVAfg/S0jxK5yFHJAp0wXMMQKVszLq99CgoKcqyyyiV7LkBIXWJ50RipsgRjZZP2DP5vl7Q5LdyjFUR/tiG/PmRZNtkrj2ot3Ez/0rwTnPVgMUsgjB1n5Va0FYljvadTi/nGCIl2kCJ/m1QJAaIlOQKBgGV8TwRxS9ViiEEb+lDyhzxm488wpvPIvQLQ8/hAT65J5bZ/PV81etA9C5BA/Ltjs2A7siKLfJJ/6DxhxrlqdICiWeixjVkN9vePw0LrqTA7IjylELJuamuu2yntflXgvfUaYspIu/mWGufFEAtXodCL6TyKlhf21mEV28e4L+ydAoGAItgCUGbot95QNT1z+9QFN+18AvMnWCNvqanrC4qsk0phjYX9FFwfSCqWVeVm0Q0+2tUrRNcUEcbmlbQToBZq/hSu0nPcZIPvnNxLfW/NY7eVCXIcI5eNPjUIgbRCVMc6w5ukYMxPidOBuRXIt1iq2+iV20/FMbA58sY7AgOiaMw=
## 进件公钥v2
pubKeyV2D1: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7SPkmIUf2auwkgbVchMyfeCDgICuA1GKrSwRbDI24UMVhzDgcIxCUmFG5/DfcPJz0d3oV9Ggkd4/7NmteRvmNnOOGNOnmR6AGEKafDpL1mAdpndmpkAZ0f6OVo3Py5JDg2wt8d+u3dF0AFWwd2rrrqscWvxJVB55DnuZfXl2CyQIDAQAB
ys-extension: ys-extension:
## 进件URL前缀v2 ## 进件URL前缀v2

View File

@@ -1,22 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIDoDCCAoigAwIBAgIGAYh2ZVEeMA0GCSqGSIb3DQEBBQUAMGAxFDASBgNVBAMM
C0xBS0FMQS1MQU9QMQswCQYDVQQGEwJDTjEXMBUGA1UECgwOTGFrYWxhIENvLixM
dGQxDzANBgNVBAsMBkxLTC1ZRjERMA8GA1UEBwwIc2hhbmdoYWkwHhcNMjMwNjAx
MDk1ODUxWhcNMzMwNjAxMDk1ODUxWjBgMRQwEgYDVQQDDAtMQUtBTEEtTEFPUDEL
MAkGA1UEBhMCQ04xFzAVBgNVBAoMDkxha2FsYSBDby4sTHRkMQ8wDQYDVQQLDAZM
S0wtWUYxETAPBgNVBAcMCHNoYW5naGFpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAuX0oRVQqMatLl7U31D0S/HiW/ie/7/PpeHw2Y8Jmn2fbfeTKdNcQ
6JjBvy069zeJ+NmngH4JNGJZp1CiDAPs76XOz9nGPE/k/dyJ3/VftY5gceZfm68z
iHSmxxvY6WjllwVNiQrGqfWUix2L/dhE6hZszFhzbiBrDttFz9zcZf9gZaHvyUHj
y202onhN/olrbsHAWc77zvLowMbMiTANjw/4cGvOpv0HL3l/1HsMIuLqJUazXpxC
MbFndLaloIeUlZMehtNDv/xMELK7gImBKYLcFD2OUM6o9XdrLcIyrNujC7GqpFMy
32S54Q8Wpku2vcuyphnUK0XbFKNWjlDbKQIDAQABo2AwXjAPBgNVHRMECDAGAQH/
AgEAMB8GA1UdIwQYMBaAFNhKhTJ8euu/7alFJnM/CSKbJ3NeMB0GA1UdDgQWBBTY
SoUyfHrrv+2pRSZzPwkimydzXjALBgNVHQ8EBAMCBsAwDQYJKoZIhvcNAQEFBQAD
ggEBAIY2Y65MM6AB2Ajd6dITpCH19NaUrjA74PVzws0i1kdDui2ap0QlYWzDTvQ6
WK5SgQ9DZ1t8qhbsm4/DD7j+Sqj6fNYDG9N7PLDOgFj7LShdFJXVn8Ak/FWBwxe2
uM7uxg82p+wGxG/jtfI5VntOiRDTvrB4K7CdsLVjBM4ae/0UfuKceIw4mLCCT5hH
CnnK0RNmxgfOksSJmC1F2NxzZw8wMQp2nqnQaIvNphndzFy9+EXpz7i7P3q89m/r
CCnsI3f4pjm9wOaPMyPzIEc3yxHnTTMsAzHdccVzp02iR6qjquqYsKWjTfRr5Oa0
dgLD9Ccfpcux0xAs5UKgSrXRNOw=
-----END CERTIFICATE-----

View File

@@ -1,28 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC5fShFVCoxq0uX
tTfUPRL8eJb+J7/v8+l4fDZjwmafZ9t95Mp01xDomMG/LTr3N4n42aeAfgk0Ylmn
UKIMA+zvpc7P2cY8T+T93Inf9V+1jmBx5l+brzOIdKbHG9jpaOWXBU2JCsap9ZSL
HYv92ETqFmzMWHNuIGsO20XP3Nxl/2Bloe/JQePLbTaieE3+iWtuwcBZzvvO8ujA
xsyJMA2PD/hwa86m/QcveX/Uewwi4uolRrNenEIxsWd0tqWgh5SVkx6G00O//EwQ
sruAiYEpgtwUPY5Qzqj1d2stwjKs26MLsaqkUzLfZLnhDxamS7a9y7KmGdQrRdsU
o1aOUNspAgMBAAECggEAQ4rHdzdGhf+R7xQV2DrFBxoCIVnoEkAG69CPHZRUOgdf
bWA6OIF3rrqxEiQuLIcUvoDC9Y7vWxvU+Y/q8eUcCceenyD1hlCxWZ9MtThsOXg2
tkLk3ZPWeAHCGQ6S1atUrsFHkndSD+FUzbNcnnp53aN8yowKvDchxK8jpKUPvDO6
nchVipK/KfuPeK2HLIeQcQCF+sOqeAHqnj3ygafvI/J6e5df72xo8cqSepas2/4S
Racl6MbGvnuFWjU5L6AiYSG93EFSaQcz/wC4Na7H8iYjMbEnxyKHMOPOR8qVz2ud
ZnAU3HXk1wnfwK7JBohyr9GjJtFZNBo3HB1LjAu6YQKBgQDpOYqm+ur+wwf/NHgN
jj5GTiizyJTAsPq2ECUG993TpK3knhuDuCRESqbuC2DHbnF/6yMlJqUbOENZnUcc
BRGZ6CowQqbxqwSOm9v/e8JixmO/G55YdII3cuGIDh16j1Y2UMtPYqoqvm4KsGud
1EWYjlg3vZoCnwvZse5pYkpyhwKBgQDLmkBxMiUDypN1LKN7deKmMaplRQCBBUrQ
bL4VjkqUaeTMLs6qznIz8Ab1n8+ceECEMMTxrzRYx3VktyPO5cQ5p8mTD78AL0wM
ACjJVn0q6CmcljnXdLCG7agBCTw3cz1eziaDoPnyGyREfR6a1XDdTYcD3xi/uYCv
tAQ6OT/AzwKBgQC+HIenYbYZAYYNRAnwkti0mpWXJ5QKFrnnmvVz3qzWDtEpILCx
CHOXr3qvZFr5dk/SxCub5wqDS7Oq4wfKEV+to5BwUoSfTpaiYO5OLeXgenNonuzO
kfprlJu/OjJRa3INSILSLU0lFqHA2NqAhz5MAwxqM4XNSTRxuhbrlJG3FQKBgQCK
XlNrWnPTZsnd+S9FiXE2F0zBNCrKhEk66pwoVCKVSH4o0aq8ZD8y0u434ZsbsJHQ
BMDjq3l82FkM0HXydy5rLH+OhUX+HyakhTsy0aeREGSvOV0n8vLBUCQ8SAV3fcb4
dkuwaydShWWZchrpiSMCE10toWHVcoFlZ4bz9tI/+wKBgBPvXo3WZGDa5F8sGE9o
AI8PnD9ihb28GFIzZ5ktpRw4SWrz99c1N7sGTMVQ9mvc2/+TY7pOOjddFD6TYcAx
nctZv2puyuAQoN1/jgA08vS0F1k2EUerm3jS3KD5x2RQoany22ovq2vmi0yzNNqN
iECVZI9IZLHftwXfvM+Q03fq
-----END PRIVATE KEY-----

View File

@@ -1,9 +0,0 @@
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuX0oRVQqMatLl7U31D0S
/HiW/ie/7/PpeHw2Y8Jmn2fbfeTKdNcQ6JjBvy069zeJ+NmngH4JNGJZp1CiDAPs
76XOz9nGPE/k/dyJ3/VftY5gceZfm68ziHSmxxvY6WjllwVNiQrGqfWUix2L/dhE
6hZszFhzbiBrDttFz9zcZf9gZaHvyUHjy202onhN/olrbsHAWc77zvLowMbMiTAN
jw/4cGvOpv0HL3l/1HsMIuLqJUazXpxCMbFndLaloIeUlZMehtNDv/xMELK7gImB
KYLcFD2OUM6o9XdrLcIyrNujC7GqpFMy32S54Q8Wpku2vcuyphnUK0XbFKNWjlDb
KQIDAQAB
-----END PUBLIC KEY-----

View File

@@ -1,25 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIEMTCCAxmgAwIBAgIGAXUrc4b4MA0GCSqGSIb3DQEBCwUAMHYxCzAJBgNVBAYT
AkNOMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYDVQQHDAdCZWlKaW5nMRcwFQYDVQQK
DA5MYWthbGEgQ28uLEx0ZDEqMCgGA1UEAwwhTGFrYWxhIE9yZ2FuaXphdGlvbiBW
YWxpZGF0aW9uIENBMB4XDTIwMTAxNTA4NDk1MloXDTMwMTAxMzA4NDk1MlowZTEL
MAkGA1UEBhMCQ04xEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcx
FzAVBgNVBAoMDkxha2FsYSBDby4sTHRkMRkwFwYDVQQDDBBBUElHVy5MQUtBTEEu
Q09NMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwAXZw9lupWcFXouC
Nhm0DQT47Zf4KOIRF8rqT8Ps3pYzT8odROJ8rq4P+lciGrg29czpqrRM22yQktFr
itvcM7JlE6jFbGH3rycnvGvhRYU/j1N9k0ozm8oVwmKX357/OtGzNivBECGSnU9L
Bkp4Nm9M1K4cOwEuZ0xsQEthZjQYF0mDpnlWmVJL5i1Lq834atN2qrb/mzMHBNtD
JnqRV7rPL39lKpe7LJiitsC2JuW1UbWZZU1NNwA/rz2d83C+KD1DLJ0+sMYY2Q3T
OQ4BPAowDEwOH7XAXrHM/0kRm+ZeIFlwevEGIQWmMt1Ogz+AW4Iq0slINc4wOINK
vH9tHwIDAQABo4HVMIHSMIGSBgNVHSMEgYowgYeAFCnH4DkZPR6CZxRn/kIqVsMo
dJHpoWekZTBjMQswCQYDVQQGEwJDTjEQMA4GA1UECAwHQmVpSmluZzEQMA4GA1UE
BwwHQmVpSmluZzEXMBUGA1UECgwOTGFrYWxhIENvLixMdGQxFzAVBgNVBAMMDkxh
a2FsYSBSb290IENBggYBaiUALIowHQYDVR0OBBYEFIya0Yc4OSBer55JLyA0AYe9
m8mTMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMA0GCSqGSIb3DQEBCwUA
A4IBAQCBEwOlk3mXigNv94Drn3dcaY2ml/y+8yNpAIuUhuBE00WFoqEX5lOatFy5
fzdXuC12lBVQ8SjSm3aH7k2X0eXqDzkOHiur2ZBRKmJ++J4TeenuSUOjSIbQK/DT
vxaqFUjYwFSVCyizpy7wfU4wKt+jOuFb9LyULJ9lkM1dV9Kh7Lmd9+nlJYYuPEPU
LJkkVZqSALSiiJudXnTwlISjZTXEAkJpdIlMw+hvPTAkoG95B95M+OV/uLbItGK+
qT4+RHWo8EbBDPQYo6J4QYHOxRlfMoGBMyrz6XDt7ELLmT7ld4aE02w6KQPfK3gq
kLDT+/STozvaNmXzBJh7J6KqxJBH
-----END CERTIFICATE-----

View File

@@ -1,25 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIEMTCCAxmgAwIBAgIGAXRTgcMnMA0GCSqGSIb3DQEBCwUAMHYxCzAJBgNVBAYT
AkNOMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYDVQQHDAdCZWlKaW5nMRcwFQYDVQQK
DA5MYWthbGEgQ28uLEx0ZDEqMCgGA1UEAwwhTGFrYWxhIE9yZ2FuaXphdGlvbiBW
YWxpZGF0aW9uIENBMB4XDTIwMTAxMDA1MjQxNFoXDTMwMTAwODA1MjQxNFowZTEL
MAkGA1UEBhMCQ04xEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcx
FzAVBgNVBAoMDkxha2FsYSBDby4sTHRkMRkwFwYDVQQDDBBBUElHVy5MQUtBTEEu
Q09NMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt1zHL54HiI8d2sLJ
lwoQji3/ln0nsvfZ/XVpOjuB+1YR6/0LdxEDMC/hxI6iH2Rm5MjwWz3dmN/6BZeI
gwGeTOWJUZFARo8UduKrlhC6gWMRpAiiGC8wA8stikc5gYB+UeFVZi/aJ0WN0cpP
JYCvPBhxhMvhVDnd4hNohnR1L7k0ypuWg0YwGjC25FaNAEFBYP9EYUyCJjE//9Z7
sMzHR9SJYCqqo6r9bOH9G6sWKuEp+osuAh+kJIxJMHfipw7w3tEcWG0hce9u/el4
cYJtg8/PPMVoccKmeCzMvarr7jdKP4lenJbtwlgyfs+JgNu60KMUJH8RS72wC9NY
uFz09wIDAQABo4HVMIHSMIGSBgNVHSMEgYowgYeAFCnH4DkZPR6CZxRn/kIqVsMo
dJHpoWekZTBjMQswCQYDVQQGEwJDTjEQMA4GA1UECAwHQmVpSmluZzEQMA4GA1UE
BwwHQmVpSmluZzEXMBUGA1UECgwOTGFrYWxhIENvLixMdGQxFzAVBgNVBAMMDkxh
a2FsYSBSb290IENBggYBaiUALIowHQYDVR0OBBYEFJ2Kx9YZfmWpkKFnC33C0r5D
K3rFMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMA0GCSqGSIb3DQEBCwUA
A4IBAQBZoeU0XyH9O0LGF9R+JyGwfU/O5amoB97VeM+5n9v2z8OCiIJ8eXVGKN9L
tl9QkpTEanYwK30KkpHcJP1xfVkhPi/cCMgfTWQ5eKYC7Zm16zk7n4CP6IIgZIqm
TVGsIGKk8RzWseyWPB3lfqMDR52V1tdA1S8lJ7a2Xnpt5M2jkDXoArl3SVSwCb4D
AmThYhak48M++fUJNYII9JBGRdRGbfJ2GSFdPXgesUL2CwlReQwbW4GZkYGOg9LK
CNPK6XShlNdvgPv0CCR08KCYRwC3HZ0y1F0NjaKzYdGNPrvOq9lA495ONZCvzYDo
gmsu/kd6eqxTs/JwdaIYr4sCMg8Z
-----END CERTIFICATE-----

View File

@@ -0,0 +1,16 @@
package cn.pluss.platform.mapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.pluss.platform.entity.AccessChannelCipherCode;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
public interface AccessChannelCipherCodeMapper extends BaseMapper<AccessChannelCipherCode> {
default AccessChannelCipherCode selectAllByOrgId(String orgId) {
LambdaQueryWrapper<AccessChannelCipherCode> qWrapper = Wrappers.lambdaQuery();
qWrapper.eq(AccessChannelCipherCode::getOrgId, orgId);
return selectOne(qWrapper);
}
}

View File

@@ -1,9 +0,0 @@
package cn.pluss.platform.mapper;
import cn.pluss.platform.entity.AppletStore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface AppletStoreMapper extends BaseMapper<AppletStore> {
}

View File

@@ -1,25 +0,0 @@
package cn.pluss.platform.mapper;
import cn.pluss.platform.entity.Account;
import cn.pluss.platform.entity.AppletInfo;
import cn.pluss.platform.entity.AppletStoreUser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* @author lyf
*/
@Mapper
public interface AppletStoreUserMapper extends BaseMapper<AppletStoreUser> {
@Select("SELECT * FROM tb_pluss_applet_store_user WHERE userId = #{userId}")
List<AppletStoreUser> getAppletStoreByUser(@Param("userId") Integer userId);
@Select("SELECT * FROM tb_pluss_applet_store_user WHERE userId = #{userId} AND appleStoreId = #{appleStoreId}")
AppletStoreUser getAppletByUserStore(@Param("userId") Integer userId, @Param("appleStoreId") Integer appleStoreId);
}

View File

@@ -1,11 +0,0 @@
package cn.pluss.platform.mapper;
import cn.pluss.platform.entity.MerchantAuthentication;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.tomcat.util.net.openssl.ciphers.Authentication;
/**
* @author lyf
*/
public interface AuthenticationMapper extends BaseMapper<MerchantAuthentication> {
}

View File

@@ -71,8 +71,5 @@ public interface CashMapper extends BaseMapper<Cash> {
* @return 提现总金额 * @return 提现总金额
*/ */
BigDecimal selectCashAmtTotal(@Param("userId") String userId, @Param("statusArr") int... statusArr); BigDecimal selectCashAmtTotal(@Param("userId") String userId, @Param("statusArr") int... statusArr);
List<Cash> subordinate(@Param("userId") Long userId, @Param("size") Integer size, @Param("page")Integer page,
@Param("status") String status);
} }

View File

@@ -53,8 +53,6 @@ public interface IdCardMapper extends BaseMapper<IdCard> {
*/ */
int selectAgentCount(@Param("certNo") String certNo, @Param("userId") String userId); int selectAgentCount(@Param("certNo") String certNo, @Param("userId") String userId);
Integer getCountIdCard(@Param("certNo") String certNo);
/** /**
* 获取未关联结算信息的对私结算身份证信息 * 获取未关联结算信息的对私结算身份证信息
* *

View File

@@ -1,9 +0,0 @@
package cn.pluss.platform.mapper;
import cn.pluss.platform.entity.MerchantBackLkl;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface MerchantBackLklMapper extends BaseMapper<MerchantBackLkl> {
}

View File

@@ -1,9 +0,0 @@
package cn.pluss.platform.mapper;
import cn.pluss.platform.entity.MerchantChannelFee;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface MerchantChannelFeeMapper extends BaseMapper<MerchantChannelFee> {
}

View File

@@ -1,10 +1,8 @@
package cn.pluss.platform.mapper; package cn.pluss.platform.mapper;
import cn.pluss.platform.entity.MerchantChannelStatus; import cn.pluss.platform.entity.MerchantChannelStatus;
import cn.pluss.platform.vo.ChannelStatusVO;
import cn.pluss.platform.vo.MerchantChannelStatusVO; import cn.pluss.platform.vo.MerchantChannelStatusVO;
import cn.pluss.platform.vo.UserNumVO; import cn.pluss.platform.vo.UserNumVO;
import cn.pluss.platform.vo.merchantChannelVO;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
@@ -13,7 +11,6 @@ import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import java.util.List; import java.util.List;
import java.util.Map;
@Mapper @Mapper
public interface MerchantChannelStatusMapper extends BaseMapper<MerchantChannelStatus> { public interface MerchantChannelStatusMapper extends BaseMapper<MerchantChannelStatus> {
@@ -52,5 +49,4 @@ public interface MerchantChannelStatusMapper extends BaseMapper<MerchantChannelS
* @return java.util.Map<java.lang.String,java.lang.Integer> * @return java.util.Map<java.lang.String,java.lang.Integer>
*/ */
UserNumVO getUserNumInfo(@Param("userId") Long userId, @Param("date")String date, @Param("dateType")Integer dateType); UserNumVO getUserNumInfo(@Param("userId") Long userId, @Param("date")String date, @Param("dateType")Integer dateType);
List<merchantChannelVO> pageDate(@Param("pageSize")Integer size, @Param("offset")Integer page);
} }

View File

@@ -1,13 +0,0 @@
package cn.pluss.platform.mapper;
import cn.pluss.platform.entity.MmerchantHfInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Select;
public interface MerchantHfInfoMapper extends BaseMapper<MmerchantHfInfo> {
@Select("SELECT * FROM tb_pluss_merchant_hf_info WHERE merchant_code = #{merchantCode}")
MmerchantHfInfo selectByMerchantCode(String merchantCode);
}

View File

@@ -5,6 +5,7 @@ import cn.pluss.platform.entity.UserProfit;
import cn.pluss.platform.vo.*; import cn.pluss.platform.vo.*;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@@ -22,6 +23,14 @@ import java.util.Map;
@Mapper @Mapper
public interface MerchantOrderMapper extends BaseMapper<MerchantOrder> { public interface MerchantOrderMapper extends BaseMapper<MerchantOrder> {
@Select("SELECT SUM(mro.refundAmt) refundFee FROM tb_pluss_merchant_order mo LEFT JOIN \n" +
"tb_pluss_merchant_refund_order mro ON (mo.orderNumber = mro.orderNumber OR mo.orderNumber = mro.refundNo)\n" +
"WHERE mo.snNo = #{snNo} AND mo.`status` = '1' AND mro.`status` = '1' " +
"AND mo.merchantCode = #{merchantCode} AND mro.refundTime LIKE CONCAT(#{date}, '%')")
BigDecimal selectRefundAmt(@Param("merchantCode") String merchantCode, @Param("snNo") String snNo, @Param("date") String date);
Page<MerchantOrder> page(IPage<MerchantOrder> page, @Param("map") Map<String, Object> map, @Param("statusList") List<String> statusList);
/** /**
* 统计一些数值的合计值 * 统计一些数值的合计值
* @return . * @return .
@@ -37,43 +46,43 @@ public interface MerchantOrderMapper extends BaseMapper<MerchantOrder> {
Integer queryMerchantOrderPageCount(Map map); Integer queryMerchantOrderPageCount(Map map);
void saveMerchantOrderBatch(List<MerchantOrder> merchantOrderList); void saveMerchantOrderBatch(List<MerchantOrder> merchantOrderList);
/** /**
* 可提现总金额(提现规则 超过一个月的时间)推广 * 可提现总金额(提现规则 超过一个月的时间)推广
* @param * @param
* @return * @return
*/ */
Double sumMerchantAllowCashMoney(@Param(value = "memberCode") String memberCode); Double sumMerchantAllowCashMoney(@Param(value = "memberCode") String memberCode);
/** /**
* 不可提现总金额(提现规则 不超过一个月)推广 * 不可提现总金额(提现规则 不超过一个月)推广
* @param * @param
* @return * @return
*/ */
Double sumMerchantNotAllowCashMoney(@Param(value = "memberCode") String memberCode); Double sumMerchantNotAllowCashMoney(@Param(value = "memberCode") String memberCode);
/** /**
* 今日分润 推广 * 今日分润 推广
* @param merchantCode * @param merchantCode
* @return * @return
*/ */
Double sumNowDayShareMoney(@Param(value = "memberCode") String merchantCode); Double sumNowDayShareMoney(@Param(value = "memberCode") String merchantCode);
/** /**
* 累计总分润 推广 * 累计总分润 推广
* @return * @return
*/ */
Double sumAllShareMoney(@Param(value = "memberCode") String memberCode); Double sumAllShareMoney(@Param(value = "memberCode") String memberCode);
/** /**
* 供 商户推广- 交易明细 接口使用 * 供 商户推广- 交易明细 接口使用
* @param map * @param map
* @return * @return
*/ */
List<MerchantOrder> queryMerchantOrderPageApp(Map map); List<MerchantOrder> queryMerchantOrderPageApp(Map map);
/** /**
* 供 商户推广- 交易明细 接口使用 * 供 商户推广- 交易明细 接口使用
* @param map * @param map
@@ -82,23 +91,23 @@ public interface MerchantOrderMapper extends BaseMapper<MerchantOrder> {
Integer queryMerchantOrderPageCountApp(Map map); Integer queryMerchantOrderPageCountApp(Map map);
Integer queryMerchantOrderPageCountByTime(Map map); Integer queryMerchantOrderPageCountByTime(Map map);
Double queryMerchantOrdeFeeByTime(Map map); Double queryMerchantOrdeFeeByTime(Map map);
List<MerchantOrder> queryMerchantOrderPageByTime(Map map); List<MerchantOrder> queryMerchantOrderPageByTime(Map map);
/** /**
* 汇总流水manage * 汇总流水manage
*/ */
SummaryOfWaterVO querySummaryOfWater(Map map); SummaryOfWaterVO querySummaryOfWater(Map map);
/** /**
* 订单退款信息 * 订单退款信息
* @param map * @param map
* @return * @return
*/ */
List<MerchantOrder> queryMerchantOrderRefundPage(Map map); List<MerchantOrder> queryMerchantOrderRefundPage(Map map);
/** /**
* 订单退款统计 * 订单退款统计
* @param map * @param map
@@ -107,111 +116,111 @@ public interface MerchantOrderMapper extends BaseMapper<MerchantOrder> {
Integer queryMerchantOrderRefundPageCount(Map map); Integer queryMerchantOrderRefundPageCount(Map map);
Double queryMerchantOrderShareMoney(Map map); Double queryMerchantOrderShareMoney(Map map);
/** /**
* *
* queryOrderTask:(给wap端的定时任务使用的 暂定查3天内状态为5待支付的订单). <br/> * queryOrderTask:(给wap端的定时任务使用的 暂定查3天内状态为5待支付的订单). <br/>
* *
* @author Administrator * @author Administrator
* @param merchantOrder * @param merchantOrder
* @return * @return
* @since JDK 1.8 * @since JDK 1.8
*/ */
List<MerchantOrder> queryOrderTask(MerchantOrder merchantOrder); List<MerchantOrder> queryOrderTask(MerchantOrder merchantOrder);
/** /**
* 7日交易数统计 * 7日交易数统计
* @param s * @param s
*/ */
List<OrderStatisticsVO> queryOrderStatistics(MerchantOrder s); List<OrderStatisticsVO> queryOrderStatistics(MerchantOrder s);
/** /**
* 支付通道统计 * 支付通道统计
* @param s * @param s
*/ */
List<PayTypeStatisticsVO> queryPayTypeStatistics(MerchantOrder s); List<PayTypeStatisticsVO> queryPayTypeStatistics(MerchantOrder s);
Double queryMerchantOrderEnterFeeByTime(Map map); Double queryMerchantOrderEnterFeeByTime(Map map);
Double queryMerchantOrderShareMoneyByTime(Map map); Double queryMerchantOrderShareMoneyByTime(Map map);
BigDecimal queryMerchantOrderMoneyByTime(Map map);
/** /**
* *
* queryMerchantOrderPageShuju:(最新统计订单方法). <br/> * queryMerchantOrderPageShuju:(最新统计订单方法). <br/>
* *
* @author Administrator * @author Administrator
* @param map * @param map
* @return * @return
* @since JDK 1.8 * @since JDK 1.8
*/ */
List<MerchantMangeOrderVO> queryMerchantOrderPageShuju(Map<String, Object> map); List<MerchantMangeOrderVO> queryMerchantOrderPageShuju(Map<String, Object> map);
// List<MerchantMangeOrderVO> queryMerchantOrderNoPageShuju(Map<String, Object> map); // List<MerchantMangeOrderVO> queryMerchantOrderNoPageShuju(Map<String, Object> map);
/** /**
* *
* queryMerchantOrderPageCountShuju:(最新统计订单方法). <br/> * queryMerchantOrderPageCountShuju:(最新统计订单方法). <br/>
* *
* @author Administrator * @author Administrator
* @param map * @param map
* @return * @return
* @since JDK 1.8 * @since JDK 1.8
*/ */
Integer queryMerchantOrderPageCountShuju(Map<String, Object> map); Integer queryMerchantOrderPageCountShuju(Map<String, Object> map);
// Integer queryMerchantOrderNoPageCountShuju(Map<String, Object> map); // Integer queryMerchantOrderNoPageCountShuju(Map<String, Object> map);
/** /**
* *
* querySumEarnings:(统计总的收益 根据时间). <br/> * querySumEarnings:(统计总的收益 根据时间). <br/>
* *
* @author Administrator * @author Administrator
* @param map * @param map
* @return * @return
* @since JDK 1.8 * @since JDK 1.8
*/ */
List<MerchantMangeOrderVO> querySumEarnings(Map<String, Object> map); List<MerchantMangeOrderVO> querySumEarnings(Map<String, Object> map);
/** /**
* *
* promoterSumCash:(推广员退关分润余额信息统计). <br/> * promoterSumCash:(推广员退关分润余额信息统计). <br/>
* *
* @author Administrator * @author Administrator
* @param userId * @param userId
* @return * @return
* @since JDK 1.8 * @since JDK 1.8
*/ */
PromoterSumVO promoterSumCash(@Param(value = "userId") Long userId); PromoterSumVO promoterSumCash(@Param(value = "userId") Long userId);
/** /**
* *
* PlatformSum:(统计平台大屏的门店数量 商户数量 交易总额 交易笔数 会员数量 推广员数量 推广分润总额 粉丝奖励总额 收益总计). <br/> * PlatformSum:(统计平台大屏的门店数量 商户数量 交易总额 交易笔数 会员数量 推广员数量 推广分润总额 粉丝奖励总额 收益总计). <br/>
* *
* @author Administrator * @author Administrator
* @return * @return
* @since JDK 1.8 * @since JDK 1.8
*/ */
PlatformSumVO PlatformSum(@Param(value = "timeStatus") String timeStatus); PlatformSumVO PlatformSum(@Param(value = "timeStatus") String timeStatus);
/** /**
* *
* sumConsumeFeebystoreId:(查询门店的今日流水 跟总流水). <br/> * sumConsumeFeebystoreId:(查询门店的今日流水 跟总流水). <br/>
* *
* @author Administrator * @author Administrator
* @param storeId * @param storeId
* @return * @return
* @since JDK 1.8 * @since JDK 1.8
*/ */
StoreVO sumConsumeFeebystoreId(String storeId); StoreVO sumConsumeFeebystoreId(String storeId);
/** /**
* *
* sumConsumeFeebystoreId:(查询商户的今日流水 跟总流水). <br/> * sumConsumeFeebystoreId:(查询商户的今日流水 跟总流水). <br/>
* *
* @author Administrator * @author Administrator
* @return * @return
* @since JDK 1.8 * @since JDK 1.8
*/ */
StoreVO sumConsumeFeebymerchantCode(String merchantCode); StoreVO sumConsumeFeebymerchantCode(String merchantCode);
@@ -222,7 +231,7 @@ public interface MerchantOrderMapper extends BaseMapper<MerchantOrder> {
* @return * @return
*/ */
Double getOrderFeeSum1(Map<String, Object> orderMap); Double getOrderFeeSum1(Map<String, Object> orderMap);
Double getToDayTransSum1(Map<String, Object> orderMap); Double getToDayTransSum1(Map<String, Object> orderMap);
@Select("SELECT SUM(consumeFee) fee, status FROM tb_pluss_merchant_order ${ew.customSqlSegment}") @Select("SELECT SUM(consumeFee) fee, status FROM tb_pluss_merchant_order ${ew.customSqlSegment}")
@@ -235,7 +244,6 @@ public interface MerchantOrderMapper extends BaseMapper<MerchantOrder> {
"WHERE merchantCode = #{merchantCode} AND createDate = #{date} AND `status` IN (1, 2)") "WHERE merchantCode = #{merchantCode} AND createDate = #{date} AND `status` IN (1, 2)")
Map<String, Object> getConsumeFee(@Param("merchantCode") String merchantCode, @Param("date") String date); Map<String, Object> getConsumeFee(@Param("merchantCode") String merchantCode, @Param("date") String date);
Map<String, Object> querySumCount(Map<String, Object> params); Map<String, Object> querySumCount(Map<String, Object> params);
/** /**
@@ -428,23 +436,5 @@ public interface MerchantOrderMapper extends BaseMapper<MerchantOrder> {
@Select("SELECT * FROM tb_pluss_merchant_order WHERE mercOrderNo = #{mercOrderNo} limit 1") @Select("SELECT * FROM tb_pluss_merchant_order WHERE mercOrderNo = #{mercOrderNo} limit 1")
MerchantOrder getByMercOrderNo(String mercOrderNo); MerchantOrder getByMercOrderNo(String mercOrderNo);
@Select("SELECT count(0)\n" +
"FROM tb_pluss_merchant_order mo\n" +
"LEFT JOIN tb_pluss_user_app ua ON ua.merchantCode = mo.merchantCode\n" +
"WHERE\n" +
" ua.userId = #{userId} ")
Integer getCountUser(@Param("userId") Long userId);
@Select("SELECT IFNULL(SUM(consumeFee - refundAmt),0) FROM tb_pluss_merchant_order WHERE merchantCode=#{merchantCode} AND `status` = 1")
BigDecimal getAmountData(@Param("merchantCode") String merchantCode);
/**
* 昨日收款
* @param startDate
* @param endDate
* @return
*/
@Select("SELECT IFNULL(SUM(consumeFee - refundAmt),0) FROM tb_pluss_merchant_order WHERE merchantCode=#{merchantCode} AND `status` = 1 AND transDt >= #{startDate} AND transDt <= #{endDate}")
BigDecimal getPlatformAmtYestday(@Param("merchantCode") String merchantCode,@Param("startDate") Date startDate, @Param("endDate") Date endDate);
} }

View File

@@ -21,7 +21,7 @@ public interface MerchantOrderVOMapper extends BaseMapper<MerchantOrderVO> {
* @param orderNumber 订单号 * @param orderNumber 订单号
* @return * @return
*/ */
List<Map<String, Object>> getOnlineCouponList(@Param("orderNumber") String orderNumber,@Param("id")Long id); List<Map<String, Object>> getOnlineCouponList(@Param("orderNumber") String orderNumber);
/** /**
@@ -29,5 +29,5 @@ public interface MerchantOrderVOMapper extends BaseMapper<MerchantOrderVO> {
* @param orderNumber 订单号 * @param orderNumber 订单号
* @return * @return
*/ */
List<Map<String, Object>> getOfflineCouponList(@Param("orderNumber") String orderNumber,@Param("id")Long id); List<Map<String, Object>> getOfflineCouponList(@Param("orderNumber") String orderNumber);
} }

View File

@@ -1,13 +1,7 @@
package cn.pluss.platform.mapper; package cn.pluss.platform.mapper;
import cn.pluss.platform.api.PageInfo;
import cn.pluss.platform.dto.MerchantFeeDTO; import cn.pluss.platform.dto.MerchantFeeDTO;
import cn.pluss.platform.entity.MerchantChannelStatus;
import cn.pluss.platform.entity.MerchantProfit; import cn.pluss.platform.entity.MerchantProfit;
import cn.pluss.platform.vo.DeviceGoodsVO;
import cn.pluss.platform.vo.MerChannelStatusVO;
import cn.pluss.platform.vo.MerchantProfitVO;
import cn.pluss.platform.vo.ProfitOrderVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@@ -23,7 +17,7 @@ public interface MerchantProfitMapper extends BaseMapper<MerchantProfit> {
List<MerchantProfit> selectGroupMercProfit(@Param("userIdList") List<Long> userIdList); List<MerchantProfit> selectGroupMercProfit(@Param("userIdList") List<Long> userIdList);
@Select("SELECT SUM(`price`) FROM tb_pluss_merchant_profit WHERE `status` = '5' AND userId = #{userId}") @Select("SELECT SUM(`price`) FROM tb_pluss_merchant_profit WHERE `status` = '1' AND userId = #{userId}")
BigDecimal selectSumValidProfit(@Param("userId") String userId); BigDecimal selectSumValidProfit(@Param("userId") String userId);
MerchantProfit queryMerchantProfit(MerchantProfit merchantProfit); MerchantProfit queryMerchantProfit(MerchantProfit merchantProfit);
@@ -33,7 +27,6 @@ public interface MerchantProfitMapper extends BaseMapper<MerchantProfit> {
List<MerchantProfit> queryMerchantProfitPage(Map map); List<MerchantProfit> queryMerchantProfitPage(Map map);
Integer queryMerchantProfitPageCount(Map map); Integer queryMerchantProfitPageCount(Map map);
Integer queryMerchantProfitPageCountV2(@Param("userId") String userId, @Param("startTime") Date startTime,@Param("endTime") Date endTime);
void saveMerchantProfitBatch(List<MerchantProfit> merchantProfitList); void saveMerchantProfitBatch(List<MerchantProfit> merchantProfitList);
@@ -74,93 +67,5 @@ public interface MerchantProfitMapper extends BaseMapper<MerchantProfit> {
Map<String, BigDecimal> getProfitAmtCount(MerchantProfit condition); Map<String, BigDecimal> getProfitAmtCount(MerchantProfit condition);
/**
* 今日收益
* @param userId
* @return
*/
@Select("SELECT\n" +
"\tsum( t.price ) \n" +
"FROM\n" +
"\ttb_pluss_merchant_profit t \n" +
"WHERE\n" +
"\tt.type = 5 \n" +
"\tAND t.userId = #{userId} \n" +
"\tAND date_format( `t`.`createDt`, '%Y-%m-%d' ) = date_format(( curdate() - INTERVAL 0 DAY ), '%Y-%m-%d' );")
BigDecimal getTodaySum(@Param("userId")String userId);
/**
* 直属商户交易金额
* @return
*/
@Select("SELECT\n" +
"\tsum( o.consumeFee ) \n" +
"FROM\n" +
"\ttb_pluss_merchant_order o\n" +
"\tLEFT JOIN tb_pluss_merchant_base_info b ON o.merchantCode = b.merchantCode\n" +
"\tLEFT JOIN tb_pluss_user_promotion p ON b.userId = p.user_id \n" +
"WHERE\n" +
"\to.`status` = 1 \n" +
"\tAND p.parent_user_id = #{userId}")
BigDecimal getConsumeFee(@Param("userId") String userId);
/**
* 团队总交易金额
* @param userId
* @return
*/
BigDecimal getConsumeFeeTeam(@Param("userId") String userId);
/**
* 团队总交易金额(今日)
* @param userId
* @return
*/
BigDecimal getConsumeFeeTeamToday(@Param("userId") String userId);
List<MerchantProfitVO> getTeamList(@Param("typeCode") String typeCode, @Param("userId") Long userId,
@Param("userName") String userName, @Param("pageSize") Integer pageSize,
@Param("offset") Integer offset);
List<MerchantProfitVO> getMerchantTeamList(@Param("typeCode") String typeCode, @Param("userId") Long userId,
@Param("userName") String userName, @Param("pageSize") Integer pageSize,
@Param("offset") Integer offset);
@Select("SELECT\n" +
"\tcount(*) \n" +
"FROM\n" +
"\ttb_pluss_user_promotion \n" +
"WHERE\n" +
"\tparent_user_id = #{userId}\n" +
"\tAND type_code = #{typeCode}")
Integer getCountChild( @Param("userId") Long userId,@Param("typeCode") String typeCod);
@Select("SELECT\n" +
"\tcount(*) \n" +
"FROM\n" +
"\ttb_pluss_user_promotion \n" +
"WHERE\n" +
"\tparent_user_id = #{userId}\n" +
"\tAND type_code = #{typeCode}"+
"\tAND is_extend = '0'")
Integer getCountQuotaChild( @Param("userId") Long userId,@Param("typeCode") String typeCod);
Integer getCountChildV2( @Param("userId") Long userId);
List<MerChannelStatusVO> getChannelStatus(@Param("merchantCode") String merchantCode);
/**
* 直属交易
* @param userId
* @param pageSize
* @param offset
* @return
*/
List<ProfitOrderVO> directlyOrder(@Param("userId") Long userId,@Param("pageSize") Integer pageSize,@Param("offset") Integer offset,
@Param("startTime") String startTime, @Param("endTime") String endTime);
/**
* 团队交易
*/
List<ProfitOrderVO> teamOrder(@Param("userId") Long userId,@Param("pageSize") Integer pageSize,@Param("offset") Integer offset,
@Param("startTime") String startTime, @Param("endTime") String endTime);
} }

View File

@@ -5,9 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -26,6 +24,4 @@ public interface MerchantRefundOrderMapper extends BaseMapper<MerchantRefundOrde
* @return java.util.Map<java.lang.String,java.lang.Object> * @return java.util.Map<java.lang.String,java.lang.Object>
*/ */
Map<String, Object> getPlatformRefundData(); Map<String, Object> getPlatformRefundData();
BigDecimal selectOrderByOrderNumber(String orderNumber);
} }

View File

@@ -1,40 +0,0 @@
package cn.pluss.platform.mapper;
import cn.pluss.platform.entity.UserAccountFlow;
import cn.pluss.platform.entity.UserMakerFlow;
import cn.pluss.platform.vo.UserMakerQuotaVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @author lyf
*/
@Mapper
public interface UserAccountFlowMapper extends BaseMapper<UserAccountFlow> {
@Select("SELECT\n" +
"\tmf.id,\n"+
"\tbi.alias AS userName,\n" +
"\tmf.orderNumber,\n" +
"\tmf.create_time AS createTime,\n" +
"\tmo.consumeFee AS lowerAmount,\n" +
"\t(mo.consumeFee - mo.enterFee) AS amount\n" +
"FROM\n" +
"\ttb_pluss_user_maker_flow mf \n" +
"\tLEFT JOIN tb_pluss_merchant_base_info bi ON bi.userId = mf.user_id\n" +
"\tLEFT JOIN tb_pluss_merchant_order mo ON mf.orderNumber = mo.orderNumber\n" +
"WHERE\n" +
"\tmf.user_id = #{userId}\n" +
"\tAND mf.biz_code = 'LD'\n" +
"\torder by id desc limit #{pageSize} offset #{offset} ")
List<UserMakerQuotaVO> selectByUserIdType(@Param("userId") Long userId, @Param("pageSize") Integer pageSize, @Param("offset") Integer offset);
BigDecimal selectSumByUserId(@Param("userId") Long userId,@Param("startTime") Date startTime,@Param("endTime") Date endTime);
}

View File

@@ -1,27 +0,0 @@
package cn.pluss.platform.mapper;
import cn.pluss.platform.entity.UserAccount;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.math.BigDecimal;
@Mapper
public interface UserAccountMapper extends BaseMapper<UserAccount> {
@Select(value = "select user_id AS userId,freeze_balance AS freezeBalance,balance,out_balance AS outBalance,create_time AS createTime,update_time AS updateTime from tb_pluss_user_account where user_id=#{userId}")
UserAccount selectUserByUserId(@Param("userId")Integer userId,Integer t);
@Select(value = "select user_id AS userId,freeze_balance AS freezeBalance,balance,out_balance AS outBalance,create_time AS createTime,update_time AS updateTime from tb_pluss_user_account where user_id=#{userId} for update")
UserAccount selectUserByUserId(@Param("userId")Integer userId);
@Update(value = "update tb_pluss_user_account set freeze_balance=freeze_balance+#{amount} where user_id=#{userId}")
Integer updateFreezon(@Param("userId") Integer userId, @Param("amount") BigDecimal amount);
@Update(value = "update tb_pluss_user_account set balance=balance+#{amount} where user_id=#{userId}")
Integer updateBanlance(@Param("userId") Integer userId, @Param("amount") BigDecimal amount);
}

View File

@@ -2,7 +2,6 @@ package cn.pluss.platform.mapper;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -17,7 +16,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.Data;
import lombok.val; import lombok.val;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import cn.pluss.platform.entity.UserApp; import cn.pluss.platform.entity.UserApp;
@@ -47,9 +45,8 @@ public interface UserAppMapper extends BaseMapper<UserApp> {
MerchSummaryVO selectBillCountAndTotalFee(@Param("condition") MerchSearchDTO condition); MerchSummaryVO selectBillCountAndTotalFee(@Param("condition") MerchSearchDTO condition);
Integer queryUserAppPageCount(Map<String, Object> map); Integer queryUserAppPageCount(Map<String, Object> map);
Integer queryUserPageCount(Map<String, Object> map);
List<UserInfoVO> queryUserInfoVOPage(Map<String, Object> map); List<List<?>> queryUserInfoVOPage(Map<String, Object> map);
List<UserInfoVO> queryUserInfoVONoPage(Map<String, Object> map); List<UserInfoVO> queryUserInfoVONoPage(Map<String, Object> map);
@@ -147,7 +144,6 @@ public interface UserAppMapper extends BaseMapper<UserApp> {
* 获取指定进件状态的商户 * 获取指定进件状态的商户
*/ */
Integer selectUserAppWithChannelStatusCount(@Param(Constants.WRAPPER) Wrapper<UserApp> updateWrapper); Integer selectUserAppWithChannelStatusCount(@Param(Constants.WRAPPER) Wrapper<UserApp> updateWrapper);
Integer selectUserAppWithChannelStatusCountV2(@Param("userId") String userId, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
/** /**
* 获取指定进件状态的商户 * 获取指定进件状态的商户

View File

@@ -19,7 +19,6 @@ public interface UserInfoMapper extends BaseMapper<UserInfo> {
*/ */
UserInfo selectMainUserInfo(Long id); UserInfo selectMainUserInfo(Long id);
/** /**
* @description:取主商户和子商户信息 * @description:取主商户和子商户信息
* @date: 2021/9/23 15:43 * @date: 2021/9/23 15:43

View File

@@ -1,35 +0,0 @@
package cn.pluss.platform.mapper;
import cn.pluss.platform.entity.UserMakerFlow;
import cn.pluss.platform.vo.UserMakerQuotaVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* @author lyf
*/
public interface UserMakerFlowMapper extends BaseMapper<UserMakerFlow> {
@Select(value = "SELECT\n" +
"\tmf.id,\n" +
"\tmf.biz_code AS bizCode,\n" +
"\tmf.biz_name AS bizName,\n" +
"\tmo.merchantName AS userName,\n" +
"\tmf.amount AS lowerAmount,\n" +
"\tmf.create_time AS createTime,\n" +
"\tmo.consumeFee AS amount \n" +
"FROM\n" +
"\t`tb_pluss_user_maker_flow` mf\n" +
"\tLEFT JOIN tb_pluss_merchant_base_info bi ON mf.user_id = bi.userId\n" +
"\tLEFT JOIN tb_pluss_merchant_order mo ON mf.orderNumber = mo.orderNumber \n" +
"WHERE\n" +
"\tmf.user_id = #{userId} \n" +
"\tAND mo.`status` = 1\n" +
"ORDER BY\n" +
"\tid DESC \n" +
"\tLIMIT #{pageSize} OFFSET #{offset}")
List<UserMakerQuotaVO> selectByUserId(@Param("userId") Long userId, @Param("pageSize") Integer pageSize, @Param("offset") Integer offset);
}

View File

@@ -1,25 +0,0 @@
package cn.pluss.platform.mapper;
import cn.pluss.platform.entity.UserIntegral;
import cn.pluss.platform.entity.UserMakerQuota;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.math.BigDecimal;
/**
* @author lyf
*/
public interface UserMakerQuotaMapper extends BaseMapper<UserMakerQuota> {
BigDecimal sumQuota(@Param("userId") Long userId);
@Update(value = "update tb_pluss_user_maker_quota set amount=amount+#{amount} where userId=#{userId}")
Integer updateMakerFreeze(@Param("userId") Integer userId, @Param("amount") BigDecimal amount);
@Select(value ="SELECT * FROM tb_pluss_user_maker_quota WHERE userId = #{userId}")
UserMakerQuota selectByUserId(@Param("userId") Integer userId);
// @Select(value ="SELECT * FROM tb_pluss_user_maker_quota WHERE userId = #{userId}")
// UserMakerQuota selectByUserId(@Param("userId") Integer userId);
}

View File

@@ -1,9 +0,0 @@
package cn.pluss.platform.mapper;
import cn.pluss.platform.entity.UserMarker;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMarkerMapper extends BaseMapper<UserMarker> {
}

View File

@@ -1,46 +0,0 @@
package cn.pluss.platform.mapper;
import cn.pluss.platform.entity.UserManageProfit;
import cn.pluss.platform.entity.UserPromotion;
import cn.pluss.platform.vo.MerchantChannelStatusVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.math.BigDecimal;
import java.util.List;
@Mapper
public interface UserPromotionMapper extends BaseMapper<UserPromotion> {
List<UserPromotion> selectListByUserId(@Param("userIdList") List<Integer> userIdList);
@Select(value = "SELECT\n" +
"\tP.user_id AS userId,\n" +
"\tP.type_code AS typeCode,\n" +
"\tP.current_fee AS currentFee,\n" +
"\tP.parent_user_id AS parentUserId,\n" +
"\tP.is_extend AS isExtend,\n" +
"\tP.create_time AS createTime,\n" +
"\tP.update_time AS updateTime,\n" +
"\tu.loginName \n" +
"FROM\n" +
"\ttb_pluss_user_promotion P\n" +
"\tLEFT JOIN tb_pluss_user_info u ON P.user_id = u.id \n" +
"WHERE\n" +
"\tP.user_id = #{userId}")
UserPromotion selectByUserId(@Param("userId") String userId);
UserPromotion selectByPrimaryKey(Long userId);
UserPromotion selectByUserIdMC(Long userId);
@Select("select max(current_fee) from tb_pluss_user_promotion where parent_user_id=#{id}")
BigDecimal selectMaxFeeByUserId(@Param("id")String id);
@Select(" select *\n" +
" from tb_pluss_user_promotion\n" +
" where user_id = #{userId}" +
" limit 1 ")
UserPromotion getOne(@Param("userId") Long userId);
int updateByPrimaryKey(UserPromotion record);
}

View File

@@ -9,7 +9,7 @@
tpc.id, tpc.userId,tpc.userName,tpc.merchantCode,tpc.merchantName, tpc.id, tpc.userId,tpc.userName,tpc.merchantCode,tpc.merchantName,
IFNULL(tpc.accountNo, ca.accountNo) accountNo, IFNULL(tpc.accountName, ca.accountName) accountName, IFNULL(tpc.accountNo, ca.accountNo) accountNo, IFNULL(tpc.accountName, ca.accountName) accountName,
tpc.cashAmt,tpc.status,tpc.reason,tpc.createDt,tpc.updateDt,tpc.cashNumber,tpc.type, tpc.cashAmt,tpc.status,tpc.reason,tpc.createDt,tpc.updateDt,tpc.cashNumber,tpc.type,
tpui.alias as alias ,tpc.cashStatus from tb_pluss_cash tpc tpui.alias as alias from tb_pluss_cash tpc
LEFT JOIN tb_pluss_merchant_base_info tpui on tpui.userId = tpc.userId LEFT JOIN tb_pluss_merchant_base_info tpui on tpui.userId = tpc.userId
LEFT JOIN tb_pluss_cash_account ca ON ca.userId = tpc.userId LEFT JOIN tb_pluss_cash_account ca ON ca.userId = tpc.userId
<where> <where>
@@ -217,32 +217,4 @@
</foreach> </foreach>
</if> </if>
</select> </select>
<select id="subordinate" parameterType="java.lang.Long" resultType="cn.pluss.platform.entity.Cash">
SELECT
v.*
FROM
(
SELECT
@ids AS _ids,
( SELECT @ids := GROUP_CONCAT( user_id ) FROM tb_pluss_user_promotion WHERE FIND_IN_SET( parent_user_id, @ids ) ) AS cids,
@l := @l + 1 AS LEVEL
FROM
tb_pluss_user_promotion,
( SELECT @ids := #{userId}, @l := 0 ) b
WHERE
@ids IS NOT NULL
) ID,
tb_pluss_user_promotion p
LEFT JOIN tb_pluss_cash v ON p.user_id = v.userId
WHERE
FIND_IN_SET( p.user_id, ID._ids )
AND v.userId != #{userId}
AND v.id IS NOT NULL
<if test="status != null and status !=''">
AND v.status = #{status}
</if>
ORDER BY v.id DESC
limit #{page},#{size}
</select>
</mapper> </mapper>

View File

@@ -31,35 +31,20 @@
${ew.customSqlSegment} ${ew.customSqlSegment}
</select> </select>
<!-- <select id="selectListWithStockWithNoDetail" resultType="cn.pluss.platform.entity.DeviceDetail">-->
<!-- SELECT dd.id, dd.code, dd.venderCode, dd.deviceLogo, dd.venderName, dd.venderModel,-->
<!-- dd.aisleModel, dd.type, dd.groupNo, dd.size, dd.seq, dd.status, dd.createDt, dd.unitPrice,-->
<!-- dd.wholesalePrice, dd.wholesaleMinNum, dd.introDesc, ds.specName typeDesc-->
<!-- FROM tb_pluss_device_detail dd-->
<!-- LEFT JOIN tb_pluss_device_spec ds ON dd.type = ds.spec AND dd.`code` = ds.`code`-->
<!-- ${ew.customSqlSegment}-->
<!-- </select>-->
<select id="selectListWithStockWithNoDetail" resultType="cn.pluss.platform.entity.DeviceDetail"> <select id="selectListWithStockWithNoDetail" resultType="cn.pluss.platform.entity.DeviceDetail">
SELECT dd.id, dd.code, dd.venderCode, dd.deviceLogo, dd.venderName, dd.venderModel, SELECT dd.id, dd.code, dd.venderCode, dd.deviceLogo, dd.venderName, dd.venderModel,
dd.aisleModel, dd.type, dd.groupNo, dd.size, dd.seq, dd.status, dd.createDt, dd.unitPrice, dd.aisleModel, dd.type, dd.groupNo, dd.size, dd.seq, dd.status, dd.createDt, dd.unitPrice,
dd.wholesalePrice, dd.wholesaleMinNum, dd.introDesc, ds.specName typeDesc dd.wholesalePrice, dd.wholesaleMinNum, dd.introDesc, ds.specName typeDesc
FROM tb_pluss_device_detail dd FROM tb_pluss_device_detail dd
LEFT JOIN tb_pluss_device_spec ds ON dd.type = ds.spec AND dd.`code` = ds.`code` LEFT JOIN tb_pluss_device_spec ds ON dd.`code` = ds.`code`
${ew.customSqlSegment} ${ew.customSqlSegment}
</select> </select>
<!-- <select id="selectListWithStockWithNoDetail" resultType="cn.pluss.platform.entity.DeviceDetail">-->
<!-- SELECT dd.id,-->
<!-- dd.code,-->
<!-- dd.venderCode,-->
<!-- dd.deviceLogo,-->
<!-- dd.venderName,-->
<!-- dd.venderModel,-->
<!-- dd.aisleModel,-->
<!-- dd.type,-->
<!-- dd.groupNo,-->
<!-- dd.size,-->
<!-- dd.seq,-->
<!-- dd.status,-->
<!-- dd.createDt,-->
<!-- dd.unitPrice,-->
<!-- dd.wholesalePrice,-->
<!-- dd.wholesaleMinNum,-->
<!-- dd.introDesc,-->
<!-- ds.specName typeDesc-->
<!-- FROM tb_pluss_device_detail dd-->
<!-- LEFT JOIN tb_pluss_device_spec ds ON dd.`code` = ds.`code` GROUP BY dd.id-->
<!-- ${ew.customSqlSegment}-->
<!-- </select>-->
</mapper> </mapper>

View File

@@ -70,10 +70,4 @@
AND ua.`userId` != #{userId} AND ua.`userId` != #{userId}
AND t1.`userType` = '01' AND t1.`userType` = '01'
</select> </select>
<select id="getCountIdCard" resultType="java.lang.Integer">
SELECT count(`certNo`)
FROM tb_pluss_id_card
WHERE
`certNo` = #{certNo}
</select>
</mapper> </mapper>

View File

@@ -7,7 +7,7 @@
</select> </select>
<select id="getByMerchantCode" resultType="cn.pluss.platform.entity.MerchantChannelStatus"> <select id="getByMerchantCode" resultType="cn.pluss.platform.entity.MerchantChannelStatus">
SELECT t1.*,t2.channelName FROM tb_pluss_merchant_channel_status t1 SELECT t1.* FROM tb_pluss_merchant_channel_status t1
LEFT JOIN tb_pluss_merchant_channel t2 ON t1.channel = t2.id LEFT JOIN tb_pluss_merchant_channel t2 ON t1.channel = t2.id
WHERE t2.`status` = '1' AND t1.merchantCode = #{merchantCode} AND t1.channel = #{channel} WHERE t2.`status` = '1' AND t1.merchantCode = #{merchantCode} AND t1.channel = #{channel}
</select> </select>
@@ -74,19 +74,4 @@
WHERE channel = 4 AND `status` = 3 AND (extra ->> '$.sysFlowId') = #{sysFlowId} WHERE channel = 4 AND `status` = 3 AND (extra ->> '$.sysFlowId') = #{sysFlowId}
</select> </select>
<select id="pageDate" parameterType="java.lang.Integer" resultType="cn.pluss.platform.vo.merchantChannelVO">
SELECT mcs.merchantCode,
mcs.valid,
mcs.status,
mcs.updateTime,
mcs.virChannelFlag,
mcs.channel,
ba.merchantName,
ba.contactName,
ba.alias
from tb_pluss_merchant_channel_status mcs
LEFT JOIN tb_pluss_merchant_base_info ba ON mcs.merchantCode = ba.merchantCode
WHERE mcs.`valid` = -1
order by mcs.id desc limit #{pageSize} offset #{offset};
</select>
</mapper> </mapper>

View File

@@ -15,6 +15,51 @@
</foreach> </foreach>
</insert> </insert>
<select id="page" resultType="cn.pluss.platform.entity.MerchantOrder">
SELECT
IFNULL(mro.orderNumber, mo.orderNumber) orderNumber, mo.merchantCode, mo.merchantName, mo.payTypeCode,
mo.thirdTransNo, mo.consumeFee, mo.createDt, mo.transDt, mo.staffCode, mo.staffName, mo.`status`,
mo.enterFee, mo.remark, mo.updateTime, mo.rate, mo.mercOrderNo, mo.isRecharge, mo.snNo, mo.cashPlaceId,
mo.settlementType, mo.drType, mro.refundAmt, mro.refundTime
FROM
tb_pluss_merchant_order mo
LEFT JOIN tb_pluss_merchant_refund_order mro ON mo.merchantCode = mro.merchantCode
AND (mo.orderNumber = mro.orderNumber OR mo.orderNumber = mro.refundNo) AND mo.`status` = '2'
<where>
<if test="map.merchantCode != null and map.merchantCode != ''">
AND mo.merchantCode = #{map.merchantCode}
</if>
<if test="map.snNo != null and map.snNo != ''">
AND mo.snNo = #{map.snNo}
</if>
<if test="map.createDate != null">
AND (
(mo.createDate LIKE CONCAT(#{map.createDate}, '%') AND mo.status = '1')
OR (mro.refundTime LIKE CONCAT(#{map.createDate}, '%') AND mo.status IN ('2', '6'))
)
</if>
<if test="map.startTime != null">
AND (
(mo.transTime &gt; #{map.startTime} AND mo.status = '1')
OR (mro.refundTime &gt; #{map.startTime} AND mo.status IN ('2', '6'))
)
</if>
<if test="map.endTime != null">
AND (
(mo.transTime &lt; #{map.endTime} AND mo.status = '1')
OR (mro.refundTime &lt; #{map.endTime} AND mo.status IN ('2', '6'))
)
</if>
<if test="statusList != null and statusList.size > 0">
AND mo.`status` IN
<foreach collection="statusList" item="item" close=")" separator="," open="(">
#{item}
</foreach>
</if>
</where>
ORDER BY mo.updateTime
</select>
<select id="queryMerchantOrder" <select id="queryMerchantOrder"
parameterType="cn.pluss.platform.entity.MerchantOrder" parameterType="cn.pluss.platform.entity.MerchantOrder"
resultType="cn.pluss.platform.entity.MerchantOrder"> resultType="cn.pluss.platform.entity.MerchantOrder">
@@ -2981,18 +3026,4 @@
#{item} #{item}
</foreach> </foreach>
</select> </select>
<select id="queryMerchantOrderMoneyByTime" resultType="java.math.BigDecimal">
SELECT sum(consumeFee) from tb_pluss_merchant_order
<where>
<if test="startTime != null">
and transDt &gt;= #{startTime}
</if>
<if test="endTime!= null">
and transDt &lt;= #{endTime}
</if>
AND merchantCode = #{merchantCode}
AND status = 1
</where>
</select>
</mapper> </mapper>

View File

@@ -15,13 +15,8 @@
SELECT SELECT
* *
FROM tb_pluss_merchant_order FROM tb_pluss_merchant_order
<where> WHERE
orderNumber = #{orderNumber} orderNumber = #{orderNumber}
<if test="id!= null">
AND id=#{id}
</if>
</where>
</select> </select>
<!-- <select id="getOfflineCouponList" resultType="java.util.Map">--> <!-- <select id="getOfflineCouponList" resultType="java.util.Map">-->
@@ -35,11 +30,7 @@
SELECT SELECT
* *
FROM tb_pluss_merchant_order FROM tb_pluss_merchant_order
<where> WHERE
orderNumber = #{orderNumber} orderNumber = #{orderNumber}
<if test="id!= null">
AND id=#{id}
</if>
</where>
</select> </select>
</mapper> </mapper>

View File

@@ -249,15 +249,13 @@
resultType="cn.pluss.platform.entity.MerchantProfit"> resultType="cn.pluss.platform.entity.MerchantProfit">
SELECT SELECT
profit.*, profit.*,
ua.userType, ua.userType
bi.alias
FROM FROM
tb_pluss_merchant_profit profit tb_pluss_merchant_profit profit
LEFT JOIN tb_pluss_merchant_order merchantOrder ON profit.orderNumber = merchantOrder.orderNumber LEFT JOIN tb_pluss_merchant_order merchantOrder ON profit.orderNumber = merchantOrder.orderNumber
LEFT JOIN tb_pluss_user_app ua ON ua.userId = profit.userId LEFT JOIN tb_pluss_user_app ua ON ua.userId = profit.userId
LEFT JOIN tb_pluss_merchant_base_info bi ON merchantOrder.merchantCode = bi.merchantCode
<where> <where>
profit.userId=#{userId} and merchantOrder.status = 1
<if test="id!= null"> <if test="id!= null">
and profit.id = #{id} and profit.id = #{id}
</if> </if>
@@ -280,7 +278,7 @@
and profit.merchantCode = #{merchantCode} and profit.merchantCode = #{merchantCode}
</if> </if>
<if test="merchantName!= null"> <if test="merchantName!= null">
and bi.alias like CONCAT('%',#{merchantName},'%') and profit.merchantName like CONCAT('%',#{merchantName},'%')
</if> </if>
<if test="consumeFee!= null"> <if test="consumeFee!= null">
and profit.consumeFee = #{consumeFee} and profit.consumeFee = #{consumeFee}
@@ -348,6 +346,7 @@
<if test="merchantParentPhone!= null"> <if test="merchantParentPhone!= null">
and profit.merchantParentPhone = #{merchantParentPhone} and profit.merchantParentPhone = #{merchantParentPhone}
</if> </if>
</where> </where>
order by id desc limit #{pageSize} offset #{offset} order by id desc limit #{pageSize} offset #{offset}
</select> </select>
@@ -556,7 +555,7 @@
<select id="queryMerchantProfitSumPrice" parameterType="java.util.Map" resultType="java.lang.Double"> <select id="queryMerchantProfitSumPrice" parameterType="java.util.Map" resultType="java.lang.Double">
SELECT sum(price) from tb_pluss_merchant_profit profit SELECT sum(price) from tb_pluss_merchant_profit profit
WHERE profit.type = 5 <where>
<if test="id!= null"> <if test="id!= null">
and profit.id = #{id} and profit.id = #{id}
</if> </if>
@@ -566,6 +565,9 @@
<if test="userId!= null"> <if test="userId!= null">
and profit.userId = #{userId} and profit.userId = #{userId}
</if> </if>
<if test="type!= null">
and profit.type = #{type}
</if>
<if test="price!= null"> <if test="price!= null">
and profit.price = #{price} and profit.price = #{price}
</if> </if>
@@ -656,7 +658,7 @@
<if test="recordDateEnd != null"> <if test="recordDateEnd != null">
and profit.recordDate &lt;= #{recordDateEnd} and profit.recordDate &lt;= #{recordDateEnd}
</if> </if>
</where>
</select> </select>
@@ -863,255 +865,4 @@
</foreach> </foreach>
GROUP BY userId GROUP BY userId
</select> </select>
<select id="getConsumeFeeTeam" resultType="java.math.BigDecimal">
SELECT
SUM(v.consumeFee)
FROM
(
SELECT
@ids AS _ids,
( SELECT @ids := GROUP_CONCAT( user_id ) FROM tb_pluss_user_promotion WHERE FIND_IN_SET( parent_user_id, @ids ) ) AS cids,
@l := @l + 1 AS LEVEL
FROM
tb_pluss_user_promotion,
( SELECT @ids := #{userId}, @l := 0 ) b
WHERE @ids IS NOT NULL ) ID,
tb_pluss_user_promotion p
LEFT JOIN tb_pluss_merchant_base_info b ON b.userId = p.user_id
LEFT JOIN tb_pluss_merchant_order v ON v.merchantCode = b.merchantCode
WHERE
b.userId != #{userId}
AND FIND_IN_SET( p.user_id, ID._ids )
AND v.status = 1
</select>
<select id="getConsumeFeeTeamToday" resultType="java.math.BigDecimal">
SELECT
IFNULL(SUM(v.consumeFee),0)
FROM
(
SELECT
@ids AS _ids,
( SELECT @ids := GROUP_CONCAT( user_id ) FROM tb_pluss_user_promotion WHERE FIND_IN_SET( parent_user_id, @ids ) ) AS cids,
@l := @l + 1 AS LEVEL
FROM
tb_pluss_user_promotion,
( SELECT @ids := #{userId}, @l := 0 ) b
WHERE @ids IS NOT NULL ) ID,
tb_pluss_user_promotion p
LEFT JOIN tb_pluss_merchant_base_info b ON b.userId = p.user_id
LEFT JOIN tb_pluss_merchant_order v ON v.merchantCode = b.merchantCode
WHERE
FIND_IN_SET( p.user_id, ID._ids )
AND b.userId != #{userId}
AND v.status = 1
AND date_format( `v`.`transDt`, '%Y-%m-%d' ) = date_format(( curdate() - INTERVAL 0 DAY ), '%Y-%m-%d' )
</select>
<select id="getTeamList" resultType="cn.pluss.platform.vo.MerchantProfitVO">
SELECT
ua.userId,
ua.userName,
ui.phone,
up.current_fee,
up.type_code,
ua.merchantCode,
ua.createDt
FROM
tb_pluss_user_promotion up
LEFT JOIN tb_pluss_user_app ua ON ua.userId = up.user_id
LEFT JOIN tb_pluss_user_info ui ON ui.id = ua.userId
WHERE
up.parent_user_id = #{userId}
AND up.type_code = #{typeCode}
AND up.is_extend ='0'
<if test="userName != null and userName != ''">
AND ua.userName = #{userName}
</if>
order by ua.userId DESC
LIMIT #{pageSize} OFFSET #{offset}
</select>
<select id="getMerchantTeamList" resultType="cn.pluss.platform.vo.MerchantProfitVO">
SELECT
p.user_id AS id,
u.loginName AS phone,
ua.userName,
pr.createTime AS createDt,
p.parent_user_id,
pr.trueName AS parentTrueName,
p.type_code,
IFNULL( k.sumConsumeFee, 0 ) AS consumeFee,
IFNULL( k.yestedayConsumeFee, 0 ) AS yestedayConsumeFee,
IFNULL(n.num,0) as countNum,
k.merchantCode
FROM
(
SELECT
@ids AS _ids,
( SELECT @ids := GROUP_CONCAT( user_id ) FROM tb_pluss_user_promotion WHERE FIND_IN_SET( parent_user_id, @ids ) ) AS cids,
@l := @l + 1 AS LEVEL
FROM
tb_pluss_user_promotion,
( SELECT @ids := #{userId}, @l := 0 ) b
WHERE @ids IS NOT NULL ) ID,
tb_pluss_user_promotion p
LEFT JOIN tb_pluss_user_info u ON p.user_id = u.id
LEFT JOIN tb_pluss_user_info pr ON p.parent_user_id = pr.id
left join view_order_user_num n on p.user_id=n.userId
LEFT JOIN tb_pluss_user_app ua ON n.userId = ua.userId
LEFT JOIN (
SELECT
i.userId,
i.merchantCode,
IFNULL( sum( i.sumConsumeFee ), 0 ) AS sumConsumeFee,
IFNULL( sum( i.yestedayConsumeFee ), 0 ) AS yestedayConsumeFee
FROM
view_order_info i
GROUP BY
i.userId
) k ON p.user_id = k.userId
WHERE
FIND_IN_SET( p.user_id, ID._ids )
AND p.user_id != #{userId}
<if test="userName != null and userName != ''">
AND u.trueName = #{userName}
</if>
ORDER BY
user_id
LIMIT #{pageSize} OFFSET #{offset}
</select>
<select id="getChannelStatus" resultType="cn.pluss.platform.vo.MerChannelStatusVO">
SELECT
`status`, authorizationStatus,remark,virChannelFlag
FROM
tb_pluss_merchant_channel_status
WHERE merchantCode = #{merchantCode}
AND virChannelFlag != 1
</select>
<select id="directlyOrder" resultType="cn.pluss.platform.vo.ProfitOrderVO">
SELECT
v.merchantName,
v.consumeFee,
v.transDt,
v.orderNumber
FROM
view_base_order v
WHERE v.userId in (select p.user_id from tb_pluss_user_promotion p where p.parent_user_id= #{userId})
<if test="startTime != null">
AND v.createDt &gt;= #{startTime}
</if>
<if test="endTime != null">
AND v.createDt &lt;= #{endTime}
</if>
order by v.id desc
limit #{pageSize} offset #{offset}
</select>
<select id="teamOrder" resultType="cn.pluss.platform.vo.ProfitOrderVO">
SELECT
v.merchantName,
v.consumeFee,
v.transDt,
v.orderNumber
FROM
view_base_order v
WHERE
v.userId IN (
SELECT
p.user_id
FROM
(
SELECT
@ids AS _ids,
( SELECT @ids := GROUP_CONCAT( user_id ) FROM tb_pluss_user_promotion WHERE FIND_IN_SET( parent_user_id, @ids ) ) AS cids,
@l := @l + 1 AS LEVEL
FROM
tb_pluss_user_promotion,
( SELECT @ids := #{userId}, @l := 0 ) b
WHERE
@ids IS NOT NULL
) ID,
tb_pluss_user_promotion p
WHERE
FIND_IN_SET( p.user_id, ID._ids )
ORDER BY
user_id
)
and v.userId!=#{userId}
<if test="startTime != null">
AND v.createDt &gt;= #{startTime}
</if>
<if test="endTime != null">
AND v.createDt &lt;= #{endTime}
</if>
ORDER BY
v.id desc
limit #{pageSize} offset #{offset}
</select>
<select id="queryMerchantProfitPageCountV2" resultType="java.lang.Integer">
SELECT
COUNT(v.userId)
FROM
view_base_order v
WHERE
v.userId IN (
SELECT
p.user_id
FROM
(
SELECT
@ids AS _ids,
( SELECT @ids := GROUP_CONCAT( user_id ) FROM tb_pluss_user_promotion WHERE FIND_IN_SET( parent_user_id, @ids ) ) AS cids,
@l := @l + 1 AS LEVEL
FROM
tb_pluss_user_promotion,
( SELECT @ids := #{userId}, @l := 0 ) b
WHERE
@ids IS NOT NULL
) ID,
tb_pluss_user_promotion p
WHERE
FIND_IN_SET( p.user_id, ID._ids )
ORDER BY
user_id
)
AND v.userId != #{userId}
AND v.transDt BETWEEN #{startTime} AND #{endTime}
ORDER BY
v.id DESC
</select>
<select id="getCountChildV2" resultType="java.lang.Integer">
SELECT
count(p.user_id)
FROM
(
SELECT
@ids AS _ids,
( SELECT @ids := GROUP_CONCAT( user_id ) FROM tb_pluss_user_promotion WHERE FIND_IN_SET( parent_user_id, @ids ) ) AS cids,
@l := @l + 1 AS LEVEL
FROM
tb_pluss_user_promotion,
( SELECT @ids := #{userId}, @l := 0 ) b
WHERE @ids IS NOT NULL ) ID,
tb_pluss_user_promotion p
LEFT JOIN tb_pluss_user_info u ON p.user_id = u.id
LEFT JOIN tb_pluss_user_info pr ON p.parent_user_id = pr.id
LEFT JOIN view_order_user_num n ON p.user_id = n.userId
LEFT JOIN tb_pluss_user_app ua ON n.userId = ua.userId
LEFT JOIN (
SELECT
i.userId,
i.merchantCode,
IFNULL( sum( i.sumConsumeFee ), 0 ) AS sumConsumeFee,
IFNULL( sum( i.yestedayConsumeFee ), 0 ) AS yestedayConsumeFee
FROM
view_order_info i
GROUP BY
i.userId
) k ON p.user_id = k.userId
WHERE
FIND_IN_SET( p.user_id, ID._ids )
AND p.user_id != #{userId}
ORDER BY
user_id
</select>
</mapper> </mapper>

View File

@@ -95,9 +95,4 @@
FROM tb_pluss_merchant_refund_order FROM tb_pluss_merchant_refund_order
WHERE `status` = 1 AND date(createTime) = curdate() WHERE `status` = 1 AND date(createTime) = curdate()
</select> </select>
<select id="selectOrderByOrderNumber" resultType="java.math.BigDecimal">
select IFNULL(sum(payAmt),0) from tb_pluss_merchant_refund_order where orderNumber=#{orderNumber}
</select>
</mapper> </mapper>

View File

@@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.pluss.platform.mapper.UserAccountFlowMapper">
<select id="selectSumByUserId" resultType="java.math.BigDecimal">
SELECT
IFNULL( SUM( amount ), 0 ) - (
SELECT
IFNULL( SUM( amount ), 0 )
FROM
tb_pluss_user_account_flow
WHERE
user_id = #{userId}
AND biz_code = '103'
AND create_time &lt; #{endTime} AND create_time > #{startTime}
)
FROM
tb_pluss_user_account_flow
WHERE
user_id = #{userId}
AND biz_code IN ( '102', 'LD' )
AND create_time &lt;#{endTime} AND create_time > #{startTime}
</select>
</mapper>

Some files were not shown because too many files have changed in this diff Show More