Преглед на файлове

修改添加分账人问题,使用ComtikaHttpUtil工具类

missmylove преди 4 години
родител
ревизия
7db5373833

+ 304 - 203
.idea/workspace.xml

@@ -3,15 +3,12 @@
   <component name="ChangeListManager">
     <list default="true" id="5f8773c2-5a61-46f3-970b-7546734b3165" name="Default Changelist" comment="">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/wechat/WeChatPayServersApplication.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/wechat/WeChatPayServersApplication.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/wechat/common/enums/RegisterStatus.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/wechat/common/enums/RegisterStatus.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/wechat/common/util/ClientCustomSSL.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/wechat/common/util/ClientCustomSSL.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/wechat/common/util/WeChatUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/wechat/common/util/WeChatUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/wechat/controller/sepAccount/SepAccountController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/wechat/controller/sepAccount/SepAccountController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/wechat/entity/sepAccount/H.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/wechat/entity/sepAccount/KtjSepUser.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/wechat/entity/sepAccount/help/SepReceiverHelp.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/wechat/entity/sepAccount/help/SepReceiverHelp.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/wechat/service/sepAccount/ISepAccountService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/wechat/service/sepAccount/ISepAccountService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/wechat/common/util/ClientCustomSSL.java" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/wechat/common/util/ClientCustomSSL.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/wechat/common/util/ComtikaHttpsUtil.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/wechat/entity/sepAccount/help/SepUserHandleHelp.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/wechat/entity/sepAccount/help/SepUserHandleHelp.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/wechat/service/pay/impl/WeChatPayJsapiServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/wechat/service/pay/impl/WeChatPayJsapiServiceImpl.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/wechat/service/sepAccount/impl/SepAccountServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/wechat/service/sepAccount/impl/SepAccountServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/wechat/service/sepAccount/impl/SepAccountTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/wechat/service/sepAccount/impl/SepAccountTest.java" afterDir="false" />
     </list>
     <ignored path="$PROJECT_DIR$/target/" />
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@@ -70,14 +67,15 @@
     <session id="-865853374">
       <usages-collector id="statistics.lifecycle.project">
         <counts>
+          <entry key="project.open.time.17" value="1" />
           <entry key="project.open.time.4" value="1" />
-          <entry key="project.opened" value="1" />
+          <entry key="project.opened" value="2" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.file.extensions.open">
         <counts>
-          <entry key="class" value="3" />
-          <entry key="java" value="74" />
+          <entry key="class" value="8" />
+          <entry key="java" value="82" />
           <entry key="md" value="1" />
           <entry key="xml" value="1" />
           <entry key="yml" value="1" />
@@ -85,8 +83,8 @@
       </usages-collector>
       <usages-collector id="statistics.file.types.open">
         <counts>
-          <entry key="CLASS" value="3" />
-          <entry key="JAVA" value="74" />
+          <entry key="CLASS" value="8" />
+          <entry key="JAVA" value="82" />
           <entry key="Markdown" value="1" />
           <entry key="XML" value="1" />
           <entry key="YAML" value="1" />
@@ -95,13 +93,13 @@
       <usages-collector id="statistics.file.extensions.edit">
         <counts>
           <entry key="dummy" value="7" />
-          <entry key="java" value="11081" />
+          <entry key="java" value="11578" />
           <entry key="xml" value="2" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.file.types.edit">
         <counts>
-          <entry key="JAVA" value="11081" />
+          <entry key="JAVA" value="11578" />
           <entry key="PLAIN_TEXT" value="7" />
           <entry key="XML" value="2" />
         </counts>
@@ -110,25 +108,130 @@
   </component>
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/controller/sepAccount/SepAccountController.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="410">
+              <caret line="63" column="37" lean-forward="true" selection-start-line="63" selection-start-column="37" selection-end-line="63" selection-end-column="37" />
+              <folding>
+                <element signature="imports" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/service/sepAccount/ISepAccountService.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="153">
+              <caret line="16" column="24" selection-start-line="16" selection-start-column="24" selection-end-line="16" selection-end-column="24" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/service/sepAccount/impl/SepAccountServiceImpl.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="360">
+              <caret line="420" column="48" selection-start-line="420" selection-start-column="48" selection-end-line="420" selection-end-column="48" />
+              <folding>
+                <element signature="imports" expanded="true" />
+                <element signature="method#handleSepUserData#0;class#SepAccountServiceImpl#0" />
+                <element signature="method#initSepUser#0;class#SepAccountServiceImpl#0" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/common/util/ComtikaHttpsUtil.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="162">
+              <caret line="28" column="29" selection-start-line="28" selection-start-column="13" selection-end-line="28" selection-end-column="29" />
+              <folding>
+                <element signature="imports" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
       <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/entity/sepAccount/KtjSepUserRecord.java">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/service/sepAccount/impl/SepAccountTest.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="68">
-              <caret line="4" column="29" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="29" />
+            <state relative-caret-position="241">
+              <caret line="36" column="16" lean-forward="true" selection-start-line="36" selection-start-column="16" selection-end-line="36" selection-end-column="16" />
               <folding>
