修改了设备api中的参数由查询而来
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/WaterDeviceParam.java b/src/main/java/com/supwisdom/dlpay/framework/util/WaterDeviceParam.java
index 25df4ed..8998a41 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/util/WaterDeviceParam.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/util/WaterDeviceParam.java
@@ -1,10 +1,34 @@
 package com.supwisdom.dlpay.framework.util;
 
 public class WaterDeviceParam {
+    //  系统日期
+    public static final String systemDate = "sysdate";
+    //  系统时间
+    public static final String systemTime = "systime";
+    //  设备状态
+    public static final String deviceStatus = "status";
     //  设备最大脱机时间
     public static final String devOfflineMaxHour = "devOfflineMaxHour";
     //  每百毫升脉冲数
     public static final String pulseInHML = "pulseInHML";
-    //  系统时间
-    public static final String systemTime = "systemTime";
+    //  系统日期时间
+    public static final String systemDateTime = "systemDateTime";
+    //  刷卡单次出水上限
+    public static final String waterLimit = "waterlimit";
+    //  单位扣费金额
+    public static final String feeAmount = "feeamount";
+    //  交易号
+    public static final String billNo = "billno";
+    //  从第多少百毫升开始计费
+    public static final String feeUnit = "feeunit";
+    //  二维码失效时间
+    public static final String vaildTime = "vaildtime";
+    //  二维码的url
+    public static final String url = "url";
+    //  用户授权认证状态
+    public static final String authStatus = "authstatus";
+    //  订单支付状态
+    public static final String payStatus = "paystatus";
+    //  订单已支付金额
+    public static final String paidAmount = "paidAmount";
 }
diff --git a/src/main/java/com/supwisdom/dlpay/water/service/DeviceService.java b/src/main/java/com/supwisdom/dlpay/water/service/DeviceService.java
index 66e1d86..7d73588 100644
--- a/src/main/java/com/supwisdom/dlpay/water/service/DeviceService.java
+++ b/src/main/java/com/supwisdom/dlpay/water/service/DeviceService.java
@@ -16,28 +16,43 @@
 public interface DeviceService {
     @Transactional(rollbackFor = Exception.class)
     boolean existSubDevice(Integer areano);
+
     @Transactional(rollbackFor = Exception.class)
     PageResult<TDevice> queryDeviceList(DeviceSearchBean param);
+
     @Transactional(rollbackFor = Exception.class)
     TDevice queryDeviceById(Integer deviceid);
+
     @Transactional(rollbackFor = Exception.class)
     boolean updateDevice(TDevice device);
+
     @Transactional(rollbackFor = Exception.class)
     boolean saveDevice(TDevice device);
+
     @Transactional(rollbackFor = Exception.class)
     Map<String, Object> checkParams(TDevice device);
+
     @Transactional(rollbackFor = Exception.class)
     boolean deleteDevice(Integer deviceid);
+
     @Transactional(rollbackFor = Exception.class)
     List<TDictionary> groupStatus();
+
     @Transactional(rollbackFor = Exception.class)
     PageResult<TDevice> queryDeviceByParams(DeviceSearchBean param);
+
     @Transactional(rollbackFor = Exception.class)
     PageResult<TDevice> queryAreaname(Page<TDevice> devicePage);
+
     @Transactional(rollbackFor = Exception.class)
-    Map<String,Object> deviceLogin(DeviceLoginParam param);
+    Map<String, Object> deviceLogin(DeviceLoginParam param);
+
     @Transactional(rollbackFor = Exception.class)
     TDevice lineCheck(DeviceLineCheckParam param);
+
     @Transactional(rollbackFor = Exception.class)
     TFeeConfig queryTFeeConfigByDeviceno(String deviceno);
+
+    @Transactional(rollbackFor = Exception.class)
+    Map<String, String> getParaMapByDeviceno(String deviceno);
 }
diff --git a/src/main/java/com/supwisdom/dlpay/water/service/impl/DeviceServiceImpl.java b/src/main/java/com/supwisdom/dlpay/water/service/impl/DeviceServiceImpl.java
index 2098022..ae40828 100644
--- a/src/main/java/com/supwisdom/dlpay/water/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/water/service/impl/DeviceServiceImpl.java
@@ -246,13 +246,14 @@
         return null;
     }
 
-    private Map<String, String> getParaMapByDeviceno(String deviceno) {
+    @Override
+    public Map<String, String> getParaMapByDeviceno(String deviceno) {
         Query query = entityManager.createNativeQuery(paraSql);
         query.setParameter(1, deviceno);
         query.unwrap(NativeQueryImpl.class).setResultTransformer(Transformers.aliasToBean(TAreapara.class));
         List<TAreapara> list = query.getResultList();
         if (list == null || list.size() == 0 || list.get(0).getParaname() == null) {
-            throw new RuntimeException("该设备未绑定参数,签到失败");
+            throw new RuntimeException("该设备未绑定参数,请求失败!");
         }
         return list.stream().collect(Collectors.toMap(TAreapara::getParaname, TAreapara::getParaval));
     }
diff --git a/src/main/kotlin/com/supwisdom/dlpay/water/controller/api_controller.kt b/src/main/kotlin/com/supwisdom/dlpay/water/controller/api_controller.kt
index 2545a7c..948aa7d 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/water/controller/api_controller.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/water/controller/api_controller.kt
@@ -45,14 +45,14 @@
                 return ResponseEntity.ok(ResponseBodyBuilder.create()
                         .data(WaterDeviceParam.devOfflineMaxHour, result[WaterDeviceParam.devOfflineMaxHour]!!)
                         .data(WaterDeviceParam.pulseInHML, result[WaterDeviceParam.pulseInHML]!!)
-                        .data(WaterDeviceParam.systemTime, systemUtilService.sysdatetime.hostdatetime)
+                        .data(WaterDeviceParam.systemDateTime, systemUtilService.sysdatetime.hostdatetime)
                         .success())
             }
             return ResponseEntity.ok(ResponseBodyBuilder.create()
                     .fail(WaterErrorCode.DATA_NOTFOUND_ERROR, result["errorMsg"].toString()))
         } catch (ex: Exception) {
             return ResponseEntity.ok(ResponseBodyBuilder.create()
-                    .exception(WaterErrorCode.PROCESS_ERROR, ex, "系统出错"))
+                    .exception(WaterErrorCode.PROCESS_ERROR, ex, "系统处理异常"))
         }
     }
 
