Quellcode durchsuchen

订单受理完成

wuxw7 vor 9 Jahren
Ursprung
Commit
2d327659c2

+ 466 - 221
.idea/workspace.xml

@@ -3,7 +3,13 @@
   <component name="ChangeListManager">
     <list default="true" id="a191bf23-5de1-438a-810e-95cec23d6b25" name="Default" comment="">
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/Readme.md" afterPath="$PROJECT_DIR$/Readme.md" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/listener/CustDispatchListener.java" afterPath="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/listener/CustDispatchListener.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/rest/OrderServiceRest.java" afterPath="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/rest/OrderServiceRest.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/smo/impl/OrderServiceSMOImpl.java" afterPath="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/smo/impl/OrderServiceSMOImpl.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/smo/impl/UserServiceSMOImpl.java" afterPath="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/smo/impl/UserServiceSMOImpl.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/config/src/main/resources/config/event.properties" afterPath="$PROJECT_DIR$/config/src/main/resources/config/event.properties" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/core/src/main/java/com/java110/core/SystemStartUpInit.java" afterPath="$PROJECT_DIR$/core/src/main/java/com/java110/core/SystemStartUpInit.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/core/src/main/java/com/java110/core/event/AppEventPublishing.java" afterPath="$PROJECT_DIR$/core/src/main/java/com/java110/core/event/AppEventPublishing.java" />
     </list>
     <ignored path="$PROJECT_DIR$/out/" />
     <ignored path="$PROJECT_DIR$/target/" />
@@ -34,54 +40,21 @@
   <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
-      <file leaf-file-name="AppEventPublishing.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/core/src/main/java/com/java110/core/event/AppEventPublishing.java">
+      <file leaf-file-name="OrderServiceRest.java" pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/rest/OrderServiceRest.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="185">
-              <caret line="120" column="26" lean-forward="false" selection-start-line="120" selection-start-column="26" selection-end-line="120" selection-end-column="26" />
+            <state relative-caret-position="289">
+              <caret line="139" column="21" lean-forward="false" selection-start-line="139" selection-start-column="21" selection-end-line="139" selection-end-column="49" />
               <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="Readme.md" pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/Readme.md">
-          <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
-            <state split_layout="FIRST">
-              <first_editor relative-caret-position="411">
-                <caret line="36" column="2" lean-forward="false" selection-start-line="36" selection-start-column="2" selection-end-line="36" selection-end-column="2" />
-                <folding />
-              </first_editor>
-              <second_editor />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="AppCustEvent.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/core/src/main/java/com/java110/core/event/AppCustEvent.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="272">
-              <caret line="16" column="11" lean-forward="false" selection-start-line="16" selection-start-column="11" selection-end-line="16" selection-end-column="11" />
-              <folding />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="AppEvent.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/core/src/main/java/com/java110/core/event/AppEvent.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="255">
-              <caret line="15" column="11" lean-forward="false" selection-start-line="15" selection-start-column="11" selection-end-line="15" selection-end-column="11" />
-              <folding />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="LoggerEngine.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/common/src/main/java/com/java110/common/log/LoggerEngine.java">
+      <file leaf-file-name="IOrderServiceSMO.java" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/smo/IOrderServiceSMO.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="136">
-              <caret line="9" column="25" lean-forward="false" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="25" />
+            <state relative-caret-position="323">
+              <caret line="19" column="18" lean-forward="false" selection-start-line="19" selection-start-column="18" selection-end-line="19" selection-end-column="18" />
               <folding />
             </state>
           </provider>
@@ -90,8 +63,8 @@
       <file leaf-file-name="OrderServiceSMOImpl.java" pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/smo/impl/OrderServiceSMOImpl.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="2295">
-              <caret line="155" column="0" lean-forward="false" selection-start-line="155" selection-start-column="0" selection-end-line="155" selection-end-column="0" />
+            <state relative-caret-position="1643">
+              <caret line="167" column="131" lean-forward="false" selection-start-line="167" selection-start-column="131" selection-end-line="167" selection-end-column="131" />
               <folding />
             </state>
           </provider>
@@ -146,7 +119,6 @@
         <option value="$PROJECT_DIR$/config/src/main/resources/mapper/user/UserServiceDaoImplMapper.xml" />
         <option value="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/dao/impl/UserServiceDaoImpl.java" />
         <option value="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/smo/IUserServiceSMO.java" />
-        <option value="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/rest/UserServiceRest.java" />
         <option value="$PROJECT_DIR$/feign/src/main/java/com/java110/feign/user/IUserService.java" />
         <option value="$PROJECT_DIR$/feign/src/main/java/com/java110/feign/user/UserServiceFallback.java" />
         <option value="$PROJECT_DIR$/UserService/src/test/java/com/java110/user/BoCustCompareTest.java" />
@@ -157,9 +129,7 @@
         <option value="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/smo/IOrderServiceSMO.java" />
         <option value="$PROJECT_DIR$/core/pom.xml" />
         <option value="$PROJECT_DIR$/core/src/main/java/com/java110/core/base/smo/BaseServiceSMO.java" />
-        <option value="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/smo/impl/UserServiceSMOImpl.java" />
         <option value="$PROJECT_DIR$/UserService/src/test/java/com/java110/user/CustIdTest.java" />
-        <option value="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/rest/OrderServiceRest.java" />
         <option value="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/dao/IUserServiceDao.java" />
         <option value="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/order/OrderList.java" />
         <option value="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/dao/IOrderServiceDao.java" />
@@ -176,20 +146,23 @@
         <option value="$PROJECT_DIR$/core/src/main/java/com/java110/core/event/AppMerchantEvent.java" />
         <option value="$PROJECT_DIR$/core/src/main/java/com/java110/core/event/AppPayEvent.java" />
         <option value="$PROJECT_DIR$/core/src/main/java/com/java110/core/event/Ordered.java" />
-        <option value="$PROJECT_DIR$/config/src/main/resources/config/event.properties" />
         <option value="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/listener/MerchantDispatchListener.java" />
         <option value="$PROJECT_DIR$/config/src/main/resources/META-INF/spring.factories" />
-        <option value="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/listener/CustDispatchListener.java" />
         <option value="$PROJECT_DIR$/core/src/main/java/com/java110/listener/CustDispatchListener.java" />
         <option value="$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/TestListener.java" />
         <option value="$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/AppEvent.java" />
-        <option value="$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/AppCustEvent.java" />
         <option value="$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/CustDispatchListener.java" />
         <option value="$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/TypeTest.java" />