-                <element signature="e#380#381#0" expanded="true" />
-                <element signature="e#412#413#0" expanded="true" />
-                <element signature="e#462#463#0" expanded="true" />
-                <element signature="e#504#505#0" expanded="true" />
-                <element signature="e#899#900#0" expanded="true" />
-                <element signature="e#945#946#0" expanded="true" />
-                <element signature="e#1059#1060#0" expanded="true" />
-                <element signature="e#1099#1100#0" expanded="true" />
+                <element signature="imports" expanded="true" />
+                <element signature="e#6482#6483#0" expanded="true" />
+                <element signature="e#6517#6518#0" expanded="true" />
+                <element signature="e#6561#6562#0" expanded="true" />
+                <element signature="e#6601#6602#0" expanded="true" />
+                <element signature="e#6639#6640#0" expanded="true" />
+                <element signature="e#6677#6678#0" expanded="true" />
+                <element signature="e#6727#6728#0" expanded="true" />
+                <element signature="e#6773#6774#0" expanded="true" />
+                <element signature="e#6807#6808#0" expanded="true" />
+                <element signature="e#6844#6845#0" expanded="true" />
+                <element signature="e#6889#6890#0" expanded="true" />
+                <element signature="e#6933#6934#0" expanded="true" />
+                <element signature="e#6975#6976#0" expanded="true" />
+                <element signature="e#7017#7018#0" expanded="true" />
+                <element signature="e#7075#7076#0" expanded="true" />
+                <element signature="e#7129#7130#0" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.5.10/httpclient-4.5.10.jar!/org/apache/http/impl/client/HttpClients.class">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="102">
+              <caret line="10" column="13" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.5.10/httpclient-4.5.10.jar!/org/apache/http/impl/client/HttpClientBuilder.class">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="453">
+              <caret line="149" column="36" selection-start-line="149" selection-start-column="36" selection-end-line="149" selection-end-column="36" />
+              <folding>
+                <element signature="e#6971#6972#0" expanded="true" />
+                <element signature="e#7017#7018#0" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.5.10/httpclient-4.5.10.jar!/org/apache/http/impl/client/CloseableHttpClient.class">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="153">
+              <caret line="30" column="22" selection-start-line="30" selection-start-column="22" selection-end-line="30" selection-end-column="22" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.5.10/httpclient-4.5.10.jar!/org/apache/http/impl/client/DefaultHttpClient.class">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="187">
+              <caret line="35" column="13" selection-start-line="35" selection-start-column="13" selection-end-line="35" selection-end-column="13" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.5.10/httpclient-4.5.10.jar!/org/apache/http/conn/ssl/SSLConnectionSocketFactory.class">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="198">
+              <caret line="109" column="11" selection-start-line="109" selection-start-column="11" selection-end-line="109" selection-end-column="11" />
+            </state>
+          </provider>
+        </entry>
+      </file>
     </leaf>
   </component>
   <component name="FileTemplateManagerImpl">
@@ -155,7 +258,6 @@
   <component name="IdeDocumentHistory">
     <option name="CHANGED_PATHS">
       <list>
-        <option value="$PROJECT_DIR$/src/main/java/com/wechat/core/ftp/ftp/FtpUtils.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/wechat/core/ftp/FtpUtils.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/wechat/core/ProjectConfig.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/wechat/common/util/WeChatHttp.java" />
@@ -183,9 +285,7 @@
         <option value="$PROJECT_DIR$/src/main/java/com/wechat/common/util/WeChatUtil.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/wechat/common/enums/SepAccountEnums.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/wechat/common/enums/SepAccountErrorCodeError.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/wechat/common/util/ClientCustomSSL.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/wechat/entity/sepAccount/H.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/wechat/service/sepAccount/impl/SepAccountTest.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/wechat/entity/sepAccount/help/SepReceiverHelp.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/wechat/dao/sepAccount/SepUserDao.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/wechat/common/enums/RegisterStatus.java" />
@@ -200,9 +300,15 @@
         <option value="$PROJECT_DIR$/src/main/java/com/wechat/core/TimeUnit.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/wechat/core/KtjTimeUnit.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/wechat/service/sepAccount/ISepAccountService.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/wechat/service/sepAccount/impl/SepAccountServiceImpl.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/wechat/WeChatPayServersApplication.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/wechat/entity/sepAccount/KtjSepRecord.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/wechat/entity/sepAccount/help/SepUserHandleHelp.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/wechat/service/sepAccount/impl/SepAccountServiceImpl.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/wechat/common/util/ClientCustomSSL.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/wechat/common/util/ComtikaHttps.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/wechat/common/util/ComtikaHttpsUtls.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/wechat/common/util/ComtikaHttpsUtil.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/wechat/service/sepAccount/impl/SepAccountTest.java" />
       </list>
     </option>
   </component>
@@ -260,8 +366,6 @@
       <foldersAlwaysOnTop value="true" />
     </navigator>
     <panes>
-      <pane id="Scope" />
-      <pane id="AndroidView" />
       <pane id="PackagesPane" />
       <pane id="ProjectPane">
         <subPane>
@@ -312,7 +416,7 @@
               <item name="main" type="462c0819:PsiDirectoryNode" />
               <item name="java" type="462c0819:PsiDirectoryNode" />
               <item name="wechat" type="462c0819:PsiDirectoryNode" />
-              <item name="entity" type="462c0819:PsiDirectoryNode" />
+              <item name="controller" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="comtika-we-chat-pay" type="b2602c69:ProjectViewProjectNode" />
@@ -321,13 +425,45 @@
               <item name="main" type="462c0819:PsiDirectoryNode" />
               <item name="java" type="462c0819:PsiDirectoryNode" />
               <item name="wechat" type="462c0819:PsiDirectoryNode" />
-              <item name="entity" type="462c0819:PsiDirectoryNode" />
+              <item name="controller" type="462c0819:PsiDirectoryNode" />
               <item name="sepAccount" type="462c0819:PsiDirectoryNode" />
             </path>
+            <path>
+              <item name="comtika-we-chat-pay" type="b2602c69:ProjectViewProjectNode" />
+              <item name="comtika-we-chat-pay" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="wechat" type="462c0819:PsiDirectoryNode" />
+              <item name="service" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="comtika-we-chat-pay" type="b2602c69:ProjectViewProjectNode" />
+              <item name="comtika-we-chat-pay" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="wechat" type="462c0819:PsiDirectoryNode" />
+              <item name="service" type="462c0819:PsiDirectoryNode" />
+              <item name="sepAccount" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="comtika-we-chat-pay" type="b2602c69:ProjectViewProjectNode" />
+              <item name="comtika-we-chat-pay" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="wechat" type="462c0819:PsiDirectoryNode" />
+              <item name="service" type="462c0819:PsiDirectoryNode" />
+              <item name="sepAccount" type="462c0819:PsiDirectoryNode" />
+              <item name="impl" type="462c0819:PsiDirectoryNode" />
+            </path>
           </expand>
           <select />
         </subPane>
       </pane>
+      <pane id="Scope" />
+      <pane id="AndroidView" />
     </panes>
   </component>
   <component name="PropertiesComponent">
@@ -337,7 +473,7 @@
     <property name="RequestMappingsPanelWidth1" value="75" />
     <property name="WebServerToolWindowFactoryState" value="false" />
     <property name="aspect.path.notification.shown" value="true" />
-    <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1587210588015" />
+    <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1587261897742" />
     <property name="last_opened_file_path" value="$PROJECT_DIR$" />
     <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
     <property name="nodejs_npm_path_reset_for_default_project" value="true" />
