wuxw7
2017-04-17 f475b4b51672abf3d54177df79d23e975ddd2dba
实现订单查询接口,优化订单受理支持异步方式受理订单
12个文件已修改
904 ■■■■■ 已修改文件
.idea/workspace.xml 586 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
OrderService/src/main/java/com/java110/order/dao/IOrderServiceDao.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
OrderService/src/main/java/com/java110/order/dao/impl/OrderServiceDaoImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
OrderService/src/main/java/com/java110/order/rest/OrderServiceRest.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
OrderService/src/main/java/com/java110/order/smo/IOrderServiceSMO.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
OrderService/src/main/java/com/java110/order/smo/impl/OrderServiceSMOImpl.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
bean/src/main/java/com/java110/entity/order/BusiOrder.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
bean/src/main/java/com/java110/entity/order/BusiOrderAttr.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
bean/src/main/java/com/java110/entity/order/OrderList.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
bean/src/main/java/com/java110/entity/order/OrderListAttr.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
config/src/main/resources/mapper/order/OrderServiceDaoImplMapper.xml 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
core/src/main/java/com/java110/core/event/AppEventPublishing.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/workspace.xml
@@ -3,12 +3,16 @@
  <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$/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/dao/IOrderServiceDao.java" afterPath="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/dao/IOrderServiceDao.java" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/dao/impl/OrderServiceDaoImpl.java" afterPath="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/dao/impl/OrderServiceDaoImpl.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/IOrderServiceSMO.java" afterPath="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/smo/IOrderServiceSMO.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$/bean/src/main/java/com/java110/entity/order/BusiOrder.java" afterPath="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/order/BusiOrder.java" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/order/BusiOrderAttr.java" afterPath="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/order/BusiOrderAttr.java" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/order/OrderList.java" afterPath="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/order/OrderList.java" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/order/OrderListAttr.java" afterPath="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/order/OrderListAttr.java" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/config/src/main/resources/mapper/order/OrderServiceDaoImplMapper.xml" afterPath="$PROJECT_DIR$/config/src/main/resources/mapper/order/OrderServiceDaoImplMapper.xml" />
      <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/" />
@@ -43,18 +47,28 @@
      <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="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" />
            <state relative-caret-position="3006">
              <caret line="235" column="53" lean-forward="true" selection-start-line="235" selection-start-column="53" selection-end-line="235" selection-end-column="53" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <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">
      <file leaf-file-name="OrderListAttr.java" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/bean/src/main/java/com/java110/entity/order/OrderListAttr.java">
          <provider selected="true" editor-type-id="text-editor">
            <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" />
            <state relative-caret-position="181">
              <caret line="14" column="25" lean-forward="false" selection-start-line="14" selection-start-column="19" selection-end-line="14" selection-end-column="25" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="OrderServiceDaoImpl.java" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/dao/impl/OrderServiceDaoImpl.java">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="436">
              <caret line="101" column="74" lean-forward="false" selection-start-line="101" selection-start-column="53" selection-end-line="101" selection-end-column="74" />
              <folding />
            </state>
          </provider>
@@ -63,9 +77,64 @@
      <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="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 relative-caret-position="355">
              <caret line="193" column="47" lean-forward="false" selection-start-line="193" selection-start-column="47" selection-end-line="193" selection-end-column="47" />
              <folding>
                <element signature="imports" expanded="true" />
              </folding>
            </state>
          </provider>
        </entry>
      </file>
      <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">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="950">
              <caret line="189" column="0" lean-forward="true" selection-start-line="189" selection-start-column="0" selection-end-line="189" selection-end-column="0" />
              <folding>
                <element signature="e#4756#4757#0" expanded="true" />
                <element signature="e#4835#4836#0" expanded="true" />
              </folding>
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="OrderList.java" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/bean/src/main/java/com/java110/entity/order/OrderList.java">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="300">
              <caret line="21" column="27" lean-forward="false" selection-start-line="21" selection-start-column="19" selection-end-line="21" selection-end-column="27" />
              <folding>
                <element signature="imports" expanded="true" />
                <element signature="e#1813#1814#0" expanded="true" />
                <element signature="e#1850#1851#0" expanded="true" />
                <element signature="e#1922#1923#0" expanded="true" />
                <element signature="e#1974#1975#0" expanded="true" />
              </folding>
            </state>
          </provider>
        </entry>
      </file>
      <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="385">
              <caret line="29" column="18" lean-forward="false" selection-start-line="29" selection-start-column="18" selection-end-line="29" selection-end-column="18" />
              <folding>
                <element signature="imports" expanded="true" />
              </folding>
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="BusiOrder.java" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/bean/src/main/java/com/java110/entity/order/BusiOrder.java">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="357">
              <caret line="36" column="37" lean-forward="false" selection-start-line="36" selection-start-column="27" selection-end-line="36" selection-end-column="37" />
              <folding>
                <element signature="imports" expanded="true" />
              </folding>
            </state>
          </provider>
        </entry>
@@ -112,9 +181,6 @@
  <component name="IdeDocumentHistory">
    <option name="CHANGED_PATHS">
      <list>
        <option value="$PROJECT_DIR$/config/src/main/resources/mapper/user/UserServiceMapper.xml" />
        <option value="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/user/Cust.java" />
        <option value="$PROJECT_DIR$/common/src/main/java/com/java110/common/util/ProtocolUtil.java" />
        <option value="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/dao/IUserServiceDao.java" />
        <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" />
@@ -126,15 +192,10 @@
        <option value="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/user/BoCustAttr.java" />
        <option value="$PROJECT_DIR$/config/db/orders.db" />
        <option value="$PROJECT_DIR$/OrderService/README.md" />
        <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/test/java/com/java110/user/CustIdTest.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" />
        <option value="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/dao/impl/OrderServiceDaoImpl.java" />
        <option value="$PROJECT_DIR$/config/src/main/resources/mapper/order/OrderServiceDaoImplMapper.xml" />
        <option value="$PROJECT_DIR$/pom.xml" />
        <option value="$PROJECT_DIR$/service/pom.xml" />
        <option value="$PROJECT_DIR$/OrderService/pom.xml" />
@@ -159,8 +220,16 @@
        <option value="$PROJECT_DIR$/core/src/main/java/com/java110/core/SystemStartUpInit.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$/OrderService/src/main/java/com/java110/order/listener/CustDispatchListener.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" />
        <option value="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/dao/impl/OrderServiceDaoImpl.java" />
        <option value="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/order/BusiOrder.java" />
        <option value="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/order/OrderListAttr.java" />
        <option value="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/order/BusiOrderAttr.java" />
        <option value="$PROJECT_DIR$/config/src/main/resources/mapper/order/OrderServiceDaoImplMapper.xml" />
        <option value="$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/smo/IOrderServiceSMO.java" />
        <option value="$PROJECT_DIR$/core/src/main/java/com/java110/core/event/AppEventPublishing.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>
@@ -287,6 +356,9 @@
      <foldersAlwaysOnTop value="true" />
    </navigator>
    <panes>
      <pane id="Scratches" />
      <pane id="Scope" />
      <pane id="PackagesPane" />
      <pane id="ProjectPane">
        <subPane>
          <PATH>
@@ -299,225 +371,8 @@
              <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" />
      <pane id="Scratches" />
      <pane id="Scope" />
    </panes>
  </component>
  <component name="PropertiesComponent">
@@ -530,6 +385,8 @@
    <property name="project.structure.last.edited" value="Modules" />
    <property name="project.structure.proportion" value="0.0" />
    <property name="project.structure.side.proportion" value="0.0" />
    <property name="SearchEverywhereHistoryKey" value="&#9;FILE&#9;file://E:/project/MicroCommunity/OrderService/src/main/java/com/java110/order/dao/impl/OrderServiceDaoImpl.java" />
    <property name="extract.method.default.visibility" value="private" />
  </component>
  <component name="RecentsManager">
    <key name="CopyClassDialog.RECENTS_KEY">
@@ -981,7 +838,8 @@
      <workItem from="1492144617693" duration="15501000" />
      <workItem from="1492171107022" duration="5442000" />
      <workItem from="1492185991415" duration="4010000" />
      <workItem from="1492318896571" duration="11833000" />
      <workItem from="1492318896571" duration="12206000" />
      <workItem from="1492345966575" duration="11382000" />
    </task>
    <task id="LOCAL-00001" summary="change fastjson dependenciy">
      <created>1491576589634</created>
@@ -1026,10 +884,10 @@
    </history-entry>
  </component>
  <component name="TimeTrackingManager">
    <option name="totallyTimeSpent" value="205615000" />
    <option name="totallyTimeSpent" value="217370000" />
  </component>
  <component name="ToolWindowManager">
    <frame x="-8" y="-8" width="1382" height="744" extended-state="6" />
    <frame x="-8" y="-8" width="1382" height="744" extended-state="7" />
    <editor active="true" />
    <layout>
      <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
@@ -1038,24 +896,24 @@
      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
      <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.37140697" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.29836065" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
      <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="false" show_stripe_button="true" weight="0.29198185" 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="true" show_stripe_button="true" weight="0.20801815" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32817337" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
      <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" />
      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.30983606" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
      <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32786885" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
      <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
      <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
      <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.29836065" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
      <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
      <window_info id="Inspection Results" 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="8" side_tool="false" content_ui="tabs" />
      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32817337" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.30983606" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
    </layout>
    <layout-to-restore>
      <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
@@ -1126,68 +984,6 @@
    <watches-manager />
  </component>
  <component name="editorHistoryManager">
    <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="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/GenericApplicationListenerAdapter.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>
      </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" />
        </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">
      <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" />
          <folding>
            <element signature="e#7527#7551#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/AppListener.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>
      </provider>
    </entry>
    <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="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$/OrderService/src/test/java/com/java110/order/type/AppEvent.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>
      </provider>
    </entry>
    <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="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-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="300">
@@ -1243,9 +1039,6 @@
      <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" />
          <folding>
            <element signature="imports" expanded="false" />
          </folding>
        </state>
      </provider>
    </entry>
@@ -1283,7 +1076,6 @@
        <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>
@@ -1312,7 +1104,6 @@
      <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>
@@ -1320,7 +1111,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <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>
@@ -1339,7 +1129,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <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>
@@ -1355,7 +1144,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <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>
@@ -1363,7 +1151,6 @@
      <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" />
          <folding />
        </state>
      </provider>
    </entry>
@@ -1371,7 +1158,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <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>
@@ -1387,7 +1173,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <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>
@@ -1403,15 +1188,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <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$/UserService/src/main/java/com/java110/user/rest/UserServiceRest.java">
      <provider selected="true" editor-type-id="text-editor">
        <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>
@@ -1419,10 +1195,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <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>
@@ -1438,10 +1210,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <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>
@@ -1453,22 +1221,10 @@
        </state>
      </provider>
    </entry>
    <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="-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="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="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>
@@ -1476,7 +1232,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <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>
@@ -1484,7 +1239,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <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>
@@ -1508,9 +1262,6 @@
      <provider selected="true" editor-type-id="text-editor">
        <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>
@@ -1522,26 +1273,139 @@
        </state>
      </provider>
    </entry>
    <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="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/dao/IOrderServiceDao.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="317">
          <caret line="68" column="14" lean-forward="true" selection-start-line="68" selection-start-column="14" selection-end-line="68" selection-end-column="14" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/config/src/main/resources/mapper/user/UserServiceDaoImplMapper.xml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="102">
          <caret line="6" column="4" lean-forward="false" selection-start-line="6" selection-start-column="4" selection-end-line="25" selection-end-column="16" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/bean/src/main/java/com/java110/entity/order/BusiOrderAttr.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="289">
          <caret line="17" column="8" lean-forward="false" selection-start-line="17" selection-start-column="8" selection-end-line="17" selection-end-column="8" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="jar://$M2_REPO$/org/mybatis/mybatis/3.4.1/mybatis-3.4.1-sources.jar!/org/apache/ibatis/type/JdbcType.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="476">
          <caret line="45" column="11" lean-forward="false" selection-start-line="45" selection-start-column="2" selection-end-line="45" selection-end-column="11" />
          <folding>
            <element signature="n#!!doc" expanded="false" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/config/src/main/resources/mapper/order/OrderServiceDaoImplMapper.xml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="368">
          <caret line="93" column="32" lean-forward="false" selection-start-line="93" selection-start-column="32" selection-end-line="93" selection-end-column="32" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/bean/src/main/java/com/java110/entity/order/OrderListAttr.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="181">
          <caret line="14" column="25" lean-forward="false" selection-start-line="14" selection-start-column="19" selection-end-line="14" selection-end-column="25" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/bean/src/main/java/com/java110/entity/order/BusiOrder.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="357">
          <caret line="36" column="37" lean-forward="false" selection-start-line="36" selection-start-column="27" selection-end-line="36" selection-end-column="37" />
          <folding>
            <element signature="imports" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/bean/src/main/java/com/java110/entity/order/OrderList.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="300">
          <caret line="21" column="27" lean-forward="false" selection-start-line="21" selection-start-column="19" selection-end-line="21" selection-end-column="27" />
          <folding>
            <element signature="imports" expanded="true" />
            <element signature="e#1813#1814#0" expanded="true" />
            <element signature="e#1850#1851#0" expanded="true" />
            <element signature="e#1922#1923#0" expanded="true" />
            <element signature="e#1974#1975#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/OrderService/src/main/java/com/java110/order/dao/impl/OrderServiceDaoImpl.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="436">
          <caret line="101" column="74" lean-forward="false" selection-start-line="101" selection-start-column="53" selection-end-line="101" selection-end-column="74" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="jar://F:/software/Java/jdk1.8.0_121/src.zip!/java/util/concurrent/Executor.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="343">
          <caret line="127" column="25" lean-forward="false" selection-start-line="127" selection-start-column="17" selection-end-line="127" selection-end-column="25" />
          <folding />
        </state>
      </provider>
    </entry>
    <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="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 relative-caret-position="385">
          <caret line="29" column="18" lean-forward="false" selection-start-line="29" selection-start-column="18" selection-end-line="29" selection-end-column="18" />
          <folding>
            <element signature="imports" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <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="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 relative-caret-position="355">
          <caret line="193" column="47" lean-forward="false" selection-start-line="193" selection-start-column="47" selection-end-line="193" selection-end-column="47" />
          <folding>
            <element signature="imports" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <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="950">
          <caret line="189" column="0" lean-forward="true" selection-start-line="189" selection-start-column="0" selection-end-line="189" selection-end-column="0" />
          <folding>
            <element signature="e#4756#4757#0" expanded="true" />
            <element signature="e#4835#4836#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <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" />
        <state relative-caret-position="3006">
          <caret line="235" column="53" lean-forward="true" selection-start-line="235" selection-start-column="53" selection-end-line="235" selection-end-column="53" />
          <folding />
        </state>
      </provider>
OrderService/src/main/java/com/java110/order/dao/IOrderServiceDao.java
@@ -54,6 +54,24 @@
    public int saveDataToBusiOrderAttr(BusiOrderAttr busiOrderAttr) throws RuntimeException;
    /**
     * 查询订单信息(order_list order_list_attr)
     * @param orderList
     * @return
     * @throws RuntimeException
     */
    public List<OrderList> queryOrderListAndAttr(OrderList orderList) throws RuntimeException;
    /**
     * 查询订单信息(busi_order busi_order_attr)
     * @param busiOrder
     * @return
     * @throws RuntimeException
     */
    public List<BusiOrder> queryBusiOrderAndAttr(BusiOrder busiOrder) throws RuntimeException;
}
OrderService/src/main/java/com/java110/order/dao/impl/OrderServiceDaoImpl.java
@@ -77,4 +77,29 @@
        LoggerEngine.debug("----【OrderServiceDaoImpl.saveDataToBusiOrderAttr】保存数据出参 : saveFlag:" + saveFlag);
        return saveFlag;
    }
    /**
     * 查询订单信息(order_list order_list_attr)
     * @param orderList
     * @return
     * @throws RuntimeException
     */
    @Override
    public List<OrderList> queryOrderListAndAttr(OrderList orderList) throws RuntimeException {
        LoggerEngine.debug("----【OrderServiceDaoImpl.queryOrderListAndAttr】保存数据入参 : " + orderList);
        return sqlSessionTemplate.selectList("orderServiceDaoImpl.queryOrderListAndAttr",orderList);
    }
    /**
     * 查询订单信息(busi_order busi_order_attr)
     * @param busiOrder
     * @return
     * @throws RuntimeException
     */
    @Override
    public List<BusiOrder> queryBusiOrderAndAttr(BusiOrder busiOrder) throws RuntimeException {
        LoggerEngine.debug("----【OrderServiceDaoImpl.queryBusiOrderAndAttr】保存数据入参 : " + busiOrder);
        return sqlSessionTemplate.selectList("orderServiceDaoImpl.queryBusiOrderAndAttr",busiOrder);
    }
}
OrderService/src/main/java/com/java110/order/rest/OrderServiceRest.java
@@ -4,8 +4,10 @@
import com.java110.common.log.LoggerEngine;
import com.java110.common.util.ProtocolUtil;
import com.java110.core.base.controller.BaseController;
import com.java110.entity.order.OrderList;
import com.java110.order.smo.IOrderServiceSMO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@@ -26,22 +28,99 @@
    /**
     * 查询订单信息
     * 接口协议:
     * 请求报文
     * {'olId':'71234567','extSystemId':'','custId':'','channelId':''}
     *
     * 可以根据 购物车ID 或者 外部系统ID 或者 custId 或者 channelId
     *
     * 返回报文:
     * {
     "RESULT_CODE": "0000",
     "RESULT_MSG": "成功",
     "RESULT_INFO": {
     "orderLists": [
     {
     "channelId": "700212896",
     "remarks": "",
     "olId": "123456",
     "custId": "701008023904",
     "statusCd": "S",
     "reqTime": "20170411163709",
     "extSystemId": "310013698777",
     "olTypeCd": "15",
     "orderListAttrs": [
     {
     "olId": "123456",
     "attrCd": "712345",
     "value": "XXX",
     "name": "系统来源"
     }
     ],
     "busiOrders": [
     {
     "boId": "123456",
     "olId": "123456",
     "actionTypeCd": "C1",
     "status_cd": "0",
     "create_dt": "2017-04-16 22:58:03",
     "start_dt": "2017-04-16 22:58:03",
     "end_dt": "2017-04-16 22:58:03",
     "remark": "",
     "busiOrders": [
     {
     "boId": "123456",
     "attrCd": "712345",
     "value": "XXX",
     "name": "系统来源"
     }
     ]
     }
     ]
     }
     ]
     }
     }
     *
     * @param orderInfo
     * @return
     */
    @RequestMapping("/orderService/queryOrder")
    public String queryOrder(@RequestParam("orderInfo") String orderInfo) {
        try {
        LoggerEngine.debug("soOrderService入参:" + orderInfo);
        String resultUserInfo = null;
        JSONObject reqOrderJSON = null;
        try{
            reqOrderJSON = this.simpleValidateJSON(orderInfo);
            //校验 购物车ID 或者 外部系统ID 或者 custId 或者 channelId 中的一个是
            Assert.notNull(reqOrderJSON);
            if(!reqOrderJSON.containsKey("olId") && !reqOrderJSON.containsKey("extSystemId")
                    && !reqOrderJSON.containsKey("custId") && !reqOrderJSON.containsKey("channelId")){
                throw new IllegalArgumentException("此接口只支持用olId,extSystemId,custId,channelId 来查询订单,当前请求报文为:"+orderInfo);
            }
            //转化为 对象
            OrderList orderListTmp = JSONObject.toJavaObject(reqOrderJSON, OrderList.class);
            resultUserInfo = iOrderServiceSMO.queryOrderInfo(orderListTmp);
        }catch (Exception e){
            LoggerEngine.error("查询失败,orderInfo = "+orderInfo,e);
            resultUserInfo = ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_ERROR,"查询失败,orderInfo = "+orderInfo+"失败原因:"+e,null);
        }finally {
            return "";
            return resultUserInfo;
        }
    }
    /**
     * 订单统一处理接口
     *
     * orderListInfo 中字段 asyn 如果为 A 表示 异步处理订单,其他表同步处理订单
     * 接口协议
     * {
     "orderList": {
@@ -130,7 +209,8 @@
     "statusCd": "S",
     "reqTime": "20170411163709",
     "extSystemId": "310013698777",
     "olTypeCd": "15"
     "olTypeCd": "15",
     "asyn":"A"
     }
     }
     }
OrderService/src/main/java/com/java110/order/smo/IOrderServiceSMO.java
@@ -1,6 +1,7 @@
package com.java110.order.smo;
import com.alibaba.fastjson.JSONObject;
import com.java110.entity.order.OrderList;
/**
 * 订单服务业务处理接口
@@ -10,6 +11,15 @@
 */
