优化了首页菜单栏
diff --git a/src/main/java/com/supwisdom/dlpay/water/pay/WaterPayAsyncTask.java b/src/main/java/com/supwisdom/dlpay/water/pay/WaterPayAsyncTask.java
index 5b2c92a..73d8e69 100644
--- a/src/main/java/com/supwisdom/dlpay/water/pay/WaterPayAsyncTask.java
+++ b/src/main/java/com/supwisdom/dlpay/water/pay/WaterPayAsyncTask.java
@@ -51,7 +51,7 @@
     public void waterPay(Integer cobillno) {
         TCollectdtl collectdtl = collectdtlService.findByCobillnoForUpdate(cobillno);
         if (!TradeDict.DTL_STATUS_WIP.equals(collectdtl.getStatus())) {
-            logger.error("待入账的采集流水"+cobillno+"状态不正确");
+            logger.error("待入账的采集流水" + cobillno + "状态不正确");
             return;
         }
         if (TradeDict.PAY_MODE_CARD.equals(collectdtl.getMode())) {
@@ -85,7 +85,7 @@
             } else if (TradeDict.DTL_STATUS_FAIL.equals(accStatus)) {
                 //  入账流水扣费失败,重新生成入账流水扣费
                 TAccdtl newAccdtl = buildAccdtl(collectdtl);
-                newAccdtl = accdtlService.creatNewAccdtl(newAccdtl,collectdtl.getCobillno());
+                newAccdtl = accdtlService.creatNewAccdtl(newAccdtl, collectdtl.getCobillno());
                 waterPay(newAccdtl);
             } else if (TradeDict.DTL_STATUS_INIT.equals(accStatus) ||
                     TradeDict.DTL_STATUS_WIP.equals(accStatus)) {
@@ -156,20 +156,14 @@
     }
 
     private CitizenCardPayinitParam buildPayInitParam(TAccdtl accdtl) {
-        CitizenCardPayinitParam initParam = null;
-        try {
-            initParam = new CitizenCardPayinitParam();
-            initParam.setBillno(accdtl.getBillno());
-            initParam.setCardNo(accdtl.getCitizenCardno());
-            initParam.setAmount(MoneyUtil.YuanToFen(accdtl.getAmount()));
-            initParam.setDtltype(Constants.DTLTYPE_WATER);
-            initParam.setTransdate(accdtl.getTransDate());
-            initParam.setTranstime(accdtl.getTransTime());
-            initParam.setShopaccno(businessparaService.findByParakey(WaterBudinessConstants.WATER_SHOP_ACCNO).getParaval());
-        } catch (Exception e) {
-            e.printStackTrace();
-            throw new RuntimeException();
-        }
+        CitizenCardPayinitParam initParam = new CitizenCardPayinitParam();
+        initParam.setBillno(accdtl.getBillno());
+        initParam.setCardNo(accdtl.getCitizenCardno());
+        initParam.setAmount(MoneyUtil.YuanToFen(accdtl.getAmount()));
+        initParam.setDtltype(Constants.DTLTYPE_WATER);
+        initParam.setTransdate(accdtl.getTransDate());
+        initParam.setTranstime(accdtl.getTransTime());
+        initParam.setShopaccno(businessparaService.findByParakey(WaterBudinessConstants.WATER_SHOP_ACCNO).getParaval());
         return initParam;
     }
 
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt b/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt
index af9581b..22591b6 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt
@@ -173,46 +173,6 @@
     }
 }
 