+        <option value="$PROJECT_DIR$/Readme.md" />
+        <option value="$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/AppCustEvent.java" />
+        <option value="$PROJECT_DIR$/config/src/main/resources/config/event.properties" />
         <option value="$PROJECT_DIR$/core/src/main/java/com/java110/core/SystemStartUpInit.java" />
-        <option value="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/smo/impl/OrderServiceSMOImpl.java" />
+        <option value="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/rest/UserServiceRest.java" />
+        <option value="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/smo/impl/UserServiceSMOImpl.java" />
         <option value="$PROJECT_DIR$/core/src/main/java/com/java110/core/event/AppEventPublishing.java" />
-        <option value="$PROJECT_DIR$/Readme.md" />
+        <option value="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/listener/CustDispatchListener.java" />
+        <option value="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/smo/impl/OrderServiceSMOImpl.java" />
+        <option value="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/rest/OrderServiceRest.java" />
       </list>
     </option>
   </component>
@@ -326,6 +299,220 @@
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
             </PATH_ELEMENT>
           </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="MicroCommunity" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="MicroCommunity" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="Wechat" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="MicroCommunity" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="MicroCommunity" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="Wechat" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="MicroCommunity" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="MicroCommunity" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="Wechat" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="main" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="MicroCommunity" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="MicroCommunity" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="Wechat" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="main" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="java" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="wechat" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="MicroCommunity" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="MicroCommunity" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="Wechat" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="main" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="java" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="wechat" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="test" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="MicroCommunity" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="MicroCommunity" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="feign" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="MicroCommunity" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="MicroCommunity" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="feign" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="MicroCommunity" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="MicroCommunity" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="feign" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="main" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="java" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="feign" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="MicroCommunity" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="MicroCommunity" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="feign" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="main" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="java" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="feign" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="user" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
         </subPane>
       </pane>
       <pane id="PackagesPane" />
@@ -794,7 +981,7 @@
       <workItem from="1492144617693" duration="15501000" />
       <workItem from="1492171107022" duration="5442000" />
       <workItem from="1492185991415" duration="4010000" />
-      <workItem from="1492318896571" duration="132000" />
+      <workItem from="1492318896571" duration="11833000" />
     </task>
     <task id="LOCAL-00001" summary="change fastjson dependenciy">
       <created>1491576589634</created>
@@ -839,7 +1026,7 @@
     </history-entry>
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="193914000" />
+    <option name="totallyTimeSpent" value="205615000" />
   </component>
   <component name="ToolWindowManager">
     <frame x="-8" y="-8" width="1382" height="744" extended-state="6" />
@@ -854,7 +1041,7 @@
       <window_info id="Spring" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3295082" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.62459016" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
-      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24281392" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.29198185" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.24962178" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
       <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
@@ -939,365 +1126,423 @@
     <watches-manager />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/core/src/main/java/com/java110/core/event/AppMerchantEvent.java">
+    <entry file="file://$PROJECT_DIR$/UserService/src/main/java/com/java110/user/AppSpringBootApplication.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="289">
-          <caret line="17" column="32" lean-forward="true" selection-start-line="17" selection-start-column="32" selection-end-line="17" selection-end-column="32" />
+        <state relative-caret-position="238">
+          <caret line="17" column="49" lean-forward="true" selection-start-line="17" selection-start-column="49" selection-end-line="17" selection-end-column="49" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$M2_REPO$/org/springframework/spring-context/4.3.2.RELEASE/spring-context-4.3.2.RELEASE-sources.jar!/org/springframework/context/event/GenericApplicationListener.java">
+    <entry file="jar://$M2_REPO$/org/springframework/spring-context/4.3.2.RELEASE/spring-context-4.3.2.RELEASE-sources.jar!/org/springframework/context/event/GenericApplicationListenerAdapter.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="343">
-          <caret line="38" column="12" lean-forward="false" selection-start-line="38" selection-start-column="12" selection-end-line="38" selection-end-column="12" />
+        <state relative-caret-position="385">
+          <caret line="109" column="0" lean-forward="false" selection-start-line="109" selection-start-column="0" selection-end-line="109" selection-end-column="0" />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$M2_REPO$/org/springframework/cloud/spring-cloud-context/1.1.1.RELEASE/spring-cloud-context-1.1.1.RELEASE-sources.jar!/org/springframework/cloud/context/restart/RestartListener.java">
+    <entry file="jar://$M2_REPO$/org/springframework/spring-core/4.3.2.RELEASE/spring-core-4.3.2.RELEASE-sources.jar!/org/springframework/core/convert/support/GenericConversionService.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="193">
-          <caret line="52" column="19" lean-forward="false" selection-start-line="52" selection-start-column="19" selection-end-line="52" selection-end-column="19" />
+        <state relative-caret-position="198">
+          <caret line="292" column="0" lean-forward="false" selection-start-line="292" selection-start-column="0" selection-end-line="292" selection-end-column="0" />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$M2_REPO$/org/springframework/spring-context/4.3.2.RELEASE/spring-context-4.3.2.RELEASE-sources.jar!/org/springframework/context/event/SmartApplicationListener.java">
+    <entry file="jar://$M2_REPO$/org/springframework/spring-context/4.3.2.RELEASE/spring-context-4.3.2.RELEASE-sources.jar!/org/springframework/context/event/AbstractApplicationEventMulticaster.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="402">
-          <caret line="44" column="12" lean-forward="false" selection-start-line="44" selection-start-column="12" selection-end-line="44" selection-end-column="12" />
+        <state relative-caret-position="257">
+          <caret line="213" column="0" lean-forward="false" selection-start-line="213" selection-start-column="0" selection-end-line="213" selection-end-column="0" />
+          <folding>
+            <element signature="e#7527#7551#0" expanded="false" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="jar://$M2_REPO$/org/springframework/spring-context/4.3.2.RELEASE/spring-context-4.3.2.RELEASE-sources.jar!/org/springframework/context/event/SourceFilteringListener.java">
+    <entry file="file://$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/Test.java" />
+    <entry file="file://$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/TestListener.java" />
+    <entry file="file://$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/AppListener.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="680">
-          <caret line="86" column="69" lean-forward="true" selection-start-line="86" selection-start-column="69" selection-end-line="86" selection-end-column="69" />
+        <state relative-caret-position="136">
+          <caret line="10" column="17" lean-forward="false" selection-start-line="10" selection-start-column="17" selection-end-line="10" selection-end-column="17" />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$M2_REPO$/org/springframework/boot/spring-boot/1.4.0.RELEASE/spring-boot-1.4.0.RELEASE-sources.jar!/org/springframework/boot/SpringApplication.java">
+    <entry file="file://$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/Ordered.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-1243">
-          <caret line="220" column="39" lean-forward="false" selection-start-line="220" selection-start-column="17" selection-end-line="220" selection-end-column="39" />
+        <state relative-caret-position="102">
+          <caret line="6" column="17" lean-forward="false" selection-start-line="6" selection-start-column="17" selection-end-line="6" selection-end-column="17" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/core/src/main/java/com/java110/listener/MerchantDispatchListener.java" />
-    <entry file="jar://F:/software/Java/jdk1.8.0_121/src.zip!/java/lang/reflect/Method.java">
+    <entry file="file://$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/AppEvent.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="141">
-          <caret line="263" column="22" lean-forward="true" selection-start-line="263" selection-start-column="22" selection-end-line="263" selection-end-column="22" />
+        <state relative-caret-position="136">
+          <caret line="8" column="13" lean-forward="false" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="13" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/core/src/main/java/com/java110/listener/CustDispatchListener.java" />
-    <entry file="jar://$M2_REPO$/org/springframework/spring-context/4.3.2.RELEASE/spring-context-4.3.2.RELEASE-sources.jar!/org/springframework/context/ApplicationEvent.java">
+    <entry file="file://$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/AppTest.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="193">
-          <caret line="27" column="22" lean-forward="false" selection-start-line="27" selection-start-column="22" selection-end-line="27" selection-end-column="22" />
+        <state relative-caret-position="340">
+          <caret line="28" column="5" lean-forward="true" selection-start-line="10" selection-start-column="4" selection-end-line="28" selection-end-column="5" />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$M2_REPO$/org/springframework/spring-core/4.3.2.RELEASE/spring-core-4.3.2.RELEASE-sources.jar!/org/springframework/util/ObjectUtils.java">
+    <entry file="jar://$M2_REPO$/org/springframework/spring-context/4.3.2.RELEASE/spring-context-4.3.2.RELEASE-sources.jar!/org/springframework/context/ApplicationListener.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="4556">
-          <caret line="289" column="60" lean-forward="false" selection-start-line="289" selection-start-column="60" selection-end-line="289" selection-end-column="60" />
+        <state relative-caret-position="300">
+          <caret line="35" column="37" lean-forward="false" selection-start-line="35" selection-start-column="37" selection-end-line="35" selection-end-column="38" />
         </state>
       </provider>
     </entry>
