用户服务信息完善,用户信息基本信息,属性信息受理,查询客户信息
12个文件已修改
943 ■■■■■ 已修改文件
.idea/workspace.xml 526 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserService/src/main/java/com/java110/user/dao/IUserServiceDao.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserService/src/main/java/com/java110/user/dao/impl/UserServiceDaoImpl.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserService/src/main/java/com/java110/user/rest/UserServiceRest.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserService/src/main/java/com/java110/user/smo/IUserServiceSMO.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserService/src/main/java/com/java110/user/smo/impl/UserServiceSMOImpl.java 156 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
bean/src/main/java/com/java110/entity/user/BoCust.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
bean/src/main/java/com/java110/entity/user/BoCustAttr.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
common/src/main/java/com/java110/common/util/ProtocolUtil.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
config/src/main/resources/mapper/user/UserServiceDaoImplMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
feign/src/main/java/com/java110/feign/user/IUserService.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
feign/src/main/java/com/java110/feign/user/UserServiceFallback.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/workspace.xml
@@ -5,9 +5,15 @@
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/dao/IUserServiceDao.java" afterPath="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/dao/IUserServiceDao.java" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/dao/impl/UserServiceDaoImpl.java" afterPath="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/dao/impl/UserServiceDaoImpl.java" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/rest/UserServiceRest.java" afterPath="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/rest/UserServiceRest.java" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/smo/IUserServiceSMO.java" afterPath="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/smo/IUserServiceSMO.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$/bean/src/main/java/com/java110/entity/user/Cust.java" afterPath="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/user/Cust.java" />
      <change type="MOVED" beforePath="$PROJECT_DIR$/config/src/main/resources/mapper/user/UserServiceMapper.xml" afterPath="$PROJECT_DIR$/config/src/main/resources/mapper/user/UserServiceDaoImplMapper.xml" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/user/BoCust.java" afterPath="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/user/BoCust.java" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/user/BoCustAttr.java" afterPath="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/user/BoCustAttr.java" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/common/src/main/java/com/java110/common/util/ProtocolUtil.java" afterPath="$PROJECT_DIR$/common/src/main/java/com/java110/common/util/ProtocolUtil.java" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/config/src/main/resources/mapper/user/UserServiceDaoImplMapper.xml" afterPath="$PROJECT_DIR$/config/src/main/resources/mapper/user/UserServiceDaoImplMapper.xml" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/feign/src/main/java/com/java110/feign/user/IUserService.java" afterPath="$PROJECT_DIR$/feign/src/main/java/com/java110/feign/user/IUserService.java" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/feign/src/main/java/com/java110/feign/user/UserServiceFallback.java" afterPath="$PROJECT_DIR$/feign/src/main/java/com/java110/feign/user/UserServiceFallback.java" />
    </list>
    <ignored path="$PROJECT_DIR$/out/" />
    <ignored path="$PROJECT_DIR$/target/" />
@@ -38,17 +44,83 @@
  <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
  <component name="FileEditorManager">
    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
      <file leaf-file-name="UserServiceSMOImpl.java" pinned="false" current-in-tab="true">
      <file leaf-file-name="UserServiceSMOImpl.java" pinned="false" current-in-tab="false">
        <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="198">
              <caret line="167" column="38" lean-forward="false" selection-start-line="167" selection-start-column="38" selection-end-line="167" selection-end-column="38" />
            <state relative-caret-position="232">
              <caret line="280" column="94" lean-forward="true" selection-start-line="280" selection-start-column="12" selection-end-line="280" selection-end-column="94" />
              <folding>
                <element signature="imports" expanded="true" />
                <element signature="e#5888#5889#0" expanded="true" />
                <element signature="e#5926#5927#0" expanded="true" />
                <element signature="e#5997#5998#0" expanded="true" />
                <element signature="e#6051#6052#0" expanded="true" />
                <element signature="e#10466#10467#0" expanded="true" />
                <element signature="e#10504#10505#0" expanded="true" />
                <element signature="e#10575#10576#0" expanded="true" />
                <element signature="e#10629#10630#0" expanded="true" />
              </folding>
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="ProtocolUtil.java" pinned="false" current-in-tab="false">
        <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="253">
              <caret line="332" column="29" lean-forward="false" selection-start-line="332" selection-start-column="18" selection-end-line="332" selection-end-column="29" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="IUserServiceSMO.java" pinned="false" current-in-tab="false">
        <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="419">
              <caret line="58" column="56" lean-forward="true" selection-start-line="51" selection-start-column="4" selection-end-line="58" selection-end-column="56" />
              <folding>
                <element signature="imports" expanded="true" />
              </folding>
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="UserServiceRest.java" pinned="false" current-in-tab="false">
        <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="153">
              <caret line="20" column="69" lean-forward="false" selection-start-line="20" selection-start-column="69" selection-end-line="20" selection-end-column="69" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="IUserService.java" pinned="false" current-in-tab="false">
        <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="453">
              <caret line="66" column="67" lean-forward="false" selection-start-line="66" selection-start-column="67" selection-end-line="66" selection-end-column="67" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="UserServiceFallback.java" pinned="false" current-in-tab="true">
        <entry file="file://$PROJECT_DIR$/feign/src/main/java/com/java110/feign/user/UserServiceFallback.java">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="187">
              <caret line="11" column="15" lean-forward="true" selection-start-line="11" selection-start-column="15" selection-end-line="11" selection-end-column="15" />
              <folding>
                <element signature="imports" expanded="true" />
              </folding>
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="IUserServiceDao.java" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/UserService/src/main/java/com/java110/user/dao/IUserServiceDao.java">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="385">
              <caret line="114" column="31" lean-forward="false" selection-start-line="114" selection-start-column="16" selection-end-line="114" selection-end-column="31" />
              <folding>
                <element signature="imports" expanded="true" />
              </folding>
            </state>
          </provider>
