diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectdayDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectdayDao.java
index fb65662..34deede 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectdayDao.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectdayDao.java
@@ -36,7 +36,7 @@
       "from tb_subjectday where accdate=:accdate and tenantid=:tenantid and subjno in (select subjno from tb_subject where subjlevel=1 and tenantid=:tenantid) ", nativeQuery = true)
   FSubjectInfoBean getAllParentSubjectSumInfo(@Param("accdate") String accdate, @Param("tenantid") String tenantid);
 
-  @Query(value = "SELECT t.subjno AS subjno, t.subjname AS subjname,t.fsubjno AS fsubjno,t.subjlevel AS subjlevel,t.displayflag, " +
+  @Query(value = "SELECT t.subjno AS subjno, t.subjname AS subjname,t.fsubjno AS fsubjno,t.subjlevel AS subjlevel,t.balflag,t.displayflag, " +
       "a.begindrbal  AS lastdaydrbal,a.begincrbal  AS lastdaycrbal, " +
       "b.dramt AS dramt,b.cramt AS cramt,c.drbal AS drbal,c.crbal AS crbal " +
       "FROM tb_subject t " +
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/util/StringUtil.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/StringUtil.java
index ec68890..628137b 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/framework/util/StringUtil.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/StringUtil.java
@@ -182,4 +182,43 @@
     }
     org.apache.commons.beanutils.BeanUtils.populate(bean, data);
   }
+
+  /**
+   * 企业营业执照编号有15位和18位，自2016年7月1日后，“三证合一、一照一码”后统一为18位社会信用代码
+   * */
+  public static boolean checkBusinessLicenseNo(String blno) {
+    if (isEmpty(blno)) return false;
+    String businessLicenseNo = blno.trim();
+    if (businessLicenseNo.length() != 15 && businessLicenseNo.length() != 18) return false; //历史企业注册码15位，社会信用代码长度为18位
+
+    if (businessLicenseNo.length() == 15) {
+      java.util.regex.Pattern pattern = java.util.regex.Pattern.compile("^[0-9A-Za-z]\\w{14}$");
+      java.util.regex.Matcher match = pattern.matcher(businessLicenseNo);
+      return match.matches(); //15位注册码为历史问题，只校验格式
+    }
+
+    //18位社会信用代码判断
+    java.util.regex.Pattern pattern = java.util.regex.Pattern.compile("^([0-9ABCDEFGHJKLMNPQRTUWXY]{2})([0-9]{6})([0-9ABCDEFGHJKLMNPQRTUWXY]{9})([0-9Y])$");
+    java.util.regex.Matcher match = pattern.matcher(businessLicenseNo);
+    if (!match.matches()) return false; //社会信用代码校验错误！
+
+    //验证最后一位
+    String codeStr = "0123456789ABCDEFGHJKLMNPQRTUWXY"; //字符字典（字符下标为代码字符数值）
+    int[] ws = {1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28}; //权值
+    String lastChar = businessLicenseNo.substring(businessLicenseNo.length() - 1);
+//    String prefixStr = businessLicenseNo.substring(0, businessLicenseNo.length() - 1);
+    int sum = 0;
+    for (int i = 0; i < 17; i++) {
+      sum += (codeStr.indexOf(businessLicenseNo.charAt(i)) * ws[i]);
+    }
+    int c18 = 31 - (sum % 31);
+    if (c18 == 31) {
+      if ("0".equals(lastChar)) return true; //第18位为0
+    } else {
+      //0~30 查字典
+      String cs18=String.valueOf(codeStr.charAt(c18)); //c18代表的字符
+      if(cs18.equals(lastChar)) return true;
+    }
+    return false;
+  }
 }
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/system/bean/SubjectDayInfo.java b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/SubjectDayInfo.java
index f31d5b5..34aa0af 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/system/bean/SubjectDayInfo.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/SubjectDayInfo.java
@@ -9,6 +9,8 @@
 
   Integer getSubjlevel();
 
+  Integer getBalflag();
+
   String getDisplayflag();
 
   Double getLastdaydrbal();
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/system/bean/SubjectDayShowBean.java b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/SubjectDayShowBean.java
index c36c212..94ec1f1 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/system/bean/SubjectDayShowBean.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/SubjectDayShowBean.java
@@ -5,6 +5,7 @@
   private String subjname;
   private String fsubjno;
   private Integer subjlevel;
+  private Integer balflag;
   private String displayflag;
   private Double lastdaydrbal;
   private Double lastdaycrbal;
@@ -45,6 +46,14 @@
     this.subjlevel = subjlevel;
   }
 
+  public Integer getBalflag() {
+    return balflag;
+  }
+
+  public void setBalflag(Integer balflag) {
+    this.balflag = balflag;
+  }
+
   public String getDisplayflag() {
     return displayflag;
   }
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/system/controller/ShopController.java b/payapi/src/main/java/com/supwisdom/dlpay/system/controller/ShopController.java
index 3d1a963..399d728 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/system/controller/ShopController.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/system/controller/ShopController.java
@@ -146,7 +146,10 @@
     } else if (ShopTypes.NORMAL.toString().equals(shoptype) && (StringUtil.isEmpty(businessLicenseNo) || StringUtil.isEmpty(taxRegistrationNo)
         || StringUtil.isEmpty(addr) || StringUtil.isEmpty(legalPersonName) || StringUtil.isEmpty(legalPersonIdtype) || StringUtil.isEmpty(legalPersonIdno))) {
       return JsonResult.error("参数传递错误，结算商户必须填写商户营业信息！");
+    }else if(!StringUtil.isEmpty(businessLicenseNo) && !StringUtil.checkBusinessLicenseNo(businessLicenseNo.trim())){
+      return JsonResult.error("参数错误，请正确填写营业执照编号！");
     }
+
     TShop shop = new TShop();
     shop.setFshopid(fshopid);
     shop.setShopname(shopname);
@@ -227,6 +230,8 @@
     if (ShopTypes.NORMAL.toString().equals(oldShop.getShoptype()) && (StringUtil.isEmpty(businessLicenseNo) || StringUtil.isEmpty(taxRegistrationNo)
         || StringUtil.isEmpty(addr) || StringUtil.isEmpty(legalPersonName) || StringUtil.isEmpty(legalPersonIdtype) || StringUtil.isEmpty(legalPersonIdno))) {
       return JsonResult.error("参数传递错误，结算商户必须填写商户营业信息！");
+    }else if(!StringUtil.isEmpty(businessLicenseNo) && !StringUtil.checkBusinessLicenseNo(businessLicenseNo.trim())){
+      return JsonResult.error("参数错误，请正确填写营业执照编号！");
     }
 
     TShop shop=new TShop();
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/SettleReportServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/SettleReportServiceImpl.java
index e85609c..7aaac69 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/SettleReportServiceImpl.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/SettleReportServiceImpl.java
@@ -59,6 +59,7 @@
       bean.setSubjname(info.getSubjname());
       bean.setFsubjno(info.getFsubjno() == null ? "-1" : info.getFsubjno());
       bean.setSubjlevel(info.getSubjlevel());
+      bean.setBalflag(info.getBalflag());
       bean.setDisplayflag(info.getDisplayflag());
       bean.setLastdaydrbal(info.getLastdaydrbal() == null ? 0.00 : info.getLastdaydrbal());
       bean.setLastdaycrbal(info.getLastdaycrbal() == null ? 0.00 : info.getLastdaycrbal());
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/account_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/account_service_impl.kt
index af77132..5bc63a9 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/account_service_impl.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/account_service_impl.kt
@@ -65,8 +65,8 @@
                     }
                     dtl.befbal = account.availbal
                     doRecalcAccountBalance(dtl, amount, account)
-                    account.availbal += dtl.amount
-                    account.balance += dtl.amount
+                    account.availbal += amount
+                    account.balance += amount
 
                     val sameDay = DateUtil.sameDay(account.lasttranstime,
                             systemUtilServcie.sysdatetime.sysdate) ?: false
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/transaction_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/transaction_service_impl.kt
index 2b43122..5e431b7 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/transaction_service_impl.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/transaction_service_impl.kt
@@ -5,7 +5,6 @@
 import com.supwisdom.dlpay.api.domain.*
 import com.supwisdom.dlpay.api.repositories.AccountService
 import com.supwisdom.dlpay.api.service.AccountUtilServcie
-import com.supwisdom.dlpay.api.service.KafkaSendMsgService
 import com.supwisdom.dlpay.api.service.SourceTypeService
 import com.supwisdom.dlpay.api.service.TransactionService
 import com.supwisdom.dlpay.exception.TransactionCheckException
@@ -36,9 +35,6 @@
     @Autowired
     private lateinit var sourceTypeService: SourceTypeService
 
-    @Autowired
-    private lateinit var kafkaSendMsgService: KafkaSendMsgService
-
 
     /// 公共函数部分
     private fun preCheck(builder: TransactionBuilder) {
@@ -388,9 +384,6 @@
 
         transaction.endTime = systemUtilService.sysdatetime.sysdate
         transactionMainDao.save(transaction)
-        if (transaction.person && !transaction.personDtl.userid.isNullOrEmpty()) {
-            kafkaSendMsgService.sendJpushMessage(transaction.personDtl.userid, "交易提醒", "你有一笔${transaction.personDtl.amount}元的支出，点击查看详情", transaction.refno, mutableMapOf(), transaction.tenantid)
-        }
         return transaction
     }
 
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/transaction_service.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/transaction_service.kt
index 4ab8b65..861212a 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/transaction_service.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/transaction_service.kt
@@ -63,6 +63,9 @@
     @Autowired
     private lateinit var shopAccBalanceAsyncTask: ShopAccBalanceAsyncTask
 