-    <entry file="jar://F:/software/Java/jdk1.8.0_121/src.zip!/java/lang/Object.java">
+    <entry file="jar://$M2_REPO$/org/springframework/spring-core/4.3.2.RELEASE/spring-core-4.3.2.RELEASE-sources.jar!/org/springframework/core/ResolvableType.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-187">
-          <caret line="66" column="51" lean-forward="false" selection-start-line="66" selection-start-column="51" selection-end-line="66" selection-end-column="51" />
+        <state relative-caret-position="287">
+          <caret line="462" column="72" lean-forward="true" selection-start-line="462" selection-start-column="72" selection-end-line="462" selection-end-column="72" />
+          <folding>
+            <element signature="e#25373#25374#0" expanded="false" />
+            <element signature="e#25400#25401#0" expanded="false" />
+            <element signature="e#25995#25996#0" expanded="false" />
+            <element signature="e#26059#26060#0" expanded="false" />
+            <element signature="e#31965#31966#0" expanded="false" />
+            <element signature="e#32010#32011#0" expanded="false" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="jar://F:/software/Java/jdk1.8.0_121/src.zip!/java/lang/reflect/Type.java">
+    <entry file="jar://$M2_REPO$/org/springframework/spring-core/4.3.2.RELEASE/spring-core-4.3.2.RELEASE-sources.jar!/org/springframework/core/SerializableTypeWrapper.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="357">
-          <caret line="45" column="21" lean-forward="false" selection-start-line="45" selection-start-column="21" selection-end-line="45" selection-end-column="21" />
+        <state relative-caret-position="1972">
+          <caret line="152" column="27" lean-forward="false" selection-start-line="152" selection-start-column="27" selection-end-line="152" selection-end-column="27" />
         </state>
       </provider>
     </entry>
-    <entry file="jar://F:/software/Java/jdk1.8.0_121/jre/lib/rt.jar!/java/lang/reflect/Type.class">
+    <entry file="jar://F:/software/Java/jdk1.8.0_121/src.zip!/java/lang/reflect/ParameterizedType.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+        <state relative-caret-position="193">
+          <caret line="64" column="33" lean-forward="false" selection-start-line="64" selection-start-column="11" selection-end-line="64" selection-end-column="33" />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$M2_REPO$/org/springframework/boot/spring-boot/1.4.0.RELEASE/spring-boot-1.4.0.RELEASE-sources.jar!/META-INF/spring.factories">
+    <entry file="jar://$M2_REPO$/org/springframework/boot/spring-boot/1.4.0.RELEASE/spring-boot-1.4.0.RELEASE-sources.jar!/org/springframework/boot/context/config/ConfigFileApplicationListener.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="306">
+          <caret line="210" column="8" lean-forward="false" selection-start-line="210" selection-start-column="8" selection-end-line="215" selection-end-column="9" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="jar://$M2_REPO$/org/springframework/boot/spring-boot/1.4.0.RELEASE/spring-boot-1.4.0.RELEASE.jar!/META-INF/spring.factories">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="119">
           <caret line="7" column="65" lean-forward="false" selection-start-line="7" selection-start-column="39" selection-end-line="7" selection-end-column="65" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$M2_REPO$/org/springframework/boot/spring-boot/1.4.0.RELEASE/spring-boot-1.4.0.RELEASE-sources.jar!/org/springframework/boot/context/event/SpringApplicationEvent.java">
+    <entry file="file://$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/TypeTest.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="255">
-          <caret line="30" column="0" lean-forward="true" selection-start-line="30" selection-start-column="0" selection-end-line="30" selection-end-column="0" />
+        <state relative-caret-position="385">
+          <caret line="45" column="60" lean-forward="false" selection-start-line="45" selection-start-column="37" selection-end-line="45" selection-end-column="60" />
+          <folding>
+            <element signature="imports" expanded="false" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="jar://$M2_REPO$/org/springframework/boot/spring-boot/1.4.0.RELEASE/spring-boot-1.4.0.RELEASE-sources.jar!/org/springframework/boot/context/event/ApplicationStartedEvent.java">
+    <entry file="jar://$M2_REPO$/org/springframework/spring-context/4.3.2.RELEASE/spring-context-4.3.2.RELEASE-sources.jar!/org/springframework/context/event/ApplicationEventMulticaster.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="408">
-          <caret line="41" column="10" lean-forward="false" selection-start-line="41" selection-start-column="10" selection-end-line="41" selection-end-column="10" />
+        <state relative-caret-position="275">
+          <caret line="73" column="9" lean-forward="false" selection-start-line="73" selection-start-column="9" selection-end-line="73" selection-end-column="9" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/UserService/src/main/java/com/java110/user/AppSpringBootApplication.java">
+    <entry file="jar://$M2_REPO$/org/springframework/boot/spring-boot/1.4.0.RELEASE/spring-boot-1.4.0.RELEASE-sources.jar!/org/springframework/boot/context/event/EventPublishingRunListener.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="238">
-          <caret line="17" column="49" lean-forward="true" selection-start-line="17" selection-start-column="49" selection-end-line="17" selection-end-column="49" />
-          <folding />
+        <state relative-caret-position="37">
+          <caret line="67" column="34" lean-forward="false" selection-start-line="67" selection-start-column="34" selection-end-line="67" selection-end-column="34" />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$M2_REPO$/org/springframework/spring-context/4.3.2.RELEASE/spring-context-4.3.2.RELEASE-sources.jar!/org/springframework/context/event/GenericApplicationListenerAdapter.java">
+    <entry file="jar://$M2_REPO$/org/springframework/spring-context/4.3.2.RELEASE/spring-context-4.3.2.RELEASE-sources.jar!/org/springframework/context/event/SimpleApplicationEventMulticaster.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="385">
-          <caret line="109" column="0" lean-forward="false" selection-start-line="109" selection-start-column="0" selection-end-line="109" selection-end-column="0" />
+        <state relative-caret-position="402">
+          <caret line="172" column="5" lean-forward="true" selection-start-line="146" selection-start-column="4" selection-end-line="172" selection-end-column="5" />
+          <folding>
+            <element signature="e#3154#3155#0" expanded="false" />
+            <element signature="e#3185#3186#0" expanded="false" />
+            <element signature="e#4362#4363#0" expanded="false" />
+            <element signature="e#4422#4423#0" expanded="false" />
+            <element signature="e#4789#4897#0" expanded="false" />
+            <element signature="e#4896#4897#0" expanded="false" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="jar://$M2_REPO$/org/springframework/spring-core/4.3.2.RELEASE/spring-core-4.3.2.RELEASE-sources.jar!/org/springframework/core/convert/support/GenericConversionService.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="198">
-          <caret line="292" column="0" lean-forward="false" selection-start-line="292" selection-start-column="0" selection-end-line="292" selection-end-column="0" />
+    <entry file="file://$PROJECT_DIR$/Readme.md">
+      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
+        <state split_layout="FIRST">
+          <first_editor relative-caret-position="292">
+            <caret line="29" column="0" lean-forward="true" selection-start-line="29" selection-start-column="0" selection-end-line="29" selection-end-column="0" />
+            <folding />
+          </first_editor>
+          <second_editor />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$M2_REPO$/org/springframework/spring-context/4.3.2.RELEASE/spring-context-4.3.2.RELEASE-sources.jar!/org/springframework/context/event/AbstractApplicationEventMulticaster.java">
+    <entry file="file://$PROJECT_DIR$/core/src/main/java/com/java110/core/event/AppEvent.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="257">
-          <caret line="213" column="0" lean-forward="false" selection-start-line="213" selection-start-column="0" selection-end-line="213" selection-end-column="0" />
+        <state relative-caret-position="255">
+          <caret line="15" column="11" lean-forward="false" selection-start-line="15" selection-start-column="11" selection-end-line="15" selection-end-column="11" />
           <folding>