@@ -364,9 +500,9 @@
       </list>
     </option>
   </component>
-  <component name="RunManager" selected="Application.SepAccountServiceImpl">
-    <configuration name="ClientCustomSSL" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
-      <option name="MAIN_CLASS_NAME" value="com.wechat.common.util.ClientCustomSSL" />
+  <component name="RunManager" selected="Application.SepAccountTest">
+    <configuration name="ComtikaHttpsUtil" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
+      <option name="MAIN_CLASS_NAME" value="com.wechat.common.util.ComtikaHttpsUtil" />
       <module name="WeChatPayProject" />
       <extension name="coverage">
         <pattern>
@@ -391,12 +527,12 @@
         <option name="Make" enabled="true" />
       </method>
     </configuration>
-    <configuration name="UploadServiceImpl" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
-      <option name="MAIN_CLASS_NAME" value="com.wechat.service.upload.impl.UploadServiceImpl" />
+    <configuration name="SepAccountTest" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
+      <option name="MAIN_CLASS_NAME" value="com.wechat.service.sepAccount.impl.SepAccountTest" />
       <module name="WeChatPayProject" />
       <extension name="coverage">
         <pattern>
-          <option name="PATTERN" value="com.wechat.service.upload.impl.*" />
+          <option name="PATTERN" value="com.wechat.service.sepAccount.impl.*" />
           <option name="ENABLED" value="true" />
         </pattern>
       </extension>
@@ -404,12 +540,12 @@
         <option name="Make" enabled="true" />
       </method>
     </configuration>
-    <configuration name="WeChatUploadUtil" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
-      <option name="MAIN_CLASS_NAME" value="com.wechat.common.util.WeChatUploadUtil" />
+    <configuration name="UploadServiceImpl" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
+      <option name="MAIN_CLASS_NAME" value="com.wechat.service.upload.impl.UploadServiceImpl" />
       <module name="WeChatPayProject" />
       <extension name="coverage">
         <pattern>
-          <option name="PATTERN" value="com.wechat.common.util.*" />
+          <option name="PATTERN" value="com.wechat.service.upload.impl.*" />
           <option name="ENABLED" value="true" />
         </pattern>
       </extension>
@@ -432,18 +568,18 @@
     </configuration>
     <list>
       <item itemvalue="Spring Boot.WeChatPayServersApplication" />
-      <item itemvalue="Application.WeChatUploadUtil" />
       <item itemvalue="Application.UploadServiceImpl" />
       <item itemvalue="Application.SepAccountServiceImpl" />
-      <item itemvalue="Application.ClientCustomSSL" />
+      <item itemvalue="Application.ComtikaHttpsUtil" />
+      <item itemvalue="Application.SepAccountTest" />
     </list>
     <recent_temporary>
       <list>
+        <item itemvalue="Application.SepAccountTest" />
         <item itemvalue="Application.SepAccountServiceImpl" />
-        <item itemvalue="Application.ClientCustomSSL" />
+        <item itemvalue="Application.ComtikaHttpsUtil" />
         <item itemvalue="Spring Boot.WeChatPayServersApplication" />
         <item itemvalue="Application.UploadServiceImpl" />
-        <item itemvalue="Application.WeChatUploadUtil" />
       </list>
     </recent_temporary>
   </component>
@@ -460,11 +596,12 @@
       <workItem from="1585659008051" duration="4876000" />
       <workItem from="1585967285544" duration="5041000" />
       <workItem from="1587170301385" duration="35482000" />
+      <workItem from="1587260239263" duration="1636000" />
     </task>
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="45399000" />
+    <option name="totallyTimeSpent" value="47035000" />
   </component>
   <component name="ToolWindowManager">
     <frame x="-8" y="-8" width="1382" height="754" extended-state="6" />
@@ -476,7 +613,7 @@
       <window_info id="Capture Tool" order="3" />
       <window_info id="Web" order="4" side_tool="true" />
       <window_info id="Designer" order="5" />
-      <window_info active="true" content_ui="combo" id="Project" order="6" visible="true" weight="0.37670198" />
+      <window_info content_ui="combo" id="Project" order="6" weight="0.3827534" />
       <window_info id="Structure" order="7" side_tool="true" weight="0.25" />
       <window_info anchor="bottom" id="Terminal" order="0" weight="0.06451613" />
       <window_info anchor="bottom" id="Event Log" order="1" side_tool="true" />
@@ -488,7 +625,7 @@
       <window_info anchor="bottom" id="Message" order="7" />
       <window_info anchor="bottom" id="Run" order="8" weight="0.18387097" />
       <window_info anchor="bottom" id="Debug" order="9" weight="0.4" />
-      <window_info anchor="bottom" id="Find" order="10" weight="0.32874617" />
+      <window_info anchor="bottom" id="Find" order="10" weight="0.32419354" />
       <window_info anchor="bottom" id="Cvs" order="11" weight="0.25" />
       <window_info anchor="bottom" id="TODO" order="12" />
       <window_info anchor="bottom" id="Inspection" order="13" weight="0.4" />
@@ -510,7 +647,7 @@
       <window_info id="Capture Tool" order="3" />
       <window_info id="Web" order="4" side_tool="true" />
       <window_info id="Designer" order="5" />
-      <window_info content_ui="combo" id="Project" order="6" visible="true" weight="0.25113463" />
+      <window_info active="true" content_ui="combo" id="Project" order="6" visible="true" weight="0.3827534" />
       <window_info id="Structure" order="7" side_tool="true" weight="0.25" />
       <window_info anchor="bottom" id="Terminal" order="0" weight="0.06451613" />
       <window_info anchor="bottom" id="Event Log" order="1" side_tool="true" />
@@ -520,9 +657,9 @@
       <window_info anchor="bottom" id="Version Control" order="5" />
       <window_info anchor="bottom" id="Spring" order="6" />
       <window_info anchor="bottom" id="Message" order="7" />
-      <window_info active="true" anchor="bottom" id="Run" order="8" visible="true" weight="0.18387097" />
+      <window_info anchor="bottom" id="Run" order="8" weight="0.18387097" />
       <window_info anchor="bottom" id="Debug" order="9" weight="0.4" />