+    @Autowired
+    private lateinit var kafkaSendMsgService: KafkaSendMsgService
+
 
     fun init(builder: TransactionBuilder): TTransactionMain {
         try {
@@ -95,6 +98,10 @@
             if (it.shop) {
                 shopAccBalanceAsyncTask.updateShopBalance(it.shopDtl)
             }
+
+            if (it.person && !it.personDtl.userid.isNullOrEmpty()) {
+                kafkaSendMsgService.sendJpushMessage(it.personDtl.userid, "交易提醒", "你有一笔${it.personDtl.amount}元的支出，点击查看详情", it.refno, mutableMapOf(), it.tenantid)
+            }
         }
     }
 
diff --git a/payapi/src/main/resources/templates/system/dtl/shopdtl.html b/payapi/src/main/resources/templates/system/dtl/shopdtl.html
index 553409a..e606eae 100644
--- a/payapi/src/main/resources/templates/system/dtl/shopdtl.html
+++ b/payapi/src/main/resources/templates/system/dtl/shopdtl.html
@@ -217,7 +217,7 @@
             cols: [
                 [
                     {field: 'refno', title: '参考号', align: 'center', width: 200, sort: true},
-                    {field: 'accdate', title: '记账日期', align: 'center', width: 100, sort: true},
+                    {field: 'accdate', title: '记账日期', align: 'center', width: 110, sort: true},
                     {field: 'transdesc', title: '交易描述', align: 'center', width: 175},
                     {field: 'shopname', title: '商户名称', align: 'center', width: 250},
                     {
@@ -244,23 +244,23 @@
                             }
                         }
                     },
-                    {
-                        field: 'tradeflag',
-                        title: '类型',
-                        align: 'center',
-                        width: 60,
-                        templet: function (item) {
-                            if (item.tradeflag === 'in') {
-                                return '<span style="color: green;">收入</span>';
-                            } else if (item.tradeflag === 'out') {
-                                return '<span style="color: red;">支出</span>';
-                            } else {
-                                return item.tradeflag;
-                            }
-                        }
-                    },
-                    {field: 'transdate', title: '交易日期', align: 'center', width: 100, sort: true},
-                    {field: 'transtime', title: '交易时间', align: 'center', width: 100, sort: true},
+                    // {
+                    //     field: 'tradeflag',
+                    //     title: '类型',
+                    //     align: 'center',
+                    //     width: 60,
+                    //     templet: function (item) {
+                    //         if (item.tradeflag === 'in') {
+                    //             return '<span style="color: green;">收入</span>';
+                    //         } else if (item.tradeflag === 'out') {
+                    //             return '<span style="color: red;">支出</span>';
+                    //         } else {
+                    //             return item.tradeflag;
+                    //         }
+                    //     }
+                    // },
+                    {field: 'transdate', title: '交易日期', align: 'center', width: 110, sort: true},
+                    {field: 'transtime', title: '交易时间', align: 'center', width: 110, sort: true},
                     {
                         field: 'sourceType',
                         title: '支付方式',
@@ -283,7 +283,7 @@
                     {field: 'oppositeAccName', title: '交易对象', align: 'center', width: 150},
                     // {field: 'outtradeno', title: '子系统订单号', align: 'center', width: 200},
                     {field: 'transcode', title: '交易码', align: 'center', width: 100},
-                    {field: 'remark', title: '备注信息', align: 'center', width: 200}
+                    {field: 'remark', title: '备注信息', align: 'center', width: 250}
                 ]
             ]
         });
diff --git a/payapi/src/main/resources/templates/system/dtl/userdtl.html b/payapi/src/main/resources/templates/system/dtl/userdtl.html
index 6d2ea96..dfd3526 100644
--- a/payapi/src/main/resources/templates/system/dtl/userdtl.html
+++ b/payapi/src/main/resources/templates/system/dtl/userdtl.html
@@ -180,7 +180,7 @@
             cols: [
                 [
                     {field: 'refno', title: '参考号', align: 'center', width: 200, sort: true},
-                    {field: 'accdate', title: '记账日期', align: 'center', width: 100, sort: true},
+                    {field: 'accdate', title: '记账日期', align: 'center', width: 110, sort: true},
                     {field: 'transdesc', title: '交易描述', align: 'center', width: 175},
                     {field: 'userName', title: '姓名', align: 'center', width: 150},
                     {
@@ -207,23 +207,23 @@
                             }
                         }
                     },