-            <element signature="e#7527#7551#0" expanded="false" />
+            <element signature="e#391#392#0" expanded="false" />
+            <element signature="e#420#421#0" expanded="false" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/Test.java" />
-    <entry file="file://$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/TestListener.java" />
-    <entry file="file://$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/AppCustEvent.java">
+    <entry file="file://$PROJECT_DIR$/common/src/main/java/com/java110/common/log/LoggerEngine.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="204">
-          <caret line="12" column="32" lean-forward="false" selection-start-line="12" selection-start-column="32" selection-end-line="12" selection-end-column="32" />
+        <state relative-caret-position="17">
+          <caret line="9" column="25" lean-forward="false" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="25" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/AppListener.java">
+    <entry file="file://$PROJECT_DIR$/core/src/main/java/com/java110/core/event/AppCustEvent.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="136">
-          <caret line="10" column="17" lean-forward="false" selection-start-line="10" selection-start-column="17" selection-end-line="10" selection-end-column="17" />
+        <state relative-caret-position="272">
+          <caret line="16" column="11" lean-forward="false" selection-start-line="16" selection-start-column="11" selection-end-line="16" selection-end-column="11" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/Ordered.java">
+    <entry file="file://$PROJECT_DIR$/core/src/main/java/com/java110/core/event/AppListener.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="102">
-          <caret line="6" column="17" lean-forward="false" selection-start-line="6" selection-start-column="17" selection-end-line="6" selection-end-column="17" />
+        <state relative-caret-position="238">
+          <caret line="14" column="9" lean-forward="false" selection-start-line="14" selection-start-column="9" selection-end-line="14" selection-end-column="9" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/AppEvent.java">
+    <entry file="jar://F:/software/Java/jdk1.8.0_121/src.zip!/java/lang/Exception.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="136">
-          <caret line="8" column="13" lean-forward="false" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="13" />
+        <state relative-caret-position="193">
+          <caret line="52" column="11" lean-forward="false" selection-start-line="52" selection-start-column="11" selection-end-line="52" selection-end-column="11" />
+          <folding>
+            <element signature="e#1247#1248#0" expanded="false" />
+            <element signature="e#1270#1271#0" expanded="false" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/CustDispatchListener.java">
+    <entry file="jar://F:/software/Java/jdk1.8.0_121/src.zip!/javax/naming/ConfigurationException.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="119">
-          <caret line="9" column="33" lean-forward="false" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="33" />
+        <state relative-caret-position="391">
+          <caret line="46" column="35" lean-forward="false" selection-start-line="46" selection-start-column="13" selection-end-line="46" selection-end-column="35" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/core/src/main/java/com/java110/core/event/AppListener.java">
+    <entry file="jar://F:/software/Java/jdk1.8.0_121/src.zip!/java/lang/Class.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="136">
-          <caret line="8" column="28" lean-forward="true" selection-start-line="8" selection-start-column="28" selection-end-line="8" selection-end-column="30" />
+        <state relative-caret-position="193">
+          <caret line="1821" column="25" lean-forward="true" selection-start-line="1821" selection-start-column="11" selection-end-line="1821" selection-end-column="25" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/AppTest.java">
+    <entry file="file://$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/AppCustEvent.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="340">
-          <caret line="28" column="5" lean-forward="true" selection-start-line="10" selection-start-column="4" selection-end-line="28" selection-end-column="5" />
+        <state relative-caret-position="68">
+          <caret line="4" column="3" lean-forward="true" selection-start-line="4" selection-start-column="3" selection-end-line="4" selection-end-column="3" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$M2_REPO$/org/springframework/spring-context/4.3.2.RELEASE/spring-context-4.3.2.RELEASE-sources.jar!/org/springframework/context/ApplicationListener.java">
+    <entry file="file://$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/CustDispatchListener.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="300">
-          <caret line="35" column="37" lean-forward="false" selection-start-line="35" selection-start-column="37" selection-end-line="35" selection-end-column="38" />
+        <state relative-caret-position="119">
+          <caret line="9" column="33" lean-forward="false" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="33" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="jar://F:/software/Java/jdk1.8.0_121/src.zip!/java/lang/Class.java">
+    <entry file="file://$PROJECT_DIR$/config/src/main/resources/config/event.properties">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="185">
-          <caret line="910" column="15" lean-forward="false" selection-start-line="910" selection-start-column="11" selection-end-line="910" selection-end-column="15" />
+        <state relative-caret-position="85">
+          <caret line="5" column="31" lean-forward="true" selection-start-line="5" selection-start-column="31" selection-end-line="5" selection-end-column="31" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$M2_REPO$/org/springframework/spring-core/4.3.2.RELEASE/spring-core-4.3.2.RELEASE-sources.jar!/org/springframework/core/ResolvableType.java">
+    <entry file="file://$PROJECT_DIR$/bean/src/main/java/com/java110/entity/user/Cust.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="287">
-          <caret line="462" column="72" lean-forward="true" selection-start-line="462" selection-start-column="72" selection-end-line="462" selection-end-column="72" />
-          <folding>
-            <element signature="e#25373#25374#0" expanded="false" />
-            <element signature="e#25400#25401#0" expanded="false" />
-            <element signature="e#25995#25996#0" expanded="false" />
-            <element signature="e#26059#26060#0" expanded="false" />
-            <element signature="e#31965#31966#0" expanded="false" />
-            <element signature="e#32010#32011#0" expanded="false" />
-          </folding>
+        <state relative-caret-position="340">
+          <caret line="20" column="23" lean-forward="true" selection-start-line="20" selection-start-column="23" selection-end-line="20" selection-end-column="23" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$M2_REPO$/org/springframework/spring-core/4.3.2.RELEASE/spring-core-4.3.2.RELEASE-sources.jar!/org/springframework/core/SerializableTypeWrapper.java">
+    <entry file="file://$PROJECT_DIR$/UserService/src/main/java/com/java110/user/smo/IUserServiceSMO.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1972">
-          <caret line="152" column="27" lean-forward="false" selection-start-line="152" selection-start-column="27" selection-end-line="152" selection-end-column="27" />
+        <state relative-caret-position="185">
+          <caret line="24" column="18" lean-forward="false" selection-start-line="24" selection-start-column="18" selection-end-line="24" selection-end-column="18" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="jar://F:/software/Java/jdk1.8.0_121/src.zip!/java/lang/reflect/ParameterizedType.java">
+    <entry file="file://$PROJECT_DIR$/UserService/src/main/java/com/java110/user/smo/impl/UserServiceSMOImpl.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="193">
-          <caret line="64" column="33" lean-forward="false" selection-start-line="64" selection-start-column="11" selection-end-line="64" selection-end-column="33" />
+        <state relative-caret-position="372">
+          <caret line="100" column="62" lean-forward="false" selection-start-line="100" selection-start-column="62" selection-end-line="100" selection-end-column="62" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$M2_REPO$/org/springframework/spring-core/4.3.2.RELEASE/spring-core-4.3.2.RELEASE-sources.jar!/org/springframework/util/Assert.java">
+    <entry file="file://$PROJECT_DIR$/config/db/cust.db">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="244">
-          <caret line="92" column="9" lean-forward="false" selection-start-line="90" selection-start-column="28" selection-end-line="92" selection-end-column="9" />
+        <state relative-caret-position="170">
+          <caret line="28" column="57" lean-forward="false" selection-start-line="28" selection-start-column="40" selection-end-line="28" selection-end-column="57" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/config/src/main/resources/config/event.properties">
+    <entry file="file://$PROJECT_DIR$/UserService/src/main/java/com/java110/user/rest/UserServiceRest.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="17">
-          <caret line="1" column="50" lean-forward="true" selection-start-line="1" selection-start-column="49" selection-end-line="1" selection-end-column="50" />
+        <state relative-caret-position="321">
+          <caret line="79" column="51" lean-forward="false" selection-start-line="79" selection-start-column="51" selection-end-line="79" selection-end-column="51" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/listener/CustDispatchListener.java">
+    <entry file="jar://$M2_REPO$/org/springframework/spring-core/4.3.2.RELEASE/spring-core-4.3.2.RELEASE-sources.jar!/org/springframework/util/ObjectUtils.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="119">
-          <caret line="9" column="56" lean-forward="false" selection-start-line="9" selection-start-column="45" selection-end-line="9" selection-end-column="56" />
+        <state relative-caret-position="193">
+          <caret line="103" column="26" lean-forward="false" selection-start-line="103" selection-start-column="26" selection-end-line="103" selection-end-column="26" />
+          <folding>
+            <element signature="e#3175#3176#0" expanded="false" />
+            <element signature="e#3225#3226#0" expanded="false" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="jar://$M2_REPO$/org/springframework/boot/spring-boot/1.4.0.RELEASE/spring-boot-1.4.0.RELEASE-sources.jar!/org/springframework/boot/context/config/ConfigFileApplicationListener.java">
+    <entry file="jar://F:/software/Java/jdk1.8.0_121/src.zip!/java/util/Collection.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="306">
-          <caret line="210" column="8" lean-forward="false" selection-start-line="210" selection-start-column="8" selection-end-line="215" selection-end-column="9" />
+        <state relative-caret-position="193">
+          <caret line="160" column="12" lean-forward="false" selection-start-line="160" selection-start-column="12" selection-end-line="160" selection-end-column="12" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$M2_REPO$/org/springframework/boot/spring-boot/1.4.0.RELEASE/spring-boot-1.4.0.RELEASE.jar!/META-INF/spring.factories">
+    <entry file="jar://$M2_REPO$/org/springframework/spring-core/4.3.2.RELEASE/spring-core-4.3.2.RELEASE-sources.jar!/org/springframework/util/CollectionUtils.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="119">
-          <caret line="7" column="65" lean-forward="false" selection-start-line="7" selection-start-column="39" selection-end-line="7" selection-end-column="65" />
+        <state relative-caret-position="210">
+          <caret line="50" column="53" lean-forward="true" selection-start-line="50" selection-start-column="53" selection-end-line="50" selection-end-column="53" />
+          <folding>
+            <element signature="e#1526#1527#0" expanded="false" />
+            <element signature="e#1584#1585#0" expanded="false" />
+          </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/core/src/main/java/com/java110/core/SystemStartUpInit.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="17">
-          <caret line="51" column="15" lean-forward="false" selection-start-line="51" selection-start-column="15" selection-end-line="51" selection-end-column="15" />
+        <state relative-caret-position="731">
+          <caret line="61" column="38" lean-forward="true" selection-start-line="61" selection-start-column="38" selection-end-line="61" selection-end-column="38" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/OrderService/src/test/java/com/java110/order/type/TypeTest.java">
+    <entry file="file://$PROJECT_DIR$/core/src/main/java/com/java110/core/event/AppEventPublishing.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="385">
-          <caret line="45" column="60" lean-forward="false" selection-start-line="45" selection-start-column="37" selection-end-line="45" selection-end-column="60" />
+        <state relative-caret-position="-533">
+          <caret line="108" column="23" lean-forward="false" selection-start-line="108" selection-start-column="23" selection-end-line="108" selection-end-column="23" />
+          <folding>
+            <element signature="e#679#695#0" expanded="true" />
+            <element signature="e#813#837#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="jar://$M2_REPO$/org/springframework/spring-context/4.3.2.RELEASE/spring-context-4.3.2.RELEASE-sources.jar!/org/springframework/context/event/ApplicationEventMulticaster.java">
+    <entry file="file://$PROJECT_DIR$/feign/src/main/java/com/java110/feign/test/TestFeignHystrixClient.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="275">
-          <caret line="73" column="9" lean-forward="false" selection-start-line="73" selection-start-column="9" selection-end-line="73" selection-end-column="9" />
+        <state relative-caret-position="153">
+          <caret line="11" column="17" lean-forward="false" selection-start-line="11" selection-start-column="17" selection-end-line="11" selection-end-column="17" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$M2_REPO$/org/springframework/boot/spring-boot/1.4.0.RELEASE/spring-boot-1.4.0.RELEASE-sources.jar!/org/springframework/boot/context/event/EventPublishingRunListener.java">
+    <entry file="file://$PROJECT_DIR$/Wechat/src/main/java/com/java110/wechat/feign/test/TestController.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="37">
-          <caret line="67" column="34" lean-forward="false" selection-start-line="67" selection-start-column="34" selection-end-line="67" selection-end-column="34" />
+        <state relative-caret-position="207">
+          <caret line="21" column="13" lean-forward="false" selection-start-line="21" selection-start-column="13" selection-end-line="21" selection-end-column="13" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$M2_REPO$/org/springframework/spring-context/4.3.2.RELEASE/spring-context-4.3.2.RELEASE-sources.jar!/org/springframework/context/event/SimpleApplicationEventMulticaster.java">
+    <entry file="file://$PROJECT_DIR$/feign/src/main/java/com/java110/feign/user/IUserService.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="402">
-          <caret line="172" column="5" lean-forward="true" selection-start-line="146" selection-start-column="4" selection-end-line="172" selection-end-column="5" />
-          <folding>
-            <element signature="e#3154#3155#0" expanded="true" />
-            <element signature="e#3185#3186#0" expanded="true" />
-            <element signature="e#4362#4363#0" expanded="true" />
-            <element signature="e#4422#4423#0" expanded="true" />
-            <element signature="e#4789#4897#0" expanded="true" />
-            <element signature="e#4896#4897#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="187">
+          <caret line="16" column="29" lean-forward="false" selection-start-line="16" selection-start-column="17" selection-end-line="16" selection-end-column="29" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/smo/impl/OrderServiceSMOImpl.java">
+    <entry file="file://$PROJECT_DIR$/core/src/main/java/com/java110/core/base/smo/BaseServiceSMO.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="2295">
-          <caret line="155" column="0" lean-forward="false" selection-start-line="155" selection-start-column="0" selection-end-line="155" selection-end-column="0" />
+        <state relative-caret-position="465">
+          <caret line="46" column="9" lean-forward="true" selection-start-line="37" selection-start-column="8" selection-end-line="46" selection-end-column="9" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/common/src/main/java/com/java110/common/log/LoggerEngine.java">
+    <entry file="jar://$M2_REPO$/org/springframework/spring-core/4.3.2.RELEASE/spring-core-4.3.2.RELEASE-sources.jar!/org/springframework/util/Assert.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="136">
-          <caret line="9" column="25" lean-forward="false" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="25" />
+        <state relative-caret-position="193">
+          <caret line="112" column="23" lean-forward="false" selection-start-line="112" selection-start-column="23" selection-end-line="112" selection-end-column="23" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/core/src/main/java/com/java110/core/event/AppCustEvent.java">
+    <entry file="file://$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/listener/CustDispatchListener.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="272">
-          <caret line="16" column="11" lean-forward="false" selection-start-line="16" selection-start-column="11" selection-end-line="16" selection-end-column="11" />
+        <state relative-caret-position="266">
+          <caret line="35" column="49" lean-forward="false" selection-start-line="35" selection-start-column="49" selection-end-line="35" selection-end-column="49" />
+          <folding>
+            <element signature="imports" expanded="false" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/common/src/main/java/com/java110/common/util/ProtocolUtil.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="283">
+          <caret line="331" column="28" lean-forward="false" selection-start-line="331" selection-start-column="18" selection-end-line="331" selection-end-column="28" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/core/src/main/java/com/java110/core/event/AppEvent.java">
+    <entry file="file://$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/smo/IOrderServiceSMO.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="255">
-          <caret line="15" column="11" lean-forward="false" selection-start-line="15" selection-start-column="11" selection-end-line="15" selection-end-column="11" />
+        <state relative-caret-position="323">
+          <caret line="19" column="18" lean-forward="false" selection-start-line="19" selection-start-column="18" selection-end-line="19" selection-end-column="18" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/core/src/main/java/com/java110/core/event/AppEventPublishing.java">
+    <entry file="file://$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/smo/impl/OrderServiceSMOImpl.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="185">
-          <caret line="120" column="26" lean-forward="false" selection-start-line="120" selection-start-column="26" selection-end-line="120" selection-end-column="26" />
+        <state relative-caret-position="1643">
+          <caret line="167" column="131" lean-forward="false" selection-start-line="167" selection-start-column="131" selection-end-line="167" selection-end-column="131" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Readme.md">
-      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
-        <state split_layout="FIRST">
-          <first_editor relative-caret-position="411">
-            <caret line="36" column="2" lean-forward="false" selection-start-line="36" selection-start-column="2" selection-end-line="36" selection-end-column="2" />
-            <folding />
-          </first_editor>
-          <second_editor />
+    <entry file="file://$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/rest/OrderServiceRest.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="289">
+          <caret line="139" column="21" lean-forward="false" selection-start-line="139" selection-start-column="21" selection-end-line="139" selection-end-column="49" />
+          <folding />
         </state>
       </provider>
     </entry>