-      <window_info anchor="bottom" id="Find" order="10" weight="0.32874617" />
+      <window_info anchor="bottom" id="Find" order="10" weight="0.32419354" />
       <window_info anchor="bottom" id="Cvs" order="11" weight="0.25" />
       <window_info anchor="bottom" id="TODO" order="12" />
       <window_info anchor="bottom" id="Inspection" order="13" weight="0.4" />
@@ -545,45 +682,6 @@
     <option name="myLimit" value="2678400000" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/controller/merchant/MerchantController.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="51">
-          <caret line="19" column="44" lean-forward="true" selection-start-line="19" selection-start-column="44" selection-end-line="19" selection-end-column="44" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/common/entity/pay/jsapi/WeChatPayJsapi.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="34">
-          <caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/dao/pay/WeChatPayJsapiDao.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="51">
-          <caret line="9" column="32" selection-start-line="9" selection-start-column="18" selection-end-line="9" selection-end-column="32" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="442">
-          <caret line="26" column="16" lean-forward="true" selection-start-line="26" selection-start-column="16" selection-end-line="26" selection-end-column="16" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/entity/KtjUploadBase.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="119">
-          <caret line="7" column="13" selection-start-line="7" selection-start-column="13" selection-end-line="7" selection-end-column="13" />
-          <folding>
-            <element signature="e#1263#1264#0" expanded="true" />
-            <element signature="e#1294#1295#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/resources/SQL config/pay/weChatPayJsapi.md">
       <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
         <state split_layout="SPLIT">
@@ -676,10 +774,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="131">
           <caret line="24" column="25" selection-start-line="24" selection-start-column="25" selection-end-line="24" selection-end-column="25" />
-          <folding>
-            <element signature="e#1852#1853#0" expanded="true" />
-            <element signature="e#1901#1902#0" expanded="true" />
-          </folding>
         </state>
       </provider>
     </entry>
@@ -724,12 +818,12 @@
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/pom.xml">
-      <provider editor-type-id="MavenHelperPluginDependencyAnalyzer" />
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="129">
           <caret line="104" column="21" selection-start-line="104" selection-start-column="21" selection-end-line="104" selection-end-column="21" />
         </state>
       </provider>
+      <provider editor-type-id="MavenHelperPluginDependencyAnalyzer" />
     </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/common/util/WeChatUtil.java">
       <provider selected="true" editor-type-id="text-editor">
@@ -745,26 +839,10 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/common/util/ClientCustomSSL.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="377">
-          <caret line="42" column="75" selection-start-line="42" selection-start-column="59" selection-end-line="42" selection-end-column="75" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/entity/sepAccount/help/SepReceiverHelp.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="85">
           <caret line="5" column="13" selection-start-line="5" selection-start-column="13" selection-end-line="5" selection-end-column="13" />
-          <folding>
-            <element signature="e#241#242#0" expanded="true" />
-            <element signature="e#271#272#0" expanded="true" />
-            <element signature="e#317#318#0" expanded="true" />
-            <element signature="e#355#356#0" expanded="true" />
-          </folding>
         </state>
       </provider>
     </entry>
@@ -772,33 +850,10 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="136">
           <caret line="8" column="26" selection-start-line="8" selection-start-column="26" selection-end-line="8" selection-end-column="26" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/entity/sepAccount/help/SepAccountHandleHelp.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="85">
-          <caret line="5" column="13" selection-start-line="5" selection-start-column="13" selection-end-line="5" selection-end-column="13" />
-          <folding>
-            <element signature="e#226#227#0" expanded="true" />
-            <element signature="e#257#258#0" expanded="true" />
-            <element signature="e#305#306#0" expanded="true" />
-            <element signature="e#345#346#0" expanded="true" />
-            <element signature="e#381#382#0" expanded="true" />
-            <element signature="e#413#414#0" expanded="true" />
-            <element signature="e#463#464#0" expanded="true" />
-            <element signature="e#505#506#0" expanded="true" />
-            <element signature="e#540#541#0" expanded="true" />
-            <element signature="e#570#571#0" expanded="true" />
-            <element signature="e#617#618#0" expanded="true" />
-            <element signature="e#655#656#0" expanded="true" />
-          </folding>
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/entity/sepAccount/help/SepAccountHandleHelp.java" />
     <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/common/enums/SepAccountEnums.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="34">
@@ -810,16 +865,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/service/sepAccount/impl/SepAccountTest.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="340">
-          <caret line="255" column="61" lean-forward="true" selection-start-line="255" selection-start-column="8" selection-end-line="255" selection-end-column="61" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/entity/sepAccount/help/UserSepReceiver.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="119">
@@ -877,60 +922,89 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="85">
           <caret line="5" column="69" selection-start-line="5" selection-start-column="53" selection-end-line="5" selection-end-column="69" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/dao/sepAccount/SepRecordDao.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="85">
+          <caret line="5" column="61" selection-start-line="5" selection-start-column="49" selection-end-line="5" selection-end-column="61" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/core/ftp/Time.java" />
+    <entry file="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/5.1.6.RELEASE/spring-context-5.1.6.RELEASE.jar!/org/springframework/scheduling/annotation/Scheduled.class">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="289">
+          <caret line="25" column="19" selection-start-line="25" selection-start-column="9" selection-end-line="25" selection-end-column="19" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/core/KtjTimeUnit.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="272">
+          <caret line="16" column="14" selection-start-line="16" selection-start-column="5" selection-end-line="16" selection-end-column="14" />
           <folding>
             <element signature="imports" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/common/entity/order/KtjJsapiOrder.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/WeChatPayServersApplication.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="17">
-          <caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
+        <state relative-caret-position="102">
+          <caret line="8" column="17" selection-start-line="8" selection-start-column="17" selection-end-line="8" selection-end-column="17" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/entity/sepAccount/help/SepUserHandleHelp.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/entity/sepAccount/KtjSepUserRecord.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="102">
-          <caret line="6" column="32" selection-start-line="6" selection-start-column="19" selection-end-line="6" selection-end-column="32" />
+        <state relative-caret-position="68">
+          <caret line="4" column="29" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="29" />
           <folding>
