查询手机二维码返回信息修改
diff --git a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/ConsumePayCancelParam.java b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/ConsumePayCancelParam.java
index 3f1091d..a952da7 100644
--- a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/ConsumePayCancelParam.java
+++ b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/ConsumePayCancelParam.java
@@ -14,7 +14,6 @@
 @Setter
 public class ConsumePayCancelParam extends APIRequestParam {
   @Sign
-  @NotNull
   private String refno;
   @Sign
   private String billno;
diff --git a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/DoorQrcodeResponse.java b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/DoorQrcodeResponse.java
index dd77797..1e800eb 100644
--- a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/DoorQrcodeResponse.java
+++ b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/DoorQrcodeResponse.java
@@ -11,7 +11,16 @@
 @NoArgsConstructor
 public class DoorQrcodeResponse extends ApiResponse {
   private String userid;
+  private String username;
+  private String sex;
+  private String idtype;
+  private String idno;
+  private String phone;
+
   private String citycardno;
+  private String cardphyid;
+  private String expiredate;
   private String bankcardno;
-  private String status;
+  private String cardstatus;
+  private String transstatus;
 }
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/qrcode_srvice_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/qrcode_srvice_impl.kt
index 95a1de0..9cc9393 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/qrcode_srvice_impl.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/qrcode_srvice_impl.kt
@@ -9,10 +9,7 @@
 import com.supwisdom.dlpay.framework.util.MD5
 import com.supwisdom.dlpay.framework.util.TradeDict
 import com.supwisdom.dlpay.mobile.service.MobileApiService
-import com.supwisdom.dlpay.util.AesUtil
-import com.supwisdom.dlpay.util.QrCodeTotpUtil
-import com.supwisdom.dlpay.util.QrcodeRawData
-import com.supwisdom.dlpay.util.RSAKeysGenerate
+import com.supwisdom.dlpay.util.*
 import mu.KotlinLogging
 import org.apache.commons.lang.math.NumberUtils
 import org.springframework.beans.factory.annotation.Autowired
@@ -117,25 +114,37 @@
             }
             val person = userService.findOnePersonByUserid(rawData.userid)
 
-            /*if(TradeDict.STATUS_NORMAL!=person.status){
-                resp.retcode = 1
-                resp.retmsg = "用户状态异常"
+            val bankcard = mobileApiService.findCardByUserid(person.userid)
+            if (null == bankcard) {
+                resp.retcode = 9
+                resp.retmsg = "二维码识别错误,手机绑定的银行卡已注销"
                 return resp
-            }*/
+            }
+            //银行卡必定存在对应的市民卡
+            val citycard = mobileApiService.findCardByUseridAndCardphyid(person.userid, ConstantUtil.CARDTYPE_CITIZENCARD, bankcard.cardphyid)
+            if (null == citycard) {
+                resp.retcode = 8
+                resp.retmsg = "二维码识别异常"
+                return resp
+            }
+
             val verifyBarcode = QrCodeTotpUtil.verifyCode(rawData.totp, seed32, offset)
             return if (verifyBarcode) {
                 resp.retcode = 0
                 resp.retmsg = "OK"
                 resp.userid = person.userid
-                resp.status = person.status
-                val bankcard = mobileApiService.findCardByUserid(person.userid)
-                if(bankcard!=null){
-                    resp.bankcardno = bankcard.cardno
-                }
-                val citycard = mobileApiService.findCityCardByUserid(person.userid)
-                if(citycard!=null){
-                    resp.citycardno = citycard.cardno
-                }
+                resp.username = person.name
+                resp.sex = person.sex
+                resp.idtype = person.idtype
+                resp.idno = person.idno
+                resp.phone = person.mobile
+
+                resp.citycardno = citycard.cardno
+                resp.cardphyid = citycard.cardphyid
+                resp.expiredate = citycard.expiredate
+                resp.cardstatus = citycard.status
+                resp.transstatus = citycard.transStatus
+                resp.bankcardno = bankcard.cardno
                 resp
             } else {
                 resp.retcode = 1
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/MobileApiService.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/MobileApiService.kt
index 3baacb3..55d717c 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/MobileApiService.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/MobileApiService.kt
@@ -25,4 +25,6 @@
     fun sendSms(phone:String,code:String):BaseResp
 
     fun findByUseridAndStatus(userid:String,status:String):List<TBMobileUser>?
+
+    fun findCardByUseridAndCardphyid(userid: String, cardtype: String, cardphyid: String?): TCard?
 }
\ No newline at end of file
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileApiServiceImpl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileApiServiceImpl.kt
index 04a155a..560a968 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileApiServiceImpl.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileApiServiceImpl.kt
@@ -53,104 +53,112 @@
     }
 
     override fun findCardByNo(cardno: String): TCard? {
-        return cardDao.findCardByCardnoAndCardtype(cardno,ConstantUtil.CARDTYPE_BANKCARD)
+        return cardDao.findCardByCardnoAndCardtype(cardno, ConstantUtil.CARDTYPE_BANKCARD)
     }
 
     override fun findCardByUserid(userid: String): TCard? {
-        return cardDao.findCardByUseridAndCardtype(userid,ConstantUtil.CARDTYPE_BANKCARD)
+        return cardDao.findCardByUseridAndCardtype(userid, ConstantUtil.CARDTYPE_BANKCARD)
     }
 
     override fun findCityCardByUserid(userid: String): TCard? {
-        return cardDao.findCardByUseridAndCardtype(userid,ConstantUtil.CARDTYPE_CITIZENCARD)
+        return cardDao.findCardByUseridAndCardtype(userid, ConstantUtil.CARDTYPE_CITIZENCARD)
     }
 
     override fun saveCard(card: TCard): TCard {
         return cardDao.save(card)
     }
 