-                    {
-                        field: 'tradeflag',
-                        title: '类型',
-                        align: 'center',
-                        width: 60,
-                        templet: function (item) {
-                            if (item.tradeflag === 'in') {
-                                return '<span style="color: green;">收入</span>';
-                            } else if (item.tradeflag === 'out') {
-                                return '<span style="color: red;">支出</span>';
-                            } else {
-                                return item.tradeflag;
-                            }
-                        }
-                    },
-                    {field: 'transdate', title: '交易日期', align: 'center', width: 100, sort: true},
-                    {field: 'transtime', title: '交易时间', align: 'center', width: 100, sort: true},
+                    // {
+                    //     field: 'tradeflag',
+                    //     title: '类型',
+                    //     align: 'center',
+                    //     width: 60,
+                    //     templet: function (item) {
+                    //         if (item.tradeflag === 'in') {
+                    //             return '<span style="color: green;">收入</span>';
+                    //         } else if (item.tradeflag === 'out') {
+                    //             return '<span style="color: red;">支出</span>';
+                    //         } else {
+                    //             return item.tradeflag;
+                    //         }
+                    //     }
+                    // },
+                    {field: 'transdate', title: '交易日期', align: 'center', width: 110, sort: true},
+                    {field: 'transtime', title: '交易时间', align: 'center', width: 110, sort: true},
                     {
                         field: 'sourceType',
                         title: '支付方式',
@@ -246,7 +246,7 @@
                     {field: 'oppositeAccName', title: '交易对象', align: 'center', width: 250},
                     {field: 'outtradeno', title: '子系统订单号', align: 'center', width: 200},
                     {field: 'transcode', title: '交易码', align: 'center', width: 100},
-                    {field: 'remark', title: '备注信息', align: 'center', width: 200}
+                    {field: 'remark', title: '备注信息', align: 'center', width: 250}
                 ]
             ]
         });
diff --git a/payapi/src/main/resources/templates/system/param/sourcetype.html b/payapi/src/main/resources/templates/system/param/sourcetype.html
index 74087c2..ec041be 100644
--- a/payapi/src/main/resources/templates/system/param/sourcetype.html
+++ b/payapi/src/main/resources/templates/system/param/sourcetype.html
@@ -128,7 +128,7 @@
                     },
                     {
                         field: 'consumeEnable',
-                        title: '能否消费',
+                        title: '允许消费',
                         align: 'center',
                         templet: '#consumeenable-tpl-state',
                         sort: true
@@ -142,7 +142,7 @@
                     },
                     {
                         field: 'reversable',
-                        title: '能否冲正',
+                        title: '允许撤销',
                         align: 'center',
                         templet: '#reversable-tpl-state',
                         sort: true
diff --git a/payapi/src/main/resources/templates/system/param/sourcetypeconfig.html b/payapi/src/main/resources/templates/system/param/sourcetypeconfig.html
index 2924cdb..4cc1461 100644
--- a/payapi/src/main/resources/templates/system/param/sourcetypeconfig.html
+++ b/payapi/src/main/resources/templates/system/param/sourcetypeconfig.html
@@ -9,10 +9,10 @@
 
     <div class="layui-form-item" th:if="${configlist.size()} gt 0" th:each="config:${configlist}">
         <div class="layui-input-block" style="margin:0;display: inline;float: left;width: 25%;">
-            <label class="layui-form-label" style="float: right;width: 100%;" th:text="${config.configid}">参数名</label>
+            <label class="layui-form-label" style="float: right;width: 100%;" th:text="${config.configName}">参数名</label>
         </div>
         <div class="layui-input-block" style="margin:0;display: inline;float: right;width: 75%;">
-            <input type="text" th:name="${config.configid}" class="layui-input" th:value="${config.configValue}" th:placeholder="${config.configName}" autocomplete="off"/>
+            <input type="text" th:name="${config.configid}" class="layui-input" th:value="${config.configValue}" th:placeholder="${config.configid}" autocomplete="off"/>
         </div>
     </div>
 
diff --git a/payapi/src/main/resources/templates/system/param/sourcetypeform.html b/payapi/src/main/resources/templates/system/param/sourcetypeform.html
index ca3f5df..60fd97d 100644
--- a/payapi/src/main/resources/templates/system/param/sourcetypeform.html
+++ b/payapi/src/main/resources/templates/system/param/sourcetypeform.html
@@ -52,7 +52,7 @@
     </div>
 
     <div class="layui-form-item">
-        <label class="layui-form-label">能否消费</label>
+        <label class="layui-form-label">允许消费</label>
         <div class="layui-input-block">
             <input name="consumeEnable" type="checkbox" lay-skin="switch" lay-text="启用|关闭" value="yes"
                    lay-verify="required" checked/>
@@ -68,7 +68,7 @@
     </div>
 
     <div class="layui-form-item">
-        <label class="layui-form-label">能否冲正</label>
+        <label class="layui-form-label">允许撤销</label>
         <div class="layui-input-block">
             <input name="reversable" type="checkbox" lay-skin="switch" lay-text="启用|关闭" value="yes"
                    lay-verify="required" checked/>
diff --git a/payapi/src/main/resources/templates/system/report/subjectday.html b/payapi/src/main/resources/templates/system/report/subjectday.html
index 8767b73..9ff137c 100644
--- a/payapi/src/main/resources/templates/system/report/subjectday.html
+++ b/payapi/src/main/resources/templates/system/report/subjectday.html
@@ -105,7 +105,16 @@
                         },
                         // {align: 'center', title: '期初余额', colspan: 2},
                         {align: 'center', title: '本期发生额', colspan: 2},
