Compare commits
7 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
aae4ef8b48 | |
|
|
790920f13e | |
|
|
52650b7ae0 | |
|
|
c56357adc0 | |
|
|
085297700a | |
|
|
7d2f7b2d80 | |
|
|
a344d0a9df |
|
|
@ -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
|
||||
|
|
@ -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>
|
||||
|
|
@ -1,24 +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/java/cn/pluss/platform/ali/impl/AlipayServiceImpl.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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ASMSmaliIdeaPluginConfiguration">
|
||||
<asm skipDebug="true" skipFrames="true" skipCode="false" expandFrames="false" />
|
||||
<groovy codeStyle="LEGACY" />
|
||||
</component>
|
||||
<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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.demo.util;
|
||||
|
||||
//import com.baomidou.mybatisplus.annotation.DbType;
|
||||
//import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
//import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
||||
import com.baomidou.mybatisplus.annotation.DbType;
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
||||
import com.baomidou.mybatisplus.generator.AutoGenerator;
|
||||
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
|
||||
import com.baomidou.mybatisplus.generator.config.*;
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
@ -123,8 +123,6 @@
|
|||
<configuration>
|
||||
<mainClass>cn.pluss.platform.ApiApplication</mainClass>
|
||||
<outputDirectory>./</outputDirectory>
|
||||
<fork>true</fork>
|
||||
<includeSystemScope>true</includeSystemScope>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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
|
||||
|
|
@ -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 &
|
||||
|
|
@ -105,20 +105,6 @@ public class AccountController {
|
|||
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")
|
||||
public Result<Object> reckonerV2(String userId, String merchantType) {
|
||||
StoreSummaryVO result = accountService.getReckonerV2(userId, merchantType);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package cn.pluss.platform.controller;
|
||||
|
||||
import cn.pluss.platform.ali.AlipayService;
|
||||
import cn.pluss.platform.api.Result;
|
||||
import cn.pluss.platform.api.ResultGenerator;
|
||||
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.util.AliPayParam;
|
||||
import cn.pluss.platform.util.StringUtil;
|
||||
import cn.pluss.platform.vo.AlipayVO;
|
||||
import com.alipay.api.AlipayApiException;
|
||||
import com.alipay.api.AlipayClient;
|
||||
import com.alipay.api.DefaultAlipayClient;
|
||||
|
|
@ -70,8 +68,7 @@ public class AlipayController {
|
|||
|
||||
@Resource
|
||||
private MerchantIncomeService merchantIncomeService;
|
||||
@Resource
|
||||
private AlipayService alipayService;
|
||||
|
||||
|
||||
|
||||
@PostMapping
|
||||
|
|
@ -382,12 +379,8 @@ public class AlipayController {
|
|||
// return merchantOrder;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// @PostMapping("/phonePay")
|
||||
// public Result<?> phonePay(@RequestBody AlipayVO alipay) throws AlipayApiException {
|
||||
// return alipayService.aliPayPhone(alipay.getOrderNo());
|
||||
// }
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* merchantIncome:(添加收益记录). <br/>
|
||||
|
|
|
|||
|
|
@ -49,21 +49,6 @@ public class BannerController {
|
|||
List<Banner> banners = bannerService.queryBannerList(queryBanner);
|
||||
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}")
|
||||
@ApiOperation(value = "删除数据", notes = "根据id删除数据", httpMethod = "DELETE")
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ import cn.pluss.platform.cash.CashService;
|
|||
import cn.pluss.platform.entity.Cash;
|
||||
import cn.pluss.platform.entity.UserApp;
|
||||
import cn.pluss.platform.entity.WxBankCode;
|
||||
import cn.pluss.platform.userApp.UserAppService;
|
||||
import cn.pluss.platform.util.*;
|
||||
import cn.pluss.platform.wxBankCode.WxBankCodeService;
|
||||
import io.swagger.annotations.Api;
|
||||
|
|
@ -19,7 +18,6 @@ import lombok.extern.slf4j.Slf4j;
|
|||
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
|
@ -35,8 +33,6 @@ public class CashController {
|
|||
private final CashService cashService;
|
||||
|
||||
private final WxBankCodeService wxBankCodeService;
|
||||
@Resource
|
||||
private UserAppService userAppService;
|
||||
|
||||
@GetMapping({ "", "/v3" })
|
||||
@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 = "status", value = "提现状态 0 申请提现 1 提现成功 2 提现失败", paramType = "status", dataType = "Integer"),
|
||||
@ApiImplicitParam(name = "merchantCode", value = "商家Code", paramType = "merchantCode", dataType = "String", required = true), })
|
||||
public Result<PageInfo<Cash>> list(@RequestParam(defaultValue = "1") Integer offset,
|
||||
@RequestParam(defaultValue = "10") Integer pageSize, Integer type, Integer status, String merchantCode,
|
||||
public Result<PageInfo<Cash>> list(@RequestParam(defaultValue = "1") Integer page,
|
||||
@RequestParam(defaultValue = "10") Integer size, Integer type, Integer status, String merchantCode,
|
||||
String userId) {
|
||||
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("pageSize", pageSize);
|
||||
map.put("offset", (offset - 1) * pageSize);
|
||||
map.put("status",status);
|
||||
map.put("pageSize", size);
|
||||
map.put("offset", (page - 1) * size);
|
||||
|
||||
if (StringUtil.isEmpty(userId)) {
|
||||
return ResultGenerator.genFailResult("无用户id");
|
||||
}
|
||||
|
|
@ -63,8 +59,8 @@ public class CashController {
|
|||
List<Cash> cashList = cashService.queryCashPage(map);
|
||||
Integer count = cashService.queryCashPageCount(map);
|
||||
// 返回参数
|
||||
PageInfo<Cash> pageInfo = new PageInfo<>(count.longValue(), (long) StringUtil.getPageCount(count, pageSize),
|
||||
offset.longValue(), pageSize.longValue(), cashList);
|
||||
PageInfo<Cash> pageInfo = new PageInfo<>(count.longValue(), (long) StringUtil.getPageCount(count, size),
|
||||
page.longValue(), size.longValue(), cashList);
|
||||
return ResultGenerator.genSuccessResult(pageInfo);
|
||||
}
|
||||
|
||||
|
|
@ -91,44 +87,8 @@ public class CashController {
|
|||
|
||||
@PostMapping("/v3")
|
||||
public Result<Object> addV3(@RequestBody Cash cash) {
|
||||
try {
|
||||
cashService.apiSaveCashV3(cash);
|
||||
return ResultGenerator.genSuccessResult();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return ResultGenerator.genFailResult(e.getMessage());
|
||||
}
|
||||
cashService.apiSaveCashV3(cash);
|
||||
return ResultGenerator.genSuccessResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* 下级相关
|
||||
* @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("");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,15 +5,11 @@ import cn.pluss.platform.api.Result;
|
|||
import cn.pluss.platform.api.ResultGenerator;
|
||||
import cn.pluss.platform.appGuide.AppGuideService;
|
||||
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.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @author djh
|
||||
|
|
@ -27,101 +23,13 @@ public class IntroduceController {
|
|||
private AppGuideService appGuideService;
|
||||
|
||||
@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)) {
|
||||
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);
|
||||
}
|
||||
|
||||
AppGuide entity = appGuideService.getByCode(code);
|
||||
if (!"SHTGKT".equals(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(entity.getContent());
|
||||
}
|
||||
// else if ("2".equals(type)){
|
||||
// return ResultGenerator.genFailResult("");
|
||||
// }
|
||||
return ResultGenerator.genSuccessResult(entity == null ? "" : entity.getContent());
|
||||
}else {
|
||||
return ResultGenerator.genFailResult("");
|
||||
}
|
||||
return ResultGenerator.genSuccessResult(entity == null? "": entity.getContent());
|
||||
}
|
||||
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";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -4,17 +4,13 @@ import cn.pluss.platform.api.Result;
|
|||
import cn.pluss.platform.api.ResultGenerator;
|
||||
import cn.pluss.platform.app.MainPageService;
|
||||
import cn.pluss.platform.entity.UserApp;
|
||||
import cn.pluss.platform.merchantProfit.MerchantProfitService;
|
||||
import cn.pluss.platform.userApp.UserAppService;
|
||||
import cn.pluss.platform.vo.MerchantProfitVO;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
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;
|
||||
|
||||
@RestController
|
||||
|
|
@ -29,8 +25,6 @@ public class MainPageController {
|
|||
|
||||
@Autowired
|
||||
private MainPageService agentStaffMainPageService;
|
||||
@Resource
|
||||
private MerchantProfitService merchantProfitService;
|
||||
|
||||
/**
|
||||
* @page 商户推广
|
||||
|
|
@ -42,53 +36,13 @@ public class MainPageController {
|
|||
public Result<?> getSpreadData() {
|
||||
UserApp userApp = userAppService.queryUserAppByToken();
|
||||
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);
|
||||
}
|
||||
@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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import cn.pluss.platform.dto.BusinessLicenseDTO;
|
|||
import cn.pluss.platform.dto.ImgDTO;
|
||||
import cn.pluss.platform.dto.MerchantBaseInfoDTO;
|
||||
import cn.pluss.platform.entity.*;
|
||||
import cn.pluss.platform.exception.MsgException;
|
||||
import cn.pluss.platform.mapper.MerchantImageMapper;
|
||||
import cn.pluss.platform.mapper.MerchantRateMapper;
|
||||
import cn.pluss.platform.merchant.MerchantBaseInfoService;
|
||||
|
|
@ -173,9 +172,6 @@ public class MerchantBaseInfoController {
|
|||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "MerchantBaseInfoDTO", value = "MerchantBaseInfoDTO实例", paramType = "body", dataType = "MerchantBaseInfoDTO", required = true)})
|
||||
public Result<?> saveMerchantBaseInfoV2(@RequestBody MerchantBaseInfoDTO merchantBaseInfoDTO) {
|
||||
if (merchantBaseInfoDTO.getAlias().length() < 4 || merchantBaseInfoDTO.getAlias().length() > 18){
|
||||
MsgException.check(true,"请输入4-18位商户简称");
|
||||
}
|
||||
try {
|
||||
merchantBaseInfoService.saveMerchantBaseInfo(merchantBaseInfoDTO);
|
||||
return ResultGenerator.genSuccessResult("保存成功");
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
package cn.pluss.platform.controller;
|
||||
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import cn.pluss.platform.IdCardService;
|
||||
import cn.pluss.platform.UserMakerQuota.UserMakerQuotaService;
|
||||
import cn.pluss.platform.annotation.OpLog;
|
||||
import cn.pluss.platform.api.PageInfo;
|
||||
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.entity.*;
|
||||
import cn.pluss.platform.exception.MsgException;
|
||||
import cn.pluss.platform.klk.service.LklPayService;
|
||||
import cn.pluss.platform.mapper.MerchantChannelStatusMapper;
|
||||
import cn.pluss.platform.mapper.MerchantOrderVOMapper;
|
||||
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.merchantMenberRecharge.MerchantMenberRechargeService;
|
||||
import cn.pluss.platform.merchantOrder.MerchantOrderService;
|
||||
import cn.pluss.platform.merchantProfit.MerchantProfitService;
|
||||
import cn.pluss.platform.notice.NoticeService;
|
||||
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.sxf.pay.SxfPayService;
|
||||
import cn.pluss.platform.user.impl.GeneralPushUtil;
|
||||
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.TokenUtil;
|
||||
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.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.validation.Valid;
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
import static cn.hutool.poi.excel.sax.AttributeName.r;
|
||||
import static cn.hutool.poi.excel.sax.AttributeName.s;
|
||||
|
||||
@Slf4j
|
||||
|
|
@ -96,11 +83,6 @@ public class MerchantOrderController {
|
|||
@Setter(onMethod_ = {@Autowired, @Qualifier("ysPayOldService")})
|
||||
private PayService ysPayOldService;
|
||||
|
||||
|
||||
|
||||
@Setter(onMethod_ = {@Autowired, @Qualifier("lkLPayService")})
|
||||
private PayService lklPayService;
|
||||
|
||||
// 微信支付无法确认支付结果状态
|
||||
private String[] wechatPayNotSureResult = new String[]{"SYSTEMERROR", "USERPAYING", "BANKERROR"};
|
||||
|
||||
|
|
@ -407,7 +389,7 @@ public class MerchantOrderController {
|
|||
@ApiOperation(value = "会员充值", notes = "APP扫码-会员充值", httpMethod = "GET")
|
||||
@ApiImplicitParams({
|
||||
@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 {
|
||||
UserApp userApp = userAppService.queryUserAppByToken();
|
||||
|
|
@ -417,7 +399,7 @@ public class MerchantOrderController {
|
|||
memberRechargeDTO.setMerchantCode(userApp.getMerchantCode());
|
||||
memberRechargeDTO.setUserId(String.valueOf(userApp.getUserId()));
|
||||
memberRechargeDTO.setUserName(userApp.getUserName());
|
||||
return merchantOrderService.toMemberRecharge(memberRechargeDTO);
|
||||
return merchantOrderService.toMemberRecharge(memberRechargeDTO, request);
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
MsgException.throwException(e.getMessage());
|
||||
|
|
@ -436,8 +418,7 @@ public class MerchantOrderController {
|
|||
@ApiOperation(tags = {"页面-收款"}, value = "扫码支付", notes = "扫码支付", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "MerchantOrderVo", value = "扫码支付需要传递的参数实例", paramType = "body", dataType = "MerchantOrderVo", required = true)})
|
||||
public Result<Object> scanPay(HttpServletRequest request, @RequestBody MerChantOrderDTO merchantOrderDTO) {
|
||||
log.info("scanPay>>>>>>>>>>>>{}", JSONUtil.toJsonStr(merchantOrderDTO));
|
||||
public Result<Object> scanPay(@RequestBody MerChantOrderDTO merchantOrderDTO, HttpServletRequest req) {
|
||||
UserApp tokenUa = userAppService.queryUserAppByToken();
|
||||
merchantOrderDTO.setMerchantCode(tokenUa.getMerchantCode());
|
||||
//校验金额
|
||||
|
|
@ -445,7 +426,7 @@ public class MerchantOrderController {
|
|||
MsgException.throwException("金额异常");
|
||||
}
|
||||
try {
|
||||
return merchantOrderService.toActivePay(merchantOrderDTO, IpUtils.getIpAddr(request));
|
||||
return merchantOrderService.toActivePay(merchantOrderDTO, req);
|
||||
} catch (Exception e){
|
||||
e.printStackTrace();
|
||||
return ResultGenerator.genFailResult(e.getMessage());
|
||||
|
|
@ -453,26 +434,15 @@ public class MerchantOrderController {
|
|||
}
|
||||
/**
|
||||
* 博实结pos机反扫支付
|
||||
* @param
|
||||
* @param merchantOrderDTO
|
||||
* @return
|
||||
*/
|
||||
@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(),
|
||||
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()));
|
||||
|
||||
verify(merchantOrderDTO.getTimestamp(), merchantOrderDTO.getRequestId(), merchantOrderDTO.getAppId(), merchantOrderDTO.getToken());
|
||||
//通过后查询商户信息
|
||||
DeviceStock deviceStock = deviceStockService.checkBind(posPay.getSn());
|
||||
DeviceStock deviceStock = deviceStockService.checkBind(merchantOrderDTO.getSn());
|
||||
MerchantBaseInfo merchantBaseInfoById = merchantBaseInfoService.getMerchantBaseInfoById(Integer.valueOf(deviceStock.getActMercId()));
|
||||
MsgException.checkNull(merchantBaseInfoById, "找不到商户");
|
||||
merchantOrderDTO.setMerchantCode(merchantBaseInfoById.getMerchantCode());
|
||||
|
|
@ -482,116 +452,19 @@ public class MerchantOrderController {
|
|||
}
|
||||
//进行支付操作
|
||||
try {
|
||||
Result<Object> activePay = merchantOrderService.toActivePay(merchantOrderDTO,IpUtils.getIpAddr(request));
|
||||
Result<Object> activePay = merchantOrderService.toActivePay(merchantOrderDTO, request);
|
||||
String result = activePay.toString();
|
||||
JSONObject jsonData = JSONObject.parseObject(result);
|
||||
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<>();
|
||||
map.put("orderNumber", orderNumber);
|
||||
map.put("consumeFee", jsonDataInfo.get("consumeFee"));
|
||||
map.put("mercOrderNo", posPay.getMercOrderNo());
|
||||
map.put("remark", posPay.getRemark());
|
||||
map.put("status", jsonDataInfo.get("status"));
|
||||
return ResultGenerator.genSuccessJsonPos(map, req.getAppId(), req.getRequestId());
|
||||
return ResultGenerator.genSuccessResult(map);
|
||||
} catch (Exception e){
|
||||
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
|
||||
|
|
@ -896,10 +769,6 @@ public class MerchantOrderController {
|
|||
case 4:
|
||||
result = ysPayOldService.tradeQuery(order,channel.getMerchantId());
|
||||
break;
|
||||
case 5:
|
||||
result=lklPayService.tradeQuery(order,channel.getMerchantId());
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
if(result != null){
|
||||
|
|
@ -912,21 +781,23 @@ public class MerchantOrderController {
|
|||
}
|
||||
return ResultGenerator.genSuccessResult("获取成功",order);
|
||||
}
|
||||
@PostMapping("/posTradeQueryNumber")
|
||||
public JSONObject posTradeQuery(@RequestBody BasePosReq req) throws Exception {
|
||||
@GetMapping("/pos/tradeQuery/{orderNumber}")
|
||||
@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(),
|
||||
req.getReqData());
|
||||
PosPay posPay = JSONObject.parseObject(req.getReqData(), PosPay.class);
|
||||
verify(timestamp, requestId, appId, token);
|
||||
// 校验参数是否完整
|
||||
if (StringUtil.isEmpty(posPay.getOrderNumber())) {
|
||||
return ResultGenerator.genFailJsonPos("无订单号", req.getAppId(), req.getReqData());
|
||||
if (StringUtil.isEmpty(orderNumber)) {
|
||||
return ResultGenerator.genFailResult("无订单号");
|
||||
}
|
||||
QueryWrapper<MerchantOrder> queryWrapper = new QueryWrapper<MerchantOrder>()
|
||||
.eq("orderNumber", posPay.getOrderNumber());
|
||||
.eq("orderNumber",orderNumber);
|
||||
MerchantOrder order = merchantOrderService.getOne(queryWrapper);
|
||||
if(order == null){
|
||||
return ResultGenerator.genFailJsonPos("订单数据异常", req.getAppId(), req.getReqData());
|
||||
return ResultGenerator.genFailResult("订单数据异常");
|
||||
}
|
||||
MerchantOrderPosVO orderPosVO = new MerchantOrderPosVO();
|
||||
//支付成功
|
||||
|
|
@ -934,10 +805,7 @@ public class MerchantOrderController {
|
|||
orderPosVO.setConsumeFee(order.getConsumeFee());
|
||||
orderPosVO.setStatus(order.getStatus());
|
||||
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);
|
||||
}
|
||||
String aisleSwitch = order.getAisleSwitch();
|
||||
MerchantChannelStatus channel = null;
|
||||
|
|
@ -961,8 +829,6 @@ public class MerchantOrderController {
|
|||
case 4:
|
||||
result = ysPayOldService.tradeQuery(order,channel.getMerchantId());
|
||||
break;
|
||||
case 5:
|
||||
result = lklPayService.tradeQuery(order,channel.getMerchantId());
|
||||
}
|
||||
|
||||
if(result != null){
|
||||
|
|
@ -975,11 +841,8 @@ public class MerchantOrderController {
|
|||
orderPosVO.setConsumeFee(order.getConsumeFee());
|
||||
orderPosVO.setStatus(order.getStatus());
|
||||
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")
|
||||
|
|
@ -1123,31 +986,6 @@ public class MerchantOrderController {
|
|||
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/>
|
||||
*
|
||||
|
|
@ -1460,36 +1298,11 @@ public class MerchantOrderController {
|
|||
}
|
||||
|
||||
@GetMapping("/couponList")
|
||||
public Result<List<Map<String, Object>>> getCouponListByOrderNumber(String orderNumber,Long id) {
|
||||
List<Map<String, Object>> couponList = merchantOrderService.getCouponList(orderNumber,id);
|
||||
public Result<List<Map<String, Object>>> getCouponListByOrderNumber(String orderNumber) {
|
||||
List<Map<String, Object>> couponList = merchantOrderService.getCouponList(orderNumber);
|
||||
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,
|
||||
String token){
|
||||
//首先验证签
|
||||
|
|
|
|||
|
|
@ -14,8 +14,6 @@ import cn.pluss.platform.merchantOrder.MerchantOrderService;
|
|||
import cn.pluss.platform.merchantProfit.MerchantProfitService;
|
||||
import cn.pluss.platform.userApp.UserAppService;
|
||||
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 io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
|
|
@ -126,7 +124,7 @@ public class MerchantProfitController {
|
|||
map.put("endTime", sdf.parse(endTime));
|
||||
}
|
||||
}
|
||||
//直属
|
||||
|
||||
List<MerchantProfit> merchantProfitList = merchantProfitService.queryMerchantProfitPage(map);
|
||||
|
||||
if (merchantProfitList != null && merchantProfitList.size() > 0) {
|
||||
|
|
@ -255,17 +253,5 @@ public class MerchantProfitController {
|
|||
merchantProfit = merchantProfitService.queryMerchantProfit(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));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,9 @@ import cn.pluss.platform.exception.MsgException;
|
|||
import cn.pluss.platform.leshua.*;
|
||||
import cn.pluss.platform.leshua.impl.LeshuaMerchantAuditService;
|
||||
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.MerchantBaseInfoService;
|
||||
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.systemInfo.SystemInfoService;
|
||||
import cn.pluss.platform.user.UserProfitService;
|
||||
import cn.pluss.platform.userAccount.UserAccountService;
|
||||
import cn.pluss.platform.userApp.UserAppService;
|
||||
import cn.pluss.platform.userInfo.UserInfoService;
|
||||
import cn.pluss.platform.userPromotion.UserPromotionService;
|
||||
import cn.pluss.platform.util.*;
|
||||
import cn.pluss.platform.vo.*;
|
||||
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.google.gson.reflect.TypeToken;
|
||||
import io.swagger.annotations.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.net.URLEncoder;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.regex.Pattern;
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
|
@ -118,14 +115,6 @@ public class UserAppController {
|
|||
|
||||
@Setter(onMethod_ = { @Autowired, @Lazy })
|
||||
private MerchantChannelStatusService mcsService;
|
||||
@Resource
|
||||
private UserPromotionService userPromotionService;
|
||||
@Resource
|
||||
private CashMapper cashMapper;
|
||||
@Resource
|
||||
private UserAccountService userAccountService;
|
||||
@Resource
|
||||
private UserAccountFlowMapper userAccountFlowMapper;
|
||||
|
||||
private static String keyStoreUrl =
|
||||
"/home/syb/resources/wechatCert/apiclient_cert.p12"; // 验证证书路径
|
||||
|
|
@ -274,7 +263,9 @@ public class UserAppController {
|
|||
@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]$",
|
||||
certificationDTO.getCertnum())){
|
||||
System.out.println("身份证无误");
|
||||
} else {
|
||||
System.out.println("身份证有误");
|
||||
return ResultGenerator.genFailResult("身份证号码错误");
|
||||
}
|
||||
try {
|
||||
|
|
@ -384,20 +375,8 @@ public class UserAppController {
|
|||
if (result.getLevelCode() != null) {
|
||||
result.setLevelCode(result.getLevelCode().replace("T", "VIP"));
|
||||
}
|
||||
//查询角色code
|
||||
QueryWrapper<UserPromotion> QueryWrapper = new QueryWrapper<>();
|
||||
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());
|
||||
}
|
||||
// MerchantChannelStatus mcs = mcsService.getValidData(result.getMerchantCode());
|
||||
// mcsService.verifyWxAuthStatus(mcs);
|
||||
return ResultGenerator.genSuccessResult(result);
|
||||
}
|
||||
|
||||
|
|
@ -503,51 +482,98 @@ public class UserAppController {
|
|||
if (nextLevel != null) {
|
||||
nextRate = nextLevel.getRate();
|
||||
}
|
||||
Double totalShareMoneyToday = 0d; // 今日分润总额
|
||||
Double totalAccumulateShareMoney = 0d; // 累计总分润
|
||||
Double merchantShareMoneyToday = 0d; // 推广商户今日分润
|
||||
Double merchantShareMoneyHistory = 0d; // 推广商户历史分润
|
||||
|
||||
|
||||
BigDecimal totalShareMoneyToday = null; // 今日分润总额ok
|
||||
BigDecimal totalAccumulateShareMoney = null; // 累计总分润ok
|
||||
BigDecimal allowCashMoney = null; // 可提现分润ok
|
||||
BigDecimal examineMoney = null;
|
||||
Double allowCashMoney = 0d; // 可提现分润
|
||||
Double noCashMoney = 0d; // 不可提现分润
|
||||
Double cashedMoney = 0d; // 已提现分润
|
||||
// 获取当前商户的所有的下级商户信息
|
||||
// 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 改变方式
|
||||
UserAccount userAccountByUserId = userAccountService.getUserAccountByUserId(userId);
|
||||
if (userAccountByUserId == null) {
|
||||
totalShareMoneyToday = BigDecimal.ZERO;
|
||||
totalAccumulateShareMoney = BigDecimal.ZERO;
|
||||
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();
|
||||
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);
|
||||
|
||||
// 累计总分润
|
||||
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<>();
|
||||
//今日总分润
|
||||
resultMap.put("totalShareMoneyToday", totalShareMoneyToday.setScale(2,RoundingMode.DOWN));
|
||||
//累计总分润
|
||||
resultMap.put("totalAccumulateShareMoney", totalAccumulateShareMoney.setScale(2,RoundingMode.DOWN));
|
||||
//可提现分润
|
||||
resultMap.put("allowCashMoney",allowCashMoney.setScale(2,RoundingMode.DOWN));
|
||||
//审核中的提现金额
|
||||
resultMap.put("examineMoney", examineMoney.setScale(2,RoundingMode.DOWN));
|
||||
resultMap.put(
|
||||
"totalShareMoneyToday",
|
||||
StringUtil.bigDecimal(totalShareMoneyToday)
|
||||
); //今日总分润
|
||||
resultMap.put(
|
||||
"totalAccumulateShareMoney",
|
||||
StringUtil.bigDecimal(totalAccumulateShareMoney)
|
||||
); //累计总分润
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
@ -1707,38 +1733,4 @@ public class UserAppController {
|
|||
UserApp info = userAppService.getUserAppByPhone(phone, userApp);
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -101,17 +101,6 @@ public class UserInfoController {
|
|||
return ResultGenerator.genSuccessResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户账号获取
|
||||
* @param userId 用户主键
|
||||
* @return 用户账号
|
||||
*/
|
||||
@GetMapping("/getPhoneByUserId")
|
||||
public Result<?> getPhoneByUserId(@RequestParam String userId) {
|
||||
UserInfo userInfo = userInfoNewService.getById(userId);
|
||||
return ResultGenerator.genSuccessResult(userInfo == null ? null : userInfo.getLoginName());
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/verifyPhoneIsExist")
|
||||
@ApiOperation(tags = {"页面-注册", "页面-H5注册", "页面-分享注册", "页面-会员开卡", "页面-分享_直接开户"}, value = "未注册手机号并获取验证码", notes = "验证该手机号是否注册,未注册即发送验证码", httpMethod = "GET")
|
||||
|
|
@ -247,9 +236,6 @@ public class UserInfoController {
|
|||
*/
|
||||
@PostMapping("/login")
|
||||
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());
|
||||
return ResultGenerator.genSuccessResult(login);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,102 +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.QueryWrapper;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -95,23 +95,4 @@ public class DeviceStockController{
|
|||
dsService.bindDevcieV2(dto);
|
||||
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();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,26 +2,24 @@ package cn.pluss.platform.controller.merchant;
|
|||
|
||||
import cn.pluss.platform.api.Result;
|
||||
import cn.pluss.platform.api.ResultGenerator;
|
||||
import cn.pluss.platform.entity.*;
|
||||
import cn.pluss.platform.entity.MerchantCashPayCode;
|
||||
import cn.pluss.platform.entity.MerchantCashPlace;
|
||||
import cn.pluss.platform.entity.MerchantCashPlaceStaff;
|
||||
import cn.pluss.platform.exception.MsgException;
|
||||
import cn.pluss.platform.mapper.MerchantChannelMapper;
|
||||
import cn.pluss.platform.merchant.MerchantCashPlaceService;
|
||||
import cn.pluss.platform.merchant.MerchantCashPlaceStaffService;
|
||||
import cn.pluss.platform.vo.MerchantCashPlaceStaffVO;
|
||||
import cn.pluss.platform.vo.MerchantCashPlaceVO;
|
||||
import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
||||
import com.baomidou.mybatisplus.extension.api.R;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.Setter;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/** 收银点
|
||||
/**
|
||||
* @author DJH
|
||||
*/
|
||||
@RestController
|
||||
|
|
@ -33,16 +31,11 @@ public class MerchantCashPlaceController {
|
|||
|
||||
@Setter(onMethod_ = {@Autowired})
|
||||
private MerchantCashPlaceStaffService cashPlaceStaffService;
|
||||
@Resource
|
||||
private MerchantChannelMapper merchantChannelMapper;
|
||||
|
||||
|
||||
@PostMapping
|
||||
public Result<Object> add(@RequestBody MerchantCashPlace merchantCashPlace) {
|
||||
//判定字符位数
|
||||
if (Objects.equals(merchantCashPlace.getAddress(), null) || Objects.equals(merchantCashPlace.getName(), null)){
|
||||
throw new MsgException("地址或收银点名称不能为空");
|
||||
}
|
||||
size(merchantCashPlace.getAddress());
|
||||
size(merchantCashPlace.getName());
|
||||
cashPlaceService.saveOrUpdate(merchantCashPlace);
|
||||
return ResultGenerator.genSuccessResult("保存成功", merchantCashPlace);
|
||||
|
|
@ -54,13 +47,6 @@ public class MerchantCashPlaceController {
|
|||
return ResultGenerator.genSuccessResult("操作成功", null);
|
||||
}
|
||||
|
||||
/**
|
||||
* (新)收银点列表
|
||||
* @param current
|
||||
* @param size
|
||||
* @param merchantCashPlace
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public Result<Object> list(Long current, Long size, MerchantCashPlace merchantCashPlace) {
|
||||
Page<MerchantCashPlace> page = new Page<>();
|
||||
|
|
@ -70,8 +56,7 @@ public class MerchantCashPlaceController {
|
|||
page.setCurrent(current);
|
||||
page.setSize(size);
|
||||
}
|
||||
// List<MerchantCashPlaceVO> result = cashPlaceService.getListForApp(page, merchantCashPlace);
|
||||
List<MerchantCashPlaceVO> result = cashPlaceService.getListForBase(current.intValue(),size.intValue(), merchantCashPlace.getMerchantCode(),merchantCashPlace.getName());
|
||||
List<MerchantCashPlaceVO> result = cashPlaceService.getListForApp(page, merchantCashPlace);
|
||||
return ResultGenerator.genSuccessResult(result);
|
||||
}
|
||||
|
||||
|
|
@ -125,47 +110,4 @@ public class MerchantCashPlaceController {
|
|||
throw new MsgException("输入内容过长");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* (新)增加收银点
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/add")
|
||||
public Result<Object> add(@RequestBody MerchantBaseInfo merchantBaseInfo){
|
||||
//判定字符位数
|
||||
if (Objects.equals(merchantBaseInfo.getAddress(), null) || Objects.equals(merchantBaseInfo.getAlias(), null)){
|
||||
throw new MsgException("地址或收银点名称不能为空");
|
||||
}
|
||||
Boolean aBoolean = cashPlaceService.addCashPlace(merchantBaseInfo);
|
||||
if (aBoolean){
|
||||
return ResultGenerator.genSuccessResult("");
|
||||
}
|
||||
return ResultGenerator.genFailResult("增加失败");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通道详情
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/channel")
|
||||
public Result<Object> channel(@RequestParam String merchantCode){
|
||||
List<MerchantChannel> merchantChannels = merchantChannelMapper.selectList();
|
||||
List<MerchantChannel> merchantChannelVo = cashPlaceService.merchantChannel(merchantCode, merchantChannels);
|
||||
return ResultGenerator.genSuccessResult(merchantChannelVo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 切换收银点
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/cutChannel")
|
||||
public Result<Object> cutChannel(@RequestParam String merchantCode,
|
||||
@RequestParam String code,
|
||||
@RequestParam Integer channel){
|
||||
Boolean aBoolean = cashPlaceStaffService.cutChannel(merchantCode, code, channel);
|
||||
if (aBoolean){
|
||||
return ResultGenerator.genSuccessResult();
|
||||
}
|
||||
return ResultGenerator.genFailResult("无法切换该通道");
|
||||
}
|
||||
}
|
||||
|
|
@ -1,90 +0,0 @@
|
|||
package cn.pluss.platform.controller.merchant;
|
||||
|
||||
import cn.pluss.platform.api.PageInfo;
|
||||
import cn.pluss.platform.api.Result;
|
||||
import cn.pluss.platform.api.ResultGenerator;
|
||||
import cn.pluss.platform.entity.*;
|
||||
import cn.pluss.platform.exception.MsgException;
|
||||
import cn.pluss.platform.mapper.MerchantCashPlaceMapper;
|
||||
import cn.pluss.platform.mapper.MerchantChannelMapper;
|
||||
import cn.pluss.platform.merchant.MerchantCashPlaceService;
|
||||
import cn.pluss.platform.merchant.MerchantCashPlaceStaffService;
|
||||
import cn.pluss.platform.merchant.MerchantCashierCounteService;
|
||||
import cn.pluss.platform.userApp.UserAppService;
|
||||
import cn.pluss.platform.vo.MerchantCashPlaceStaffVO;
|
||||
import cn.pluss.platform.vo.MerchantCashPlaceVO;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.Setter;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 收银点
|
||||
*
|
||||
* @author DJH
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/cashierCounte")
|
||||
public class MerchantCashierCounteController {
|
||||
|
||||
@Setter(onMethod_ = {@Autowired})
|
||||
private MerchantCashierCounteService merchantCashierCounteService;
|
||||
|
||||
@Autowired
|
||||
private UserAppService userAppService;
|
||||
@Setter(onMethod_ = {@Autowired})
|
||||
private MerchantCashPlaceStaffService cashPlaceStaffService;
|
||||
@Resource
|
||||
private MerchantChannelMapper merchantChannelMapper;
|
||||
|
||||
|
||||
@PostMapping("/add")
|
||||
public Result<Object> add(@RequestBody MerchantCashPlace merchantCashPlace) {
|
||||
//判定字符位数
|
||||
if (StringUtils.isEmpty(merchantCashPlace.getAddress()) || StringUtils.isEmpty(merchantCashPlace.getName())) {
|
||||
throw new MsgException("地址或收银点名称不能为空");
|
||||
}
|
||||
UserApp userApp = userAppService.queryUserAppByToken();
|
||||
merchantCashPlace.setUserId(userApp.getUserId());
|
||||
merchantCashierCounteService.addCashierCounte(merchantCashPlace,userApp);
|
||||
return ResultGenerator.genSuccessResult("保存成功", merchantCashPlace);
|
||||
}
|
||||
|
||||
/**
|
||||
* (新)收银点列表
|
||||
*
|
||||
* @param current
|
||||
* @param size
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public Result<Object> list(@RequestParam Integer current, @RequestParam Integer size, String name) {
|
||||
UserApp userApp = userAppService.queryUserAppByToken();
|
||||
PageInfo result = merchantCashierCounteService.selectList(current,size,userApp.getUserId(),name);
|
||||
return ResultGenerator.genSuccessResult(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 切换收银点
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/cutCashier")
|
||||
public Result<Object> cutCashier(@RequestParam long fromChannel,
|
||||
@RequestParam long toChannel) {
|
||||
Map<String,Object> map = merchantCashierCounteService.cutCashier(fromChannel, toChannel);
|
||||
return ResultGenerator.genSuccessResult(map);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -3,7 +3,6 @@ package cn.pluss.platform.controller.merchant;
|
|||
import cn.pluss.platform.api.Result;
|
||||
import cn.pluss.platform.api.ResultGenerator;
|
||||
import cn.pluss.platform.merchantChannelStatus.MerchantChannelStatusService;
|
||||
import cn.pluss.platform.vo.AccountChannelVO;
|
||||
import cn.pluss.platform.vo.ChannelStatusVO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
|
@ -32,16 +31,6 @@ public class MerchantChannelStatusController {
|
|||
return ResultGenerator.genSuccessResult(csVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 结算银行卡切换
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/channelCheck")
|
||||
public Result<AccountChannelVO> channelCheck(){
|
||||
return ResultGenerator.genSuccessResult(channelStatusService.channelCheck());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 快速到账通道和常规通道切换
|
||||
* @param params 通道标识,目前是0:常规通道, 1: 快速到账通道
|
||||
|
|
@ -53,10 +42,4 @@ public class MerchantChannelStatusController {
|
|||
ChannelStatusVO channelStatusVO = channelStatusService.appSwitchChannel(Integer.parseInt(flag));
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -198,19 +198,19 @@ public class WxController {
|
|||
// ysServiceV3.req(ReqMethod.Reporting, bizContentMap);
|
||||
// }
|
||||
//
|
||||
// @PostMapping("/appIdAddOrUpdate")
|
||||
// public void appIdAddOrUpdate(){
|
||||
// JSONObject bizContentMap = new JSONObject();
|
||||
// bizContentMap.put("channelId", "CUPS_WECHAT");
|
||||
// bizContentMap.put("mercId", "QRY230511483159");
|
||||
// bizContentMap.put("appletId", "wxc2bb94c0ddda1032");
|
||||
// ysServiceV3.req(ReqMethod.appIdAddOrUpdate, bizContentMap);
|
||||
// }
|
||||
@PostMapping("/appIdAddOrUpdate")
|
||||
public void appIdAddOrUpdate(){
|
||||
JSONObject bizContentMap = new JSONObject();
|
||||
bizContentMap.put("channelId", "CUPS_WECHAT");
|
||||
bizContentMap.put("mercId", "QRY230511483159");
|
||||
bizContentMap.put("appletId", "wxc2bb94c0ddda1032");
|
||||
ysServiceV3.req(ReqMethod.appIdAddOrUpdate, bizContentMap);
|
||||
}
|
||||
|
||||
// @PostMapping("/auditResult")
|
||||
// public void test(String sysFlowId){
|
||||
// ysAuditServiceV3.result(sysFlowId);
|
||||
// }
|
||||
@PostMapping("/auditResult")
|
||||
public void test(String sysFlowId){
|
||||
ysAuditServiceV3.result(sysFlowId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取公众号权限
|
||||
|
|
|
|||
|
|
@ -1,14 +1,11 @@
|
|||
package cn.pluss.platform.controller.merchant.callback;
|
||||
|
||||
import cn.hutool.crypto.symmetric.DES;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import cn.pluss.platform.channel.MerchantAuditService;
|
||||
import cn.pluss.platform.channel.ys.YSAuditServiceV3;
|
||||
import cn.pluss.platform.entity.MerchantChannelStatus;
|
||||
import cn.pluss.platform.entity.RyxAccessModel;
|
||||
import cn.pluss.platform.klk.service.impl.LaKalaInterfaceImpl;
|
||||
import cn.pluss.platform.ryx.RyxService;
|
||||
import cn.pluss.platform.sxf.audit.LklMerAuditServiceImpl;
|
||||
import cn.pluss.platform.ys.impl.v20210929.YsConfigV2;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
|
@ -47,9 +44,6 @@ public class AuditCallbackController {
|
|||
@Setter(onMethod_ = {@Autowired})
|
||||
private MerchantAuditService ysAuditServiceExtensionV2;
|
||||
|
||||
@Setter(onMethod_ = {@Autowired})
|
||||
private LklMerAuditServiceImpl lklMerAuditService;
|
||||
|
||||
@Autowired
|
||||
private RyxService ryxService;
|
||||
|
||||
|
|
@ -66,14 +60,6 @@ public class AuditCallbackController {
|
|||
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")
|
||||
public String ysAuditCallback(@RequestParam Map<String, Object> result) throws Exception {
|
||||
result = (JSONObject) JSON.toJSON(result);
|
||||
|
|
@ -102,34 +88,19 @@ public class AuditCallbackController {
|
|||
log.info("云商服V3进件接口回调参数:{},",result.toJSONString());
|
||||
executorService.execute(() -> {
|
||||
try {
|
||||
ysAuditServiceV3.callback(result,4);
|
||||
ysAuditServiceV3.callback(result);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
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")
|
||||
public String ysSignV3(@RequestBody JSONObject result) throws Exception {
|
||||
log.info("云商服V3签约接口回调参数:{},",result.toJSONString());
|
||||
executorService.execute(() -> {
|
||||
try {
|
||||
ysAuditServiceV3.callback(result,4);
|
||||
ysAuditServiceV3.callback(result);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
|
@ -174,20 +145,7 @@ public class AuditCallbackController {
|
|||
LaKalaInterfaceImpl laKalaInterface;
|
||||
@PostMapping("lklCallBack")
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,67 +0,0 @@
|
|||
package cn.pluss.platform.controller;
|
||||
|
||||
import cn.hutool.core.lang.TypeReference;
|
||||
import cn.pluss.platform.api.Result;
|
||||
import cn.pluss.platform.api.ResultGenerator;
|
||||
import cn.pluss.platform.util.FileUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.assertj.core.error.ShouldBe;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import java.io.IOException;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author lyf
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/payConfig")
|
||||
public class payConfigController {
|
||||
|
||||
private static JSONObject object=new JSONObject();
|
||||
|
||||
@GetMapping("/appconfig")
|
||||
public Result<Object> appConfig()throws IOException {
|
||||
object.put("path","/pages/app/pay");
|
||||
object.put("appid","wxfc7bd92a462eb191");
|
||||
object.put("id","gh_f987a9e9b1d0");
|
||||
object.put("type","0");
|
||||
return ResultGenerator.genSuccessResult(object);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// @Bean
|
||||
// public void readFile() throws IOException {
|
||||
// String filename = "/home/www/service/config.txt";
|
||||
// String filecontent= FileUtil.readFile(filename);
|
||||
//
|
||||
// JSONObject obj = JSON.parseObject(filecontent);
|
||||
// object=obj;
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
// @Scheduled(cron = "0 0 0 * * ?")
|
||||
// public void readFileSche() throws IOException {
|
||||
//
|
||||
// log.info("~~~~~~~~~统计用户流水是否达标定时任务开始~~~~~~~~~~~~");
|
||||
// String filename = "/home/www/service/config.txt";
|
||||
// String filecontent= FileUtil.readFile(filename);
|
||||
// JSONObject obj = JSON.parseObject(filecontent);
|
||||
// object=obj;
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -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("");
|
||||
}
|
||||
}
|
||||
|
|
@ -121,8 +121,8 @@ public class MercOrderDetailController {
|
|||
* 查看物流信息(快递鸟)
|
||||
*/
|
||||
@GetMapping("/logistic")
|
||||
public Result<Object> logistic(@RequestParam String orderNo)throws Exception{
|
||||
JSONObject expressInfo = mercOrderExpressService.getExpressInfo(orderNo);
|
||||
public Result<Object> logistic(@RequestParam String expressNo)throws Exception{
|
||||
JSONObject expressInfo = mercOrderExpressService.getExpressInfo(expressNo);
|
||||
if (expressInfo.isEmpty()){
|
||||
return ResultGenerator.genFailResult("无法查询快递信息");
|
||||
}else {
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import cn.pluss.platform.entity.UserApp;
|
|||
import cn.pluss.platform.exception.MsgException;
|
||||
import cn.pluss.platform.userApp.UserAppService;
|
||||
import cn.pluss.platform.vo.MercOrderNewVO;
|
||||
import com.alipay.api.AlipayApiException;
|
||||
import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
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.ResultCode;
|
||||
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.userInfo.UserInfoService;
|
||||
import cn.pluss.platform.util.ComUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.URLDecoder;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -35,6 +45,9 @@ public class TokenRegistryInterceptor extends HandlerInterceptorAdapter {
|
|||
@Resource
|
||||
private MerchantStaffConnService staffConnService;
|
||||
|
||||
@Autowired
|
||||
private AccessService accessService;
|
||||
|
||||
@Override
|
||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
||||
String requestUri = request.getRequestURI();
|
||||
|
|
@ -67,19 +80,6 @@ public class TokenRegistryInterceptor extends HandlerInterceptorAdapter {
|
|||
limitUri.add("/api/questionsAnswers");
|
||||
limitUri.add("/api/helpVideo");
|
||||
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));
|
||||
if (passFlag) {
|
||||
return true;
|
||||
|
|
@ -88,6 +88,46 @@ public class TokenRegistryInterceptor extends HandlerInterceptorAdapter {
|
|||
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) {
|
||||
String requestToken = request.getHeader("token");
|
||||
// 登录账号
|
||||
|
|
|
|||
|
|
@ -1,24 +1,17 @@
|
|||
spring:
|
||||
# datasource:
|
||||
# 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
|
||||
# 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: mysqlroot@123
|
||||
url: jdbc:mysql://rm-bp19ib8x213kh9t450o.rwlb.rds.aliyuncs.com:3306/chaozhanggui?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
|
||||
username: root
|
||||
password: prodCZGmysqlroot@123
|
||||
driver-class-name: com.mysql.jdbc.Driver
|
||||
|
||||
# datasource:
|
||||
# url: jdbc:mysql://101.37.12.135:3306/testchao?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
|
||||
# username: testchao
|
||||
# password: 2HzbCB3SHM2pWXWT
|
||||
# driver-class-name: com.mysql.jdbc.Driver
|
||||
|
||||
parameter:
|
||||
### 这个根据自己的情况配置
|
||||
domain: https://admintestapi.sxczgkj.cn
|
||||
domain: https://ky.sxczgkj.cn
|
||||
|
||||
swagger:
|
||||
### 生产环境不允许访问swagger
|
||||
|
|
@ -26,6 +19,3 @@ swagger:
|
|||
|
||||
logging:
|
||||
config: classpath:log4j2-dev.xml
|
||||
hf:
|
||||
pay:
|
||||
callBack: https://admintestapi.sxczgkj.cn/wap/notify/hfCallBack
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
spring:
|
||||
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
|
||||
password: prodCZGmysqlroot@123
|
||||
driver-class-name: com.mysql.jdbc.Driver
|
||||
|
|
@ -18,6 +19,3 @@ swagger:
|
|||
|
||||
logging:
|
||||
config: classpath:log4j2-prod.xml
|
||||
hf:
|
||||
pay:
|
||||
callBack: https://ky.sxczgkj.cn/wap/notify/hfCallBack
|
||||
|
|
|
|||
|
|
@ -1,17 +1,14 @@
|
|||
# 测试服务器上的数据库连接
|
||||
spring:
|
||||
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: mysqlroot@123
|
||||
url: jdbc:mysql://60.205.224.68:3306/chaozhanggui?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
|
||||
username: root
|
||||
password: CZGmysqlroot@123
|
||||
driver-class-name: com.mysql.jdbc.Driver
|
||||
|
||||
parameter:
|
||||
domain: https://p40312246f.goho.co
|
||||
domain: https://ky.sxczgkj.cn
|
||||
|
||||
swagger:
|
||||
### 生产环境不允许访问swagger
|
||||
production: true
|
||||
hf:
|
||||
pay:
|
||||
callBack: https://p40312246f.goho.co/wap/notify/hfCallBack
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ spring:
|
|||
profiles:
|
||||
### 将一些固定的配置放到下级文件夹下的yml文件中
|
||||
include: common, ryx, ys
|
||||
active: prod
|
||||
active: dev
|
||||
mvc:
|
||||
view:
|
||||
prefix: /WEB-INF/jsp/
|
||||
|
|
@ -25,8 +25,3 @@ server:
|
|||
servlet:
|
||||
context-path: /api
|
||||
port: 7004
|
||||
|
||||
environment: test
|
||||
openness:
|
||||
angenturl: https://p40312246f.goho.co/proxy/agent/registeragent
|
||||
customerurl:
|
||||
|
|
|
|||
|
|
@ -52,12 +52,12 @@
|
|||
<!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->
|
||||
<loggers>
|
||||
<!--过滤掉spring和mybatis的一些无用的DEBUG信息-->
|
||||
<logger name="cn.pluss.platform.mapper" level="WARN"></logger>
|
||||
<logger name="cn.pluss.platform.ryx" level="WARN"></logger>
|
||||
<logger name="cn.pluss.platform.ys" level="WARN"></logger>
|
||||
<logger name="cn.pluss.platform.mapper" level="DEBUG"></logger>
|
||||
<logger name="cn.pluss.platform.ryx" level="DEBUG"></logger>
|
||||
<logger name="cn.pluss.platform.ys" level="DEBUG"></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="RollingFileInfo"/>
|
||||
<appender-ref ref="RollingFileWarn"/>
|
||||
|
|
|
|||
|
|
@ -77,22 +77,4 @@ public class ResultGenerator {
|
|||
result.put("data",data);
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,8 +7,6 @@ import org.springframework.beans.factory.annotation.Value;
|
|||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Djh
|
||||
|
|
@ -246,25 +244,25 @@ public class ParameterConfig {
|
|||
public String LESHUALIU;
|
||||
|
||||
/**
|
||||
* 银收客微信普通商户APPID
|
||||
* 收银呗微信普通商户APPID
|
||||
*/
|
||||
@Value("${parameter.MERCHANT_APPID}")
|
||||
public String MERCHANT_APPID;
|
||||
|
||||
/**
|
||||
* 银收客微信普通商户Appsecret
|
||||
* 收银呗微信普通商户Appsecret
|
||||
*/
|
||||
@Value("${parameter.MERCHANT_APPSECRET}")
|
||||
public String MERCHANT_APPSECRET;
|
||||
|
||||
/**
|
||||
* 银收客微信普通商户号
|
||||
* 收银呗微信普通商户号
|
||||
*/
|
||||
@Value("${parameter.MERCHANT_PID}")
|
||||
public String MERCHANT_PID;
|
||||
|
||||
/**
|
||||
* 银收客微信普通商户key
|
||||
* 收银呗微信普通商户key
|
||||
*/
|
||||
@Value("${parameter.MERCHANT_KEY}")
|
||||
public String MERCHANT_KEY;
|
||||
|
|
@ -278,7 +276,6 @@ public class ParameterConfig {
|
|||
@Value("${parameter.SJ_APPSECRET}")
|
||||
public String SJ_APPSECRET;
|
||||
|
||||
|
||||
/**
|
||||
* 快递相关(快递鸟)
|
||||
*/
|
||||
|
|
@ -287,9 +284,6 @@ public class ParameterConfig {
|
|||
@Value("${express.APIKEY}")
|
||||
public String APIKEY;
|
||||
|
||||
public List<String> url;
|
||||
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
ParametersUtil.upload_save_path = upload_save_path;
|
||||
|
|
@ -339,11 +333,6 @@ public class ParameterConfig {
|
|||
ParametersUtil.USERID = USERID;
|
||||
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);
|
||||
|
||||
RyxConfig.init(this);
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public class JtyYxPayNotice {
|
|||
* 支付方式
|
||||
* 10001 支付宝
|
||||
* 10002 微信
|
||||
* 10003 银收客
|
||||
* 10003 收银呗
|
||||
*/
|
||||
private String payType;
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ public enum Ys4GEnum {
|
|||
* @date: 2021/12/6 18:24
|
||||
*/
|
||||
//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正式环境
|
||||
* @date: 2021/12/6 18:25
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -139,7 +139,7 @@ public class ComUtil {
|
|||
public static boolean equalsIgnoreCase(String str1, String str2) {
|
||||
return str1 != null ? str1.equalsIgnoreCase(str2) : str2 == null;
|
||||
}
|
||||
|
||||
|
||||
public static String getIpAddress(HttpServletRequest request) {
|
||||
String ip = request.getHeader("x-forwarded-for");
|
||||
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
|
||||
|
|
@ -165,7 +165,7 @@ public class ComUtil {
|
|||
return ip;
|
||||
}
|
||||
|
||||
public static void responseResult(HttpServletResponse response, Result result) {
|
||||
public static void responseResult(HttpServletResponse response, Object result) {
|
||||
response.setCharacterEncoding("UTF-8");
|
||||
response.setHeader(HttpHeaders.CONTENT_TYPE, "application/json;charset=UTF-8");
|
||||
response.setStatus(200);
|
||||
|
|
|
|||
|
|
@ -610,74 +610,8 @@ public class DateUtils {
|
|||
int hours = (int) ((date2.getTime() - date1.getTime()) / (1000*3600));
|
||||
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 {
|
||||
|
||||
|
||||
System.out.println(DateUtils.convertDateByString("20240121141246"));
|
||||
//List<String> last6Months = getLast6Months();
|
||||
// List<String> last6Months = new ArrayList<>();
|
||||
// last6Months.add("2019-11");
|
||||
|
|
|
|||
|
|
@ -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[] 数组
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -17,16 +17,8 @@ public class HttpUtils {
|
|||
String userAgent = request.getHeader("user-agent");
|
||||
|
||||
/**
|
||||
* 仅适用于银收客app
|
||||
* 仅适用于收银呗app
|
||||
*/
|
||||
return userAgent.contains("iOS");
|
||||
}
|
||||
|
||||
public static boolean phoneType(HttpServletRequest request){
|
||||
String userAgent = request.getHeader("type");
|
||||
if ("1".equals(userAgent)){
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public class JpushClientUtil {
|
|||
// sendToAllAndroid("测试Android", "测试Android", "测试Android", "https://www.baidu.com");
|
||||
// sendToAllIos("测试Ios", "测试信息Ios", "测试信息Ios", "https://www.baidu.com");
|
||||
// sendToAll("测试全平台", "测试信息全平台", "测试信息全平台", "https://www.baidu.com");
|
||||
int a = sendToRegistrationId2(alias, "银收客到账通知233", "银收客到账通知", "银收客到账0.01元", "3","2018-11-23 17:05:25");
|
||||
int a = sendToRegistrationId2(alias, "收银呗到账通知233", "收银呗到账通知", "收银呗到账0.01元", "3","2018-11-23 17:05:25");
|
||||
System.out.println(a);
|
||||
System.out.println("发送成功!");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public class MobPushClient {
|
|||
PushNotify notify = new PushNotify();
|
||||
notify.setIosProduction(0);
|
||||
notify.setPlats(Sets.newHashSet(2));
|
||||
notify.setContent("银收客到账100022.00元");
|
||||
notify.setContent("收银呗到账100022.00元");
|
||||
notify.setType(1);
|
||||
Push push = new Push();
|
||||
push.setPushNotify(notify);
|
||||
|
|
@ -49,7 +49,7 @@ public class MobPushClient {
|
|||
push.setPushTarget(pushTarget);
|
||||
Result<PushV3Res> pushV3ResResult = PushV3Client.pushTaskV3(push);
|
||||
System.out.println(DateUtils.formatDateDefault(new Date(), "yyyy-MM-dd HH:mm:ss"));
|
||||
//Result<PushV3Res> result = PushV3Client.pushByRids(null,"银收客到账","银收客到账1000.00元","65kyb6mmvuxvaio");
|
||||
//Result<PushV3Res> result = PushV3Client.pushByRids(null,"收银呗到账","收银呗到账1000.00元","65kyb6mmvuxvaio");
|
||||
System.out.println(pushV3ResResult);
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ public class MobV2PushUtilAndroid {
|
|||
PushMessage pushMessage = new PushMessage();
|
||||
pushDTO.setPushMessage(pushMessage);
|
||||
//此格式的透传消息由 unipush 做了特殊处理,会自动展示通知栏。开发者也可自定义其它格式,在客户端自己处理。
|
||||
//pushMessage.setTransmission(" {title:\"标题\",content:\"内容\",payload:\"银收客到账1万元\"}");
|
||||
//pushMessage.setTransmission(" {title:\"标题\",content:\"内容\",payload:\"快银到账1万元\"}");
|
||||
|
||||
//pushMessage.setTransmission("{title:" + title + ", content:" + content + ext);
|
||||
|
||||
|
|
|
|||
|
|
@ -37,9 +37,9 @@ import java.util.Map;
|
|||
@Slf4j
|
||||
public class MobV2PushUtilIOS {
|
||||
|
||||
public static final String appKey = "9f5Nw6Bvb982HvsN3sG1y5";
|
||||
public static final String appId = "jzSkfM0Wsk8uSDL2zwGu07 ";
|
||||
public static final String masterSecret = "rKk62FdLE486boNJHWBPb1";
|
||||
public static final String appKey = "QwyHsKpc0I9BQMk9Xysx74";
|
||||
public static final String appId = "yuBG87yWEt6SXrwBSSvjy1 ";
|
||||
public static final String masterSecret = "PpidsIbMSs7EQddDMHAh81";
|
||||
|
||||
public String getToken() throws IOException, NoSuchAlgorithmException {
|
||||
|
||||
|
|
@ -111,7 +111,7 @@ public class MobV2PushUtilIOS {
|
|||
PushMessage pushMessage = new PushMessage();
|
||||
pushDTO.setPushMessage(pushMessage);
|
||||
//此格式的透传消息由 unipush 做了特殊处理,会自动展示通知栏。开发者也可自定义其它格式,在客户端自己处理。
|
||||
//pushMessage.setTransmission(" {title:\"标题\",content:\"内容\",payload:\"银收客到账1万元\"}");
|
||||
//pushMessage.setTransmission(" {title:\"标题\",content:\"内容\",payload:\"快银到账1万元\"}");
|
||||
|
||||
//pushMessage.setTransmission("{title:" + title + ", content:" + content + ext);
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,7 +1,6 @@
|
|||
package cn.pluss.platform.util;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author yuchen
|
||||
|
|
@ -169,34 +168,34 @@ public class ParametersUtil {
|
|||
public static String LESHUALIU;
|
||||
|
||||
/**
|
||||
* 银收客微信普通商户APPID
|
||||
* 收银呗微信普通商户APPID
|
||||
*/
|
||||
public static String MERCHANT_APPID;
|
||||
|
||||
/**
|
||||
* 银收客微信普通商户Appsecret
|
||||
* 收银呗微信普通商户Appsecret
|
||||
*/
|
||||
public static String MERCHANT_APPSECRET;
|
||||
|
||||
/**
|
||||
* 银收客微信普通商户号
|
||||
* 收银呗微信普通商户号
|
||||
*/
|
||||
public static String MERCHANT_PID;
|
||||
|
||||
/**
|
||||
* 银收客微信普通商户key
|
||||
* 收银呗微信普通商户key
|
||||
*/
|
||||
public static String MERCHANT_KEY;
|
||||
public static String LESHUA_API;
|
||||
|
||||
/**
|
||||
* @description:银收客商家公众号APPID
|
||||
* @description:收银呗商家公众号APPID
|
||||
* @date: 2021/9/23 10:27
|
||||
*/
|
||||
public static String SJ_APPID;
|
||||
|
||||
/**
|
||||
* @description:银收客商家公众号APPSECRET
|
||||
* @description:收银呗商家公众号APPSECRET
|
||||
* @date: 2021/9/23 10:27
|
||||
*/
|
||||
public static String SJ_APPSECRET;
|
||||
|
|
@ -206,7 +205,5 @@ public class ParametersUtil {
|
|||
*/
|
||||
public static String USERID;
|
||||
public static String APIKEY;
|
||||
|
||||
public static List<String> url;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -15,73 +15,40 @@ public class RSAEncryptUtil {
|
|||
private static final String CIPHER_PROVIDER = "SunJCE";
|
||||
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 CHAR_ENCODING = "UTF-8";// 固定值,无须修改
|
||||
// private static final String CERT ="-----BEGIN CERTIFICATE-----\r\n" +
|
||||
// "MIID3DCCAsSgAwIBAgIUTz/ylkJ1ui0tgyC8gYf7PhjSLf4wDQYJKoZIhvcNAQEL\r\n" +
|
||||
// "BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT\r\n" +
|
||||
// "FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg\r\n" +
|
||||
// "Q0EwHhcNMTkwOTE5MDYzOTI4WhcNMjQwOTE3MDYzOTI4WjBuMRgwFgYDVQQDDA9U\r\n" +
|
||||
// "ZW5wYXkuY29tIHNpZ24xEzARBgNVBAoMClRlbnBheS5jb20xHTAbBgNVBAsMFFRl\r\n" +
|
||||
// "bnBheS5jb20gQ0EgQ2VudGVyMQswCQYDVQQGDAJDTjERMA8GA1UEBwwIU2hlblpo\r\n" +
|
||||
// "ZW4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCgVuNIZDy2F7UYQw7+\r\n" +
|
||||
// "QjkWSBLbAimkhZ6Qa6jhquZvUruD1/YpKbtghk/ecxrSDpC8Pqsjl/QjrmkTPWv7\r\n" +
|
||||
// "vNihoAMftuR/nAusmBrTkNlzxEBVvRpf4JRsIHg73wUi5zUJkZn7eAZ7kHVa0zow\r\n" +
|
||||
// "qflsl7w29guTvqUPP1P1+gH+xD3b3fCM1uRINDDqTyFff6p1hM7Fn9wnapKDmcO7\r\n" +
|
||||
// "57QkL8VGNAWknVkBpMYiAmK2R7DlPW5zUleO9M30koNYSIRVwgHiS2Kutd1/gvW7\r\n" +
|
||||
// "g5oC+nDLSgQkwgUoonrXzo1bUkE05icf92v89hDVccaXKzVjGgMP407s88++amNV\r\n" +
|
||||
// "5J65AgMBAAGjgYEwfzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE8DBlBgNVHR8EXjBc\r\n" +
|
||||
// "MFqgWKBWhlRodHRwOi8vZXZjYS5pdHJ1cy5jb20uY24vcHVibGljL2l0cnVzY3Js\r\n" +
|
||||
// "P0NBPTFCRDQyMjBFNTBEQkMwNEIwNkFEMzk3NTQ5ODQ2QzAxQzNFOEVCRDIwDQYJ\r\n" +
|
||||
// "KoZIhvcNAQELBQADggEBAABTz0NLnc0bn7InEDVuYMEebEzZv3BxhHVdnzX6R0gQ\r\n" +
|
||||
// "Ug0QifHdAtbh/qL10E4FjVACyWOOWgPoX/9I1BZjfxddzQgbUib3XybloR6eE0z3\r\n" +
|
||||
// "WUh/B88cCM3GsJU4btaxY0qpTkEjEcqP7K+4ZrJyfCItAfxWqYh6sllGbFVvRSYa\r\n" +
|
||||
// "brlEI+lbdlNVnshrRNegtFZIJ40O8aSpNA/2R0+5lEKPeYiQUO4qYbCE3lkPpY9S\r\n" +
|
||||
// "p0SMyX0UmB9SIwOFAX+BX3KJ6GBKh+zqSmd0hm4NtbCNRmEG9gYQPl845FdYizKJ\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"+
|
||||
private static final String CERT ="-----BEGIN CERTIFICATE-----\r\n" +
|
||||
"MIID3DCCAsSgAwIBAgIUTz/ylkJ1ui0tgyC8gYf7PhjSLf4wDQYJKoZIhvcNAQEL\r\n" +
|
||||
"BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT\r\n" +
|
||||
"FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg\r\n" +
|
||||
"Q0EwHhcNMTkwOTE5MDYzOTI4WhcNMjQwOTE3MDYzOTI4WjBuMRgwFgYDVQQDDA9U\r\n" +
|
||||
"ZW5wYXkuY29tIHNpZ24xEzARBgNVBAoMClRlbnBheS5jb20xHTAbBgNVBAsMFFRl\r\n" +
|
||||
"bnBheS5jb20gQ0EgQ2VudGVyMQswCQYDVQQGDAJDTjERMA8GA1UEBwwIU2hlblpo\r\n" +
|
||||
"ZW4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCgVuNIZDy2F7UYQw7+\r\n" +
|
||||
"QjkWSBLbAimkhZ6Qa6jhquZvUruD1/YpKbtghk/ecxrSDpC8Pqsjl/QjrmkTPWv7\r\n" +
|
||||
"vNihoAMftuR/nAusmBrTkNlzxEBVvRpf4JRsIHg73wUi5zUJkZn7eAZ7kHVa0zow\r\n" +
|
||||
"qflsl7w29guTvqUPP1P1+gH+xD3b3fCM1uRINDDqTyFff6p1hM7Fn9wnapKDmcO7\r\n" +
|
||||
"57QkL8VGNAWknVkBpMYiAmK2R7DlPW5zUleO9M30koNYSIRVwgHiS2Kutd1/gvW7\r\n" +
|
||||
"g5oC+nDLSgQkwgUoonrXzo1bUkE05icf92v89hDVccaXKzVjGgMP407s88++amNV\r\n" +
|
||||
"5J65AgMBAAGjgYEwfzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE8DBlBgNVHR8EXjBc\r\n" +
|
||||
"MFqgWKBWhlRodHRwOi8vZXZjYS5pdHJ1cy5jb20uY24vcHVibGljL2l0cnVzY3Js\r\n" +
|
||||
"P0NBPTFCRDQyMjBFNTBEQkMwNEIwNkFEMzk3NTQ5ODQ2QzAxQzNFOEVCRDIwDQYJ\r\n" +
|
||||
"KoZIhvcNAQELBQADggEBAABTz0NLnc0bn7InEDVuYMEebEzZv3BxhHVdnzX6R0gQ\r\n" +
|
||||
"Ug0QifHdAtbh/qL10E4FjVACyWOOWgPoX/9I1BZjfxddzQgbUib3XybloR6eE0z3\r\n" +
|
||||
"WUh/B88cCM3GsJU4btaxY0qpTkEjEcqP7K+4ZrJyfCItAfxWqYh6sllGbFVvRSYa\r\n" +
|
||||
"brlEI+lbdlNVnshrRNegtFZIJ40O8aSpNA/2R0+5lEKPeYiQUO4qYbCE3lkPpY9S\r\n" +
|
||||
"p0SMyX0UmB9SIwOFAX+BX3KJ6GBKh+zqSmd0hm4NtbCNRmEG9gYQPl845FdYizKJ\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-----";
|
||||
|
||||
/**
|
||||
* 数据加密方法
|
||||
|
|
@ -118,7 +85,7 @@ public class RSAEncryptUtil {
|
|||
System.out.println(publicKey);
|
||||
return encodeBase64(encryptPkcs1padding(publicKey, Content.getBytes(CHAR_ENCODING)));
|
||||
}
|
||||
|
||||
|
||||
public static String rsaEncrypt(String Content,String ras) throws Exception {
|
||||
X509Certificate certificate = X509Certificate.getInstance(PUBLIC_KEY.getBytes());
|
||||
PublicKey publicKey = certificate.getPublicKey();
|
||||
|
|
@ -127,8 +94,4 @@ public class RSAEncryptUtil {
|
|||
ci.init(Cipher.ENCRYPT_MODE, publicKey);
|
||||
return encodeBase64(ci.doFinal(Content.getBytes(CHAR_ENCODING)));
|
||||
}
|
||||
|
||||
public static void main(String[] args)throws Exception {
|
||||
System.out.println(rsaEncrypt("orgId=67290416"));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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("加解密异常");
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -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=="));
|
||||
}
|
||||
}
|
||||
|
|
@ -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 {
|
||||
|
||||
/**
|
||||
* 派号器workid:0~31
|
||||
* 机房datacenterid:0~31
|
||||
*/
|
||||
private static Snowflake snowflake = IdUtil.createSnowflake(1, 1);
|
||||
|
||||
public static Long nextId() {
|
||||
return snowflake.nextId();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,6 +1,4 @@
|
|||
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.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
|
|
@ -13,8 +11,6 @@ import javax.crypto.spec.SecretKeySpec;
|
|||
import java.security.SecureRandom;
|
||||
import java.util.*;
|
||||
|
||||
import static cn.pluss.platform.util.RSAUtil.encryptByPublicKey;
|
||||
|
||||
/**
|
||||
* AES加密工具类
|
||||
*
|
||||
|
|
@ -31,7 +27,7 @@ public class TokenUtil {
|
|||
private static final String APP_SECRET = "2022bsjZF544GAH";
|
||||
//sn
|
||||
private static final String SN = "BSJQG01YJ0001";
|
||||
public static final String PUBLIC_KEY ="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCKjak6oTfMxO3hWZ8CnMgUxDXHtsHQLZf4GgxzbjVYIN93UtuycdHypfUEh18s8sWwHRvBfeJ4mG0QbLazMphUY7ju9ox/qyB+tmJtZO5fCUi1StnSh17fJRw2kBlD9dKtBBKHJw0PXC/d6ATRtbbbFerzgLtUz70SvUxooUQHtQIDAQAB";
|
||||
|
||||
/**
|
||||
* 获取TOKEN值
|
||||
* @param timestamp 时间戳,13位
|
||||
|
|
@ -60,62 +56,14 @@ public class TokenUtil {
|
|||
finalMap.put("TOKEN", MD5Util.md5(token + APP_SECRET).toUpperCase());
|
||||
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);
|
||||
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{
|
||||
public static void main(String[] args) {
|
||||
String s = String.valueOf(System.currentTimeMillis());
|
||||
System.out.println(s);
|
||||
String s1 = UUID.randomUUID().toString();
|
||||
System.out.println(s1);
|
||||
String param = "{\"orderNumber\":\"LKL_Z_20230612170005985\"}";
|
||||
Map<String, String> token = getToken(s,s1 , APP_ID,param);
|
||||
Map<String, String> token = getToken(s, s1,APP_SECRET);
|
||||
System.out.println(token);
|
||||
|
||||
System.out.println("");
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -255,7 +255,7 @@ public class ValidateCodeUtil {
|
|||
}
|
||||
// 1.发送短信
|
||||
com.aliyun.dysmsapi20170525.models.SendSmsRequest sendSmsRequest = new com.aliyun.dysmsapi20170525.models.SendSmsRequest()
|
||||
.setSignName("陕西超掌柜科技")
|
||||
.setSignName("超掌柜")
|
||||
.setTemplateCode("SMS_244665149")
|
||||
.setTemplateParam("{\"code\":" +"'"+checkCode +"'"+"}")
|
||||
.setPhoneNumbers(phone);
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ public class YtCreateOrder implements Serializable {
|
|||
|
||||
|
||||
public YtCreateOrder() {
|
||||
this.senderName = "银收客客服部";
|
||||
this.senderName = "快银收银客服部";
|
||||
this.senderProvinceName = "陕西省";
|
||||
this.senderCityName = "西安市";
|
||||
this.senderCountyName = "未央区";
|
||||
|
|
|
|||
|
|
@ -85,9 +85,9 @@ spring:
|
|||
|
||||
rabbitmq:
|
||||
username: admin
|
||||
password: admin
|
||||
host: 127.0.0.1
|
||||
port: 5673
|
||||
password: CZGmysqlroot@123
|
||||
host: 192.168.1.114
|
||||
port: 5672
|
||||
|
||||
|
||||
parameter:
|
||||
|
|
@ -100,7 +100,7 @@ parameter:
|
|||
APPID: wx212769170d2c6b2a
|
||||
# wxfffc7bff64c7a11e
|
||||
#小程序付款APPID
|
||||
APPLETS_APPID: wxfc7bd92a462eb191
|
||||
APPLETS_APPID: wxc2bb94c0ddda1032
|
||||
#小程序密钥
|
||||
APPLETS_SECRET: 625cbce8772629312e42e8278a8d6889
|
||||
APPSECRET: 8492a7e8d55bbb1b57f5c8276ea1add0
|
||||
|
|
@ -161,49 +161,6 @@ getui:
|
|||
express:
|
||||
USERID: 1778214
|
||||
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
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
||||
|
|
@ -11,10 +11,9 @@ ys:
|
|||
otherDomain: https://commonapi.ysepay.com/gateway.do
|
||||
## 代理商编号
|
||||
agentNo: 801521000002WJW
|
||||
## 交易发起方编号
|
||||
## 交易发起方编号 武汉融商创银科技有限公司
|
||||
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
|
||||
## 签名公钥,由银盛提供
|
||||
|
|
@ -29,27 +28,20 @@ ys:
|
|||
## 代理商编号
|
||||
agentNoV2: 801521000002WJW
|
||||
## 进件私钥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
|
||||
pubKeyV2: MIGfMA0GCSGqSIb3DQEBAQUAA4GNADCBiQKBgQC7SPkmIUf2auwkgbVchMyfeCDgICuA1GKrSwRbDI24UMVhzDgcIxCUmFG5/DfcPJz0d3oV9Ggkd4/7NmteRvmNnOOGNOnmR6AGEKafDpL1mAdpndmpkAZ0f6OVo3Py5JDg2wt8d+u3dF0AFWwd2rrrqscWvxJVB55DnuZfXl2CyQIDAQAB
|
||||
## 加密密钥
|
||||
encryptPwd: MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQD2J82Gg79Tk8HZ9Zl7EOeLwvUn41c4ktUg6jveIhYLhT
|
||||
oldPayV2:
|
||||
## 交易发起方编号 银收客(武汉)科技有限公司
|
||||
## 交易发起方编号 收银呗(武汉)科技有限公司
|
||||
srcMerchantNo:
|
||||
## 银收客(武汉)科技有限公司 私钥
|
||||
## 收银呗(武汉)科技有限公司 私钥
|
||||
payPriKey:
|
||||
## 银收客公钥
|
||||
## 收银呗公钥
|
||||
sybPubKey:
|
||||
# 银盛公钥
|
||||
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:
|
||||
## 进件URL前缀v2
|
||||
|
|
|
|||
|
|
@ -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-----
|
||||
|
|
@ -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-----
|
||||
|
|
@ -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-----
|
||||
|
|
@ -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-----
|
||||
|
|
@ -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-----
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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> {
|
||||
}
|
||||
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
@ -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> {
|
||||
}
|
||||
|
|
@ -1,11 +1,8 @@
|
|||
package cn.pluss.platform.mapper;
|
||||
|
||||
import cn.pluss.platform.entity.BankCodeSxf;
|
||||
import cn.pluss.platform.entity.BankCodeYs;
|
||||
import cn.pluss.platform.leshua.BankNameVO;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import lombok.val;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
|
@ -13,8 +10,4 @@ import java.util.List;
|
|||
public interface BankCodeSxfMapper extends BaseMapper<BankCodeSxf> {
|
||||
|
||||
List<BankNameVO> getBranchName(@Param(value="areaCode")String areaCode, @Param(value="provinceCode")String provinceCode, @Param(value="bankName")String bankName, @Param(value="branchName")String branchName);
|
||||
default BankCodeSxf selectByContactLine(String contactLine) {
|
||||
val qWrapper = new LambdaQueryWrapper<BankCodeSxf>().eq(BankCodeSxf::getCnapsCode, contactLine);
|
||||
return selectOne(qWrapper);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -71,8 +71,5 @@ public interface CashMapper extends BaseMapper<Cash> {
|
|||
* @return 提现总金额
|
||||
*/
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ public interface DeviceStockMapper extends BaseMapper<DeviceStock> {
|
|||
DeviceStock getDeviceBySnNo(String snNo);
|
||||
|
||||
|
||||
Page<DeviceStockVO> pageDeviceStock(Page<DeviceStockVO> page,@Param("cashPlaceId") Long cashPlaceId);
|
||||
Page<DeviceStockVO> pageDeviceStock(Page<DeviceStockVO> page, @Param("userId") Long userId, @Param("cashPlaceId") Long cashPlaceId);
|
||||
|
||||
@Select("SELECT * FROM tb_pluss_device_stock where deviceNo = #{deviceNo} limit 1")
|
||||
DeviceStock getDeviceByDeviceNo(@Param("deviceNo") String deviceNo);
|
||||
|
|
|
|||
|
|
@ -53,8 +53,6 @@ public interface IdCardMapper extends BaseMapper<IdCard> {
|
|||
*/
|
||||
int selectAgentCount(@Param("certNo") String certNo, @Param("userId") String userId);
|
||||
|
||||
Integer getCountIdCard(@Param("certNo") String certNo);
|
||||
|
||||
/**
|
||||
* 获取未关联结算信息的对私结算身份证信息
|
||||
*
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import org.apache.ibatis.annotations.Select;
|
|||
|
||||
/**
|
||||
* <p>
|
||||
* 银收客缴费通收款单 Mapper 接口
|
||||
* 收银呗缴费通收款单 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author crystal
|
||||
|
|
|
|||
|
|
@ -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> {
|
||||
}
|
||||
|
|
@ -1,7 +1,6 @@
|
|||
package cn.pluss.platform.mapper;
|
||||
|
||||
import cn.pluss.platform.entity.MerchantCashPlace;
|
||||
import cn.pluss.platform.entity.UserCashPlace;
|
||||
import cn.pluss.platform.vo.MerchantCashPlaceVO;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
|
|
|||
|
|
@ -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> {
|
||||
}
|
||||
|
|
@ -12,6 +12,4 @@ public interface MerchantChannelMapper extends BaseMapper<MerchantChannel> {
|
|||
* @return
|
||||
*/
|
||||
List<Integer> selectValidIdList();
|
||||
|
||||
List<MerchantChannel> selectList();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
package cn.pluss.platform.mapper;
|
||||
|
||||
import cn.pluss.platform.entity.MerchantChannelStatus;
|
||||
import cn.pluss.platform.vo.*;
|
||||
import cn.pluss.platform.vo.MerchantChannelStatusVO;
|
||||
import cn.pluss.platform.vo.UserNumVO;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
|
|
@ -10,7 +11,6 @@ import org.apache.ibatis.annotations.Param;
|
|||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Mapper
|
||||
public interface MerchantChannelStatusMapper extends BaseMapper<MerchantChannelStatus> {
|
||||
|
|
@ -37,9 +37,6 @@ public interface MerchantChannelStatusMapper extends BaseMapper<MerchantChannelS
|
|||
|
||||
List<MerchantChannelStatus> selectListWithUserId(@Param(Constants.WRAPPER) Wrapper<MerchantChannelStatus> queryWrapper);
|
||||
|
||||
List<MerchantCashPlaceVO> selectMerchantCode(@Param("merchantCode")String merchantCode, @Param("name")String name,
|
||||
@Param("pageNum")Integer current, @Param("pageSize")Integer size);
|
||||
|
||||
@Select("SELECT * FROM tb_pluss_merchant_channel_status WHERE merchantId = #{merchantId} FOR UPDATE ")
|
||||
MerchantChannelStatus getByMerchantIdLock(@Param("merchantId") String merchantId);
|
||||
|
||||
|
|
@ -52,10 +49,4 @@ public interface MerchantChannelStatusMapper extends BaseMapper<MerchantChannelS
|
|||
* @return java.util.Map<java.lang.String,java.lang.Integer>
|
||||
*/
|
||||
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);
|
||||
|
||||
List<Integer> getChannelByMerchantCode(@Param("merchantCode") String merchantCode);
|
||||
Integer saveChannel(MerchantChannelStatus merchantChannelStatus);
|
||||
|
||||
List<Integer> getChannelByRootId(@Param("rootAccountId") long rootAccountId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
@ -5,6 +5,7 @@ import cn.pluss.platform.entity.UserProfit;
|
|||
import cn.pluss.platform.vo.*;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
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.extension.plugins.pagination.Page;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
|
@ -22,6 +23,14 @@ import java.util.Map;
|
|||
@Mapper
|
||||
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 .
|
||||
|
|
@ -37,43 +46,43 @@ public interface MerchantOrderMapper extends BaseMapper<MerchantOrder> {
|
|||
Integer queryMerchantOrderPageCount(Map map);
|
||||
|
||||
void saveMerchantOrderBatch(List<MerchantOrder> merchantOrderList);
|
||||
|
||||
|
||||
/**
|
||||
* 可提现总金额(提现规则 超过一个月的时间)推广
|
||||
* @param
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
Double sumMerchantAllowCashMoney(@Param(value = "memberCode") String memberCode);
|
||||
|
||||
|
||||
/**
|
||||
* 不可提现总金额(提现规则 不超过一个月)推广
|
||||
* @param
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
Double sumMerchantNotAllowCashMoney(@Param(value = "memberCode") String memberCode);
|
||||
|
||||
|
||||
/**
|
||||
* 今日分润 推广
|
||||
* @param merchantCode
|
||||
* @return
|
||||
*/
|
||||
Double sumNowDayShareMoney(@Param(value = "memberCode") String merchantCode);
|
||||
|
||||
|
||||
/**
|
||||
* 累计总分润 推广
|
||||
* @return
|
||||
*/
|
||||
Double sumAllShareMoney(@Param(value = "memberCode") String memberCode);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 供 商户推广- 交易明细 接口使用
|
||||
* 供 商户推广- 交易明细 接口使用
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
List<MerchantOrder> queryMerchantOrderPageApp(Map map);
|
||||
|
||||
|
||||
/**
|
||||
* 供 商户推广- 交易明细 接口使用
|
||||
* @param map
|
||||
|
|
@ -82,23 +91,23 @@ public interface MerchantOrderMapper extends BaseMapper<MerchantOrder> {
|
|||
Integer queryMerchantOrderPageCountApp(Map map);
|
||||
|
||||
Integer queryMerchantOrderPageCountByTime(Map map);
|
||||
|
||||
|
||||
Double queryMerchantOrdeFeeByTime(Map map);
|
||||
|
||||
List<MerchantOrder> queryMerchantOrderPageByTime(Map map);
|
||||
|
||||
|
||||
/**
|
||||
* 汇总流水(manage)
|
||||
*/
|
||||
SummaryOfWaterVO querySummaryOfWater(Map map);
|
||||
|
||||
|
||||
/**
|
||||
* 订单退款信息
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
List<MerchantOrder> queryMerchantOrderRefundPage(Map map);
|
||||
|
||||
|
||||
/**
|
||||
* 订单退款统计
|
||||
* @param map
|
||||
|
|
@ -107,111 +116,111 @@ public interface MerchantOrderMapper extends BaseMapper<MerchantOrder> {
|
|||
Integer queryMerchantOrderRefundPageCount(Map map);
|
||||
|
||||
Double queryMerchantOrderShareMoney(Map map);
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* queryOrderTask:(给wap端的定时任务使用的 暂定查3天内状态为5待支付的订单). <br/>
|
||||
*
|
||||
* @author Administrator
|
||||
*
|
||||
* queryOrderTask:(给wap端的定时任务使用的 暂定查3天内状态为5待支付的订单). <br/>
|
||||
*
|
||||
* @author Administrator
|
||||
* @param merchantOrder
|
||||
* @return
|
||||
* @return
|
||||
* @since JDK 1.8
|
||||
*/
|
||||
List<MerchantOrder> queryOrderTask(MerchantOrder merchantOrder);
|
||||
|
||||
|
||||
/**
|
||||
* 7日交易数统计
|
||||
* @param s
|
||||
* @param s
|
||||
*/
|
||||
List<OrderStatisticsVO> queryOrderStatistics(MerchantOrder s);
|
||||
|
||||
|
||||
/**
|
||||
* 支付通道统计
|
||||
* @param s
|
||||
* @param s
|
||||
*/
|
||||
List<PayTypeStatisticsVO> queryPayTypeStatistics(MerchantOrder s);
|
||||
|
||||
|
||||
|
||||
|
||||
Double queryMerchantOrderEnterFeeByTime(Map map);
|
||||
|
||||
|
||||
Double queryMerchantOrderShareMoneyByTime(Map map);
|
||||
BigDecimal queryMerchantOrderMoneyByTime(Map map);
|
||||
|
||||
/**
|
||||
*
|
||||
* queryMerchantOrderPageShuju:(最新统计订单方法). <br/>
|
||||
*
|
||||
* @author Administrator
|
||||
*
|
||||
* queryMerchantOrderPageShuju:(最新统计订单方法). <br/>
|
||||
*
|
||||
* @author Administrator
|
||||
* @param map
|
||||
* @return
|
||||
* @return
|
||||
* @since JDK 1.8
|
||||
*/
|
||||
List<MerchantMangeOrderVO> queryMerchantOrderPageShuju(Map<String, Object> map);
|
||||
|
||||
// List<MerchantMangeOrderVO> queryMerchantOrderNoPageShuju(Map<String, Object> map);
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* queryMerchantOrderPageCountShuju:(最新统计订单方法). <br/>
|
||||
*
|
||||
* @author Administrator
|
||||
*
|
||||
* queryMerchantOrderPageCountShuju:(最新统计订单方法). <br/>
|
||||
*
|
||||
* @author Administrator
|
||||
* @param map
|
||||
* @return
|
||||
* @return
|
||||
* @since JDK 1.8
|
||||
*/
|
||||
Integer queryMerchantOrderPageCountShuju(Map<String, Object> map);
|
||||
|
||||
// Integer queryMerchantOrderNoPageCountShuju(Map<String, Object> map);
|
||||
/**
|
||||
*
|
||||
* querySumEarnings:(统计总的收益 根据时间). <br/>
|
||||
*
|
||||
* @author Administrator
|
||||
*
|
||||
* querySumEarnings:(统计总的收益 根据时间). <br/>
|
||||
*
|
||||
* @author Administrator
|
||||
* @param map
|
||||
* @return
|
||||
* @return
|
||||
* @since JDK 1.8
|
||||
*/
|
||||
List<MerchantMangeOrderVO> querySumEarnings(Map<String, Object> map);
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* promoterSumCash:(推广员退关分润余额信息统计). <br/>
|
||||
*
|
||||
* @author Administrator
|
||||
*
|
||||
* promoterSumCash:(推广员退关分润余额信息统计). <br/>
|
||||
*
|
||||
* @author Administrator
|
||||
* @param userId
|
||||
* @return
|
||||
* @return
|
||||
* @since JDK 1.8
|
||||
*/
|
||||
PromoterSumVO promoterSumCash(@Param(value = "userId") Long userId);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* PlatformSum:(统计平台大屏的门店数量 商户数量 交易总额 交易笔数 会员数量 推广员数量 推广分润总额 粉丝奖励总额 收益总计). <br/>
|
||||
*
|
||||
* @author Administrator
|
||||
* @return
|
||||
*
|
||||
* PlatformSum:(统计平台大屏的门店数量 商户数量 交易总额 交易笔数 会员数量 推广员数量 推广分润总额 粉丝奖励总额 收益总计). <br/>
|
||||
*
|
||||
* @author Administrator
|
||||
* @return
|
||||
* @since JDK 1.8
|
||||
*/
|
||||
PlatformSumVO PlatformSum(@Param(value = "timeStatus") String timeStatus);
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* sumConsumeFeebystoreId:(查询门店的今日流水 跟总流水). <br/>
|
||||
*
|
||||
* @author Administrator
|
||||
*
|
||||
* sumConsumeFeebystoreId:(查询门店的今日流水 跟总流水). <br/>
|
||||
*
|
||||
* @author Administrator
|
||||
* @param storeId
|
||||
* @return
|
||||
* @return
|
||||
* @since JDK 1.8
|
||||
*/
|
||||
StoreVO sumConsumeFeebystoreId(String storeId);
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* sumConsumeFeebystoreId:(查询商户的今日流水 跟总流水). <br/>
|
||||
*
|
||||
*
|
||||
* sumConsumeFeebystoreId:(查询商户的今日流水 跟总流水). <br/>
|
||||
*
|
||||
* @author Administrator
|
||||
* @return
|
||||
* @return
|
||||
* @since JDK 1.8
|
||||
*/
|
||||
StoreVO sumConsumeFeebymerchantCode(String merchantCode);
|
||||
|
|
@ -222,7 +231,7 @@ public interface MerchantOrderMapper extends BaseMapper<MerchantOrder> {
|
|||
* @return
|
||||
*/
|
||||
Double getOrderFeeSum1(Map<String, Object> orderMap);
|
||||
|
||||
|
||||
Double getToDayTransSum1(Map<String, Object> orderMap);
|
||||
|
||||
@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)")
|
||||
Map<String, Object> getConsumeFee(@Param("merchantCode") String merchantCode, @Param("date") String date);
|
||||
|
||||
|
||||
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")
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ public interface MerchantOrderVOMapper extends BaseMapper<MerchantOrderVO> {
|
|||
* @param orderNumber 订单号
|
||||
* @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 订单号
|
||||
* @return
|
||||
*/
|
||||
List<Map<String, Object>> getOfflineCouponList(@Param("orderNumber") String orderNumber,@Param("id")Long id);
|
||||
List<Map<String, Object>> getOfflineCouponList(@Param("orderNumber") String orderNumber);
|
||||
}
|
||||
|
|
@ -1,13 +1,7 @@
|
|||
package cn.pluss.platform.mapper;
|
||||
|
||||
import cn.pluss.platform.api.PageInfo;
|
||||
import cn.pluss.platform.dto.MerchantFeeDTO;
|
||||
import cn.pluss.platform.entity.MerchantChannelStatus;
|
||||
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 org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
|
@ -23,7 +17,7 @@ public interface MerchantProfitMapper extends BaseMapper<MerchantProfit> {
|
|||
|
||||
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);
|
||||
|
||||
MerchantProfit queryMerchantProfit(MerchantProfit merchantProfit);
|
||||
|
|
@ -33,7 +27,6 @@ public interface MerchantProfitMapper extends BaseMapper<MerchantProfit> {
|
|||
List<MerchantProfit> queryMerchantProfitPage(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);
|
||||
|
||||
|
|
@ -74,93 +67,5 @@ public interface MerchantProfitMapper extends BaseMapper<MerchantProfit> {
|
|||
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,9 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
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;
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -26,6 +24,4 @@ public interface MerchantRefundOrderMapper extends BaseMapper<MerchantRefundOrde
|
|||
* @return java.util.Map<java.lang.String,java.lang.Object>
|
||||
*/
|
||||
Map<String, Object> getPlatformRefundData();
|
||||
|
||||
BigDecimal selectOrderByOrderNumber(String orderNumber);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -2,7 +2,6 @@ package cn.pluss.platform.mapper;
|
|||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
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.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.Data;
|
||||
import lombok.val;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import cn.pluss.platform.entity.UserApp;
|
||||
|
|
@ -47,9 +45,8 @@ public interface UserAppMapper extends BaseMapper<UserApp> {
|
|||
MerchSummaryVO selectBillCountAndTotalFee(@Param("condition") MerchSearchDTO condition);
|
||||
|
||||
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);
|
||||
|
||||
|
|
@ -147,7 +144,6 @@ public interface UserAppMapper extends BaseMapper<UserApp> {
|
|||
* 获取指定进件状态的商户
|
||||
*/
|
||||
Integer selectUserAppWithChannelStatusCount(@Param(Constants.WRAPPER) Wrapper<UserApp> updateWrapper);
|
||||
Integer selectUserAppWithChannelStatusCountV2(@Param("userId") String userId, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
|
||||
|
||||
/**
|
||||
* 获取指定进件状态的商户
|
||||
|
|
|
|||
|
|
@ -1,16 +0,0 @@
|
|||
package cn.pluss.platform.mapper;
|
||||
|
||||
import cn.pluss.platform.entity.MerchantCashPlace;
|
||||
import cn.pluss.platform.entity.UserCashPlace;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商户收银点表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author Djh
|
||||
* @since 2021-03-23
|
||||
*/
|
||||
public interface UserCashPlaceMapper extends BaseMapper<UserCashPlace> {
|
||||
}
|
||||
|
|
@ -19,7 +19,6 @@ public interface UserInfoMapper extends BaseMapper<UserInfo> {
|
|||
*/
|
||||
UserInfo selectMainUserInfo(Long id);
|
||||
|
||||
|
||||
/**
|
||||
* @description:取主商户和子商户信息
|
||||
* @date: 2021/9/23 15:43
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue