修改了设备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
}
});
}