refacor: 优化了商户账户余额更新逻辑
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/controller/consume_api_controller.kt b/src/main/kotlin/com/supwisdom/dlpay/api/controller/consume_api_controller.kt
index 737ddc3..1214889 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/api/controller/consume_api_controller.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/api/controller/consume_api_controller.kt
@@ -1,5 +1,6 @@
 package com.supwisdom.dlpay.api.controller
 
+import com.supwisdom.dlpay.ShopAccBalanceAsyncTask
 import com.supwisdom.dlpay.api.AccountProxy
 import com.supwisdom.dlpay.api.CallService
 import com.supwisdom.dlpay.api.TransactionBuilder
@@ -48,6 +49,9 @@
     @Autowired
     lateinit var transactionService: TransactionService
 
+    @Autowired
+    private lateinit var shopAccBalanceAsyncTask: ShopAccBalanceAsyncTask
+
     /**
      * 流水结果查询统一接口
      * */
@@ -162,7 +166,7 @@
                 }.and().shop(shopacc).apply {
                     setAmount(param.amount / 100.0, TradeDict.TRADE_FLAG_IN)
                     opposite = AccountProxy(account)
-                }.and().also {builder ->
+                }.and().also { builder ->
                     param.feelist?.forEach {
                         when (it.feetype) {
                             TradeDict.FEETYPE_CONSUME_MEALER -> {
@@ -177,7 +181,7 @@
                     }
                 }.init(transactionService)
 
-                transactionService.success(dtl.refno)
+                transactionService.success(dtl.refno, "")
 
                 return ResponseEntity.ok(ResponseBodyBuilder.create()
                         .data("refno", dtl.refno)
@@ -284,12 +288,14 @@
                         it.shopDtl)
             }
             if (code.retcode == "0") {
-                transactionService.success(param.refno).let {
+                transactionService.success(param.refno, "支付").let {
                     return ResponseEntity.ok(ResponseBodyBuilder.create()
                             .data("refno", it.refno)
                             .data("billno", it.outTradeNo)
                             .success("交易确认成功"))
                 }
+
+
             } else {
                 transactionService.fail(param.refno).let {
                     return ResponseEntity.ok(ResponseBodyBuilder.create()
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/transaction_service_impl.kt b/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/transaction_service_impl.kt
index 17b45f0..05b57b2 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/transaction_service_impl.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/transaction_service_impl.kt
@@ -39,9 +39,6 @@
     private lateinit var accountService: AccountService
 
     @Autowired
-    private lateinit var shopaccService: ShopaccService
-
-    @Autowired
     private lateinit var systemUtilService: SystemUtilService
 
     @Autowired
@@ -312,12 +309,20 @@
         if (transaction.shop) {
             transaction.shopDtl.remark = remark
         }
-        transaction.endTime = Timestamp(systemUtilService.sysdatetime.sysdate.time)
+        transaction.endTime = systemUtilService.sysdatetime.currentTimestamp
         transactionMainDao.save(transaction)
         return transaction
     }
 
     override fun success(refno: String, remark: String): TTransactionMain {
+        val transaction = successOnAccount(refno, remark)
+        if (transaction.status == TradeDict.DTL_STATUS_SUCCESS) {
+            shopAccBalanceAsyncTask.updateShopBalance(transaction.refno)
+        }
+        return transaction
+    }
+
+    override fun successOnAccount(refno: String, remark: String): TTransactionMain {
         val transaction = transactionMainDao.findByRefnoForUpdate(refno)
                 ?: throw TransactionProcessException(TradeErrorCode.TRANSACTION_IS_FINISHED, "流水<$refno>参考号错误")
 
@@ -329,7 +334,7 @@
         transaction.accdate = systemUtilService.accdate
         transactionOnSuccess(transaction, remark, false)
 
-        transaction.endTime = Timestamp(systemUtilService.sysdatetime.sysdate.time)
+        transaction.endTime = systemUtilService.sysdatetime.currentTimestamp
         transactionMainDao.save(transaction)
         return transaction
     }
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/service/transaction_service.kt b/src/main/kotlin/com/supwisdom/dlpay/api/service/transaction_service.kt
index f0acef4..c2b942a 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/api/service/transaction_service.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/api/service/transaction_service.kt
@@ -22,10 +22,10 @@
     fun fail(refno: String, remark: String): TTransactionMain
 
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = [Exception::class])
-    fun success(refno: String): TTransactionMain
+    fun successOnAccount(refno: String, remark: String): TTransactionMain
 
-    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = [Exception::class])
     fun success(refno: String, remark: String): TTransactionMain
+    fun success(refno: String): TTransactionMain
 
     // 撤销接口冲正类接口
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = [Exception::class])