修改日累计bug
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/impl/UserDataServiceImpl.java b/src/main/java/com/supwisdom/dlpay/system/service/impl/UserDataServiceImpl.java
index fa55c34..ea422fd 100644
--- a/src/main/java/com/supwisdom/dlpay/system/service/impl/UserDataServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/system/service/impl/UserDataServiceImpl.java
@@ -250,6 +250,12 @@
}
public double subtract(Double minuend,Double subtractor){
+ if (minuend == null) {
+ minuend = 0.0;
+ }
+ if (subtractor == null) {
+ subtractor = 0.0;
+ }
return new BigDecimal(String.valueOf(minuend))
.subtract(new BigDecimal(String.valueOf(subtractor)))
.doubleValue();
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 c77795b..f08f563 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
@@ -103,7 +103,7 @@
}
val notaccAmount = userDataService.subtract(personIdentity.coamount, personIdentity.accamount)
//2. 通过 deviceno 查询设备费率参数
- val todayAmount = collectdtlService.getTodayAmount(personIdentity.person.userid)
+ val todayAmount = collectdtlService.getTodayAmount(personIdentity.person.userid) ?: 0.0
val deviceParam = deviceService.getParaMapByDeviceno(param.deviceno)
var limitmsg = ""
var checkFlag = false
@@ -206,7 +206,19 @@
?: return ResponseEntity.ok(ResponseBodyBuilder.create()
.fail(WaterErrorCode.DATA_NOTFOUND_ERROR, "未查询到您的身份信息"))
val notaccAmount = userDataService.subtract(personIdentity.coamount, personIdentity.accamount)
+ //2. 通过 deviceno 查询设备费率参数
+ val todayAmount = collectdtlService.getTodayAmount(personIdentity.person.userid) ?: 0.0
+ var limitmsg = ""
+ var checkFlag = false
+ if (todayAmount > deviceParam[WaterDeviceParam.dayAmountLimit]!!.toInt()) {
+ limitmsg = "今日消费已达上限"
+ checkFlag = true
+ }
if (notaccAmount > deviceParam[WaterDeviceParam.permitNotAccAmount]!!.toInt()) {
+ limitmsg = "水费欠费已达上限"
+ checkFlag = true
+ }
+ if (checkFlag) {
return ResponseEntity.ok(ResponseBodyBuilder.create()
.data(WaterDeviceParam.cobillNo, "")
.data(WaterDeviceParam.authStatus, "")
@@ -221,7 +233,7 @@
// 如果订单为已支付状态,支付金额多少
.data(WaterDeviceParam.paidAmount, "")
.data(WaterDeviceParam.permit, 1)
- .data(WaterDeviceParam.limitMsg,"限制消费!未扣费金额过多")
+ .data(WaterDeviceParam.limitMsg,limitmsg)
.success())
}
}
diff --git a/src/main/kotlin/com/supwisdom/dlpay/water/service/collectdtl_service.kt b/src/main/kotlin/com/supwisdom/dlpay/water/service/collectdtl_service.kt
index 05cb1c9..74e6124 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/water/service/collectdtl_service.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/water/service/collectdtl_service.kt
@@ -337,7 +337,7 @@
val sql = "select sum(amount) from tb_collectdtl where status in ('wip','success') and userid=:userid and transdate=:date"
val query = em.createNativeQuery(sql)
query.setParameter("userid",userid)
- query.setParameter("date","20190902")
+ query.setParameter("date",systemUtilsService.sysdatetime.hostdate)
return query.singleResult as Double?
}
}
\ No newline at end of file
diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql
index 0fb5bed..df98ad0 100644
--- a/src/main/resources/data.sql
+++ b/src/main/resources/data.sql
@@ -78,7 +78,7 @@
INSERT INTO "tb_areapara"("paraname", "groupid", "maxval", "minval", "paradesc", "paraval", "valtype") VALUES ('waittime', 1, '180', '5', '出水等待时间(单位:秒):超出这个时间,自动关闭水阀门', '90', 'N');
INSERT INTO "tb_areapara"("paraname", "groupid", "maxval", "minval", "paradesc", "paraval", "valtype") VALUES ('app_water_limit', 1, '9999', '1', 'app单次用水上限(单位:百毫升)', '200', 'N');
INSERT INTO "tb_areapara"("paraname", "groupid", "maxval", "minval", "paradesc", "paraval", "valtype") VALUES ('amount_limit', 1, '9999', '1', '单次消费金额上限(单位:分)', '500', 'N');
-INSERT INTO "tb_areapara"("paraname", "groupid", "maxval", "minval", "paradesc", "paraval", "valtype") VALUES ('day_amount_limit', 1, '9999', '30', '日累计消费金额上限(单位:元)', '900', 'N');
+INSERT INTO "tb_areapara"("paraname", "groupid", "maxval", "minval", "paradesc", "paraval", "valtype") VALUES ('day_amount_limit', 1, '9999', '1', '日累计消费金额上限(单位:元)', '30', '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, '9999', '1', '单次用水上限(单位:百毫升)', '300', 'N');