优化了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> 
- <button id="btn-search-shopsourcetype" class="layui-btn icon-btn" data-type="search"><i class="layui-icon"></i>搜索
+ <button id="btn-search-shopsourcetype" class="layui-btn icon-btn"
+ data-type="search"><i class="layui-icon"></i>搜索
</button>
- <button id="btn-add-shopsourcetype" class="layui-btn icon-btn" data-type="add"><i class="layui-icon"></i>新
+ <button id="btn-add-shopsourcetype" class="layui-btn icon-btn" data-type="add"><i
+ class="layui-icon"></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});
}