@@ -57,66 +129,9 @@
      <file leaf-file-name="UserServiceDaoImpl.java" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/UserService/src/main/java/com/java110/user/dao/impl/UserServiceDaoImpl.java">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="2550">
              <caret line="165" column="31" lean-forward="false" selection-start-line="165" selection-start-column="31" selection-end-line="165" selection-end-column="31" />
            <state relative-caret-position="185">
              <caret line="213" column="16" lean-forward="false" selection-start-line="213" selection-start-column="16" selection-end-line="213" selection-end-column="16" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="UserServiceDaoImplMapper.xml" pinned="false" current-in-tab="false">
        <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="317">
              <caret line="81" column="31" lean-forward="false" selection-start-line="81" selection-start-column="16" selection-end-line="81" selection-end-column="31" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="CustAttr.java" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/bean/src/main/java/com/java110/entity/user/CustAttr.java">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="238">
              <caret line="14" column="28" lean-forward="false" selection-start-line="14" selection-start-column="19" selection-end-line="14" selection-end-column="28" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="Cust.java" pinned="false" current-in-tab="false">
        <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="476">
              <caret line="34" column="35" lean-forward="false" selection-start-line="34" selection-start-column="26" selection-end-line="34" selection-end-column="35" />
              <folding>
                <element signature="e#2312#2313#0" expanded="true" />
                <element signature="e#2344#2345#0" expanded="true" />
                <element signature="e#2401#2402#0" expanded="true" />
                <element signature="e#2443#2444#0" expanded="true" />
              </folding>
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="BoCustAttr.java" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/bean/src/main/java/com/java110/entity/user/BoCustAttr.java">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="147">
              <caret line="14" column="24" lean-forward="false" selection-start-line="14" selection-start-column="19" selection-end-line="14" selection-end-column="24" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="IUserServiceDao.java" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/UserService/src/main/java/com/java110/user/dao/IUserServiceDao.java">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="96">
              <caret line="89" column="0" lean-forward="false" selection-start-line="89" selection-start-column="0" selection-end-line="89" selection-end-column="0" />
              <folding>
                <element signature="imports" expanded="true" />
              </folding>
            </state>
          </provider>
        </entry>
@@ -142,6 +157,7 @@
      <find>PropertySourceLoader</find>
      <find>;</find>
      <find>com.linkage.common.bean.mapping.CodeMapping</find>
      <find>saveDataToCust</find>
    </findStrings>
    <replaceStrings>
      <replace>microcommunity.version</replace>
@@ -161,15 +177,10 @@
  <component name="IdeDocumentHistory">
    <option name="CHANGED_PATHS">
      <list>
        <option value="$PROJECT_DIR$/UserService/target/classes/logback.xml" />
        <option value="$PROJECT_DIR$/UserService/src/main/resources/banner_wuxw.txt" />
        <option value="$PROJECT_DIR$/UserService/src/main/resources/banner.txt" />
        <option value="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/AppSpringBootApplication.java" />
        <option value="$PROJECT_DIR$/service/src/main/java/com/java110/service/DataSourceConfiguration.java" />
        <option value="$PROJECT_DIR$/config/src/main/resources/db/db.properties" />
        <option value="$PROJECT_DIR$/service/src/main/java/com/java110/service/MyBatisMapperScannerConfig.java" />
        <option value="$PROJECT_DIR$/config/db/order_list.db" />
        <option value="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/user/BoCustAttr.java" />
        <option value="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/user/CustAttr.java" />
        <option value="$PROJECT_DIR$/config/db/cust.db" />
        <option value="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/order/OrderList.java" />
@@ -183,14 +194,12 @@
        <option value="$PROJECT_DIR$/core/src/main/java/com/java110/core/base/controller/BaseController.java" />
        <option value="$PROJECT_DIR$/core/src/main/java/com/java110/core/base/bmo/BaseBMO.java" />
        <option value="$PROJECT_DIR$/core/src/main/java/com/java110/core/base/dao/BaseServiceDao.java" />
        <option value="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/smo/IUserServiceSMO.java" />
        <option value="$PROJECT_DIR$/BaseService/src/main/java/com/java110/BaseServiceApp.java" />
        <option value="$PROJECT_DIR$/UserService/pom.xml" />
        <option value="$PROJECT_DIR$/BaseService/src/main/java/com/java110/AppSpringBootApplication.java" />
        <option value="$PROJECT_DIR$/BaseService/src/main/java/com/java110/base/smo/IUserServiceSMO.java" />
        <option value="$PROJECT_DIR$/BaseService/src/main/java/com/java110/base/dao/ICommonServiceDao.java" />
        <option value="$PROJECT_DIR$/BaseService/src/main/java/com/java110/base/dao/impl/CommonServiceDaoImpl.java" />
        <option value="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/rest/UserServiceRest.java" />
        <option value="$PROJECT_DIR$/BaseService/src/main/java/com/java110/base/dao/IPrimaryKeyServiceDao.java" />
        <option value="$PROJECT_DIR$/BaseService/src/main/java/com/java110/base/smo/IPrimaryKeyServiceSMO.java" />
        <option value="$PROJECT_DIR$/BaseService/pom.xml" />