-            <element signature="e#184#185#0" expanded="true" />
-            <element signature="e#220#221#0" expanded="true" />
-            <element signature="e#278#279#0" expanded="true" />
-            <element signature="e#328#329#0" expanded="true" />
+            <element signature="e#380#381#0" expanded="true" />
+            <element signature="e#412#413#0" expanded="true" />
+            <element signature="e#462#463#0" expanded="true" />
+            <element signature="e#504#505#0" expanded="true" />
+            <element signature="e#899#900#0" expanded="true" />
+            <element signature="e#945#946#0" expanded="true" />
+            <element signature="e#1059#1060#0" expanded="true" />
+            <element signature="e#1099#1100#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/dao/sepAccount/SepRecordDao.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/common/entity/order/KtjJsapiOrder.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="85">
-          <caret line="5" column="61" selection-start-line="5" selection-start-column="49" selection-end-line="5" selection-end-column="61" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state relative-caret-position="-544">
+          <caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/core/ftp/Time.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/entity/sepAccount/KtjSepRecord.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="34">
-          <caret line="2" column="17" selection-start-line="2" selection-start-column="17" selection-end-line="2" selection-end-column="17" />
+        <state relative-caret-position="187">
+          <caret line="11" column="26" selection-start-line="11" selection-start-column="20" selection-end-line="11" selection-end-column="26" />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/5.1.6.RELEASE/spring-context-5.1.6.RELEASE.jar!/org/springframework/scheduling/annotation/Scheduled.class">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/entity/sepAccount/help/SepUserHandleHelp.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="289">
-          <caret line="25" column="19" selection-start-line="25" selection-start-column="9" selection-end-line="25" selection-end-column="19" />
+        <state relative-caret-position="476">
+          <caret line="40" column="5" selection-start-line="40" selection-start-column="5" selection-end-line="40" selection-end-column="5" />
+          <folding>
+            <element signature="e#776#777#0" expanded="true" />
+            <element signature="e#805#806#0" expanded="true" />
+            <element signature="e#850#851#0" expanded="true" />
+            <element signature="e#886#887#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/controller/sepAccount/SepAccountController.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="383">
-          <caret line="77" column="42" selection-start-line="77" selection-start-column="42" selection-end-line="77" selection-end-column="42" />
+        <state relative-caret-position="410">
+          <caret line="63" column="37" lean-forward="true" selection-start-line="63" selection-start-column="37" selection-end-line="63" selection-end-column="37" />
           <folding>
             <element signature="imports" expanded="true" />
           </folding>
@@ -939,67 +1013,94 @@
     </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/service/sepAccount/ISepAccountService.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="272">
-          <caret line="23" column="32" selection-start-line="23" selection-start-column="32" selection-end-line="23" selection-end-column="32" />
+        <state relative-caret-position="153">
+          <caret line="16" column="24" selection-start-line="16" selection-start-column="24" selection-end-line="16" selection-end-column="24" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/service/sepAccount/impl/SepAccountServiceImpl.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="131">
-          <caret line="37" column="14" lean-forward="true" selection-start-line="37" selection-start-column="14" selection-end-line="37" selection-end-column="14" />
+        <state relative-caret-position="360">
+          <caret line="420" column="48" selection-start-line="420" selection-start-column="48" selection-end-line="420" selection-end-column="48" />
           <folding>
             <element signature="imports" expanded="true" />
             <element signature="method#handleSepUserData#0;class#SepAccountServiceImpl#0" />
             <element signature="method#initSepUser#0;class#SepAccountServiceImpl#0" />
-            <element signature="method#doWxRequest#0;class#SepAccountServiceImpl#0" />
-            <element signature="e#20144#20145#0" expanded="true" />
-            <element signature="e#20191#20192#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/core/KtjTimeUnit.java">
+    <entry file="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.5.10/httpclient-4.5.10.jar!/org/apache/http/conn/ssl/SSLConnectionSocketFactory.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="272">
-          <caret line="16" column="14" selection-start-line="16" selection-start-column="5" selection-end-line="16" selection-end-column="14" />
+        <state relative-caret-position="198">
+          <caret line="109" column="11" selection-start-line="109" selection-start-column="11" selection-end-line="109" selection-end-column="11" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.5.10/httpclient-4.5.10.jar!/org/apache/http/impl/client/DefaultHttpClient.class">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="187">
+          <caret line="35" column="13" selection-start-line="35" selection-start-column="13" selection-end-line="35" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.5.10/httpclient-4.5.10.jar!/org/apache/http/impl/client/CloseableHttpClient.class">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="153">
+          <caret line="30" column="22" selection-start-line="30" selection-start-column="22" selection-end-line="30" selection-end-column="22" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.5.10/httpclient-4.5.10.jar!/org/apache/http/impl/client/HttpClientBuilder.class">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="453">
+          <caret line="149" column="36" selection-start-line="149" selection-start-column="36" selection-end-line="149" selection-end-column="36" />
           <folding>
-            <element signature="imports" expanded="true" />
+            <element signature="e#6971#6972#0" expanded="true" />
+            <element signature="e#7017#7018#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/WeChatPayServersApplication.java">
+    <entry file="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.5.10/httpclient-4.5.10.jar!/org/apache/http/impl/client/HttpClients.class">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="102">
-          <caret line="8" column="17" selection-start-line="8" selection-start-column="17" selection-end-line="8" selection-end-column="17" />
-          <folding>
-            <element signature="e#249#250#0" expanded="true" />
-            <element signature="e#327#328#0" expanded="true" />
-          </folding>
+          <caret line="10" column="13" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/entity/sepAccount/KtjSepRecord.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/common/util/ComtikaHttpsUtil.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="68">
-          <caret line="4" column="25" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="25" />
+        <state relative-caret-position="162">
+          <caret line="28" column="29" selection-start-line="28" selection-start-column="13" selection-end-line="28" selection-end-column="29" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/entity/sepAccount/KtjSepUserRecord.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/wechat/service/sepAccount/impl/SepAccountTest.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="68">
-          <caret line="4" column="29" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="29" />
+        <state relative-caret-position="241">
+          <caret line="36" column="16" lean-forward="true" selection-start-line="36" selection-start-column="16" selection-end-line="36" selection-end-column="16" />
           <folding>