@@ -64,9 +64,9 @@
                     ?: return ResponseEntity.ok(ResponseBodyBuilder.create()
                             .fail(WaterErrorCode.DATA_NOTFOUND_ERROR, "没有编号为${param.deviceno}的设备"))
             return ResponseEntity.ok(ResponseBodyBuilder.create()
-                    .data("sysdate", systemUtilService.sysdatetime.hostdate)
-                    .data("systime", systemUtilService.sysdatetime.hosttime)
-                    .data("status", device.deviceStatus)
+                    .data(WaterDeviceParam.systemDate, systemUtilService.sysdatetime.hostdate)
+                    .data(WaterDeviceParam.systemTime, systemUtilService.sysdatetime.hosttime)
+                    .data(WaterDeviceParam.deviceStatus, device.deviceStatus)
                     .success())
         } catch (ex: Exception) {
             return ResponseEntity.ok(ResponseBodyBuilder.create()
@@ -81,9 +81,7 @@
                     ?: return ResponseEntity.ok(ResponseBodyBuilder.create()
                             .fail(WaterErrorCode.DATA_NOTFOUND_ERROR, "未查询到您的身份信息"))
             //2. 通过 deviceno 查询设备费率参数
-            val feeConfig = deviceService.queryTFeeConfigByDeviceno(param.deviceno)
-                    ?: return ResponseEntity.ok(ResponseBodyBuilder.create()
-                            .fail(WaterErrorCode.DATA_NOTFOUND_ERROR, "未查询到该设备的费率信息"))
+            val deviceParam = deviceService.getParaMapByDeviceno(param.deviceno)
             //3. 创建 transdtl 记录初始流水
             val trans = TTransdtl().apply {
                 billno = systemUtilService.refno
@@ -102,10 +100,10 @@
             val savedTrans = transdtlService.createNewTransdtl(trans)
             //4. 将流水 billno 和费率信息返回给终端
             return ResponseEntity.ok(ResponseBodyBuilder.create()
-                    .data("billno", savedTrans.billno)
-                    .data("feeamount", feeConfig.amount)
-                    .data("waterlimit", feeConfig.maxWaterLitre)
-                    .data("feeunit", 0)
+                    .data(WaterDeviceParam.billNo, savedTrans.billno)
+                    .data(WaterDeviceParam.feeAmount, deviceParam[WaterDeviceParam.feeAmount]!!)
+                    .data(WaterDeviceParam.waterLimit, deviceParam[WaterDeviceParam.waterLimit]!!)
+                    .data(WaterDeviceParam.feeUnit, deviceParam[WaterDeviceParam.feeUnit]!!)
                     .success())
         } catch (ex: Exception) {
             return ResponseEntity.ok(ResponseBodyBuilder.create()
@@ -116,9 +114,7 @@
     @PostMapping("/qrcode/init")
     fun qrcodePayInit(@RequestBody param: QrcodePayRequest): ResponseEntity<Any> {
         try {
-            val feeConfig = deviceService.queryTFeeConfigByDeviceno(param.deviceno)
-                    ?: return ResponseEntity.ok(ResponseBodyBuilder.create()
-                            .fail(WaterErrorCode.DATA_NOTFOUND_ERROR, "未查询到该设备的费率信息"))
+            val deviceParam = deviceService.getParaMapByDeviceno(param.deviceno)
             //1. 创建并记录初始流水
             val trans = TTransdtl().apply {
                 billno = systemUtilService.refno
@@ -138,9 +134,9 @@
             val url = ShortURLUtil.doGetSinaShortUrl(
                     businessparaDao.findByParakey("water_auth_url").paraval + savedTrans.billno)
             return ResponseEntity.ok(ResponseBodyBuilder.create()
-                    .data("billno", savedTrans.billno)
-                    .data("url", url)
-                    .data("vaildtime", 180)
+                    .data(WaterDeviceParam.billNo, savedTrans.billno)
+                    .data(WaterDeviceParam.url, url)
+                    .data(WaterDeviceParam.vaildTime, deviceParam[WaterDeviceParam.vaildTime]!!)
                     .success())
         } catch (ex: Exception) {
             return ResponseEntity.ok(ResponseBodyBuilder.create()
@@ -150,17 +146,17 @@
 
     @GetMapping("/qrcode/query")
     fun qrcodeQuery(@RequestBody param: QrcodeQueryRequest): ResponseEntity<Any> {
-            val feeConfig = deviceService.queryTFeeConfigByDeviceno(param.deviceno)
-                    ?: return ResponseEntity.ok(ResponseBodyBuilder.create()
-                            .fail(WaterErrorCode.DATA_NOTFOUND_ERROR, "未查询到该设备的费率信息"))
+            val deviceParam = deviceService.getParaMapByDeviceno(param.deviceno)
             val trans = transdtlService.queryTrans(param)
             return ResponseEntity.ok(ResponseBodyBuilder.create()
-                    .data("billno", trans.billno)
-                    .data("authstatus", trans.authStatus)
-                    .data("paystatus", 2)
-                    .data("feeamount", feeConfig.amount)
-                    .data("feeunit", 0)
-                    .data("paidAmount", 0)
+                    .data(WaterDeviceParam.billNo, trans.billno)
+                    .data(WaterDeviceParam.authStatus, trans.authStatus)
+                    //2为代扣模式
+                    .data(WaterDeviceParam.payStatus, 2)
+                    .data(WaterDeviceParam.feeAmount, deviceParam[WaterDeviceParam.feeAmount]!!)
+                    .data(WaterDeviceParam.feeUnit, deviceParam[WaterDeviceParam.feeUnit]!!)
+                    //  如果订单为已支付状态,支付金额多少
+                    .data(WaterDeviceParam.paidAmount, 0)
                     .success())
     }
 
@@ -185,7 +181,7 @@
     fun transdtlUpload(@RequestBody param: UploadRecordRequest): ResponseEntity<Any> {
         // 1. 根据 billno 查询 transdtl , 并加锁
         val dtl = transdtlService.saveDeviceDtlData(param)
-        return ResponseEntity.ok(ResponseBodyBuilder.create().data("billno", dtl.billno)
+        return ResponseEntity.ok(ResponseBodyBuilder.create().data(WaterDeviceParam.billNo, dtl.billno)
                 .success())
     }
 }
\ No newline at end of file
diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql
index 7e033e6..0783339 100644
--- a/src/main/resources/data.sql
+++ b/src/main/resources/data.sql
@@ -111,7 +111,7 @@
 INSERT INTO "tb_feeconfig"("id", "amount", "max_water_litre", "cfg_version") VALUES (1, 1, 50, NULL);
 INSERT INTO "tb_person_identity"("third_uid", "createtime", "lockflag", "lossflag", "status", "userid") VALUES ('1', NULL, 0, 0, '1', 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
 INSERT INTO "tb_person"("userid", "addr", "country", "email", "idno", "idtype", "lastsaved", "mobile", "name", "nation", "sex", "status", "tel", "zipcode") VALUES ('d1yctWs5+ks0iQN3m9bUvRHus6HbKbrs', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '王富贵', NULL, NULL, '1', NULL, NULL);
-INSERT INTO "tb_businesspara"("parakey", "paraval") VALUES ('water_auth_url', 'http://172.28.43.20:8080/water/api/confirm?billno=');
+INSERT INTO "tb_businesspara"("parakey", "paraval") VALUES ('water_auth_url', 'http://172.28.43.20:8080/water/api/device/confirm?billno=');
 
 INSERT INTO "tb_dictionary"("dictval", "dicttype", "dictcaption", "dicttypename") VALUES ('正常', 1, 'normal', '设备状态');
 INSERT INTO "tb_dictionary"("dictval", "dicttype", "dictcaption", "dicttypename") VALUES ('注销', 1, 'closed', '设备状态');
@@ -119,15 +119,16 @@
 
 INSERT INTO "tb_areapara_group"("groupid", "globalflag", "groupname", "lastsaved", "verno") VALUES (1, 't', '默认参数组', '20190628133646', 7);
 
-INSERT INTO "tb_areapara"("paraname", "groupid", "maxval", "minval", "paradesc", "paraval", "valtype") VALUES ('water_limit', 1, '500', '1', '单次用水上限(单位:百毫升)', '200', 'N');
+INSERT INTO "tb_areapara"("paraname", "groupid", "maxval", "minval", "paradesc", "paraval", "valtype") VALUES ('waittime', 1, '180', '60', '出水等待时间(单位:秒):超出这个时间,自动关闭水阀门', '90', 'N');
+INSERT INTO "tb_areapara"("paraname", "groupid", "maxval", "minval", "paradesc", "paraval", "valtype") VALUES ('vaildtime', 1, '240', '60', '二维码有效时间(单位:秒)', '180', 'N');
 INSERT INTO "tb_areapara"("paraname", "groupid", "maxval", "minval", "paradesc", "paraval", "valtype") VALUES ('app_water_limit', 1, '500', '1', 'app单次用水上限(单位:百毫升)', '200', 'N');
-INSERT INTO "tb_areapara"("paraname", "groupid", "maxval", "minval", "paradesc", "paraval", "valtype") VALUES ('code_vaildtime', 1, '240', '60', '二维码有效时间(单位:秒)', '180', 'N');
-INSERT INTO "tb_areapara"("paraname", "groupid", "maxval", "minval", "paradesc", "paraval", "valtype") VALUES ('wait_water_time', 1, '180', '60', '出水等待时间(单位:秒):超出这个时间,自动关闭水阀门', '90', 'N');
-INSERT INTO "tb_areapara"("paraname", "groupid", "maxval", "minval", "paradesc", "paraval", "valtype") VALUES ('dev_offline_maxHour', 1, '168', '1', '设备最大脱机时间(单位:小时)', '72', 'N');
 INSERT INTO "tb_areapara"("paraname", "groupid", "maxval", "minval", "paradesc", "paraval", "valtype") VALUES ('amount_limit', 1, '50', '1', '单次消费金额上限(单位:元)', '30', 'N');
 INSERT INTO "tb_areapara"("paraname", "groupid", "maxval", "minval", "paradesc", "paraval", "valtype") VALUES ('month_amount_limit', 1, '1500', '30', '月累计消费金额上限(单位:元)', '900', 'N');
-INSERT INTO "tb_areapara"("paraname", "groupid", "maxval", "minval", "paradesc", "paraval", "valtype") VALUES ('fee_amount', 1, '100', '1', '单位扣费金额(单位:百毫升/分)', '10', 'N');
-
+INSERT INTO "tb_areapara"("paraname", "groupid", "maxval", "minval", "paradesc", "paraval", "valtype") VALUES ('devOfflineMaxHour', 1, '168', '1', '设备最大脱机时间(单位:小时)', '72', 'N');
+INSERT INTO "tb_areapara"("paraname", "groupid", "maxval", "minval", "paradesc", "paraval", "valtype") VALUES ('pulseInHML', 1, '100', '1', '每百毫升流量计的脉冲数(单位:个)', '40', 'N');
+INSERT INTO "tb_areapara"("paraname", "groupid", "maxval", "minval", "paradesc", "paraval", "valtype") VALUES ('waterlimit', 1, '500', '1', '单次用水上限(单位:百毫升)', '300', 'N');
+INSERT INTO "tb_areapara"("paraname", "groupid", "maxval", "minval", "paradesc", "paraval", "valtype") VALUES ('feeamount', 1, '100', '1', '单位扣费金额(单位:百毫升/分)', '10', 'N');
+INSERT INTO "tb_areapara"("paraname", "groupid", "maxval", "minval", "paradesc", "paraval", "valtype") VALUES ('feeunit', 1, '10', '0', '从第多少百毫升开始计费(单位:百毫升)', '0', 'N');
 
 
 commit;
\ No newline at end of file
diff --git a/src/main/resources/templates/system/areapara/index.html b/src/main/resources/templates/system/areapara/index.html
index ae43566..8470707 100644
--- a/src/main/resources/templates/system/areapara/index.html
+++ b/src/main/resources/templates/system/areapara/index.html
@@ -73,6 +73,7 @@
                 title: "新增设备参数组",
                 path: '[[@{/areapara/loadadd}]]',
                 area: '1200px',
+                offset: '10px',
                 finish: function () {
                     table.reload('areaparagroupTable',{
                         where:{groupname:""},
diff --git a/src/main/resources/templates/system/region/index.html b/src/main/resources/templates/system/region/index.html
index 854747f..515ec25 100644
--- a/src/main/resources/templates/system/region/index.html
+++ b/src/main/resources/templates/system/region/index.html
@@ -253,10 +253,12 @@
                         , click: function (region) {
                             if (region.data.children.size != 0) {
                                 table.reload("regiontable", {
-                                    url: "[[@{/region/list/}]]" + region.data.id
+                                    url: "[[@{/region/search}]]",
+                                    where:{
+                                        searchkey:region.data.title
+                                    }
                                     , page: {
-                                        curr: 1,
-                                        limit: 2
+                                        curr: 1
                                     }
                                 });
                             }