修改了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