优化了shoptype定义,修改bug
diff --git a/payapi/src/main/resources/data.sql b/payapi/src/main/resources/data.sql
index 83933b6..fdeebca 100644
--- a/payapi/src/main/resources/data.sql
+++ b/payapi/src/main/resources/data.sql
@@ -498,7 +498,7 @@
 VALUES ('DAYENDSETTLETASK', '日终结算', '0', '20190619100600', '{tenantid}');
 
 INSERT INTO "tb_shop" ("shopid", "shopname", "shoptype", "fshopid", "status", "opendate", "tenantid")
-VALUES (1, '支付中心', 0, 0, 'normal', '20190517', '{tenantid}');
+VALUES (1, '支付中心', 'root', 0, 'normal', '20190517', '{tenantid}');
 
 INSERT INTO "tb_transcode" ("transcode", "transname", "tenantid")
 VALUES (3010, '市民卡代扣', '{tenantid}');
diff --git a/payapi/src/main/resources/templates/system/shop/config.html b/payapi/src/main/resources/templates/system/shop/config.html
index b8acc1d..ed1b027 100644
--- a/payapi/src/main/resources/templates/system/shop/config.html
+++ b/payapi/src/main/resources/templates/system/shop/config.html
@@ -14,7 +14,8 @@
                         商户树<span style="font-size: 12px;">(双击结算商户查询)</span>
                     </div>
                     <div class="layui-card-body layui-show">
-                        <ul id="shopacctree" class="ztree" style="background-color: #D7F9F7;max-height: 560px;overflow:auto;"></ul>
+                        <ul id="shopacctree" class="ztree"
+                            style="background-color: #D7F9F7;max-height: 560px;overflow:auto;"></ul>
                     </div>
                 </div>
             </div>
@@ -28,16 +29,20 @@
                                 <option th:each="pt:${paytypelist}" th:value="${pt.sourceType}"
                                         th:text="${pt.paydesc}"></option>
                             </select>&emsp;
-                            <button id="btn-search-shopsourcetype" class="layui-btn icon-btn" data-type="search"><i class="layui-icon">&#xe615;</i>搜索
+                            <button id="btn-search-shopsourcetype" class="layui-btn icon-btn"
+                                    data-type="search"><i class="layui-icon">&#xe615;</i>搜索
                             </button>
-                            <button id="btn-add-shopsourcetype" class="layui-btn icon-btn" data-type="add"><i class="layui-icon">&#xe654;</i>新
+                            <button id="btn-add-shopsourcetype" class="layui-btn icon-btn" data-type="add"><i
+                                    class="layui-icon">&#xe654;</i>新

                             </button>
-                            <button id="btn-reset-shopsourcetype" class="layui-btn layui-btn-primary" data-type="reset"><i
+                            <button id="btn-reset-shopsourcetype" class="layui-btn layui-btn-primary"
+                                    data-type="reset"><i
                                     class="layui-icon"></i>清 空
                             </button>
                         </div>
-                        <table class="layui-table" id="shopPaytypeTable" lay-filter="shopPaytypeTable-filter"></table>
+                        <table class="layui-table" id="shopPaytypeTable"
+                               lay-filter="shopPaytypeTable-filter"></table>
                     </div>
                 </div>
             </div>
@@ -47,22 +52,26 @@
 
 <!-- 表格状态列 -->
 <script type="text/html" id="shop-consumeenable-tpl-state">
