修改了bug
diff --git a/src/main/kotlin/com/supwisdom/dlpay/consume/ThirdPayCall.kt b/src/main/kotlin/com/supwisdom/dlpay/consume/ThirdPayCall.kt
index 323ac49..d003d71 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 @@
companion object {
fun callYktPay(config: Map<String, String>, 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<String, String?>()
+ val params = hashMapOf<String, String?>()
params.put("partner_id", appid)
params.put("stuempno", "")
params.put("tradeno", paydtl.refno)
@@ -36,43 +36,46 @@
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 8a5ac0a..f6bdadd 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 @@
}
}
- private lateinit var builder: PersonTransBuilder
+ internal lateinit var builder: PersonTransBuilder
@Suppress("UNCHECKED_CAST", "IMPLICIT_CAST_TO_ANY")
fun <T> get(): T {
@@ -88,8 +88,9 @@
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 @@
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 @@
fun <T, U> addDetail(debit: AccountHolder<T>, credit: AccountHolder<U>,
amount: Double, summary: String): PersonTransBuilder {
+ debit.builder = this
+ credit.builder = this
+
var debitAccNo = ""
var debitSubjNo = ""
when (debit.idType) {
@@ -141,7 +145,6 @@
AccountHolder.IDTYPE_TRANSTYPE -> TODO("not implements")
}
-
var creditAccNo = ""
var creditSubjNo = ""
when (credit.idType) {
@@ -182,16 +185,16 @@
* @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 eb02d45..c2815d0 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 @@
}
@PostMapping("/ykt/payinit")
- fun yktPayInit(userid: String, amount: Int, manageFee: Int, stuempno: String, yktshopid: String): ResponseEntity<Any> {
+ fun yktPayInit(userid: String, amount: Int, manageFee: Int,
+ stuempno: String, yktshopid: String): ResponseEntity<Any> {
//一卡通支付款 112240
val dtl = PersonTransBuilder.newBuilder(accountUtilServcie)
.setTransDatetime("20190411", "112311")
@@ -84,16 +85,17 @@
//一卡通支付款 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 903da27..3422dee 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 @@
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.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 PersonBalancePayServiceImpl : PersonBalancePayService {
@Autowired
lateinit var userdtlDao: UserdtlDao
+
@Autowired
lateinit var systemUtilService: SystemUtilService
@@ -77,14 +75,13 @@
}
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 @@
throw TransactionProcessException(TradeErrorCode.TRANSACTION_NOT_EXISTS, "交易参考号<$refno>不存在")
}
}
-
-
}
\ No newline at end of file