@@ -207,11 +216,18 @@
        <option value="$PROJECT_DIR$/service/pom.xml" />
        <option value="$PROJECT_DIR$/BaseService/src/main/java/com/java110/base/rest/PrimaryKeyServiceRest.java" />
        <option value="$PROJECT_DIR$/config/src/main/resources/mapper/user/UserServiceMapper.xml" />
        <option value="$PROJECT_DIR$/UserService/src/main/java/com/java110/user/dao/IUserServiceDao.java" />
        <option value="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/user/Cust.java" />
        <option value="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/user/BoCust.java" />
        <option value="$PROJECT_DIR$/bean/src/main/java/com/java110/entity/user/BoCustAttr.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" />
        <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/smo/impl/UserServiceSMOImpl.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" />
      </list>
    </option>
  </component>
@@ -262,216 +278,6 @@
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="MicroCommunity" />
              <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="config" />
              <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="config" />
              <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="config" />
              <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="resources" />
              <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="config" />
              <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="resources" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="mapper" />
              <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>
          <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="config" />
              <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="resources" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="mapper" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="common" />
              <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="config" />
              <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="bean" />
              <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="bean" />
              <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="bean" />
              <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="entity" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
@@ -873,7 +679,7 @@
      <workItem from="1491740642463" duration="7013000" />
      <workItem from="1491786141578" duration="4448000" />
      <workItem from="1491829047177" duration="14075000" />
      <workItem from="1491872314728" duration="7893000" />
      <workItem from="1491872314728" duration="14030000" />
    </task>
    <task id="LOCAL-00001" summary="change fastjson dependenciy">
      <created>1491576589634</created>
@@ -886,7 +692,7 @@
    <servers />
  </component>
  <component name="TimeTrackingManager">
    <option name="totallyTimeSpent" value="125972000" />
    <option name="totallyTimeSpent" value="132109000" />
  </component>
  <component name="ToolWindowManager">
    <frame x="-8" y="-8" width="1382" height="744" extended-state="6" />
@@ -900,7 +706,7 @@
      <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.34262297" 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.62684125" 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.6262295" 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.2987897" 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.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
@@ -967,13 +773,6 @@
    <watches-manager />
  </component>
  <component name="editorHistoryManager">
    <entry file="jar://$M2_REPO$/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4-sources.jar!/org/apache/commons/lang3/math/NumberUtils.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="508">
          <caret line="127" column="23" lean-forward="false" selection-start-line="127" selection-start-column="23" selection-end-line="127" selection-end-column="23" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/BaseService/src/main/resources/banner.txt">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="272">
@@ -1011,13 +810,6 @@
        </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="275">
          <caret line="30" column="31" lean-forward="false" selection-start-line="30" selection-start-column="18" selection-end-line="30" selection-end-column="31" />
        </state>
      </provider>
    </entry>
    <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="-510">
@@ -1043,14 +835,6 @@
            <element signature="e#7342#7343#0" expanded="false" />
            <element signature="e#7369#7370#0" 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="292">
          <caret line="324" column="69" lean-forward="false" selection-start-line="324" selection-start-column="7" selection-end-line="324" selection-end-column="69" />
          <folding />
        </state>
      </provider>
    </entry>
@@ -1219,20 +1003,6 @@
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/feign/src/main/java/com/java110/feign/user/UserServiceFallback.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="255">
          <caret line="15" column="18" lean-forward="false" selection-start-line="15" selection-start-column="18" selection-end-line="15" selection-end-column="18" />
        </state>
      </provider>
    </entry>
    <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="170">
          <caret line="12" column="0" lean-forward="false" selection-start-line="12" selection-start-column="0" selection-end-line="12" selection-end-column="73" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/feign/src/main/java/com/java110/feign/base/PrimaryKeyServiceFallback.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="255">
@@ -1290,24 +1060,6 @@
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/bean/src/main/java/com/java110/entity/user/BoCust.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="272">
          <caret line="49" column="24" lean-forward="false" selection-start-line="49" selection-start-column="19" selection-end-line="49" selection-end-column="24" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/UserService/src/main/java/com/java110/user/dao/IUserServiceDao.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="96">
          <caret line="89" column="0" lean-forward="false" selection-start-line="89" selection-start-column="0" selection-end-line="89" selection-end-column="0" />
          <folding>
            <element signature="imports" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/bean/src/main/java/com/java110/entity/user/CustAttr.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="238">
@@ -1318,7 +1070,7 @@
    </entry>
    <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="476">
        <state relative-caret-position="272">
          <caret line="34" column="35" lean-forward="false" selection-start-line="34" selection-start-column="26" selection-end-line="34" selection-end-column="35" />
          <folding>
            <element signature="e#2312#2313#0" expanded="true" />
