From 55725cad5268c75158105f5cc6ecb5ffcace6a82 Mon Sep 17 00:00:00 2001 From: Xia Kaixiang Date: Tue, 3 Sep 2019 11:20:22 +0800 Subject: [PATCH] =?utf8?q?=E6=9F=A5=E8=AF=A2=E6=89=8B=E6=9C=BA=E4=BA=8C?= =?utf8?q?=E7=BB=B4=E7=A0=81=E8=BF=94=E5=9B=9E=E4=BF=A1=E6=81=AF=E4=BF=AE?= =?utf8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../dlpay/api/bean/ConsumePayCancelParam.java | 1 - .../dlpay/api/bean/DoorQrcodeResponse.java | 11 ++- .../api/service/impl/qrcode_srvice_impl.kt | 43 ++++++----- .../dlpay/mobile/service/MobileApiService.kt | 2 + .../service/impl/MobileApiServiceImpl.kt | 74 ++++++++++--------- 5 files changed, 79 insertions(+), 52 deletions(-) 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 3f1091d9..a952da74 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 @@ import javax.validation.constraints.NotNull; @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 dd77797b..1e800eb6 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 @@ import lombok.Setter; @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 95a1de0e..9cc93931 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.service.SystemUtilService 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 @@ class QRCodeServiceImpl:QRCodeService{ } 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 3baacb3b..55d717c0 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 @@ interface MobileApiService { fun sendSms(phone:String,code:String):BaseResp fun findByUseridAndStatus(userid:String,status:String):List? + + 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 04a155ae..560a9687 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 @@ class MobileApiServiceImpl : MobileApiService { } 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? { - 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 -- 2.17.1