public interface IOrderServiceSMO {
    /**
     * 根据购物车ID 或者 外部系统ID 或者 custId 或者 channelId 查询订单信息
     *
     * @param orderList
     * @return
     */
    public String queryOrderInfo(OrderList orderList)  throws Exception;
    /**
     * 订单调度,
     * 根据订单类型 调用不同服务 处理
OrderService/src/main/java/com/java110/order/smo/impl/OrderServiceSMOImpl.java
@@ -19,6 +19,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import java.util.List;
import java.util.Map;
@@ -41,7 +42,41 @@
    EventProperties eventProperties;
    /**
     * 根据购物车ID 或者 外部系统ID 或者 custId 或者 channelId 查询订单信息
     * @param orderList
     * @return
     */
    @Override
    public String queryOrderInfo(OrderList orderList) throws Exception{
        List<OrderList> orderLists = iOrderServiceDao.queryOrderListAndAttr(orderList);
        //
        JSONArray orderListsArray = new JSONArray();
        for (OrderList orderListTmp : orderLists){
            //
            BusiOrder busiOrderTmp = new BusiOrder();
            busiOrderTmp.setBoId(orderListTmp.getOlId());
            List<BusiOrder> busiOrders = iOrderServiceDao.queryBusiOrderAndAttr(busiOrderTmp);
            JSONObject orderListJSON = JSONObject.parseObject(JSONObject.toJSONString(orderListTmp));
            orderListJSON.put("busiOrders",JSONObject.parseArray(JSONObject.toJSONString(busiOrders)));
            orderListsArray.add(orderListJSON);
        }
        JSONObject orderListTmpO = new JSONObject();
        orderListTmpO.put("orderLists",orderListsArray);
        return ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_SUCCESS,"查询成功",orderListTmpO);
    }
    /**
     * 订单调度
     *
     * orderListInfo 中字段 asyn 如果为 A 表示 异步处理订单,其他表同步处理订单
     * @param orderInfo 订单信息
     * @return 订单处理接口
     * @throws Exception
@@ -156,7 +191,7 @@
            try {
                //发布事件
                AppEventPublishing.multicastEvent(actionTypeCd,orderInfo.toJSONString(), data.toJSONString());
                AppEventPublishing.multicastEvent(actionTypeCd,orderInfo.toJSONString(), data.toJSONString(),orderListTmp.getString("asyn"));
            }catch (Exception e){
                //这里补偿事物
                throw e;
bean/src/main/java/com/java110/entity/order/BusiOrder.java
@@ -1,6 +1,7 @@
package com.java110.entity.order;
import java.util.Date;
import java.util.Set;
/**
 *
@@ -32,6 +33,8 @@
    //备注
    private String remark;
    private Set<BusiOrder> busiOrders;
    public String getBoId() {
        return boId;
@@ -96,4 +99,13 @@
    public void setRemark(String remark) {
        this.remark = remark;
    }
    public Set<BusiOrder> getBusiOrders() {
        return busiOrders;
    }
    public void setBusiOrders(Set<BusiOrder> busiOrders) {
        this.busiOrders = busiOrders;
    }
}
bean/src/main/java/com/java110/entity/order/BusiOrderAttr.java
@@ -15,6 +15,8 @@
    private String attrCd;
    //属性编码对应值
    private String value;
    //名称
    private String name;
    //创建时间
    private Date create_dt;
bean/src/main/java/com/java110/entity/order/OrderList.java
@@ -1,6 +1,7 @@
package com.java110.entity.order;
import java.util.Date;
import java.util.Set;
/**
 * 购物车信息表
@@ -29,6 +30,9 @@
    private Date create_dt;
    private String status_cd;
    private Set<OrderListAttr> orderListAttrs;
    public String getOlId() {
@@ -94,4 +98,12 @@
    public void setStatus_cd(String status_cd) {
        this.status_cd = status_cd;
    }
    public Set<OrderListAttr> getOrderListAttrs() {
        return orderListAttrs;
    }
    public void setOrderListAttrs(Set<OrderListAttr> orderListAttrs) {
        this.orderListAttrs = orderListAttrs;
    }
}
bean/src/main/java/com/java110/entity/order/OrderListAttr.java
@@ -15,6 +15,8 @@
    private String attrCd;
    //属性编码对应值
    private String value;
    //名称
    private String name;
    //创建时间
    private Date create_dt;
@@ -50,4 +52,12 @@
    public void setCreate_dt(Date create_dt) {
        this.create_dt = create_dt;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
config/src/main/resources/mapper/order/OrderServiceDaoImplMapper.xml
@@ -4,6 +4,44 @@
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="orderServiceDaoImpl">
    <!--order_list order_list_attr  返回结果封装-->
    <resultMap type="com.java110.entity.order.OrderList" id="orderListMap">
        <id column="olId" jdbcType="VARCHAR" property="olId"/>
        <result column="channelId" jdbcType="VARCHAR" property="channelId"/>
        <result column="custId" jdbcType="VARCHAR" property="custId"/>
        <result column="olTypeCd" jdbcType="VARCHAR" property="olTypeCd"/>
        <result column="extSystemId" jdbcType="VARCHAR" property="extSystemId"/>
        <result column="remark" jdbcType="VARCHAR" property="remark"/>
        <result column="create_dt" jdbcType="TIMESTAMP" property="create_dt"/>
        <result column="status_cd" jdbcType="VARCHAR" property="status_cd"/>
        <!-- 一对多关系 -->
        <collection property="orderListAttrs" javaType="com.java110.entity.order.OrderListAttr">
            <id property="olId" column="olId"/>
            <result property="attrCd" column="attrCd"/>
            <result property="value" column="value"/>
            <result property="name" column="name"/>
        </collection>
    </resultMap>
    <!--order_list order_list_attr  返回结果封装-->
    <resultMap type="com.java110.entity.order.BusiOrder" id="busiOrderMap">
        <id column="olId" jdbcType="VARCHAR" property="olId"/>
        <result column="boId" jdbcType="VARCHAR" property="boId"/>
        <result column="actionTypeCd" jdbcType="VARCHAR" property="actionTypeCd"/>
        <result column="status_cd" jdbcType="VARCHAR" property="status_cd"/>
        <result column="create_dt" jdbcType="TIMESTAMP" property="create_dt"/>
        <result column="start_dt" jdbcType="TIMESTAMP" property="start_dt"/>
        <result column="end_dt" jdbcType="TIMESTAMP" property="end_dt"/>
        <result column="remark" jdbcType="VARCHAR" property="remark"/>
        <!-- 一对多关系 -->
        <collection property="busiOrderAttrs" javaType="com.java110.entity.order.BusiOrderAttr">
            <id property="boId" column="boId"/>
            <result property="attrCd" column="attrCd"/>
            <result property="value" column="value"/>
            <result property="name" column="name"/>
        </collection>
    </resultMap>
    <!--保存数据至过程表 bo_cust 中 -->
    <insert id="saveDataToBoOrderList" parameterType="com.java110.entity.order.OrderList">
        <![CDATA[
@@ -32,5 +70,35 @@
            values(#{boId},#{attrCd},#{value})
        ]]>
    </insert>
    <!-- 查询订单信息(order_list order_list_attr) {'olId':'71234567','extSystemId':'','custId':'','channelId':''} -->
    <select id="queryOrderListAndAttr" parameterType="com.java110.entity.order.OrderList" resultMap="orderListMap">
            select ol.olId,ol.channelId,ol.custId,ol.olTypeCd,ol.extSystemId,ol.remark,ol.create_dt,ol.status_cd,ola.attrCd,ola.value,
            (select ac.name from attr ac where ac.attrCd = ola.attrCd limit 0) name
            from order_list ol , order_list_attr ola where ol.olId = ola.olId and ol.status_cd in ('0')
        <if test="olId != null and olId != ''">
           and ol.olId = #{olId}
        </if>
        <if test="extSystemId != null and extSystemId != ''">
            and ol.extSystemId = #{extSystemId}
        </if>
        <if test="custId != null and custId != ''">
            and ol.channelId = #{channelId}
        </if>
    </select>
    <!-- 查询订单信息 busi_order busi_order_attr-->
    <select id="queryBusiOrderAndAttr" parameterType="com.java110.entity.order.BusiOrder" resultMap="busiOrderMap">
        select bo.boId,bo.olId,bo.actionTypeCd,bo.status_cd,bo.start_dt,bo.end_dt,bo.remark,boa.attrCd,value,
        (select ac.name from attr ac where ac.attrCd = ola.attrCd limit 0) name
        from busi_order bo,busi_order_attr boa where bo.boId = boa.boId and bo.status_cd in ('0')
        <if test="olId != null and olId != ''">
            and bo.olId = #{olId}
        </if>
        <if test="boId != null and boId != ''">
            and bo.boId = #{boId}
        </if>
    </select>
</mapper>
core/src/main/java/com/java110/core/event/AppEventPublishing.java
@@ -12,6 +12,8 @@
import java.util.List;
import java.util.Map;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;
/**
 * 事件发布侦听
@@ -22,6 +24,9 @@
    private static Executor taskExecutor;
    //默认 线程数 100
    private final static int DEFAULT_THREAD_NUM = 100;
    /**
     * 保存侦听实例信息,一般启动时加载
@@ -110,13 +115,23 @@
        return targetEvent;
    }
    /**
     * 发布事件
     * @param actionTypeCd
     * @param data
     */
    public static void multicastEvent(String actionTypeCd,String data) throws  Exception{
        multicastEvent(actionTypeCd,null,data);
        multicastEvent(actionTypeCd,null,data,null);
    }
    /**
     * 发布事件
     * @param actionTypeCd
     * @param data
     */
    public static void multicastEvent(String actionTypeCd,String data,String asyn) throws  Exception{
        multicastEvent(actionTypeCd,null,data,asyn);
    }
    /**
@@ -125,7 +140,7 @@
     * @param orderInfo 这个订单信息,以便于 侦听那边需要用
     * @param data 对应信息,侦听,一般需要处理这个就可以
     */
    public static void multicastEvent(String actionTypeCd,String orderInfo,String data) throws  Exception{
    public static void multicastEvent(String actionTypeCd,String orderInfo,String data,String asyn) throws  Exception{
        Class<AppEvent> appEvent = getEvent(actionTypeCd);
        Class[] parameterTypes={Object.class,String.class};
@@ -133,7 +148,7 @@
        Constructor constructor = appEvent.getClass().getConstructor(parameterTypes);
        Object[] parameters={orderInfo,data};
        AppEvent targetAppEvent = (AppEvent)constructor.newInstance(parameters);
        multicastEvent(targetAppEvent);
        multicastEvent(targetAppEvent,asyn);
    }
@@ -141,17 +156,21 @@
    /**
     * 发布事件
     * @param event
     * @param asyn A 表示异步处理
     */
    public static void multicastEvent(final AppEvent event) {
    public static void multicastEvent(final AppEvent event,String asyn) {
        for (final AppListener<?> listener : getListeners(event.getClass().getName())) {
            Executor executor = getTaskExecutor();
            if (executor != null) {
            if("A".equals(asyn)){ //异步处理
                Executor executor = getTaskExecutor();
                executor.execute(new Runnable() {
                    @Override
                    public void run() {
                        invokeListener(listener, event);
                    }
                });
            }
            else {
                invokeListener(listener, event);
@@ -162,7 +181,10 @@
    /**
     * Return the current task executor for this multicaster.
     */
    protected static Executor getTaskExecutor() {
    protected static synchronized Executor getTaskExecutor() {
        if(taskExecutor == null) {
            taskExecutor = Executors.newFixedThreadPool(DEFAULT_THREAD_NUM);
        }
        return taskExecutor;
    }