-    override fun sendSms(phone:String,code: String): BaseResp {
+    override fun sendSms(phone: String, code: String): BaseResp {
         var resp = BaseResp()
         var url = systemUtilService.getBusinessValue("sms.url")
-        if(url.isNullOrEmpty()){
+        if (url.isNullOrEmpty()) {
             resp.retcode = "1"
-            resp.retmsg="短信业务参数未配置"
+            resp.retmsg = "短信业务参数未配置"
             logger.error { "短信参数:sms.url 未在业务表中配置" }
             return resp
         }
         var account = systemUtilService.getBusinessValue("sms.account")
-        if(account.isNullOrEmpty()){
+        if (account.isNullOrEmpty()) {
             resp.retcode = "1"
-            resp.retmsg="短信业务参数未配置"
+            resp.retmsg = "短信业务参数未配置"
             logger.error { "短信参数:sms.account 未在业务表中配置" }
             return resp
         }
         var pwd = systemUtilService.getBusinessValue("sms.pwd")
-        if(pwd.isNullOrEmpty()){
+        if (pwd.isNullOrEmpty()) {
             resp.retcode = "1"
-            resp.retmsg="短信业务参数未配置"
+            resp.retmsg = "短信业务参数未配置"
             logger.error { "短信参数:sms.pwd 未在业务表中配置" }
             return resp
         }
         var ecname = systemUtilService.getBusinessValue("sms.ecname")
-        if(ecname.isNullOrEmpty()){
+        if (ecname.isNullOrEmpty()) {
             resp.retcode = "1"
-            resp.retmsg="短信业务参数未配置"
+            resp.retmsg = "短信业务参数未配置"
             logger.error { "短信参数:sms.ecname 未在业务表中配置" }
             return resp
         }
         var addserial = systemUtilService.getBusinessValue("sms.addserial")
-        if(pwd.isNullOrEmpty()){
+        if (pwd.isNullOrEmpty()) {
             resp.retcode = "1"
-            resp.retmsg="短信业务参数未配置"
+            resp.retmsg = "短信业务参数未配置"
             logger.error { "短信参数:sms.addserial 未在业务表中配置" }
             return resp
         }
         var sign = systemUtilService.getBusinessValue("sms.sign")
-        if(sign.isNullOrEmpty()){
+        if (sign.isNullOrEmpty()) {
             resp.retcode = "1"
-            resp.retmsg="短信业务参数未配置"
+            resp.retmsg = "短信业务参数未配置"
             logger.error { "短信参数:sms.sign 未在业务表中配置" }
             return resp
         }
         var tempid = systemUtilService.getBusinessValue("sms.tempid")
-        if(tempid.isNullOrEmpty()){
+        if (tempid.isNullOrEmpty()) {
             resp.retcode = "1"
-            resp.retmsg="短信业务参数未配置"
+            resp.retmsg = "短信业务参数未配置"
             logger.error { "短信参数:sms.tempid 未在业务表中配置" }
             return resp
         }
         var priority = systemUtilService.getBusinessValue("sms.priority")
-        if(priority.isNullOrEmpty()){
-            priority="1"
+        if (priority.isNullOrEmpty()) {
+            priority = "1"
         }
-        var client =  Client.getInstance()
+        var client = Client.getInstance()
         // 正式环境IP,登录验证URL,用户名,密码,集团客户名称
-        var ret = client.login(url, account, pwd,ecname)
-        if(!ret){
+        var ret = client.login(url, account, pwd, ecname)
+        if (!ret) {
             logger.error { "无法登陆短信平台,身份验证失" }
             resp.retcode = "1"
-            resp.retmsg="无法登陆短信平台"
+            resp.retmsg = "无法登陆短信平台"
             return resp
         }
-        var sendResult = client.sendTSMS (arrayOf(phone),
-                tempid, arrayOf(code),addserial,  priority.toInt(),sign, UUID.randomUUID().toString())
+        var sendResult = client.sendTSMS(arrayOf(phone),
+                tempid, arrayOf(code), addserial, priority.toInt(), sign, UUID.randomUUID().toString())
         println("推送结果: $sendResult")
-        return if(sendResult==1||sendResult==110){
+        return if (sendResult == 1 || sendResult == 110) {
             resp.retcode = "0"
-            resp.retmsg="成功"
+            resp.retmsg = "成功"
             resp
-        }else if(sendResult==104){
+        } else if (sendResult == 104) {
             resp.retcode = "1"
-            resp.retmsg="手机号错误"
+            resp.retmsg = "手机号错误"
             resp
-        }else{
+        } else {
             resp.retcode = "1"
-            resp.retmsg="短信发送失败,请稍后再试"
+            resp.retmsg = "短信发送失败,请稍后再试"
             resp
         }
     }
 
     override fun findByUseridAndStatus(userid: String, status: String): List<TBMobileUser>? {
-        return mobileUserDao.findByUseridAndStatus(userid,status)
+        return mobileUserDao.findByUseridAndStatus(userid, status)
+    }
+
+    override fun findCardByUseridAndCardphyid(userid: String, cardtype: String, cardphyid: String?): TCard? {
+        return if (cardphyid.isNullOrEmpty()) {
+            cardDao.findCardByUseridAndCardtype(userid, cardtype)
+        } else {
+            cardDao.findBankcardByCitizencard(userid, cardtype, cardphyid)
+        }
     }
 }
\ No newline at end of file