@@ -1329,40 +1081,102 @@
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/bean/src/main/java/com/java110/entity/user/BoCust.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="232">
          <caret line="159" column="23" lean-forward="false" selection-start-line="159" selection-start-column="16" selection-end-line="159" selection-end-column="23" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/bean/src/main/java/com/java110/entity/user/BoCustAttr.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="147">
          <caret line="14" column="24" lean-forward="false" selection-start-line="14" selection-start-column="19" selection-end-line="14" selection-end-column="24" />
        <state relative-caret-position="504">
          <caret line="67" column="41" lean-forward="false" selection-start-line="67" selection-start-column="41" selection-end-line="67" selection-end-column="41" />
          <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="317">
          <caret line="81" column="31" lean-forward="false" selection-start-line="81" selection-start-column="16" selection-end-line="81" selection-end-column="31" />
        <state relative-caret-position="314">
          <caret line="75" column="36" lean-forward="false" selection-start-line="75" selection-start-column="16" selection-end-line="75" selection-end-column="36" />
          <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="253">
          <caret line="332" column="29" lean-forward="false" selection-start-line="332" selection-start-column="18" selection-end-line="332" selection-end-column="29" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/UserService/src/main/java/com/java110/user/dao/impl/UserServiceDaoImpl.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="2550">
          <caret line="165" column="31" lean-forward="false" selection-start-line="165" selection-start-column="31" selection-end-line="165" selection-end-column="31" />
        <state relative-caret-position="185">
          <caret line="213" column="16" lean-forward="false" selection-start-line="213" selection-start-column="16" selection-end-line="213" selection-end-column="16" />
          <folding />
        </state>
      </provider>
    </entry>
    <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="419">
          <caret line="58" column="56" lean-forward="true" selection-start-line="51" selection-start-column="4" selection-end-line="58" selection-end-column="56" />
          <folding>
            <element signature="imports" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <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="198">
          <caret line="167" column="38" lean-forward="false" selection-start-line="167" selection-start-column="38" selection-end-line="167" selection-end-column="38" />
        <state relative-caret-position="232">
          <caret line="280" column="94" lean-forward="true" selection-start-line="280" selection-start-column="12" selection-end-line="280" selection-end-column="94" />
          <folding>
            <element signature="imports" expanded="true" />
            <element signature="e#5888#5889#0" expanded="true" />
            <element signature="e#5926#5927#0" expanded="true" />
            <element signature="e#5997#5998#0" expanded="true" />
            <element signature="e#6051#6052#0" expanded="true" />
            <element signature="e#10466#10467#0" expanded="true" />
            <element signature="e#10504#10505#0" expanded="true" />
            <element signature="e#10575#10576#0" expanded="true" />
            <element signature="e#10629#10630#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/UserService/src/main/java/com/java110/user/dao/IUserServiceDao.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="385">
          <caret line="114" column="31" lean-forward="false" selection-start-line="114" selection-start-column="16" selection-end-line="114" selection-end-column="31" />
          <folding>
            <element signature="imports" expanded="true" />
          </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="153">
          <caret line="20" column="69" lean-forward="false" selection-start-line="20" selection-start-column="69" selection-end-line="20" selection-end-column="69" />
          <folding />
        </state>
      </provider>
    </entry>
    <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="453">
          <caret line="66" column="67" lean-forward="false" selection-start-line="66" selection-start-column="67" selection-end-line="66" selection-end-column="67" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/feign/src/main/java/com/java110/feign/user/UserServiceFallback.java">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="187">
          <caret line="11" column="15" lean-forward="true" selection-start-line="11" selection-start-column="15" selection-end-line="11" selection-end-column="15" />
          <folding>
            <element signature="imports" expanded="true" />
          </folding>
        </state>
      </provider>