-                        {align: 'center', title: '期末扎差', colspan: 2}
+                        {
+                            align: 'center', title: '期末扎差', rowspan: 2, templet: function (e) {
+                                if(e.balflag == 1){
+                                    return parseFloat(e.drbal).toFixed(2);
+                                }else{
+                                    return parseFloat(e.crbal).toFixed(2);
+                                }
+
+                            }
+                        }
                     ], [
                         // {field: 'lastdaydrbal', title: '借方', align: 'center'},
                         // {field: 'lastdaycrbal', title: '贷方', align: 'center'},
@@ -118,17 +127,17 @@
                             field: 'cramt', title: '贷方', align: 'center', templet: function (e) {
                                 return parseFloat(e.cramt).toFixed(2);
                             }
-                        },
-                        {
-                            field: 'drbal', title: '借方', align: 'center', templet: function (e) {
-                                return parseFloat(e.drbal).toFixed(2);
-                            }
-                        },
-                        {
-                            field: 'crbal', title: '贷方', align: 'center', templet: function (e) {
-                                return parseFloat(e.crbal).toFixed(2);
-                            }
                         }
+                        // ,{
+                        //     field: 'drbal', title: '借方', align: 'center', templet: function (e) {
+                        //         return parseFloat(e.drbal).toFixed(2);
+                        //     }
+                        // },
+                        // {
+                        //     field: 'crbal', title: '贷方', align: 'center', templet: function (e) {
+                        //         return parseFloat(e.crbal).toFixed(2);
+                        //     }
+                        // }
                     ]
                 ],
                 // cols: [
diff --git a/payapi/src/main/resources/templates/system/shop/addshop.html b/payapi/src/main/resources/templates/system/shop/addshop.html
index 1a1bd62..9a2a8cc 100644
--- a/payapi/src/main/resources/templates/system/shop/addshop.html
+++ b/payapi/src/main/resources/templates/system/shop/addshop.html
@@ -20,13 +20,13 @@
                     </select>
                 </div>
                 <div class="layui-form-mid layui-word-aux">
-                    注意：商户组无商户账号，且能创建下级商户。结算商户是叶子商户，会创建商户账号。保存后无法修改！！！
+                    注意：商户组无商户编码，且能创建下级商户。结算商户是叶子商户，会创建商户编码。保存后无法修改！！！
                 </div>
             </div>
             <div class="layui-card-body">
                 <div class="layui-form-item">
                     <div class="layui-inline">
-                        <label class="layui-form-label" style="width: 100px;">商户号</label>
+                        <label class="layui-form-label" style="width: 100px;">商户序号</label>
                         <div class="layui-input-inline">
                             <input type="text" name="shopid" class="layui-input" style="background-color: #f1f1f1;"
                                    value="0"
@@ -34,7 +34,7 @@
                         </div>
                     </div>
                     <div class="layui-inline">
-                        <label class="layui-form-label" style="width: 100px;">商户账号</label>
+                        <label class="layui-form-label" style="width: 100px;">商户编码</label>
                         <div class="layui-input-inline">
                             <input type="text" name="shopaccno" autocomplete="off" style="background-color: #f1f1f1;"
                                    class="layui-input" readonly="readonly"/>
@@ -44,7 +44,7 @@
                 <div class="layui-form-item">
                     <div class="layui-inline">
                         <label class="layui-form-label" style="width: 100px;"><span
-                                style="color: red;">*</span>上级商户号</label>
+                                style="color: red;">*</span>上级商户序号</label>
                         <div class="layui-input-inline">
                             <input type="text" name="fshopid" id="shop-add-fshopid" class="layui-input"
                                    autocomplete="off" placeholder="请选择"
@@ -67,7 +67,7 @@
                     <label class="layui-form-label" style="width: 90px;"><span
                             style="color: red;">*</span>营业执照编号</label>
                     <div class="layui-input-inline" style="width: 525px;">
-                        <input name="businessLicenseNo" id="shop-add-businessLicenseNo" class="layui-input"
+                        <input name="businessLicenseNo" id="shop-add-businessLicenseNo" class="layui-input" maxlength="18"
                                autocomplete="off"/>
                     </div>
                 </div>
@@ -259,7 +259,12 @@
                     layer.msg("请填写商户营业执照编号", {icon: 2, time: 1000});
                     $("#shop-add-businessLicenseNo").focus();
                     return;