-    <input type="checkbox" lay-filter="shop-consumeenable-tpl-state" value="{{d.shopaccno}}" def-sourceType="{{d.sourceType}}" lay-skin="switch" lay-text="启用|关闭"
+    <input type="checkbox" lay-filter="shop-consumeenable-tpl-state" value="{{d.shopaccno}}"
+           def-sourceType="{{d.sourceType}}" lay-skin="switch" lay-text="启用|关闭"
            {{d.consumeEnable==true?'checked':''}}/>
 </script>
 <script type="text/html" id="shop-anonymousenable-tpl-state">
     {{# if(d.consumeEnable == true ){ }}
-    <input type="checkbox" lay-filter="shop-anonymousenable-tpl-state" value="{{d.shopaccno}}" def-sourceType="{{d.sourceType}}" lay-skin="switch"
+    <input type="checkbox" lay-filter="shop-anonymousenable-tpl-state" value="{{d.shopaccno}}"
+           def-sourceType="{{d.sourceType}}" lay-skin="switch"
            lay-text="启用|关闭"
            {{(d.consumeEnable==true && d.anonymousEnable==true)?'checked':''}}/>
     {{# }else{ }}
-    <input type="checkbox" lay-filter="shop-anonymousenable-tpl-state" value="{{d.shopaccno}}" def-sourceType="{{d.sourceType}}" lay-skin="switch"
+    <input type="checkbox" lay-filter="shop-anonymousenable-tpl-state" value="{{d.shopaccno}}"
+           def-sourceType="{{d.sourceType}}" lay-skin="switch"
            lay-text="启用|关闭"
            {{(d.consumeEnable==true && d.anonymousEnable==true)?'checked':''}} disabled/>
     {{# } }}
 </script>
 <script type="text/html" id="shop-reverseenable-tpl-state">
-    <input type="checkbox" lay-filter="shop-reverseenable-tpl-state" value="{{d.shopaccno}}" def-sourceType="{{d.sourceType}}" lay-skin="switch" lay-text="启用|关闭"
+    <input type="checkbox" lay-filter="shop-reverseenable-tpl-state" value="{{d.shopaccno}}"
+           def-sourceType="{{d.sourceType}}" lay-skin="switch" lay-text="启用|关闭"
            {{d.reverseEnable==true?'checked':''}}/>
 </script>
 
@@ -110,18 +119,21 @@
             $("#search-sourceType").val("");
             form.render('select');
         });
-        $('#btn-search-shopsourcetype').click(function(){
+        $('#btn-search-shopsourcetype').click(function () {
             var ptype = $("#search-sourceType").val();
-            table.reload('shopPaytypeTable', {where: {sourceType: ptype, shopaccno:""}, page: {curr: 1}});
+            table.reload('shopPaytypeTable', {where: {sourceType: ptype, shopaccno: ""}, page: {curr: 1}});
         });
 
         function ondblclick(event, treeId, treeNode) {
-            if (treeNode.shoptype !== 1 || ""===treeNode.shopaccno) {
+            if (treeNode.shoptype !== 'normal' || "" === treeNode.shopaccno) {
                 layer.msg("请选择结算商户查询", {icon: 2, time: 1000});
                 return;
             }
             var ptype = $("#search-sourceType").val();
-            table.reload('shopPaytypeTable', {where: {sourceType: ptype, shopaccno: treeNode.shopaccno}, page: {curr: 1}});
+            table.reload('shopPaytypeTable', {
+                where: {sourceType: ptype, shopaccno: treeNode.shopaccno},
+                page: {curr: 1}
+            });
         }
 
         // 渲染表格
@@ -132,8 +144,15 @@
             width: 1010,
             cols: [
                 [
-                    {field: 'shopaccno', title: '商户账号', width: 150, align: 'center', fixed: 'left', sort: true},
-                    {field: 'shopname', title: '商户名称',  align: 'center', fixed: 'left', sort: true},
+                    {
+                        field: 'shopaccno',
+                        title: '商户账号',
+                        width: 150,
+                        align: 'center',
+                        fixed: 'left',
+                        sort: true
+                    },
+                    {field: 'shopname', title: '商户名称', align: 'center', fixed: 'left', sort: true},
                     {field: 'paydesc', title: '支付方式', align: 'center', sort: true},
                     {
                         field: 'consumeEnable',
@@ -159,7 +178,8 @@
                         templet: '#shop-reverseenable-tpl-state',
                         sort: true
                     },
-                    {align: 'center', title: '操作', width: 90, fixed: 'right', templet: function (item) {
+                    {
+                        align: 'center', title: '操作', width: 90, fixed: 'right', templet: function (item) {
                             if (item.sourceType !== 'balance') {
                                 return '<a class="layui-btn layui-btn-xs" lay-event="config">配置</a>';
                             }
@@ -181,7 +201,7 @@
                 _csrf: token
             }, function (data) {
                 if (data.code === 200) {
-                    layer.msg(data.msg, {icon: 1, time:1000});
+                    layer.msg(data.msg, {icon: 1, time: 1000});
                     table.reload('shopPaytypeTable');
                 } else if (data.code === 401) {
                     layer.msg(data.msg, {icon: 2, time: 1500}, function () {
@@ -192,7 +212,7 @@
                     $(obj.elem).prop('checked', !obj.elem.checked);
                     form.render('checkbox');
                 }
-            },function () {
+            }, function () {
                 layer.msg('请求失败了,请稍后再试', {icon: 2});
                 $(obj.elem).prop('checked', !obj.elem.checked);
                 form.render('checkbox');
@@ -243,13 +263,13 @@
                 return;
             }
             var shopNode = shopNodes[0]; //选中商户
-            if(shopNode.shoptype!==1 || ""===shopNode.shopaccno){
+            if (shopNode.shoptype !== 'normal' || "" === shopNode.shopaccno) {
                 layer.msg("请选择结算商户!", {icon: 2, time: 1000});
                 return;
             }
             admin.putTempData('t_addshopsourcetype', {
-                shopaccno:shopNode.shopaccno,
-                shopname: shopNode.name.slice(shopNode.id.length+1)  //23_第一食堂,截取商户名称
+                shopaccno: shopNode.shopaccno,
+                shopname: shopNode.name.slice(shopNode.id.length + 1)  //23_第一食堂,截取商户名称
             });
             admin.popupCenter({
                 title: "新增支付能力",
diff --git a/payapi/src/main/resources/templates/system/shop/index.html b/payapi/src/main/resources/templates/system/shop/index.html
index 0da8653..32ab1dc 100644
--- a/payapi/src/main/resources/templates/system/shop/index.html
+++ b/payapi/src/main/resources/templates/system/shop/index.html
@@ -14,20 +14,24 @@
                         商户树<span style="font-size: 12px;">(双击商户进行修改)</span>
                     </div>
                     <div class="layui-card-body layui-show" style="margin-bottom: 15px;">
-                        <ul id="shoptree" class="ztree" style="background-color: #D7F9F7;max-height: 527px;overflow:auto;"></ul>
+                        <ul id="shoptree" class="ztree"
+                            style="background-color: #D7F9F7;max-height: 527px;overflow:auto;"></ul>
                     </div>
                 </div>
             </div>
             <div class="layui-col-xs7 layui-col-md9">
                 <div class="layui-card" style="min-height: 600px;">
-                    <div id="shop-info" class="layui-form toolbar" lay-filter="shop-info-form" style="display: none;">
+                    <div id="shop-info" class="layui-form toolbar" lay-filter="shop-info-form"
+                         style="display: none;">
                         <div class="layui-card-header">商户基本信息</div>
                         <div class="layui-form-item" style="margin-left: 15px;">
-                            <label class="layui-form-label" style="color: red;"><span style="color: red;">*</span>商户类型</label>
+                            <label class="layui-form-label" style="color: red;"><span
+                                    style="color: red;">*</span>商户类型</label>
                             <div class="layui-input-inline">
-                                <select name="shoptype" id="shoptype" lay-filter="shoptype-filter" lay-verify="required">
-                                    <option value="0">商户组</option>
-                                    <option value="1">结算商户</option>
+                                <select name="shoptype" id="shoptype" lay-filter="shoptype-filter"
+                                        lay-verify="required">
+                                    <option value="group">商户组</option>
+                                    <option value="normal">结算商户</option>
                                 </select>
                             </div>
                             <div class="layui-form-mid layui-word-aux">
@@ -39,28 +43,33 @@
                                 <div class="layui-inline">
                                     <label class="layui-form-label">商户号</label>
                                     <div class="layui-input-inline">
-                                        <input type="text" name="shopid" class="layui-input" style="background-color: #f1f1f1;"
+                                        <input type="text" name="shopid" class="layui-input"
+                                               style="background-color: #f1f1f1;"
                                                readonly="readonly"/>
                                     </div>
                                 </div>
                                 <div class="layui-inline">
                                     <label class="layui-form-label">商户账号</label>
                                     <div class="layui-input-inline">
-                                        <input type="text" name="shopaccno" autocomplete="off" style="background-color: #f1f1f1;"
+                                        <input type="text" name="shopaccno" autocomplete="off"
+                                               style="background-color: #f1f1f1;"
                                                class="layui-input" readonly="readonly"/>
                                     </div>
                                 </div>
                             </div>
                             <div class="layui-form-item">
                                 <div class="layui-inline">
-                                    <label class="layui-form-label"><span style="color: red;">*</span>上级商户号</label>
+                                    <label class="layui-form-label"><span
+                                            style="color: red;">*</span>上级商户号</label>
                                     <div class="layui-input-inline">
-                                        <input type="text" name="fshopid" id="fshopid" class="layui-input" autocomplete="off"
+                                        <input type="text" name="fshopid" id="fshopid" class="layui-input"
+                                               autocomplete="off"
                                                lay-verify="required|number"/>
                                     </div>
                                 </div>
                                 <div class="layui-inline">
-                                    <label class="layui-form-label"><span style="color: red;">*</span>商户名</label>
+                                    <label class="layui-form-label"><span
+                                            style="color: red;">*</span>商户名</label>
                                     <div class="layui-input-inline">
                                         <input type="text" name="shopname" autocomplete="off"
                                                class="layui-input" maxlength="30" lay-verify="required"/>
@@ -72,13 +81,15 @@
                                 <div class="layui-inline">
                                     <label class="layui-form-label">邮编</label>
                                     <div class="layui-input-inline">
-                                        <input type="text" name="zipcode" class="layui-input" autocomplete="off" />
+                                        <input type="text" name="zipcode" class="layui-input"
+                                               autocomplete="off"/>
                                     </div>
                                 </div>
                                 <div class="layui-inline">
                                     <label class="layui-form-label">地址</label>
                                     <div class="layui-input-inline">
-                                        <input type="text" name="addr" class="layui-input" maxlength="40" autocomplete="off" />
+                                        <input type="text" name="addr" class="layui-input" maxlength="40"
+                                               autocomplete="off"/>
                                     </div>
                                 </div>
                             </div>
@@ -89,19 +100,21 @@
                                 <div class="layui-inline">
                                     <label class="layui-form-label">姓名</label>
                                     <div class="layui-input-inline">
-                                        <input type="text" name="contactman" class="layui-input" autocomplete="off"/>
+                                        <input type="text" name="contactman" class="layui-input"
+                                               autocomplete="off"/>
                                     </div>
                                 </div>
                                 <div class="layui-inline">
                                     <label class="layui-form-label">手机号</label>
                                     <div class="layui-input-inline">
-                                        <input type="text" name="mobile" class="layui-input" maxlength="20" autocomplete="off"
-                                               lay-verify="mobile" />
+                                        <input type="text" name="mobile" class="layui-input" maxlength="20"
+                                               autocomplete="off"
+                                               lay-verify="mobile"/>
                                     </div>
                                 </div>
                             </div>
                             <div class="layui-form-item">
-                                <div class="layui-inline" >
+                                <div class="layui-inline">
                                     <label class="layui-form-label">证件类型</label>
                                     <div class="layui-input-inline">
                                         <select name="idtype" lay-filter="idtype-filter">
@@ -117,7 +130,8 @@
                                 <div class="layui-inline">
                                     <label class="layui-form-label">证件号</label>
                                     <div class="layui-input-inline">
-                                        <input type="text" name="idno" class="layui-input" maxlength="20" autocomplete="off"/>
+                                        <input type="text" name="idno" class="layui-input" maxlength="20"
+                                               autocomplete="off"/>
                                     </div>
                                 </div>
                             </div>
@@ -125,23 +139,29 @@
                                 <div class="layui-inline">
                                     <label class="layui-form-label">邮箱</label>
                                     <div class="layui-input-inline">
-                                        <input type="text" name="email" class="layui-input" autocomplete="off" lay-verify="swEmail"/>
+                                        <input type="text" name="email" class="layui-input" autocomplete="off"
+                                               lay-verify="swEmail"/>
                                     </div>
                                 </div>
                                 <div class="layui-inline">
                                     <label class="layui-form-label">电话</label>
                                     <div class="layui-input-inline">
-                                        <input type="text" name="tel" class="layui-input" maxlength="20" autocomplete="off" />
+                                        <input type="text" name="tel" class="layui-input" maxlength="20"
+                                               autocomplete="off"/>
                                     </div>
                                 </div>
                             </div>
                         </div>
 
                         <div class="layui-form-item" style="padding-bottom: 20px;text-align: center;">
-                            <button class="layui-btn" lay-filter="form-submit-shop-btn" lay-submit id="submitbtn-shop-btn">保存</button>
-                            <button class="layui-btn layui-btn-primary" type="button" id="cancelbtn">取消</button>
+                            <button class="layui-btn" lay-filter="form-submit-shop-btn" lay-submit
+                                    id="submitbtn-shop-btn">保存
+                            </button>
+                            <button class="layui-btn layui-btn-primary" type="button" id="cancelbtn">取消
+                            </button>
                             <div class="layui-inline" style="margin-left: 10px;" id="shop-add-hid-div">
-                                <input type="checkbox" id="shop-add-continue-flag" lay-skin="primary" title="继续新增" />
+                                <input type="checkbox" id="shop-add-continue-flag" lay-skin="primary"
+                                       title="继续新增"/>
                             </div>
                         </div>
                     </div>
@@ -209,7 +229,7 @@
             var zTree = $.fn.zTree.getZTreeObj("shoptree");
             if (treeNode.isParent) {
                 var childrenNodes = treeNode.children;
-                if (childrenNodes && childrenNodes.length != 0) {
+                if (childrenNodes && childrenNodes.length !== 0) {
                     layer.msg("请先删除下级商户", {icon: 2, time: 2000});
                     return false;
                 }
@@ -230,10 +250,10 @@
                     success: function (result) {
                         console.log(result);
                         layer.closeAll('loading');
-                        if (result.code == 200) {
+                        if (result.code === 200) {
                             layer.msg(result.msg, {icon: 1});
                             flag = true;
-                        } else if (result.code == 401) {
+                        } else if (result.code === 401) {
                             layer.msg(result.msg, {icon: 2, time: 1500}, function () {
                                 location.replace('[[@{/login}]]');
                             }, 1000);
@@ -272,11 +292,11 @@
                 success: function (result) {
                     layer.closeAll('loading');
                     debugger
-                    if (result.code == 200) {
+                    if (result.code === 200) {
                         var zTree = $.fn.zTree.getZTreeObj("shoptree");
                         var treeNode = zTree.getNodeByParam("id", '' + result.shop.shopid, null);
-                        if (undefined != treeNode && null != treeNode) {
-                            treeNode.id = ''+result.shop.shopid;
+                        if (undefined !== treeNode && treeNode != null) {
+                            treeNode.id = '' + result.shop.shopid;
                             treeNode.pId = '' + result.shop.fshopid;
                             treeNode.name = '' + result.shop.shopid + '_' + result.shop.shopname;
                             zTree.updateNode(treeNode); //修改节点
@@ -288,7 +308,7 @@
                                 name: '' + result.shop.shopid + '_' + result.shop.shopname,
                                 shoptype: result.shop.shoptype
                             }
-                            if (result.shop.shoptype == 1) {
+                            if (result.shop.shoptype === 'normal') {
                                 newNode["iconSkin"] = "pIcon02";
                             } else {
                                 newNode["iconSkin"] = "pIcon01";
@@ -299,11 +319,10 @@
                         if (!$("#shop-add-continue-flag").is(":checked")) {
                             $("#shop-info").hide();
                         }
-                    } else if (result.code == 401) {
+                    } else if (result.code === 401) {
                         layer.msg(result.msg, {icon: 2, time: 1500}, function () {
                             location.replace('[[@{/login}]]');
                         }, 1000);
-                        return;
                     } else {
                         console.log('err:' + result.code);
                         layer.msg(result.msg, {icon: 2});
@@ -317,7 +336,7 @@
         });
 
         function addHoverDom(treeId, treeNode) {
-            if (treeNode.shoptype == 0) {
+            if (treeNode.shoptype !== 'normal') {
                 var sObj = $("#" + treeNode.tId + "_span");
                 if (treeNode.editNameFlag || $("#addBtn_" + treeNode.tId).length > 0) return;
                 var addStr = "<span class='button add' id='addBtn_" + treeNode.tId
@@ -325,20 +344,20 @@
                 sObj.after(addStr);
                 var btn = $("#addBtn_" + treeNode.tId);
                 if (btn) btn.bind("click", function () {
-                    form.val("shop-info-form",{
-                        "shopid":"0",
+                    form.val("shop-info-form", {
+                        "shopid": "0",
                         "shopname": "",
-                        "shopaccno":"",
-                        "fshopid":treeNode.id,
-                        "shoptype":"1",
-                        "zipcode":"",
-                        "addr":"",
-                        "contactman":"",
-                        "idtype":"1",
-                        "idno":"",
-                        "mobile":"",
-                        "email":"",
-                        "tel":""
+                        "shopaccno": "",
+                        "fshopid": treeNode.id,
+                        "shoptype": "normal",
+                        "zipcode": "",
+                        "addr": "",
+                        "contactman": "",
+                        "idtype": "1",
+                        "idno": "",
+                        "mobile": "",
+                        "email": "",
+                        "tel": ""
                     });
                     $("#fshopid").attr("readonly", "readonly");
                     $("#shoptype").removeAttr("disabled");
@@ -356,9 +375,9 @@
             admin.dgo('[[@{/shop/getshopinfo}]]', {
                 "shopid": treeNode.id
             }, function (data) {
-                console.log("getshopinfo返回",data);
-                if (data.code == 200) {
-                    form.val("shop-info-form",data.shop);
+                console.log("getshopinfo返回", data);
+                if (data.code === 200) {
+                    form.val("shop-info-form", data.shop);
                     $("#fshopid").removeAttr("readonly");
                     $("#shoptype").attr('disabled', 'disabled');
                     form.render('select');
@@ -366,11 +385,10 @@
                     $("#shop-add-continue-flag").prop("checked", false);
                     $("#shop-add-hid-div").hide();
                     $("#shop-info").show();
-                } else if (data.code == 401) {
+                } else if (data.code === 401) {
                     layer.msg(data.msg, {icon: 2, time: 1500}, function () {
                         location.replace('[[@{/login}]]');
                     }, 1000);
-                    return;
                 } else {
                     layer.msg(data.msg, {icon: 2, time: 2000});
                 }
@@ -381,13 +399,12 @@
         }
 
         admin.dgo('[[@{/shop/shoptree}]]', {}, function (data) {
-            if (data.code == 200) {
+            if (data.code === 200) {
                 initTree(data.data);
-            } else if (data.code == 401) {
+            } else if (data.code === 401) {
                 layer.msg(data.msg, {icon: 2, time: 1500}, function () {
                     location.replace('[[@{/login}]]');
                 }, 1000);
-                return;
             } else {
                 layer.msg(data.msg, {icon: 2, time: 2000});
             }