增加了设备请求API接口
diff --git a/src/main/kotlin/com/supwisdom/dlpay/water/api_request_param.kt b/src/main/kotlin/com/supwisdom/dlpay/water/api_request_param.kt
new file mode 100644
index 0000000..9ac3ca6
--- /dev/null
+++ b/src/main/kotlin/com/supwisdom/dlpay/water/api_request_param.kt
@@ -0,0 +1,136 @@
+package com.supwisdom.dlpay.water
+
+import com.supwisdom.dlpay.exception.RequestParamCheckException
+import com.supwisdom.dlpay.framework.util.APIRequestParam
+import com.supwisdom.dlpay.framework.util.DateUtil
+import com.supwisdom.dlpay.framework.util.Sign
+import com.supwisdom.dlpay.framework.util.TradeErrorCode
+
+class DeviceLoginParam : APIRequestParam() {
+ @Sign
+ var deviceNo: String = ""
+
+ @Sign
+ var deviceDate: String = ""
+
+ @Sign
+ var deviceTime: String = ""
+
+ override fun checkParam(): Boolean {
+ if (deviceNo.length != 8 || deviceNo.any { it !in '0'..'9' }) {
+ throw RequestParamCheckException(TradeErrorCode.INPUT_DATA_ERROR, "设备ID号长度不符")
+ }
+
+ if (!DateUtil.checkDatetimeValid(deviceDate, DateUtil.DATE_FMT)
+ || !DateUtil.checkDatetimeValid(deviceTime, DateUtil.TIME_FMT)) {
+ throw RequestParamCheckException(TradeErrorCode.INPUT_DATA_ERROR, "设备日期时间错误")
+ }
+ return true
+ }
+}
+
+class DeviceLineCheckParam : APIRequestParam() {
+ @Sign
+ var deviceNo: String = ""
+
+ @Sign
+ var deviceDate: String = ""
+
+ @Sign
+ var deviceTime: String = ""
+
+ @Sign
+ var offlineRecordCount: Int = 0
+
+ override fun checkParam(): Boolean {
+ if (deviceNo.length != 8 || deviceNo.any { it !in '0'..'9' }) {
+ throw RequestParamCheckException(TradeErrorCode.INPUT_DATA_ERROR, "设备ID号长度不符")
+ }
+
+ if (!DateUtil.checkDatetimeValid(deviceDate, DateUtil.DATE_FMT)
+ || !DateUtil.checkDatetimeValid(deviceTime, DateUtil.TIME_FMT)) {
+ throw RequestParamCheckException(TradeErrorCode.INPUT_DATA_ERROR, "设备日期时间错误")
+ }
+ return true
+ }
+
+}
+
+class CardPayRequest : APIRequestParam() {
+ @Sign
+ var deviceNo: String = ""
+
+ @Sign
+ var deviceDate: String = ""
+
+ @Sign
+ var deviceTime: String = ""
+
+ @Sign
+ var cardNo: String = ""
+
+ override fun checkParam(): Boolean {
+ if (deviceNo.length != 8 || deviceNo.any { it !in '0'..'9' }) {
+ throw RequestParamCheckException(TradeErrorCode.INPUT_DATA_ERROR, "设备ID号长度不符")
+ }
+
+ if (!DateUtil.checkDatetimeValid(deviceDate, DateUtil.DATE_FMT)
+ || !DateUtil.checkDatetimeValid(deviceTime, DateUtil.TIME_FMT)) {
+ throw RequestParamCheckException(TradeErrorCode.INPUT_DATA_ERROR, "设备日期时间错误")
+ }
+
+ if (cardNo.isEmpty()) {
+ throw RequestParamCheckException(TradeErrorCode.INPUT_DATA_ERROR,
+ "卡号长度错误")
+ }
+ return true
+ }
+}
+
+class QrcodePayRequest : APIRequestParam() {
+ @Sign
+ var deviceNo: String = ""
+
+ @Sign
+ var deviceDate: String = ""
+
+ @Sign
+ var deviceTime: String = ""
+
+ override fun checkParam(): Boolean {
+ if (deviceNo.length != 8 || deviceNo.any { it !in '0'..'9' }) {
+ throw RequestParamCheckException(TradeErrorCode.INPUT_DATA_ERROR, "设备ID号长度不符")
+ }
+
+ if (!DateUtil.checkDatetimeValid(deviceDate, DateUtil.DATE_FMT)
+ || !DateUtil.checkDatetimeValid(deviceTime, DateUtil.TIME_FMT)) {
+ throw RequestParamCheckException(TradeErrorCode.INPUT_DATA_ERROR, "设备日期时间错误")
+ }
+
+ return true
+ }
+}
+
+class UploadRecordRequest : APIRequestParam() {
+ @Sign
+ var deviceNo: String = ""
+
+ @Sign
+ var deviceDate: String = ""
+
+ @Sign
+ var deviceTime: String = ""
+
+ override fun checkParam(): Boolean {
+ if (deviceNo.length != 8 || deviceNo.any { it !in '0'..'9' }) {
+ throw RequestParamCheckException(TradeErrorCode.INPUT_DATA_ERROR, "设备ID号长度不符")
+ }
+
+ if (!DateUtil.checkDatetimeValid(deviceDate, DateUtil.DATE_FMT)
+ || !DateUtil.checkDatetimeValid(deviceTime, DateUtil.TIME_FMT)) {
+ throw RequestParamCheckException(TradeErrorCode.INPUT_DATA_ERROR, "设备日期时间错误")
+ }
+
+ return true
+ }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..d3988f4
--- /dev/null
+++ b/src/main/kotlin/com/supwisdom/dlpay/water/controller/api_controller.kt
@@ -0,0 +1,33 @@
+package com.supwisdom.dlpay.water.controller
+
+import com.supwisdom.dlpay.water.*
+import org.springframework.http.ResponseEntity
+import org.springframework.web.bind.annotation.*
+
+@RestController("/api")
+class WaterApiController {
+ @GetMapping("/login")
+ fun deviceLogin(@RequestBody param: DeviceLoginParam): ResponseEntity<Any> {
+ TODO("")
+ }
+
+ @RequestMapping("/linecheck", method = [RequestMethod.GET, RequestMethod.POST])
+ fun deviceLineCheck(@RequestBody param: DeviceLineCheckParam): ResponseEntity<Any> {
+ TODO("")
+ }
+
+ @PostMapping("/card/purseinit")
+ fun cardPurseInit(@RequestBody param: CardPayRequest): ResponseEntity<Any> {
+ TODO("")
+ }
+
+ @PostMapping("/qrcode/init")
+ fun qrcodePayInit(@RequestBody param: QrcodePayRequest): ResponseEntity<Any> {
+ TODO("")
+ }
+
+ @PostMapping("/uploadrecord")
+ fun transdtlUpload(@RequestBody param: UploadRecordRequest): ResponseEntity<Any> {
+ TODO("")
+ }
+}
\ No newline at end of file