+ 31 - 0
OrderService/src/main/java/com/java110/order/listener/CustDispatchListener.java

@@ -1,19 +1,50 @@
 package com.java110.order.listener;
 
+import com.alibaba.fastjson.JSONObject;
+import com.java110.common.util.ProtocolUtil;
 import com.java110.core.event.AppCustEvent;
 import com.java110.core.event.AppListener;
 import com.java110.core.event.Ordered;
+import com.java110.feign.user.IUserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.util.Assert;
 
 /**
+ * 客户信息调度
  * Created by wuxw on 2017/4/14.
  */
+@Component
 public class CustDispatchListener implements AppListener<AppCustEvent> ,Ordered{
 
+    @Autowired
+    IUserService iUserService;
+
     private final static int order = Ordered.dafultValue+1;
     @Override
     public void onJava110Event(AppCustEvent event) {
 
         //这里写 客户信息处理逻辑
+
+        String custInfo = event.getCustInfo();
+
+        Assert.hasLength(custInfo,"没有需要处理的信息[custInfo="+custInfo+"]");
+
+        //调用用户服务处理
+        String returnUser = iUserService.soUserService(custInfo);
+
+        JSONObject returnUserTmp = JSONObject.parseObject(returnUser);
+
+        Assert.notNull(returnUserTmp,"用户服务没有相应,请检查服务是否正常,请求报文:"+returnUser);
+        //受理不成功
+        if(!returnUserTmp.containsKey("RESULT_CODE")
+                || !ProtocolUtil.RETURN_MSG_SUCCESS.equals(returnUserTmp.getString("RESULT_CODE"))){
+            throw new IllegalArgumentException("客户受理失败,失败原因:" + (returnUserTmp.containsKey("RESULT_MSG")
+                    ?"未知原因":returnUserTmp.getString("RESULT_MSG")) + "请求报文:"+returnUser);
+        }
+        //受理成功,目前不做任何处理
+
+
     }
 
     @Override

+ 2 - 0
OrderService/src/main/java/com/java110/order/rest/OrderServiceRest.java

@@ -6,6 +6,7 @@ import com.java110.common.util.ProtocolUtil;
 import com.java110.core.base.controller.BaseController;
 import com.java110.order.smo.IOrderServiceSMO;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -136,6 +137,7 @@ public class OrderServiceRest extends BaseController {
      * @param orderInfo
      * @return
      */
+    @RequestMapping("/orderService/soOrderService")
     public String soOrderService(@RequestParam("orderInfo") String orderInfo){
 
         LoggerEngine.debug("soOrderService入参:" + orderInfo);

+ 9 - 4
OrderService/src/main/java/com/java110/order/smo/impl/OrderServiceSMOImpl.java

@@ -6,6 +6,7 @@ import com.java110.common.log.LoggerEngine;
 import com.java110.common.util.ProtocolUtil;
 import com.java110.config.properties.EventProperties;
 import com.java110.core.base.smo.BaseServiceSMO;
+import com.java110.core.event.AppEventPublishing;
 import com.java110.entity.order.BusiOrder;
 import com.java110.entity.order.BusiOrderAttr;
 import com.java110.entity.order.OrderList;
@@ -153,14 +154,18 @@ public class OrderServiceSMOImpl extends BaseServiceSMO implements IOrderService
             //根据busiOrder 的  actionTypeCd 注册那个服务去处理
             String actionTypeCd = busiOrderObj.getActionTypeCd();
 
+            try {
+                //发布事件
+                AppEventPublishing.multicastEvent(actionTypeCd,orderInfo.toJSONString(), data.toJSONString());
+            }catch (Exception e){
+                //这里补偿事物
+                throw e;
+            }
 
 
         }
 
-
-
-
-        return null;
+        return ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_SUCCESS,"成功",JSONObject.parseObject(JSONObject.toJSONString(orderList)));
     }
 
     public IPrimaryKeyService getiPrimaryKeyService() {

+ 1 - 1
UserService/src/main/java/com/java110/user/smo/impl/UserServiceSMOImpl.java

@@ -147,7 +147,7 @@ public class UserServiceSMOImpl extends BaseServiceSMO implements IUserServiceSM
      *
      * @param boCusts
      * @return 成功 会带上处理客户的客户ID
-     * {'RESULT_CODE':'0000','RESULT_MSG':'成功','RESULT_INFO':{'custId':'7000123,718881991}}
+     * {'RESULT_CODE':'0000','RESULT_MSG':'成功','RESULT_INFO':{'custId':'7000123,718881991'}}
      * @throws Exception
      */
     public String soBoCust(String boCusts) throws Exception{

+ 4 - 1
config/src/main/resources/config/event.properties

@@ -1,3 +1,6 @@
 java110.event.properties.orderDispatchListener=\
   com.java110.order.listener.CustDispatchListener,\
-  com.java110.order.listener.MerchantDispatchListener
+  com.java110.order.listener.MerchantDispatchListener
+
+java110.event.properties.orderDispatchEvent=\
+  C1::com.java110.order.type.AppCustEvent

+ 51 - 2
core/src/main/java/com/java110/core/SystemStartUpInit.java

@@ -1,8 +1,10 @@
 package com.java110.core;
 
 import com.java110.core.event.AppCustEvent;
+import com.java110.core.event.AppEvent;
 import com.java110.core.event.AppEventPublishing;
 import com.java110.core.event.AppListener;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.boot.context.config.ConfigFileApplicationListener;
 import org.springframework.boot.context.event.ApplicationReadyEvent;
 import org.springframework.context.ApplicationListener;
@@ -10,6 +12,7 @@ import org.springframework.core.io.ClassPathResource;
 import org.springframework.core.io.support.PropertiesLoaderUtils;
 
 
+import javax.naming.ConfigurationException;
 import java.io.IOException;
 import java.util.Properties;
 
@@ -35,6 +38,11 @@ public class SystemStartUpInit implements ApplicationListener<ApplicationReadyEv
      */
     private final static String DISPATCH_LISTER = "java110.event.properties.orderDispatchListener";
 
+    /**
+     * 订单调度事件
+     */
+    private final static String DISPATCH_EVENT = "java110.event.properties.orderDispatchEvent";
+
 
 
     /**
@@ -47,7 +55,13 @@ public class SystemStartUpInit implements ApplicationListener<ApplicationReadyEv
 
         //加载配置文件,注册订单处理侦听
         try {
-            this.load(DEFAULT_EVENT_PATH,DEFAULT_FILE_NAME);
+            Properties properties = this.load(DEFAULT_EVENT_PATH,DEFAULT_FILE_NAME);
+            registerListener(properties);
+
+            //注册事件
+            registerEvent(properties);
+
+
         }
         catch (Exception ex) {
             throw new IllegalStateException("Unable to load configuration files", ex);
@@ -62,8 +76,16 @@ public class SystemStartUpInit implements ApplicationListener<ApplicationReadyEv
      * @param filename
      * @param
      */
-    private void load(String location,String filename) throws Exception{
+    private Properties load(String location,String filename) throws Exception{
         Properties properties = PropertiesLoaderUtils.loadProperties(new ClassPathResource(location+filename));
+        return properties;
+    }
+
+    /**
+     * 注册侦听
+     * @param properties
+     */
+    private void registerListener(Properties properties) throws Exception{
 
         String[] listeners = properties.getProperty(DISPATCH_LISTER).split("\\,");
 
@@ -77,5 +99,32 @@ public class SystemStartUpInit implements ApplicationListener<ApplicationReadyEv
         }
     }
 
+    /**
+     * 注册事件
+     * @param properties
+     * @throws Exception
+     */
+    private void registerEvent(Properties properties) throws Exception{
+        String[] events = properties.getProperty(DISPATCH_EVENT).split("\\,");
+
+        for (String event : events){
+
+            if(StringUtils.isBlank(event) || !event.contains("::")){
+                throw new ConfigurationException("配置错误,["+DISPATCH_EVENT+"= "+events+"] 当前 [event = "+event+"],不存在 :: ,配置格式为 A::B");
+            }
+
+            String[] tmpEvent = event.split("::");
+
+            if(tmpEvent.length > 2){
+                throw new ConfigurationException("配置错误,["+DISPATCH_EVENT+"= "+events+"] 当前 [event = "+event+"],只能有一个 :: ,配置格式为 A::B");
+            }
+
+            Class clazz = Class.forName(tmpEvent[1]);
+
+            AppEventPublishing.addEvent(tmpEvent[0],clazz);
+        }
+
+    }
+
 
 }

+ 52 - 2
core/src/main/java/com/java110/core/event/AppEventPublishing.java

@@ -4,6 +4,7 @@ import com.java110.common.log.LoggerEngine;
 import org.apache.commons.logging.LogFactory;
 import org.springframework.util.Assert;
 
+import java.lang.reflect.Constructor;
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
 import java.util.ArrayList;
@@ -27,12 +28,20 @@ public class AppEventPublishing extends LoggerEngine{
      */
     private final static List<AppListener<?>> listeners = new ArrayList<AppListener<?>>();
 
+    /**
+     * 保存事件实例信息,一般启动时加载
+     */
+    private final static Map<String,Class<AppEvent>> events = new HashMap<String,Class<AppEvent>>();
+
     /**
      * 根据 事件类型查询侦听
      */
     private final static Map<String,List<AppListener<?>>> cacheListenersMap = new HashMap<String, List<AppListener<?>>>();
 
 
+
+
+
     /**
      * 添加 侦听,这个只有启动时,单线程 处理,所以是线程安全的
      * @param listener
@@ -82,9 +91,50 @@ public class AppEventPublishing extends LoggerEngine{
         return appListeners;
     }
 
+    /**
+     * 注册事件
+     */
+    public static void addEvent(String actionTypeCd ,Class<AppEvent> event) {
+        events.put(actionTypeCd,event);
+    }
+
+    /**
+     * 获取事件
+     * @param actionTypeCd
+     * @return
+     * @throws Exception
+     */
+    public static Class<AppEvent> getEvent(String actionTypeCd) throws Exception{
+        Class<AppEvent> targetEvent = events.get(actionTypeCd);
+        Assert.notNull(targetEvent,"未注册该事件[actionTypeCd = "+actionTypeCd+"],系统目前不支持!");
+        return targetEvent;
+    }
+
+    /**
+     * 发布事件
+     * @param actionTypeCd
+     * @param data
+     */
+    public static void multicastEvent(String actionTypeCd,String data) throws  Exception{
+        multicastEvent(actionTypeCd,null,data);
+    }
+
+    /**
+     * 发布事件
+     * @param actionTypeCd
+     * @param orderInfo 这个订单信息,以便于 侦听那边需要用
+     * @param data 对应信息,侦听,一般需要处理这个就可以
+     */
+    public static void multicastEvent(String actionTypeCd,String orderInfo,String data) throws  Exception{
+        Class<AppEvent> appEvent = getEvent(actionTypeCd);
+
+        Class[] parameterTypes={Object.class,String.class};
+
+        Constructor constructor = appEvent.getClass().getConstructor(parameterTypes);
+        Object[] parameters={orderInfo,data};
+        AppEvent targetAppEvent = (AppEvent)constructor.newInstance(parameters);
+        multicastEvent(targetAppEvent);
 
-    public static void multicastEvent(String actionTypeCd,String data){
-        multicastEvent(new AppCustEvent("",data));
     }