保留原始生成二维码接口
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 31da5df..b195422 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
@@ -31,6 +31,42 @@
val logger = KotlinLogging.logger { }
+ override fun encodeCode(uid:String): ApiResponse {
+ var resp = ApiResponse()
+ val rootkey = systemUtilService.getBusinessValue("aes.cfb.rootkey")
+ val iv = systemUtilService.getBusinessValue("aes.cfb.iv")
+ if (rootkey.isNullOrEmpty()||iv.isNullOrEmpty()) {
+ resp.retcode = 1
+ resp.retmsg = "秘钥未配置"
+ return resp
+ }
+ val muser = mobileApiService.findUserById(uid)
+ if(muser==null||TradeDict.STATUS_NORMAL!=muser.status){
+ resp.retcode = 1
+ resp.retmsg = "用户不存在或状态异常"
+ return resp
+ }
+ if(muser.userid.isNullOrEmpty()){
+ resp.retcode = 1
+ resp.retmsg = "用户未绑定身份"
+ return resp
+ }
+ val totp = QrCodeTotpUtil.generateTOTP(muser.secertkey)
+ val rowdata = QrcodeRawData()
+ rowdata.userid = muser.userid
+ rowdata.setTotp(totp)
+ val orgData = Gson().toJson(rowdata)
+ val publicKey = RSAKeysGenerate.getPublicKey(muser.rsapublic)
+ val encdata = org.apache.commons.codec.binary.Base64.encodeBase64String(RSAKeysGenerate.encryptbyte(publicKey, orgData))
+ val qrcode = AesUtil.encryptCFB("$uid:$encdata", rootkey, iv, "AES/CFB/NoPadding")
+
+ val key = MD5.encodeByMD5ToURLSafeBase64(qrcode)
+ redisTemplate.opsForValue().set(key,qrcode, Duration.ofSeconds(20))
+ resp.retcode = 0
+ resp.retmsg = key
+ return resp
+ }
+
override fun encodeCode(param: QrcodeParam): ApiResponse {
var resp = ApiResponse()
val uid = param.uid
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/qrcode_service.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/qrcode_service.kt
index b5facd8..d8b21ce 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/qrcode_service.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/qrcode_service.kt
@@ -5,6 +5,7 @@
import com.supwisdom.dlpay.api.bean.QrcodeParam
interface QRCodeService {
+ fun encodeCode(uid: String): ApiResponse
fun encodeCode(param: QrcodeParam): ApiResponse
fun decodeCode(qrcode: String): DoorQrcodeResponse
}
\ No newline at end of file
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 417e852..299fd7f 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt
@@ -857,18 +857,18 @@
*
* 二维码在线生成
* */
-// @RequestMapping("/qrcode")
-// fun qrcode(): JsonResult {
-// val p = SecurityContextHolder.getContext().authentication
-// val user = mobileApiService.findUserById(p.name)
-// ?: return JsonResult.error("用户不存在,请注册")
-// val resp = qrcodeService.encodeCode(user.uid)
-// return if(resp.retcode==0){
-// JsonResult.ok("ok").put("qrcode", resp.retmsg)!!
-// }else{
-// JsonResult.error(resp.retmsg)
-// }
-// }
+ @RequestMapping("/qrcode")
+ fun qrcode(): JsonResult {
+ val p = SecurityContextHolder.getContext().authentication
+ val user = mobileApiService.findUserById(p.name)
+ ?: return JsonResult.error("用户不存在,请注册")
+ val resp = qrcodeService.encodeCode(user.uid)
+ return if(resp.retcode==0){
+ JsonResult.ok("ok").put("qrcode", resp.retmsg)!!
+ }else{
+ JsonResult.error(resp.retmsg)
+ }
+ }
/**
*