-            <element signature="e#380#381#0" expanded="true" />
-            <element signature="e#412#413#0" expanded="true" />
-            <element signature="e#462#463#0" expanded="true" />
-            <element signature="e#504#505#0" expanded="true" />
-            <element signature="e#899#900#0" expanded="true" />
-            <element signature="e#945#946#0" expanded="true" />
-            <element signature="e#1059#1060#0" expanded="true" />
-            <element signature="e#1099#1100#0" expanded="true" />
+            <element signature="imports" expanded="true" />
+            <element signature="e#6482#6483#0" expanded="true" />
+            <element signature="e#6517#6518#0" expanded="true" />
+            <element signature="e#6561#6562#0" expanded="true" />
+            <element signature="e#6601#6602#0" expanded="true" />
+            <element signature="e#6639#6640#0" expanded="true" />
+            <element signature="e#6677#6678#0" expanded="true" />
+            <element signature="e#6727#6728#0" expanded="true" />
+            <element signature="e#6773#6774#0" expanded="true" />
+            <element signature="e#6807#6808#0" expanded="true" />
+            <element signature="e#6844#6845#0" expanded="true" />
+            <element signature="e#6889#6890#0" expanded="true" />
+            <element signature="e#6933#6934#0" expanded="true" />
+            <element signature="e#6975#6976#0" expanded="true" />
+            <element signature="e#7017#7018#0" expanded="true" />
+            <element signature="e#7075#7076#0" expanded="true" />
+            <element signature="e#7129#7130#0" expanded="true" />
           </folding>
         </state>
       </provider>

+ 23 - 9
src/main/java/com/wechat/common/util/ClientCustomSSL.java

@@ -26,8 +26,8 @@ import org.springframework.core.io.ClassPathResource;
  * This example demonstrates how to create secure connections with a custom SSL
  * context.
  */
