From: Tang Cheng Date: Thu, 11 Apr 2019 13:19:21 +0000 (+0800) Subject: 修改了bug X-Git-Tag: 1.0.0^2~309 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=de5e0a377610e171af7f6d167a58f3d761d2be4f;p=epayment%2Ffood_payapi.git 修改了bug --- diff --git a/src/main/kotlin/com/supwisdom/dlpay/consume/ThirdPayCall.kt b/src/main/kotlin/com/supwisdom/dlpay/consume/ThirdPayCall.kt index 323ac49b..d003d71a 100644 --- a/src/main/kotlin/com/supwisdom/dlpay/consume/ThirdPayCall.kt +++ b/src/main/kotlin/com/supwisdom/dlpay/consume/ThirdPayCall.kt @@ -17,13 +17,13 @@ class CallService { companion object { fun callYktPay(config: Map, paydtl: TUserdtl, time: String): BaseResp { - lateinit var code:BaseResp + val code = BaseResp() - var appid = config["appid"] - var appkey = config["appkey"] - var orderurl = config["orderurl"] + val appid = config["appid"] + val appkey = config["appkey"] + val orderurl = config["orderurl"] - var params = hashMapOf() + val params = hashMapOf() params.put("partner_id", appid) params.put("stuempno", "") params.put("tradeno", paydtl.refno) @@ -36,43 +36,46 @@ class CallService { params.put("sign_method", "HMAC"); params.put("limitflag", "off") //是否判断消费限额,on-判断;off-不判断。默认on(判断限额)。为空或不为off都是on; var signstr = HmacUtil.createLinkString(HmacUtil.paraFilter(params)) - var sign = HmacUtil.HMACSHA1(signstr, appkey) - signstr += "&sign=" + sign + "&sourcetype=food" - var c = Client.create () + val sign = HmacUtil.HMACSHA1(signstr, appkey) + signstr = "$signstr&sign=$sign&sourcetype=food" + val c = Client.create() c.setConnectTimeout(20000) - var r = c.resource (orderurl) - var respClient = r.post(ClientResponse::class.java, signstr) + val r = c.resource(orderurl) + val respClient = r.post(ClientResponse::class.java, signstr) if (200 == respClient.status) { - var ret = respClient.getEntity(String::class.java) + val ret = respClient.getEntity(String::class.java) if (ret != null) { try { - lateinit var gson:Gson - var result = gson.fromJson(ret, SupYktResp::class.java) + val gson = Gson() + val result = gson.fromJson(ret, SupYktResp::class.java) if (result == null) { code.retcode = "1" code.retmsg = "返回内容为空" return code } - if (!"0".equals(result.getRetcode())) { - if ("30".equals(result.getRetcode())) { - if (result.getOther() != null) { + if ("0" != result.retcode) { + if ("30" == result.retcode) { + if (result.other != null) { try { - var supStatusRevResp = gson.fromJson (result.getOther(), SupStatusRevResp::class.java) + val supStatusRevResp = gson.fromJson(result.other, + SupStatusRevResp::class.java) if (supStatusRevResp != null) { //同流水号,同一笔已经支付完成的,不重复支付。 - if (3 == supStatusRevResp.getStatus() && supStatusRevResp.getRevflag() != null && !supStatusRevResp.getRevflag()) { + if (3 == supStatusRevResp.status + && supStatusRevResp.revflag != null + && !supStatusRevResp.revflag) { code.retcode = "0" code.retmsg = "成功" return code } } - } catch (e: Exception ) { + } catch (e: Exception) { e.printStackTrace() } } } code.retcode = "1" - code.retmsg = "交易失败:" + result.getRetmsg() + code.retmsg = "交易失败:" + result.retmsg return code } code.retcode = "0" diff --git a/src/main/kotlin/com/supwisdom/dlpay/consume/comsume_builder.kt b/src/main/kotlin/com/supwisdom/dlpay/consume/comsume_builder.kt index 8a5ac0ad..f6bdadd3 100644 --- a/src/main/kotlin/com/supwisdom/dlpay/consume/comsume_builder.kt +++ b/src/main/kotlin/com/supwisdom/dlpay/consume/comsume_builder.kt @@ -36,7 +36,7 @@ class AccountHolder private constructor(val accountId: String, val idType: In } } - private lateinit var builder: PersonTransBuilder + internal lateinit var builder: PersonTransBuilder @Suppress("UNCHECKED_CAST", "IMPLICIT_CAST_TO_ANY") fun get(): T { @@ -88,8 +88,9 @@ class PersonTransBuilder private constructor(accUitl: AccountUtilServcie) { lateinit var accountUtil: AccountUtilServcie - fun setUserAndAcc(per: TPerson) { + fun setPerson(per: TPerson): PersonTransBuilder { this.person = per + return this } fun enableOverdraft(b: Boolean = false): PersonTransBuilder { @@ -103,12 +104,12 @@ class PersonTransBuilder private constructor(accUitl: AccountUtilServcie) { return this } - fun setStuempno(s:String):PersonTransBuilder{ + fun setStuempno(s: String): PersonTransBuilder { this.stuempno = s return this } - fun setYktshopid(s:String):PersonTransBuilder{ + fun setYktshopid(s: String): PersonTransBuilder { this.yktshopid = s return this } @@ -123,6 +124,9 @@ class PersonTransBuilder private constructor(accUitl: AccountUtilServcie) { fun addDetail(debit: AccountHolder, credit: AccountHolder, amount: Double, summary: String): PersonTransBuilder { + debit.builder = this + credit.builder = this + var debitAccNo = "" var debitSubjNo = "" when (debit.idType) { @@ -141,7 +145,6 @@ class PersonTransBuilder private constructor(accUitl: AccountUtilServcie) { AccountHolder.IDTYPE_TRANSTYPE -> TODO("not implements") } - var creditAccNo = "" var creditSubjNo = "" when (credit.idType) { @@ -182,16 +185,16 @@ class PersonTransBuilder private constructor(accUitl: AccountUtilServcie) { * @param status - 完成交易状态,见 TradeDict.DTL_STATUS_FAIL */ fun done(paydtl: TUserdtl, status: String, service: PersonBalancePayService): TUserdtl { - TODO("finish") prepareData() - when (status){ + when (status) { TradeDict.DTL_STATUS_INIT -> { return service.init(this) } TradeDict.DTL_STATUS_WIP -> { - return service.wip(paydtl,this) + return service.wip(paydtl, this) } } + TODO("add process") } fun done(refno: String, status: String, service: PersonBalancePayService): TUserdtl { diff --git a/src/main/kotlin/com/supwisdom/dlpay/consume/controller/consume_service.kt b/src/main/kotlin/com/supwisdom/dlpay/consume/controller/consume_service.kt index eb02d453..c2815d0c 100644 --- a/src/main/kotlin/com/supwisdom/dlpay/consume/controller/consume_service.kt +++ b/src/main/kotlin/com/supwisdom/dlpay/consume/controller/consume_service.kt @@ -64,7 +64,8 @@ class ConsumeController { } @PostMapping("/ykt/payinit") - fun yktPayInit(userid: String, amount: Int, manageFee: Int, stuempno: String, yktshopid: String): ResponseEntity { + fun yktPayInit(userid: String, amount: Int, manageFee: Int, + stuempno: String, yktshopid: String): ResponseEntity { //一卡通支付款 112240 val dtl = PersonTransBuilder.newBuilder(accountUtilServcie) .setTransDatetime("20190411", "112311") @@ -84,16 +85,17 @@ class ConsumeController { //一卡通支付款 112240 val dtl = PersonTransBuilder.newBuilder(accountUtilServcie) .done(refno, TradeDict.DTL_STATUS_WIP, personBalancePayService) - var code = CallService.callYktPay(paytypeService.getPaytypeConfigByPaytype(PaytypeUtil.YKTPAY), dtl, DateUtil.getNow()) - if (code.retcode == "0") { + val code = CallService.callYktPay(paytypeService.getPaytypeConfigByPaytype(PaytypeUtil.YKTPAY), + dtl, DateUtil.getNow()) + return if (code.retcode == "0") { //TODO update dtl - var suc = PersonTransBuilder.newBuilder(accountUtilServcie) - .done(dtl.refno,TradeDict.DTL_STATUS_SUCCESS,personBalancePayService) - return ResponseEntity.ok(suc) - }else { - var fail = PersonTransBuilder.newBuilder(accountUtilServcie) - .done(dtl.refno,TradeDict.DTL_STATUS_FAIL,personBalancePayService) - return ResponseEntity.ok(fail) + val suc = PersonTransBuilder.newBuilder(accountUtilServcie) + .done(dtl.refno, TradeDict.DTL_STATUS_SUCCESS, personBalancePayService) + ResponseEntity.ok(suc) + } else { + val fail = PersonTransBuilder.newBuilder(accountUtilServcie) + .done(dtl.refno, TradeDict.DTL_STATUS_FAIL, personBalancePayService) + ResponseEntity.ok(fail) } } } \ No newline at end of file diff --git a/src/main/kotlin/com/supwisdom/dlpay/consume/service/impl/pay_service_impl.kt b/src/main/kotlin/com/supwisdom/dlpay/consume/service/impl/pay_service_impl.kt index 903da272..3422dee0 100644 --- a/src/main/kotlin/com/supwisdom/dlpay/consume/service/impl/pay_service_impl.kt +++ b/src/main/kotlin/com/supwisdom/dlpay/consume/service/impl/pay_service_impl.kt @@ -2,7 +2,6 @@ package com.supwisdom.dlpay.consume.service.impl import com.supwisdom.dlpay.consume.PersonTransBuilder import com.supwisdom.dlpay.consume.dao.AccountDao -import com.supwisdom.dlpay.consume.dao.TransdtlDao import com.supwisdom.dlpay.consume.dao.UserdtlDao import com.supwisdom.dlpay.consume.domain.TAccount import com.supwisdom.dlpay.consume.domain.TUserdtl @@ -13,8 +12,6 @@ import com.supwisdom.dlpay.framework.domain.TShopacc import com.supwisdom.dlpay.framework.domain.TSubject import com.supwisdom.dlpay.framework.domain.TTranstype import com.supwisdom.dlpay.framework.service.SystemUtilService -import com.supwisdom.dlpay.framework.util.DateUtil -import com.supwisdom.dlpay.framework.util.TradeCode import com.supwisdom.dlpay.framework.util.TradeDict import com.supwisdom.dlpay.framework.util.TradeErrorCode import org.springframework.beans.factory.annotation.Autowired @@ -59,6 +56,7 @@ class AccountUtilServcieImpl : AccountUtilServcie { class PersonBalancePayServiceImpl : PersonBalancePayService { @Autowired lateinit var userdtlDao: UserdtlDao + @Autowired lateinit var systemUtilService: SystemUtilService @@ -77,14 +75,13 @@ class PersonBalancePayServiceImpl : PersonBalancePayService { } override fun init(builder: PersonTransBuilder): TUserdtl { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. - lateinit var userdtl: TUserdtl - var refno = systemUtilService.refno - var systemtime = systemUtilService.sysdatetime + val userdtl = TUserdtl() + val refno = systemUtilService.refno + val systemtime = systemUtilService.sysdatetime userdtl.refno = refno userdtl.amount = builder.amount userdtl.createtime = systemtime.hostdatetime - userdtl.status = TradeDict.DTL_STATUS_INIT + userdtl.status = TradeDict.DTL_STATUS_INIT userdtlDao.save(userdtl) return userdtl } @@ -109,6 +106,4 @@ class PersonBalancePayServiceImpl : PersonBalancePayService { throw TransactionProcessException(TradeErrorCode.TRANSACTION_NOT_EXISTS, "交易参考号<$refno>不存在") } } - - } \ No newline at end of file