修改接口
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt
index bd4eb36..ff117e4 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt
@@ -14,6 +14,7 @@
 import com.supwisdom.dlpay.mobile.service.MobileApiService
 import com.supwisdom.dlpay.system.service.DictionaryProxy
 import com.supwisdom.dlpay.util.ConstantUtil
+import com.supwisdom.dlpay.util.YnrccUtil
 import org.apache.commons.lang.StringUtils
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.data.redis.core.RedisTemplate
@@ -29,8 +30,6 @@
 import org.bouncycastle.cms.RecipientId.password
 
 
-
-
 @RestController
 @RequestMapping("/mobileapi/i")
 class ApiInit {
@@ -306,29 +305,43 @@
         if (card.userid.isNullOrEmpty() || card.status != TradeDict.STATUS_NORMAL) {
             return JsonResult.error("银行卡号信息有误")
         }
+        val person = userService.findOnePersonByUserid(card.userid)
+        if (person.name != name) {
+            return JsonResult.error("绑定信息有误[姓名]")
+        }
+        if (person.idtype != idtype || person.idno != idno) {
+            return JsonResult.error("绑定信息有误[证件类型/证件号]")
+        }
         val exsitUser = mobileApiService.findUserById(card.userid)
         if (exsitUser != null) {
             return JsonResult.error("该银行卡号已被绑定,如有疑问,请联系客服")
         }
-        //TODO call api
-        //user.bindtime = DateUtil.getNow()
-        //user.userid = card.userid
-        //mobileApiService.saveUser(user)
-        var resp = citizencardPayService.bindCard(cardno,name,idtype,idno,phone);
-        if(resp.code!="0000"){
+        //call api
+        var resp = citizencardPayService.bindCard(cardno, name, idtype, idno, phone);
+        if (resp.code != "0000") {
             return JsonResult.error(resp.message)
         }
-        val code = RandomUtils.randomNumber(6)
+        var signed = ""
+        if (resp.sinstatus == "1") {
+            signed = TradeDict.STATUS_YES
+            card.signed = true
+            user.signedtime = DateUtil.getNow();
+            mobileApiService.saveCard(card)
+            mobileApiService.saveUser(user)
+        }
+        System.out.println(resp.captcha)
+        var code = if (resp.captcha.isNullOrEmpty()) {
+            RandomUtils.randomNumber(6)
+        } else {
+            resp.captcha
+        }
         System.out.println(code)
-        redisTemplate.opsForValue().set(user.phone, code, Duration.ofMinutes(5))
+        redisTemplate.opsForValue().set(user.phone, code, Duration.ofMinutes(10))
         var payseted = false
         if (!user.paypwd.isNullOrEmpty()) {
             payseted = true
         }
-        var signed = ""
-        if (card.signed) {
-            signed = TradeDict.STATUS_YES
-        }
+
         return JsonResult.ok("OK").put("personid", card.userid)
                 ?.put("paypwdset", payseted)
                 ?.put("phonex", StringUtil.phoneReplace(phone))
@@ -441,23 +454,27 @@
         val p = SecurityContextHolder.getContext().authentication
         val user = mobileApiService.findUserById(p.name)
                 ?: return JsonResult.error("用户不存在,请注册")
-        user.issigned = TradeDict.STATUS_YES
-        user.signedtime = DateUtil.getNow()
         var signed: String
         if (!user.userid.isNullOrEmpty()) {
             var card = mobileApiService.findCardByUserid(user.userid!!) ?: return JsonResult.error("卡片不存在,请重新绑定")
             if (card.signed) {
                 signed = TradeDict.STATUS_YES
-            }else{
-                //TODO call sign api
+            } else {
+                //call sign api
+                val person = userService.findOnePersonByUserid(card.userid)
+                var resp = citizencardPayService.signCard(card.cardno, person.name, person.idtype, person.idno, user.phone, YnrccUtil.TRANSTYPE_SIGNCARD)
+                if (resp.code != "0000") {
+                    return JsonResult.error(resp.message)
+                }
                 card.signed = true
+                user.signedtime = DateUtil.getNow();
                 mobileApiService.saveCard(card)
+                mobileApiService.saveUser(user)
                 signed = TradeDict.STATUS_YES
             }
-        }else{
+        } else {
             return JsonResult.error("请先绑定银行卡")
         }
-        mobileApiService.saveUser(user)
         return JsonResult.ok("ok")
                 .put("signed", signed)!!
     }
@@ -646,7 +663,7 @@
         mobileApiService.findUserById(p.name)
                 ?: return JsonResult.error("用户不存在,请注册")
         //TODO cardlost
-        return JsonResult.ok("ok")
+        return JsonResult.ok("ok").put("qrcode",p.name)!!
     }
 
 
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 38411cb..e7dee86 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
@@ -43,11 +43,11 @@
     }
 
     override fun findCardByNo(cardno: String): TCard? {
-        return cardDao.findCardByCardnoAndCardtype(cardno,ConstantUtil.CARDTYPE_CITIZENCARD)
+        return cardDao.findCardByCardnoAndCardtype(cardno,ConstantUtil.CARDTYPE_BANKCARD)
     }
 
     override fun findCardByUserid(userid: String): TCard? {
-        return cardDao.findCardByUseridAndCardtype(userid,ConstantUtil.CARDTYPE_CITIZENCARD)
+        return cardDao.findCardByUseridAndCardtype(userid,ConstantUtil.CARDTYPE_BANKCARD)
     }
 
     override fun saveCard(card: TCard): TCard {