-public class ClientCustomSSL {
-    private static Logger logger = LoggerFactory.getLogger(ClientCustomSSL.class);
+public class ComtikaHttpsUtil {
+    private static Logger logger = LoggerFactory.getLogger(ComtikaHttpsUtil.class);
     private static final Map<String,CloseableHttpClient> HTTPS_MAP = new ConcurrentHashMap<>(4);
 
     public static void stop(){
@@ -38,12 +38,26 @@ public class ClientCustomSSL {
 
         });
     }
+    // 这里是其他方式post 请求
+    public static String doPost(String url,String data)throws Exception{
+        return doCertWX(url,data,null);
+    }
+
 
 
     public static String doCertWX(String url, String data) throws Exception{
         return doCertWX(url,data, ProjectConstant.merchantId);
     }
+    private static String KTJ_DEFAULT_kEY = "KTJ_DEFAULT_kEY";
     private static CloseableHttpClient findHttpClient(String mchId){
+        if(StringUtil.isEmpty(mchId)){// 这里不用使用默认的http
+            CloseableHttpClient closeableHttpClient = HTTPS_MAP.get(KTJ_DEFAULT_kEY);
+            if(closeableHttpClient == null){
+                closeableHttpClient = HttpClients.createDefault();
+                HTTPS_MAP.put(KTJ_DEFAULT_kEY,closeableHttpClient);
+            }
+            return closeableHttpClient;
+        }
         CloseableHttpClient closeableHttpClient = HTTPS_MAP.get(mchId);
         if(closeableHttpClient == null){
             /**
@@ -86,13 +100,13 @@ public class ClientCustomSSL {
     public static String doCertWX(String url, String data,String mchId) throws Exception {
         CloseableHttpClient httpclient = findHttpClient(mchId);
         HttpPost httpost = new HttpPost(url); // 设置响应头信息
-        httpost.addHeader("Connection", "keep-alive");
-        httpost.addHeader("Accept", "*/*");
-        httpost.addHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
-        httpost.addHeader("Host", "api.mch.weixin.qq.com");
-        httpost.addHeader("X-Requested-With", "XMLHttpRequest");
-        httpost.addHeader("Cache-Control", "max-age=0");
-        httpost.addHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) ");
+        //httpost.addHeader("Connection", "keep-alive");
+        //httpost.addHeader("Accept", "*/*");
+        //httpost.addHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
+        // httpost.addHeader("Host", "api.mch.weixin.qq.com");
+        // httpost.addHeader("X-Requested-With", "XMLHttpRequest");
+        //httpost.addHeader("Cache-Control", "max-age=0");
+        // httpost.addHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) ");
         httpost.setEntity(new StringEntity(data, "UTF-8"));
         CloseableHttpResponse response = httpclient.execute(httpost);
         try {

+ 12 - 2
src/main/java/com/wechat/entity/sepAccount/help/SepUserHandleHelp.java

@@ -3,8 +3,10 @@ package com.wechat.entity.sepAccount.help;
 public class SepUserHandleHelp {
     private String subMchId;
     private String groupName;// 没有传使用默认的
-    // private Integer account;//分账金额
-    private String transactionId;//分账id
+
+
+    private Integer amount;//分账金额 分账时使用,如果不传使用支付金额
+    private String transactionId;//微信支付编号
 
 
     public String getTransactionId() {
@@ -29,4 +31,12 @@ public class SepUserHandleHelp {
     public void setGroupName(String groupName) {
         this.groupName = groupName;
     }
+
+    public Integer getAmount() {
+        return amount;
+    }
+
+    public void setAmount(Integer amount) {
+        this.amount = amount;
+    }
 }

Файловите разлики са ограничени, защото са твърде много
+ 15 - 15
src/main/java/com/wechat/service/pay/impl/WeChatPayJsapiServiceImpl.java


+ 19 - 10
src/main/java/com/wechat/service/sepAccount/impl/SepAccountServiceImpl.java

@@ -5,7 +5,7 @@ import com.wechat.common.enums.RegisterStatus;
 import com.wechat.common.enums.SepAccountEnums;
 import com.wechat.common.parameter.ProjectConstant;
 import com.wechat.common.response.RespWrapper;
-import com.wechat.common.util.ClientCustomSSL;
+import com.wechat.common.util.ComtikaHttpsUtil;
 import com.wechat.common.util.StringUtil;
 import com.wechat.common.util.WeChatUtil;
 import com.wechat.common.util.WxXmlParser;
@@ -69,8 +69,10 @@ public class SepAccountServiceImpl implements ISepAccountService, DisposableBean
         List<KtjSepUser> saveDBAndWx = new ArrayList<>(8);
         // 只需保证到数据库
         List<KtjSepUser> saveDB = new ArrayList<>(8);
-        // 删除数据库并删除微信
-        List<KtjSepUser> delGroupUser = new ArrayList<>(0);
+        // 删除没有引用的微信分账人
+        List<KtjSepUser> delWXUser = new ArrayList<>(0);
+        // 删除同组名的分账人
+        List<KtjSepUser> delDBUser = new ArrayList<>(0);
         if(groupSepUserMap.isEmpty()){
             handleSepUserData(saveDBAndWx,saveDB,accountMap,userSepReceiver,groupName);
         }else {
@@ -86,9 +88,10 @@ public class SepAccountServiceImpl implements ISepAccountService, DisposableBean
                 tmpGroupName.put(s.getWxAccount(),s);
             });
             // 其他地方没有引用、或者没有新数据引用
-            delGroupUser = groupSepUserMap.stream().filter(s -> {
+            delWXUser = groupSepUserMap.stream().filter(s -> {
                 return !(tmpGroupName.containsKey(s.getAccount()) || accountMap.containsKey(s.getAccount()));
             }).collect(Collectors.toList());
+            delDBUser = groupSepUserMap.stream().filter(s->!tmpGroupName.containsKey(s.getAccount())).collect(Collectors.toList());
             groupSepUserMap.forEach(s->{
                 accountMap.put(s.getAccount(),s);
             });
@@ -106,17 +109,20 @@ public class SepAccountServiceImpl implements ISepAccountService, DisposableBean
             }
             sepUserDao.insertBatch(saveDBAndWx);
         }
-        if(!delGroupUser.isEmpty()){
+        if(!delWXUser.isEmpty()){
             for(KtjSepUser ktjSepUser:saveDBAndWx){
                 RespWrapper<Map<String, Object>> ck = delReceiver(ktjSepUser, userSepReceiver.getSubMchId());
                 if(!ck.isSuccess()) return RespWrapper.makeFailResp(ck.getMsg());
-                sepUserDao.deleteById(ktjSepUser.getId());
             }
         }
+        delDBUser.forEach(s->{
+            sepUserDao.deleteById(s.getId());
+        });
         // help gc
         saveDB.clear();
         saveDBAndWx.clear();
-        delGroupUser.clear();
+        delWXUser.clear();
+        delDBUser.clear();
         return RespWrapper.makeSuccessResp(true);
     }
 
@@ -148,6 +154,9 @@ public class SepAccountServiceImpl implements ISepAccountService, DisposableBean
         Long totalFee = order.getTotalFee();//分账金额
         if(totalFee == null || totalFee < 0)
             return RespWrapper.makeFailResp("订单金额错误");
+        if(handleHelp.getAmount() != null && handleHelp.getAmount() > totalFee)
+            return RespWrapper.makeFailResp("分账金额不能大于支付金额");
+        if(handleHelp.getAmount() != null) totalFee = handleHelp.getAmount().longValue();
         // 判断该用户已经分账啦
         KtjSepRecord record = new KtjSepRecord();
         record.setOrderId(order.getId().intValue());
@@ -409,8 +418,8 @@ public class SepAccountServiceImpl implements ISepAccountService, DisposableBean
         try {
             String xmlStr;
             if(isSSL){
-                xmlStr = ClientCustomSSL.doCertWX(enums.getUrl(), xml);
-            }else xmlStr = WeChatUtil.postWX(enums.getUrl(), xml);
+                xmlStr = ComtikaHttpsUtil.doCertWX(enums.getUrl(), xml);
+            }else xmlStr = ComtikaHttpsUtil.doPost(enums.getUrl(), xml);
             Map<String,Object> resultMap = WxXmlParser.parseXML(xmlStr);   		//解析微信响应的XML结果
             if(checkNoticeSign(resultMap)){
                 String return_code = (String) resultMap.get("return_code");
@@ -435,7 +444,7 @@ public class SepAccountServiceImpl implements ISepAccountService, DisposableBean
 
     @Override
     public void destroy() throws Exception {
-        ClientCustomSSL.stop();
+        ComtikaHttpsUtil.stop();
     }
 
 

+ 37 - 37
src/main/java/com/wechat/service/sepAccount/impl/SepAccountTest.java

@@ -1,10 +1,10 @@
-/*package com.wechat.service.sepAccount.impl;
+package com.wechat.service.sepAccount.impl;
 
 import com.alibaba.fastjson.JSONObject;
 import com.wechat.common.enums.SepAccountEnums;
 import com.wechat.common.parameter.ProjectConstant;
 import com.wechat.common.response.RespWrapper;
-import com.wechat.common.util.ClientCustomSSL;
+import com.wechat.common.util.ComtikaHttpsUtil;
 import com.wechat.common.util.WeChatUtil;
 import com.wechat.common.util.WxXmlParser;
 import org.slf4j.Logger;
@@ -16,9 +16,9 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-*//**
+/**
  * 分账测试类
- *//*
+ */
 public class SepAccountTest {
     // 删除分账
     private static final String DEL_SEP_ACCOUNT_USER = "{\"type\":\"%s\",\"account\":\"%s\"}";
@@ -31,7 +31,7 @@ public class SepAccountTest {
         // 单次分账
         //singleSepAccount();
         // 查询分账
-        //findSepAccountResult();
+        findSepAccountResult();
         // 删除分账人
         //delSepAccountUser();
         // 不分账接口
@@ -39,12 +39,12 @@ public class SepAccountTest {
 
     }
 
-    *//**
+   /* *
      *  分账接收方与原请求不一致
      *  多次分账后完结分账时,out_order_no 需要注意
      *  第一次是系统内部生成的,第二、第三次 是上次分账返回的order_id
-     * @throws Exception
-     *//*
+     * @throws Exception*/
+
     private static void noSepAccount()throws Exception {
         Map<String,Object> condition = new HashMap<>();
         condition.put("mch_id", ProjectConstant.merchantId);//商户id
@@ -57,18 +57,18 @@ public class SepAccountTest {
         condition.put("description","分账完成");
         condition.put("sign", WeChatUtil.sha256_HMAC(condition, ProjectConstant.api));
         String xml = WeChatUtil.mapFormatXML(condition);
-        String s = ClientCustomSSL.doCertWX("https://api.mch.weixin.qq.com/secapi/pay/profitsharingfinish", xml,ProjectConstant.merchantId);
+        String s = ComtikaHttpsUtil.doCertWX("https://api.mch.weixin.qq.com/secapi/pay/profitsharingfinish", xml,ProjectConstant.merchantId);
         System.out.println(s);
 
     }
 
-    *//**
+   /* *
      * 包括商户号,签名类型、随机数
      * @param enums
      * @param condition
      * @param isSSL
-     * @return
-     *//*
+     * @return*/
+
     private RespWrapper<Map<String,Object>> doWxRequest(SepAccountEnums enums, Map<String,Object> condition, boolean isSSL){
         Assert.notNull(condition,"微信请求参数不能为空");
         condition.put("mch_id", ProjectConstant.merchantId);//商户id
@@ -79,7 +79,7 @@ public class SepAccountTest {
         try {
             String xmlStr;
             if(isSSL){
-                xmlStr = ClientCustomSSL.doCertWX(enums.getUrl(), xml);
+                xmlStr = ComtikaHttpsUtil.doCertWX(enums.getUrl(), xml);
             }else xmlStr = WeChatUtil.postWX(enums.getUrl(), xml);
             Map<String,Object> resultMap = WxXmlParser.parseXML(xmlStr);   		//解析微信响应的XML结果
             if(checkNoticeSign(resultMap))
@@ -93,9 +93,9 @@ public class SepAccountTest {
 
 
 
-    *//**
+  /*  *
      * {nonce_str=ed95b1c7fbd32fe8, receiver={"type":"PERSONAL_WECHATID","account":"wxid_haxp101y5saj21"}, appid=wxec504e0378010e16, sign=961EA0F51E9AC69229769F041DB5C05E86693F973F71B6DC0EF71D18709340D8, result_code=SUCCESS, mch_id=1503800091, sub_mch_id=1584278251, return_code=SUCCESS}
-     *//*
+     */
     private static void delSepAccountUser() {
         Map<String,Object> condition = new HashMap<>();
         condition.put("mch_id", ProjectConstant.merchantId);//商户id
@@ -113,13 +113,13 @@ public class SepAccountTest {
         System.out.println(checkNoticeSign(resultMap));
 
     }
-
-    *//**
+/*
+    *
      * 查询分账结果
      *
-     *
-     *//*
-    private static void findSepAccountResult() {
+     **/
+
+    private static void findSepAccountResult()throws Exception {
         Map<String,Object> condition = new HashMap<>();
         condition.put("mch_id", ProjectConstant.merchantId);//商户id
         condition.put("sub_mch_id", "1584278251");//sub_mchId
@@ -130,20 +130,21 @@ public class SepAccountTest {
         condition.put("out_order_no",outOrderNo);
         condition.put("sign",WeChatUtil.sha256_HMAC(condition, ProjectConstant.api));
         String xml = WeChatUtil.mapFormatXML(condition);
-        String xmlStr = WeChatUtil.postWX("https://api.mch.weixin.qq.com/pay/profitsharingquery", xml);
-        System.out.println(xmlStr);
+      /*  String xmlStr = WeChatUtil.postWX("https://api.mch.weixin.qq.com/pay/profitsharingquery", xml);
+        System.out.println(xmlStr);*/
+        String xmlStr = ComtikaHttpsUtil.doPost("https://api.mch.weixin.qq.com/pay/profitsharingquery", xml);
         Map<String,Object> resultMap = WxXmlParser.parseXML(xmlStr);   		//解析微信响应的XML结果
         System.out.println(resultMap);
         System.out.println(checkNoticeSign(resultMap));
     }
-    *//**
+   /* *
      *   {
      *          "type": "MERCHANT_ID",
      *          "account":"190001001",
      *          "amount":100,
      *          "description": "分到商户"
-     * },
-     *//*
+     * },*/
+
     static class SepUser{
         String type;
         String account;
@@ -187,12 +188,12 @@ public class SepAccountTest {
             this.description = description;
         }
     }
-    *//**
+    /**
      * 单个分账操作
-     *//*
+     */
     private static final String outOrderNo = "ktjSep20200418001";
-
-    *//**
+/*
+    *
      * <xml>
      * <return_code><![CDATA[SUCCESS]]></return_code>
      * <result_code><![CDATA[SUCCESS]]></result_code>
@@ -205,8 +206,8 @@ public class SepAccountTest {
      * <out_order_no><![CDATA[ktjSep20200418001]]></out_order_no>
      * <order_id><![CDATA[30000110062020041800341490392]]></order_id>
      * </xml>
-     * @throws Exception
-     *//*
+     * @throws Exception*/
+
     private static void singleSepAccount() throws Exception{
         Map<String,Object> condition = new HashMap<>();
         condition.put("mch_id", ProjectConstant.merchantId);//商户id
@@ -217,13 +218,13 @@ public class SepAccountTest {
         condition.put("sign_type","HMAC-SHA256");
         //condition.put("out_order_no",outOrderNo);
         condition.put("out_order_no","ktjSep20200418002");
-        List<SepAccountServiceImpl.SepUser> list = new ArrayList<>();
-        list.add(new SepAccountServiceImpl.SepUser("PERSONAL_WECHATID","wxid_haxp101y5saj21",1,"分到个人"));
+        List<SepUser> list = new ArrayList<>();
+        list.add(new SepUser("PERSONAL_WECHATID","wxid_haxp101y5saj21",1,"分到个人"));
         condition.put("receivers", JSONObject.toJSONString(list));
         condition.put("sign",WeChatUtil.sha256_HMAC(condition, ProjectConstant.api));
         String xml = WeChatUtil.mapFormatXML(condition);
         //String xmlStr = WeChatUtil.postWX("https://api.mch.weixin.qq.com/secapi/pay/profitsharing", xml);
-        String s = ClientCustomSSL.doCertWX("https://api.mch.weixin.qq.com/secapi/pay/profitsharing", xml,ProjectConstant.merchantId);
+        String s = ComtikaHttpsUtil.doCertWX("https://api.mch.weixin.qq.com/secapi/pay/profitsharing", xml,ProjectConstant.merchantId);
         System.out.println(s);
         //Map<String,Object> resultMap = WxXmlParser.parseXML(xmlStr);   		//解析微信响应的XML结果
         //System.out.println(resultMap);
@@ -231,9 +232,9 @@ public class SepAccountTest {
 
     }
 
-    *//**
+  /*  *
      * 校验微信响应数据
-     *//*
+     */
     private static boolean checkNoticeSign(Map<String,Object> params){
         String sign = (String) params.get("sign");
         if(sign == null) return false;
@@ -271,4 +272,3 @@ public class SepAccountTest {
 
     }
 }
-*/