-class CitizenCardPayinitParam : APIRequestParam() {
-    @Sign
-    var cardNo: String = "" //必传
-    @Sign
-    var shopaccno: String = "" //必传
-    @Sign
-    var amount: Int = 0 //必传
-
-    var feelist: List<ConsumeFeetype>? = null //TODO: 怎么拼接签名字符串??
-    @Sign
-    var billno: String = "" //必传
-    @Sign
-    var transdate: String = "" //必传
-    @Sign
-    var transtime: String = "" //必传
-    @Sign
-    var dtltype: String = ""
-
-    override fun checkParam(): Boolean {
-        if (StringUtil.isEmpty(cardNo)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "卡唯一号不能为空")
-        if (StringUtil.isEmpty(shopaccno)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "请指定交易商户")
-        if (amount <= 0) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "交易金额必须大于零")
-        if (StringUtil.isEmpty(billno)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "对接系统唯一订单号不能为空")
-        if (!DateUtil.checkDatetimeValid(transdate, DateUtil.DATE_FMT)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "交易日期错误[yyyyMMdd]")
-        if (!DateUtil.checkDatetimeValid(transtime, DateUtil.TIME_FMT)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "交易时间错误[HHmmss]")
-
-        return true
-    }
-}
-
-class CitizenCardPayfinishParam : APIRequestParam() {
-    @Sign
-    var refno: String = ""
-
-    override fun checkParam(): Boolean {
-        if (StringUtil.isEmpty(refno)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "交易参考号不能为空")
-
-        return true
-    }
-}
 
 class YktCardPayinitParam : APIRequestParam() {
     @Sign
diff --git a/src/main/kotlin/com/supwisdom/dlpay/water/async_tasks.kt b/src/main/kotlin/com/supwisdom/dlpay/water/async_tasks.kt
index 2f27350..3a017ba 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/water/async_tasks.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/water/async_tasks.kt
@@ -30,6 +30,7 @@
 class MyAsyncUncaughtExceptionHandler : AsyncUncaughtExceptionHandler {
     private val logger = KotlinLogging.logger { }
     override fun handleUncaughtException(ex: Throwable, method: Method, vararg params: Any?) {
+        ex.printStackTrace()
         logger.error { "Async Task execute error: <${method.name}>, exception <${ex.message}>" }
     }
 }
diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql
index 65b8569..296df08 100644
--- a/src/main/resources/data.sql
+++ b/src/main/resources/data.sql
@@ -22,16 +22,18 @@
 --Insert into TB_ROLE_FUNCTION (ID,FUNCTIONID,ROLEID) values ('1','1','d1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
 --Insert into TB_ROLE_FUNCTION (ID,FUNCTIONID,ROLEID) values ('2','2','d1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
 
-Insert into TB_FUNCTION (ID,CREATETIME,ISLEAF,LASTSAVED,MENUICON,MENUURL,NAME,ORDERNUM,PARENTID) values ('1',null,0,null,'layui-icon-home','#','主页',1,'-1');
-Insert into TB_FUNCTION (ID,CREATETIME,ISLEAF,LASTSAVED,MENUICON,MENUURL,NAME,ORDERNUM,PARENTID) values ('2',null,1,null,'layui-icon-home','/home/console','控制台',1,'1');
-INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (6, NULL, 1, NULL, 'layui-icon-set', '/region/index', '区域管理', 2, 1);
-INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (7, NULL, 1, NULL, 'layui-icon-set', '/device/index', '设备管理', 3, 1);
-INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (8, NULL, 1, NULL, 'layui-icon-set', '/collectdtl/index', '采集流水查询', 4, 1);
-INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (9, NULL, 1, NULL, 'layui-icon-set', '/dtlcount/index', '流水统计', 6, 1);
-INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (10, NULL, 1, NULL, 'layui-icon-set', '/areapara/index', '设备参数组管理', 7, 1);
-INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (11, NULL, 1, NULL, 'layui-icon-set', '/areaparabind/index', '水控参数区域绑定', 8, 1);
-INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (12, NULL, 1, NULL, 'layui-icon-set', '/accdtl/index', '入账流水查询', 5, 1);
-INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (13, NULL, 1, NULL, 'layui-icon-set', '/useracc/index', '用户账户查询', 9, 1);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (1, NULL, 0, NULL, 'layui-icon-home', '#', '区域管理', 1, -1);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (2, NULL, 1, NULL, NULL, '/region/index', '区域信息管理', 1, 1);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (3, NULL, 1, NULL, NULl, '/areapara/index', '区域设备参数组管理', 2, 1);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (4, NULL, 1, NULL, NULl, '/areaparabind/index', '区域参数组绑定', 3, 1);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (5, NULL, 0, NULL, 'layui-icon-app', '#', '设备管理', 1, -1);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (6, NULL, 1, NULL, NULL, '/device/index', '设备信息管理', 1, 5);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (7, NULL, 0, NULL, 'layui-icon-chart-screen', '#', '流水管理', 1, -1);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (8, NULL, 1, NULL, NULL, '/collectdtl/index', '采集流水查询', 1, 7);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (9, NULL, 1, NULL, NULL, '/accdtl/index', '入账流水查询', 2, 7);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (10, NULL, 1, NULL, NULL, '/dtlcount/index', '流水统计', 3, 7);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (11, NULL, 0, NULL, 'layui-icon-username', '#', '用户管理', 1, -1);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (12, NULL, 1, NULL, NULl, '/useracc/index', '用户信息管理', 1, 11);
 
 Insert into TB_ROLE_FUNCTION (ID,FUNCTIONID,ROLEID) values ('5','5','d1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
 Insert into TB_ROLE_FUNCTION (ID,FUNCTIONID,ROLEID) values ('1','1','d1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
@@ -45,7 +47,6 @@
 INSERT INTO "tb_role_function"("id", "functionid", "permissions", "roleid") VALUES ('10', 10, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
 INSERT INTO "tb_role_function"("id", "functionid", "permissions", "roleid") VALUES ('11', 11, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
 INSERT INTO "tb_role_function"("id", "functionid", "permissions", "roleid") VALUES ('12', 12, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
-INSERT INTO "tb_role_function"("id", "functionid", "permissions", "roleid") VALUES ('13', 13, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');