+                }else if($.trim(businessLicenseNo).length != 18 && $.trim(businessLicenseNo).length != 15){
+                    layer.msg("请正确填写商户营业执照编号", {icon: 2, time: 1000});
+                    $("#shop-add-businessLicenseNo").focus();
+                    return;
                 }
+
                 if (isempty(taxRegistrationNo)) {
                     layer.msg("请填写商户税务登记证号", {icon: 2, time: 1000});
                     $("#shop-add-taxRegistrationNo").focus();
@@ -287,6 +292,12 @@
                 }
             }
 
+            if (!isempty(businessLicenseNo) && $.trim(businessLicenseNo).length != 18 && $.trim(businessLicenseNo).length != 15) {
+                layer.msg("请正确填写商户营业执照编号", {icon: 2, time: 1000});
+                $("#shop-add-businessLicenseNo").focus();
+                return;
+            }
+
             var str = $("#shop-add-shoptype").find("option:selected").text();
             layer.confirm("确定要新增【" + str + " - " + shopname + " 】吗？", function () {
                 admin.go('[[@{/shop/addshop}]]', {
diff --git a/payapi/src/main/resources/templates/system/shop/config.html b/payapi/src/main/resources/templates/system/shop/config.html
index f0a2354..ea8218e 100644
--- a/payapi/src/main/resources/templates/system/shop/config.html
+++ b/payapi/src/main/resources/templates/system/shop/config.html
@@ -143,7 +143,7 @@
                 [
                     {
                         field: 'shopaccno',
-                        title: '商户账号',
+                        title: '商户编码',
                         width: 150,
                         align: 'center',
                         fixed: 'left',
@@ -153,7 +153,7 @@
                     {field: 'paydesc', title: '支付方式', align: 'center', sort: true},
                     {
                         field: 'consumeEnable',
-                        title: '能否消费',
+                        title: '允许消费',
                         align: 'center',
                         width: 110,
                         templet: '#shop-consumeenable-tpl-state',
@@ -169,7 +169,7 @@
                     },
                     {
                         field: 'reverseEnable',
-                        title: '能否冲正',
+                        title: '允许撤销',
                         align: 'center',
                         width: 110,
                         templet: '#shop-reverseenable-tpl-state',
diff --git a/payapi/src/main/resources/templates/system/shop/configform.html b/payapi/src/main/resources/templates/system/shop/configform.html
index 79cf14e..f3a5a07 100644
--- a/payapi/src/main/resources/templates/system/shop/configform.html
+++ b/payapi/src/main/resources/templates/system/shop/configform.html
@@ -1,6 +1,6 @@
 <form id="shop-sourceType-form" lay-filter="shop-sourceType-form" class="layui-form model-form">
     <div class="layui-form-item">
-        <label class="layui-form-label">商户账号</label>
+        <label class="layui-form-label">商户编码</label>
         <div class="layui-input-block">
             <input name="shopaccno" class="layui-input" readonly="readonly" lay-verify="required"/>
         </div>
@@ -22,7 +22,7 @@
     </div>
 
     <div class="layui-form-item">
-        <label class="layui-form-label">能否消费</label>
+        <label class="layui-form-label">允许消费</label>
         <div class="layui-input-block">
             <input name="consumeEnable" type="checkbox" lay-skin="switch" lay-text="启用|关闭" value="yes" lay-verify="required" checked/>
         </div>
@@ -36,7 +36,7 @@
     </div>
 
     <div class="layui-form-item">
-        <label class="layui-form-label">能否冲正</label>
+        <label class="layui-form-label">允许撤销</label>
         <div class="layui-input-block">
             <input name="reverseEnable" type="checkbox" lay-skin="switch" lay-text="启用|关闭" value="yes" lay-verify="required" checked/>
         </div>
diff --git a/payapi/src/main/resources/templates/system/shop/configpara.html b/payapi/src/main/resources/templates/system/shop/configpara.html
index 70dc1b5..8fb337b 100644
--- a/payapi/src/main/resources/templates/system/shop/configpara.html
+++ b/payapi/src/main/resources/templates/system/shop/configpara.html
@@ -11,10 +11,10 @@
 
     <div class="layui-form-item" th:if="${configlist.size()} gt 0" th:each="config:${configlist}">
         <div class="layui-input-block" style="margin:0;display: inline;float: left;width: 25%;">
-            <label class="layui-form-label" style="float: right;width: 100%;" th:text="${config.configid}">参数名</label>
+            <label class="layui-form-label" style="float: right;width: 100%;" th:text="${config.configName}">参数名</label>
         </div>
         <div class="layui-input-block" style="margin:0;display: inline;float: right;width: 75%;">
-            <input type="text" th:name="${config.configid}" class="layui-input" th:value="${config.configValue}" th:placeholder="${config.configName}" autocomplete="off"/>
+            <input type="text" th:name="${config.configid}" class="layui-input" th:value="${config.configValue}" th:placeholder="${config.configid}" autocomplete="off"/>
         </div>
     </div>
 
diff --git a/payapi/src/main/resources/templates/system/shop/index.html b/payapi/src/main/resources/templates/system/shop/index.html
index 61e7cc7..f0d145d 100644
--- a/payapi/src/main/resources/templates/system/shop/index.html
+++ b/payapi/src/main/resources/templates/system/shop/index.html
@@ -140,8 +140,8 @@
                 [   {align: 'center', title: '操作', align: 'center', width: 260, fixed: 'left', toolbar: '#shop-manager-table-bar'},
                     {
                         field: 'shopid',
-                        title: '商户号',
-                        width: 100,
+                        title: '商户序号',
+                        width: 120,
                         align: 'center',
                         sort: true
                     },
@@ -181,7 +181,7 @@
                     },
                     {
                         field: 'shopaccno',
-                        title: '商户账号',
+                        title: '商户编码',
                         align: 'center',
                         width: 120,
                         sort: true,
diff --git a/payapi/src/main/resources/templates/system/shop/opercheck.html b/payapi/src/main/resources/templates/system/shop/opercheck.html
index c9450e7..972939c 100644
--- a/payapi/src/main/resources/templates/system/shop/opercheck.html
+++ b/payapi/src/main/resources/templates/system/shop/opercheck.html
@@ -18,19 +18,19 @@
                     <div th:if="${shop.shoptype} eq 'normal' " class="layui-input" style="padding-top: 8px;">结算商户</div>
                 </div>
                 <div class="layui-form-mid layui-word-aux">
-                    注意：商户组无商户账号，且能创建下级商户。结算商户是叶子商户，会创建商户账号。保存后无法修改！！！
+                    注意：商户组无商户编码，且能创建下级商户。结算商户是叶子商户，会创建商户编码。保存后无法修改！！！
                 </div>
             </div>
             <div class="layui-card-body">
                 <div class="layui-form-item">
                     <div class="layui-inline">
-                        <label class="layui-form-label" style="width: 100px;">商户号</label>
+                        <label class="layui-form-label" style="width: 100px;">商户序号</label>
                         <div class="layui-input-inline">
                             <div class="layui-input" style="padding-top: 8px;">[[${shop.shopid}]]</div>
                         </div>
                     </div>
                     <div class="layui-inline">
-                        <label class="layui-form-label" style="width: 100px;">商户账号</label>
+                        <label class="layui-form-label" style="width: 100px;">商户编码</label>
                         <div class="layui-input-inline">
                             <div class="layui-input" style="padding-top: 8px;">[[${shop.shopaccno}]]</div>
                         </div>
@@ -39,7 +39,7 @@
                 <div class="layui-form-item">
                     <div class="layui-inline">
                         <label class="layui-form-label" style="width: 100px;"><span
-                                style="color: red;">*</span>上级商户号</label>
+                                style="color: red;">*</span>上级商户序号</label>
                         <div class="layui-input-inline">
                             <div class="layui-input" style="padding-top: 8px;">[[${shop.fshopname}]]</div>
                         </div>
diff --git a/payapi/src/main/resources/templates/system/shop/shopdetail.html b/payapi/src/main/resources/templates/system/shop/shopdetail.html
index 148225a..6ccb40e 100644
--- a/payapi/src/main/resources/templates/system/shop/shopdetail.html
+++ b/payapi/src/main/resources/templates/system/shop/shopdetail.html
@@ -21,20 +21,20 @@
                     </select>
                 </div>
                 <div class="layui-form-mid layui-word-aux">
-                    注意：商户组无商户账号，且能创建下级商户。结算商户是叶子商户，会创建商户账号。保存后无法修改！！！
+                    注意：商户组无商户编码，且能创建下级商户。结算商户是叶子商户，会创建商户编码。保存后无法修改！！！
                 </div>
             </div>
             <div class="layui-card-body">
                 <div class="layui-form-item">
                     <div class="layui-inline">
-                        <label class="layui-form-label" style="width: 100px;">商户号</label>
+                        <label class="layui-form-label" style="width: 100px;">商户序号</label>
                         <div class="layui-input-inline">
                             <div class="layui-input" style="padding-top: 8px;">[[${shop.shopid}]]</div>
                             <input type="hidden" id="hidden-shop-detail-fshopid" th:value="${shop.fshopid}"/>
                         </div>
                     </div>
                     <div class="layui-inline">
-                        <label class="layui-form-label" style="width: 100px;">商户账号</label>
+                        <label class="layui-form-label" style="width: 100px;">商户编号</label>
                         <div class="layui-input-inline">
                             <div class="layui-input" style="padding-top: 8px;">[[${shop.shopaccno}]]</div>
                         </div>
@@ -43,7 +43,7 @@
                 <div class="layui-form-item">
                     <div class="layui-inline">
                         <label class="layui-form-label" style="width: 100px;"><span
-                                style="color: red;">*</span>上级商户号</label>
+                                style="color: red;">*</span>上级商户序号</label>
                         <div class="layui-input-inline">
                             <input type="text" name="fshopid" id="shop-detail-fshopid" lay-filter="shop-detail-fshopid"
                                    class="layui-input" autocomplete="off" placeholder="请选择"
diff --git a/payapi/src/main/resources/templates/system/shop/updateshop.html b/payapi/src/main/resources/templates/system/shop/updateshop.html
index da90dc3..1314aca 100644
--- a/payapi/src/main/resources/templates/system/shop/updateshop.html
+++ b/payapi/src/main/resources/templates/system/shop/updateshop.html
@@ -21,13 +21,13 @@
                     </select>
                 </div>
                 <div class="layui-form-mid layui-word-aux">
-                    注意：商户组无商户账号，且能创建下级商户。结算商户是叶子商户，会创建商户账号。保存后无法修改！！！
+                    注意：商户组无商户编码，且能创建下级商户。结算商户是叶子商户，会创建商户编码。保存后无法修改！！！
                 </div>
             </div>
             <div class="layui-card-body">
                 <div class="layui-form-item">
                     <div class="layui-inline">
-                        <label class="layui-form-label" style="width: 100px;">商户号</label>
+                        <label class="layui-form-label" style="width: 100px;">商户序号</label>
                         <div class="layui-input-inline">
                             <input type="text" name="shopid" class="layui-input" style="background-color: #f1f1f1;"
                                    id="shop-update-shopid" th:value="${shop.shopid}"
@@ -36,7 +36,7 @@
                         </div>
                     </div>
                     <div class="layui-inline">
-                        <label class="layui-form-label" style="width: 100px;">商户账号</label>
+                        <label class="layui-form-label" style="width: 100px;">商户编码</label>
                         <div class="layui-input-inline">
                             <input type="text" name="shopaccno" autocomplete="off" style="background-color: #f1f1f1;"
                                    class="layui-input" readonly="readonly" th:value="${shop.shopaccno}" />
@@ -46,7 +46,7 @@
                 <div class="layui-form-item">
                     <div class="layui-inline">
                         <label class="layui-form-label" style="width: 100px;"><span
-                                style="color: red;">*</span>上级商户号</label>
+                                style="color: red;">*</span>上级商户序号</label>
                         <div class="layui-input-inline">
                             <input type="text" name="fshopid" id="shop-update-fshopid" lay-filter="shop-update-fshopid"
                                    class="layui-input" autocomplete="off" placeholder="请选择"
@@ -69,7 +69,7 @@
                     <label class="layui-form-label" style="width: 90px;"><span
                             style="color: red;">*</span>营业执照编号</label>
                     <div class="layui-input-inline" style="width: 525px;">
-                        <input name="businessLicenseNo" id="shop-update-businessLicenseNo" class="layui-input"
+                        <input name="businessLicenseNo" id="shop-update-businessLicenseNo" class="layui-input" maxlength="18"
                                autocomplete="off" th:value="${shop.businessLicenseNo}" />
                     </div>
                 </div>
@@ -243,7 +243,7 @@
             var tel = $("#shop-update-tel").val();
             var token = $("meta[name='_csrf_token']").attr("value");
             if (isempty(shopid)) {
-                layer.msg("商户ID为空，请返回重新操作", {icon: 2, time: 1000});
+                layer.msg("商户序号为空，请返回重新操作", {icon: 2, time: 1000});
                 $("#shop-update-shoptype").focus();
                 return;
             }
@@ -266,7 +266,12 @@
                     layer.msg("请填写商户营业执照编号", {icon: 2, time: 1000});
                     $("#shop-update-businessLicenseNo").focus();
                     return;
+                }else if($.trim(businessLicenseNo).length != 18 && $.trim(businessLicenseNo).length != 15){
+                    layer.msg("请正确填写商户营业执照编号", {icon: 2, time: 1000});
+                    $("#shop-update-businessLicenseNo").focus();
+                    return;
                 }
+
                 if (isempty(taxRegistrationNo)) {
                     layer.msg("请填写商户税务登记证号", {icon: 2, time: 1000});
                     $("#shop-update-taxRegistrationNo").focus();
@@ -294,6 +299,12 @@
                 }
             }
 
+            if (!isempty(businessLicenseNo) && $.trim(businessLicenseNo).length != 18 && $.trim(businessLicenseNo).length != 15) {
+                layer.msg("请正确填写商户营业执照编号", {icon: 2, time: 1000});
+                $("#shop-update-businessLicenseNo").focus();
+                return;
+            }
+
             layer.confirm("确定要保存吗？", function () {
                 admin.go('[[@{/shop/updateshop}]]', {
                     shopid: shopid,