UserService/src/main/java/com/java110/user/dao/IUserServiceDao.java
@@ -56,6 +56,22 @@
    public int saveDataToCustAttr(CustAttr custAttr) throws RuntimeException;
    /**
     * 删除用户基本信息(实例数据)
     * @param cust
     * @return
     * @throws RuntimeException
     */
    public int deleteDataToCust(Cust cust) throws RuntimeException;
    /**
     *  删除用户属性(实例数据)
     * @param custAttr
     * @return
     * @throws RuntimeException
     */
    public int deleteDataToCustAttr(CustAttr custAttr) throws RuntimeException;
    /**
     * 同事保存用户基本信息和属性
     * @param custInfo
     * @return
UserService/src/main/java/com/java110/user/dao/impl/UserServiceDaoImpl.java
@@ -127,6 +127,48 @@
    }
    /**
     * 删除用户基本信息(实例数据)
     * @param cust
     * @return
     * @throws RuntimeException
     */
    public int deleteDataToCust(Cust cust) throws RuntimeException{
        LoggerEngine.debug("----【UserServiceDAOImpl.deleteDataToCust】保存数据入参 : " + cust);
        //为了保险起见,再测检测reqList 是否有值
        if(cust == null){
            LoggerEngine.debug("----【UserServiceDAOImpl.deleteDataToCust】保存数据出错 : " + cust);
            throw new IllegalArgumentException("请求参数错误,cust : " + cust);
        }
        int saveFlag = 0;
        saveFlag = sqlSessionTemplate.update("userServiceDAOImpl.deleteDataToCust",cust);
        LoggerEngine.debug("----【UserServiceDAOImpl.deleteDataToCust】保存数据出参 :saveFlag " + saveFlag);
        return saveFlag;
    }
    /**
     *  删除用户属性(实例数据)
     * @param custAttr
     * @return
     * @throws RuntimeException
     */
    public int deleteDataToCustAttr(CustAttr custAttr) throws RuntimeException{
        LoggerEngine.debug("----【UserServiceDAOImpl.deleteDataToCustAttr】保存数据入参 : " + custAttr);
        //为了保险起见,再测检测reqList 是否有值
        if(custAttr == null){
            LoggerEngine.debug("----【UserServiceDAOImpl.deleteDataToCustAttr】保存数据出错 : " + custAttr);
            throw new IllegalArgumentException("请求参数错误,custAttr : " + custAttr);
        }
        int saveFlag = 0;
        saveFlag = sqlSessionTemplate.update("userServiceDAOImpl.deleteDataToCustAttr",custAttr);
        LoggerEngine.debug("----【UserServiceDAOImpl.deleteDataToCustAttr】保存数据出参 :saveFlag " + saveFlag);
        return saveFlag;
    }
    /**
     * 同时保存客户基本信息和客户属性
     * 入参为:
     *
UserService/src/main/java/com/java110/user/rest/UserServiceRest.java
@@ -5,6 +5,8 @@
import com.java110.common.log.LoggerEngine;
import com.java110.common.util.ProtocolUtil;
import com.java110.core.base.controller.BaseController;
import com.java110.entity.user.Cust;
import com.java110.feign.user.IUserService;
import com.java110.user.smo.IUserServiceSMO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -16,7 +18,7 @@
 * Created by wuxw on 2017/4/5.
 */
@RestController
public class UserServiceRest extends BaseController {
public class UserServiceRest extends BaseController implements IUserService {
    @Autowired
    IUserServiceSMO iUserServiceSMO;
@@ -24,12 +26,30 @@
    /**
     * 通过User对象中数据查询用户信息
     * 如,用户ID,名称
     * @param userJson
     * @param data
     * @return
     */
    @RequestMapping("/userService/queryUserInfo")
    public String queryUserInfo(@RequestParam("userJson") String userJson){
        return null;
    public String queryUserInfo(@RequestParam("data") String data){
        LoggerEngine.debug("queryUserInfo入参:" + data);
        String resultUserInfo = null;
        JSONObject reqUserJSON = null;
        try {
            reqUserJSON = this.simpleValidateJSON(data);
            Cust oldCust = new Cust();
            oldCust.setCustId(reqUserJSON.getString("custId"));
            resultUserInfo = iUserServiceSMO.queryCust(oldCust);
        } catch (Exception e) {
            LoggerEngine.error("服务处理出现异常:", e);
            resultUserInfo = ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_ERROR,"服务处理出现异常"+e,null);
        } finally {
            LoggerEngine.debug("用户服务操作客户出参:" + resultUserInfo);
            return resultUserInfo;
        }
    }
@@ -55,26 +75,11 @@
            reqUserJSON = this.simpleValidateJSON(data);
            //1.0规则校验,报文是否合法
            // 客户信息处理
            if(reqUserJSON.containsKey("boCust")){
                JSONArray boCusts = reqUserJSON.getJSONArray("boCust");
                JSONObject boCustObj = new JSONObject();
                boCustObj.put("boCust",boCusts);
                iUserServiceSMO.soBoCust(boCustObj.toJSONString());
            }
            //客户属性信息处理
            if(reqUserJSON.containsKey("boCustAttr")){
            //2.0 受理客户信息
            resultUserInfo = iUserServiceSMO.soUserService(reqUserJSON);
                JSONArray boCustAttrs = reqUserJSON.getJSONArray("boCustAttr");
                JSONObject boCustAttrObj = new JSONObject();
                boCustAttrObj.put("boCustAttr",boCustAttrs);
                iUserServiceSMO.soBoCustAttr(boCustAttrObj.toJSONString());
            }
            resultUserInfo = ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_SUCCESS,"受理成功",null);
            //2.0
        } catch (Exception e) {
            LoggerEngine.error("服务处理出现异常:", e);
            resultUserInfo = ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_ERROR,"服务处理出现异常"+e,null);
