用户消费时校验眼行卡是否签约
diff --git a/build.gradle b/build.gradle
index 0445199..bed1563 100644
--- a/build.gradle
+++ b/build.gradle
@@ -93,7 +93,7 @@
     compileOnly 'org.projectlombok:lombok:1.18.8'
     annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
     
-    compile 'com.supwisdom:payapi-sdk:1.0.10'
+    compile 'com.supwisdom:payapi-sdk:1.0.28-1-g7415df3'
     
 //    providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
     testImplementation 'org.springframework.boot:spring-boot-starter-test'
diff --git a/src/main/java/com/supwisdom/dlpay/util/ConstantUtil.java b/src/main/java/com/supwisdom/dlpay/util/ConstantUtil.java
index a525547..1e55b1c 100644
--- a/src/main/java/com/supwisdom/dlpay/util/ConstantUtil.java
+++ b/src/main/java/com/supwisdom/dlpay/util/ConstantUtil.java
@@ -27,7 +27,8 @@
   public static final String FEETYPE_DISCOUNT = "discount";
   public static final String[] FEETYPE_DICTS = {"none", "mealer", "discount"}; //联动
 
-
+  public static final String CARDTYPE_CITIZENCARD = "citizencard";
+  public static final String CARDTYPE_BANKCARD = "bankcard";
   /**
    * TDictionary的dicttype
    * */
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 bc9269c..e41dfae 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
@@ -206,10 +206,10 @@
 
     @Override
     public Map<String, Object> deviceLogin(DeviceLoginParam param) {
-        Map<String, Object> result = new HashMap<>();
+        Map<String, Object> result = new HashMap<>(4);
         TDevice device = deviceDao.findByDeviceno(param.getDeviceno());
         if (device != null) {
-            if (device.getDeviceStatus().equals("closed")) {
+            if ("closed".equals(device.getDeviceStatus())) {
                 result.put("flag", false);
                 result.put("errorMsg", "本设备已注销,签到失败");
                 return result;
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 a68ee5f..e13fdd0 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
@@ -1,5 +1,7 @@
 package com.supwisdom.dlpay.water.controller
 
+import com.supwisdom.dlpay.api.bean.JsonResult
+import com.supwisdom.dlpay.api.bean.QueryCardParam
 import com.supwisdom.dlpay.api.bean.QueryUserParam
 import com.supwisdom.dlpay.framework.ResponseBodyBuilder
 import com.supwisdom.dlpay.framework.service.BusinessparaService
@@ -7,6 +9,7 @@
 import com.supwisdom.dlpay.framework.util.*
 import com.supwisdom.dlpay.paysdk.proxy.UserProxy
 import com.supwisdom.dlpay.system.service.UserDataService
+import com.supwisdom.dlpay.util.ConstantUtil
 import com.supwisdom.dlpay.water.*
 import com.supwisdom.dlpay.water.domain.TCollectdtl
 import com.supwisdom.dlpay.water.pay.WaterPayAsyncTask
@@ -112,6 +115,19 @@
                 return ResponseEntity.ok(ResponseBodyBuilder.create()
                         .fail(WaterErrorCode.DATA_NOTFOUND_ERROR, "用户消费状态异常"))
             }
+            val cardResponse = userProxy.queryCard(QueryCardParam().apply {
+                this.cardno = userInfo.bankcardno
+                this.cardtype = ConstantUtil.CARDTYPE_BANKCARD
+            })
+            if (cardResponse.retcode != 0) {
+                logger.error { "查询卡片[${userInfo.bankcardno}]信息失败:${cardResponse.retmsg}" }
+                return ResponseEntity.ok(ResponseBodyBuilder.create()
+                        .fail(WaterErrorCode.DATA_NOTFOUND_ERROR, "银行卡信息异常"))
+            }
+            if (!cardResponse.card.signed) {
+                return ResponseEntity.ok(ResponseBodyBuilder.create()
+                        .fail(WaterErrorCode.DATA_NOTFOUND_ERROR, "请签约银行卡"))
+            }
             val person = userDataService.savePerson(userInfo)
             val localIdentity = userDataService.
                     getPersonIdentityByThirdUidOrUserid(param.citizenCardno,userInfo.userid)
@@ -327,6 +343,17 @@
             if (userInfo.cardstatus != TradeDict.STATUS_NORMAL || userInfo.transstatus != TradeDict.STATUS_NORMAL) {
                 return ModelAndView("error/500").addObject("errorMsg", "用户消费状态异常")
             }
+            val cardResponse = userProxy.queryCard(QueryCardParam().apply {
+                this.cardno = userInfo.bankcardno
+                this.cardtype = ConstantUtil.CARDTYPE_BANKCARD
+            })
+            if (cardResponse.retcode != 0) {
+                logger.error { "查询卡片[${userInfo.bankcardno}]信息失败:${cardResponse.retmsg}" }
+                return ModelAndView("error/500").addObject("errorMsg", "未查询到用户银行卡信息")
+            }
+            if (!cardResponse.card.signed) {
+                return ModelAndView("error/500").addObject("errorMsg", "请先签约银行卡")
+            }
             val person = userDataService.savePerson(userInfo)
             val localIdentity = userDataService.
                     getPersonIdentityByThirdUidOrUserid(null,userInfo.userid)