From: kaixiang.xia Date: Tue, 2 Mar 2021 07:34:25 +0000 (+0800) Subject: 农商行服务端sdk接入 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=9a649752d684be0ff9dc05f4da3af7c4f9473da4;p=epayment%2Ffood_payapi.git 农商行服务端sdk接入 --- diff --git a/payapi/build.gradle b/payapi/build.gradle index 2fe80c42..a24b7188 100644 --- a/payapi/build.gradle +++ b/payapi/build.gradle @@ -115,7 +115,7 @@ dependencies { // implementation files('libs/ojdbc6.jar') implementation 'commons-dbcp:commons-dbcp:1.4' implementation 'commons-beanutils:commons-beanutils:1.9.3' - implementation files('libs/ynrcc-mbp-1.1-RELEASE.jar') + implementation files('libs/ynrcc-mbp-1.1.0-RELEASE.jar') implementation 'log4j:log4j:1.2.17' implementation 'com.alibaba:fastjson:1.2.60' diff --git a/payapi/libs/ynrcc-mbp-1.1-RELEASE.jar b/payapi/libs/ynrcc-mbp-1.1-RELEASE.jar deleted file mode 100644 index 34da4722..00000000 Binary files a/payapi/libs/ynrcc-mbp-1.1-RELEASE.jar and /dev/null differ diff --git a/payapi/libs/ynrcc-mbp-1.1.0-RELEASE.jar b/payapi/libs/ynrcc-mbp-1.1.0-RELEASE.jar new file mode 100644 index 00000000..0aee6efe Binary files /dev/null and b/payapi/libs/ynrcc-mbp-1.1.0-RELEASE.jar differ diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/agent/service/impl/ynrcc_netpay_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/agent/service/impl/ynrcc_netpay_service_impl.kt index 3c1c7e7e..c1e037b0 100644 --- a/payapi/src/main/kotlin/com/supwisdom/dlpay/agent/service/impl/ynrcc_netpay_service_impl.kt +++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/agent/service/impl/ynrcc_netpay_service_impl.kt @@ -42,7 +42,7 @@ class YnrccNetPayServiceImpl(val restTemplate: RestTemplate, override fun doAnalysisSignature(shopaccno: String, plain: String, signature: String): Map { val config = sourceTypeService.getConsumePaytypeConfig(TradeDict.PAYTYPE_YNRCC_PAY, shopaccno, false, true) - val data = YNRCCFastGateWayPayApi.verify(signature, plain) //调SDK验证签名 + val data = YNRCCFastGateWayPayApi.verify(signature, plain) /* 调SDK验证签名 */ val merId = config[YnrccPayUtil.MER_ID] if (!merId.isNullOrEmpty() && merId != data["Mer_Id"]) { throw TransactionProcessException(TradeErrorCode.BUSINESS_DEAL_ERROR, "参数[Mer_Id]不匹配!") diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/ynrcc_netpay_business_service.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/ynrcc_netpay_business_service.kt index da4e581f..61e590bb 100644 --- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/ynrcc_netpay_business_service.kt +++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/ynrcc_netpay_business_service.kt @@ -60,9 +60,9 @@ class YnrccNetPayBusinessServiceImpl(val personDao: PersonDao, } override fun applyUserYnrccPaySign(param: YnrccPaySignApplyParam): YnrccPaySignApplyResponse { - val person = personDao.findByUserid(param.userid) + val person = personDao.findByUserid(param.userid?.trim()) ?: throw TransactionProcessException(TradeErrorCode.ACCOUNT_NOT_EXISTS, "用户<${param.userid}>不存在") - val shopacc = shopaccDao.findByShopaccno(param.shopaccno) + val shopacc = shopaccDao.findByShopaccno(param.shopaccno?.trim()) ?: throw TransactionProcessException(TradeErrorCode.SHOP_NOT_EXISTS, "商户<${param.shopaccno}>不存在") val bankCard = cardDao.findCardByCardnoAndCardtype(param.bankcardno.trim(), ConstantUtil.CARDTYPE_BANKCARD) if (null != bankCard && person.userid != bankCard.userid) { @@ -77,7 +77,7 @@ class YnrccNetPayBusinessServiceImpl(val personDao: PersonDao, val isAuthSign = ynrccPaySignDao.countByBankcardnoAndSignStatus(param.bankcardno, shopacc.shopaccno) > 0 var userSign = ynrccPaySignDao.getUserSign(param.bankcardno, shopacc.shopaccno) ?: TYnrccPaySign().apply { this.bankcardno = param.bankcardno.trim() - this.bankcardno = shopacc.shopaccno + this.shopaccno = shopacc.shopaccno this.userid = person.userid this.status = TradeDict.STATUS_NORMAL this.isSignFlag = false @@ -238,10 +238,10 @@ class YnrccNetPayBusinessServiceImpl(val personDao: PersonDao, throw TransactionProcessException(TradeErrorCode.BUSINESS_DEAL_ERROR, "支付金额与流水交易金额不匹配!") } - val agentCode = YnrccPayUtil.errcode.firstOrNull{ + val agentCode = YnrccPayUtil.errcode.firstOrNull { it.second.code == respCode - }?: org.springframework.data.util.Pair.of(AgentCode.COMMON_ERROR, - YnrccRespCode(respCode, "未知错误[$respCode]")) + } ?: org.springframework.data.util.Pair.of(AgentCode.COMMON_ERROR, + YnrccRespCode(respCode, "未知错误[$respCode]")) return AgentResponse().also { it.code = agentCode.first diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/controller/framework_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/controller/framework_controller.kt index a55845fb..64293838 100644 --- a/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/controller/framework_controller.kt +++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/controller/framework_controller.kt @@ -1,8 +1,13 @@ package com.supwisdom.dlpay.framework.controller +import com.google.gson.Gson import com.jcabi.manifests.Manifests +import com.supwisdom.dlpay.agent.service.YnrccNetPayService import com.supwisdom.dlpay.api.bean.ApiVersionResponse import com.supwisdom.dlpay.framework.ResponseBodyBuilder +import com.supwisdom.dlpay.framework.util.DateUtil +import com.supwisdom.dlpay.framework.util.RandomUtils +import org.springframework.beans.factory.annotation.Autowired import org.springframework.http.ResponseEntity import org.springframework.web.bind.annotation.GetMapping import org.springframework.web.bind.annotation.RequestMapping @@ -12,6 +17,9 @@ import org.springframework.web.bind.annotation.RestController @RestController @RequestMapping("/api/common") class AboutController { + @Autowired + private lateinit var ynrccNetPayService: YnrccNetPayService + @GetMapping("/version") fun version(): ResponseEntity { return try { @@ -24,4 +32,31 @@ class AboutController { .success(ApiVersionResponse("unknown"))) } } + + @GetMapping("/resttest") + fun test(): ResponseEntity { + return try { + val shopaccno="2000000013" + val transDateTime = DateUtil.getNow("yyyyMMddHHmmss") + val refno = transDateTime + RandomUtils.randomNumber(6) + val amount = 1 + val productInfo = "农商行快捷支付测试" + val extData = refno + val custname = "" + val email="" + val customerSignNo="12345678" + + val resp = ynrccNetPayService.doApplyYnrccPaySign(shopaccno) + +// val resp = ynrccNetPayService.doYnrccPayInit(shopaccno,refno,amount,transDateTime, +// productInfo,extData,custname,email,customerSignNo); + + ResponseEntity.ok(ResponseBodyBuilder.create() + .success(Gson().toJson(resp))) + } catch (e: Exception) { + e.printStackTrace() + ResponseEntity.ok(ResponseBodyBuilder.create() + .success(e.message ?: "error!")) + } + } } \ No newline at end of file