@@ -107,7 +112,7 @@
            resultUserInfo = iUserServiceSMO.soBoCust(data);
        }catch (Exception e){
            LoggerEngine.error("服务处理出现异常:", e);
            resultUserInfo = ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_ERROR,"服务处理出现异常"+e,null);
            resultUserInfo = ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_ERROR,"服务处理出现异常:"+e,null);
        } finally {
            LoggerEngine.debug("用户服务操作客户出参:" + resultUserInfo);
            return resultUserInfo;
UserService/src/main/java/com/java110/user/smo/IUserServiceSMO.java
@@ -1,5 +1,8 @@
package com.java110.user.smo;
import com.alibaba.fastjson.JSONObject;
import com.java110.entity.user.Cust;
/**
 *
 * 用户信息管理,服务
@@ -12,14 +15,14 @@
     * @param userInfoJson
     * @return
     */
    public String saveUser(String userInfoJson);
    public String saveUser(String userInfoJson) throws Exception;
    /**
     * 所有服务类(增删改查用户)
     * @param userInfoJson
     * @return
     */
    public String soUserService(String userInfoJson);
    public String soUserService(JSONObject userInfoJson) throws Exception;
    /**
     * 客户信息处理
@@ -44,4 +47,14 @@
     * @throws Exception
     */
    public String soBoCustAttr(String boCustAttrs) throws Exception;
    /**
     * 查询客户信息
     * 包括 基本信息cust 和 属性信息 custAttr
     * @param cust
     * @return
     * @throws Exception
     */
    public String queryCust(Cust cust) throws Exception;
}
UserService/src/main/java/com/java110/user/smo/impl/UserServiceSMOImpl.java
@@ -6,13 +6,16 @@
import com.java110.common.util.ProtocolUtil;
import com.java110.entity.user.BoCust;
import com.java110.entity.user.BoCustAttr;
import com.java110.entity.user.Cust;
import com.java110.feign.base.IPrimaryKeyService;
import com.java110.user.dao.IUserServiceDao;
import com.java110.user.smo.IUserServiceSMO;
import com.java110.core.base.smo.BaseServiceSMO;
import org.apache.commons.lang.math.NumberUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -21,6 +24,7 @@
 * Created by wuxw on 2017/4/5.
 */
@Service("userServiceSMOImpl")
@Transactional
public class UserServiceSMOImpl extends BaseServiceSMO implements IUserServiceSMO {
    @Autowired
@@ -44,7 +48,7 @@
     * @param userInfoJson 入参为用户信息json传
     * @return
     */
    public String saveUser(String userInfoJson) {
    public String saveUser(String userInfoJson) throws Exception{
        JSONObject reqUserJSON = null;
        try {
@@ -67,7 +71,7 @@
            //返回异常信息
            return e.getMessage();
        }
        return soUserService(reqUserJSON.toJSONString());
        return soUserService(reqUserJSON);
    }
@@ -77,29 +81,48 @@
     * @param userInfoJson
     * @return
     */
    public String soUserService(String userInfoJson) {
    public String soUserService(JSONObject userInfoJson) throws Exception{
        LoggerEngine.debug("用户服务操作客户入参:" + userInfoJson);
        String resultUserInfo = null;
        JSONObject reqUserJSON = null;
        try {
            reqUserJSON = this.simpleValidateJSON(userInfoJson);
            //1.0规则校验,报文是否合法
        JSONObject paramJson = new JSONObject();
            if(reqUserJSON.containsKey("boCust")){
        JSONObject resultInfo = null;
            }
            if(reqUserJSON.containsKey("boCustAttr")){
            }
            //2.0
        } catch (Exception e) {
            LoggerEngine.error("服务处理出现异常:", e);
        } finally {
            LoggerEngine.debug("用户服务操作客户出参:" + resultUserInfo);
            return resultUserInfo;
        if (userInfoJson == null){
            throw new IllegalArgumentException("soUserService 入参 为空"+userInfoJson);
        }
         // 客户信息处理
            if(userInfoJson.containsKey("boCust")){
                JSONArray boCusts = userInfoJson.getJSONArray("boCust");
                JSONObject boCustObj = new JSONObject();
                boCustObj.put("boCust",boCusts);
                String returnSaveBoCust = this.soBoCust(boCustObj.toJSONString());
                if(!ProtocolUtil.validateReturnJson(returnSaveBoCust,paramJson)){
                    throw new RuntimeException("保存 bo_cust 失败:"+boCustObj+(paramJson != null
                            && paramJson.containsKey("RESULT_MSG")?paramJson.getString("RESULT_MSG"):"未知异常"));
                }
                resultInfo = paramJson.getJSONObject("RESULT_INFO");
            }
            //客户属性信息处理
            if(userInfoJson.containsKey("boCustAttr")){
                JSONArray boCustAttrs = userInfoJson.getJSONArray("boCustAttr");
                JSONObject boCustAttrObj = new JSONObject();
                boCustAttrObj.put("boCustAttr",boCustAttrs);
                String returnSaveBoCustAttr = soBoCustAttr(boCustAttrObj.toJSONString());
                if(!ProtocolUtil.validateReturnJson(returnSaveBoCustAttr,paramJson)){
                    throw new RuntimeException("保存 bo_cust 失败:"+boCustAttrObj+(paramJson != null
                            && paramJson.containsKey("RESULT_MSG")?paramJson.getString("RESULT_MSG"):"未知异常"));
                }
            }
        return ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_SUCCESS,"成功",resultInfo);
    }
    /**
@@ -107,13 +130,20 @@
     *     boCust:[{},{}]
     * }
     * 客户信心处理
     *
     *
     * @param boCusts
     * @return
     * @return 成功 会带上处理客户的客户ID
     * {'RESULT_CODE':'0000','RESULT_MSG':'成功','RESULT_INFO':{'custId':'7000123,718881991}}
     * @throws Exception
     */
    public String soBoCust(String boCusts) throws Exception{
        // 将 jsonArray 转为list<BoCust> 对象
        JSONObject jsonObject = JSONObject.parseObject(boCusts);
        JSONObject resultInfo = new JSONObject();
        String custIds = "";
        List<BoCust> boCustList = JSONObject.parseArray(jsonObject.getJSONArray("boCust").toJSONString(), BoCust.class);
@@ -141,12 +171,39 @@
            //保存数据至 bo_cust 表中
            int saveBoCustFlag = iUserServiceDao.saveDataToBoCust(boCust);
            if(saveBoCustFlag > 0){
                //建档 处理
            if(saveBoCustFlag < 1){ // 如果没有保存成功,抛出异常,有事物 回退事物
                throw new RuntimeException("保存过程[bo_cust]数据失败,印象记录数为"+saveBoCustFlag+",boCust : "+boCust);
            }
            //建档 处理 实例数据
            int saveCustFlag = 0;
            if("ADD".equals(boCust.getState())){
                saveCustFlag  = iUserServiceDao.saveDataToCust(boCust.convert());
            }else if("DEL".equals(boCust.getState())){
                saveCustFlag = iUserServiceDao.deleteDataToCust(boCust.convert());
            }else if("KIP".equals(boCust.getState())){
                //按理这里到不了,KIP表示实例数据不变,所以这里默认写成1 认为是成功
                saveCustFlag = 1;
            }else{
                //这里单独抛出异常,不走下面统一异常抛出,是为了说明更具体点
                throw new RuntimeException("入参错误boCust 的 state 目前只支持 [ADD,DEL,KIP] , boCust : " +boCust);
            }
            if(saveCustFlag < 1){
                throw new RuntimeException("保存实例[cust]数据失败,影响记录数为"+saveCustFlag+", cust : "+boCust.convert());
            }
            custIds +=","+custId;
        }
        return "";
        //去除第一个逗号
        if (custIds.length()>0){
            custIds = custIds.substring(1);
        }
        resultInfo.put("custId",custIds);
        return ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_SUCCESS,"成功",resultInfo);
    }
    /**
@@ -177,13 +234,54 @@
        for(BoCustAttr boCustAttr : boCustAttrList) {
            //保存数据至 bo_cust_attr 表中
            int saveBoCustFlag = iUserServiceDao.saveDataToBoCustAttr(boCustAttr);
            int saveBoCustAttrFlag = iUserServiceDao.saveDataToBoCustAttr(boCustAttr);
            if (saveBoCustFlag > 0) {
                //建档 处理
            if(saveBoCustAttrFlag < 1){ // 如果没有保存成功,抛出异常,有事物 回退事物
                throw new RuntimeException("保存过程[bo_cust_attr]数据失败,印象记录数为"+saveBoCustAttrFlag+",boCustAttr : "+boCustAttr);
            }
            //建档 处理 实例数据
            int saveCustAttrFlag = 0;
            if("ADD".equals(boCustAttr.getState())){
                saveCustAttrFlag  = iUserServiceDao.saveDataToCustAttr(boCustAttr.convert());
            }else if("DEL".equals(boCustAttr.getState())){
                saveCustAttrFlag = iUserServiceDao.deleteDataToCustAttr(boCustAttr.convert());
            }else if("KIP".equals(boCustAttr.getState())){
                //按理这里到不了,KIP表示实例数据不变,所以这里默认写成1 认为是成功
                saveCustAttrFlag = 1;
            }else{
                //这里单独抛出异常,不走下面统一异常抛出,是为了说明更具体点
                throw new RuntimeException("入参错误boCustAttr 的 state 目前只支持 [ADD,DEL,KIP] , boCust : " +boCustAttr);
            }
            if(saveCustAttrFlag < 1){
                throw new RuntimeException("保存实例[cust_attr]数据失败,影响记录数为"+saveCustAttrFlag+", cust : "+boCustAttr.convert());
            }
        }
            return "";
        return ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_SUCCESS,"成功",null);
    }
    /**
     * 查询客户信息
     * 包括 基本信息cust 和 属性信息 custAttr
     * @param cust
     * @return
     * @throws Exception
     */
    public String queryCust(Cust cust) throws Exception{
        LoggerEngine.debug("客户信息查询入参:" + cust);
        if(cust == null || StringUtils.isBlank(cust.getCustId()) ){
            throw new IllegalArgumentException("客户信息查询入参为空,custId 为空 "+cust);
        }
        Cust newCust = iUserServiceDao.queryDataToCust(cust);
        if(newCust == null){
            return ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_ERROR,"未找到用户信息",null);
        }
        return ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_SUCCESS,"成功",JSONObject.parseObject(JSONObject.toJSONString(newCust)));
    }
    public IPrimaryKeyService getiPrimaryKeyService() {
bean/src/main/java/com/java110/entity/user/BoCust.java
@@ -152,4 +152,26 @@
    public void setState(String state) {
        this.state = state;
    }
    /**
     * 转为实例数据
     * @return
     */
    public Cust convert(){
        Cust cust = new Cust();
        cust.setCustId(this.getCustId());
        cust.setName(this.getName());
        cust.setCellphone(this.getCellphone());
        cust.setCustAdress(this.getCustAdress());
        cust.setCustType(this.getCustType());
        cust.setEmail(this.getEmail());
        cust.setLanId(this.getLanId());
        cust.setOpenId(this.getOpenId());
        cust.setRealName(this.getRealName());
        cust.setSex(this.getSex());
        cust.setPassword(this.getPassword());
        return cust;
    }
}
bean/src/main/java/com/java110/entity/user/BoCustAttr.java
@@ -55,4 +55,17 @@
    public void setAttrCd(String attrCd) {
        this.attrCd = attrCd;
    }
    /**
     * 将过程数据转为实例数据
     * @return
     */
    public CustAttr convert(){
        CustAttr custAttr = new CustAttr();
        custAttr.setCustId(this.getCustId());
        custAttr.setAttrCd(this.getAttrCd());
        custAttr.setValue(this.getValue());
        return custAttr;
    }
}
common/src/main/java/com/java110/common/util/ProtocolUtil.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.common.log.LoggerEngine;
import com.java110.entity.protocol.SvcCont;
import  com.java110.entity.protocol.TcpCont;
import org.springframework.util.StringUtils;
@@ -332,4 +333,30 @@
        data.put("RESULT_INFO", resultInfo);
        return data.toString();
    }
    /**
     * 校验返回报文
     * 如果为true 成功
     * false 失败
     * @param returnJsonParam
     * @return
     */
    public static boolean validateReturnJson(String returnJsonParam,JSONObject paramJson){
        try{
             paramJson = JSONObject.parseObject(returnJsonParam);
            if(paramJson == null || !paramJson.containsKey("RESULT_CODE")){
                return false;
            }
            if(ProtocolUtil.RETURN_MSG_SUCCESS.equals(paramJson.getString("RESULT_CODE"))){
                return true;
            }
        }catch (Exception e){
            LoggerEngine.error("返回报文必须为json格式,当前格式错误 " + returnJsonParam);
            return false;
        }
        return false;
    }
}
config/src/main/resources/mapper/user/UserServiceDaoImplMapper.xml
@@ -73,11 +73,11 @@
        ]]>
    </insert>
    <!-- 删除实例客户信息 cust -->
    <insert id="deleteDataToCust" parameterType="com.java110.entity.user.CustAttr">
    <update id="deleteDataToCustAttr" parameterType="com.java110.entity.user.CustAttr">
        <![CDATA[
           delete * from cust_attr ct where ct.custId = #{custId} and ct.attrCd = #{attrCd}
        ]]>
    </insert>
    </update>
    <!--根据客户ID 查询客户信息,其中包括 cust 和custAttr 数据-->
    <select id="queryDataToCust" parameterType="com.java110.entity.user.Cust" resultMap="custMap">
        <![CDATA[
feign/src/main/java/com/java110/feign/user/IUserService.java
@@ -1,5 +1,8 @@
package com.java110.feign.user;
import com.alibaba.fastjson.JSONObject;
import com.java110.common.log.LoggerEngine;
import com.java110.common.util.ProtocolUtil;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@@ -16,9 +19,51 @@
    /**
     * 通过User对象中数据查询用户信息
     * 如,用户ID,名称
     * @param userJson
     * @param data
     * @return
     */
    @RequestMapping("/userService/queryUserInfo")
    public String queryUserInfo(@RequestParam("userJson") String userJson);
    public String queryUserInfo(@RequestParam("data") String data);
    /**
     * 用户服务信息受理
     * 协议:
     * {
     *     'boCust':[{}],
     *     'boCustAttr':[{}]
     * }
     * @param data
     * @return
     */
    @RequestMapping("/userService/soUserService")
    public String soUserService(@RequestParam("data") String data);
    /**
     * 客户信息处理
     * 协议:
     *{
     *     boCust:[{},{}]
     * }
     * @param data
     * @return
     * @throws Exception
     */
    @RequestMapping("/userService/soBoCust")
    public String soBoCust(@RequestParam("data") String data ) ;
    /**
     * 客户信息属性处理
     * 协议:
     *{
     *     boCustAttr:[{},{}]
     * }
     * @param data
     * @return
     * @throws Exception
     */
    @RequestMapping("/userService/soBoCustAttr")
    public String soBoCustAttr(@RequestParam("data") String data) ;
}
feign/src/main/java/com/java110/feign/user/UserServiceFallback.java
@@ -1,5 +1,6 @@
package com.java110.feign.user;
import com.java110.common.util.ProtocolUtil;
import org.springframework.web.bind.annotation.RequestParam;
/**
@@ -9,11 +10,26 @@
public class UserServiceFallback implements IUserService{
    /**
     * 查询用户信息失败
     * @param userJson
     * @param data
     * @return
     */
    @Override
    public String queryUserInfo(@RequestParam("userJson") String userJson) {
        return null;
    public String queryUserInfo(@RequestParam("data") String data) {
        return ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_ERROR,"调用服务超时",null);
    }
    @Override
    public String soUserService(@RequestParam("data") String data) {
        return ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_ERROR,"调用服务超时",null);
    }
    @Override
    public String soBoCust(@RequestParam("data") String data) {
        return ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_ERROR,"调用服务超时",null);
    }
    @Override
    public String soBoCustAttr(@RequestParam("data") String data) {
        return ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_ERROR,"调用服务超时",null);
    }
}