优化业务
diff --git a/src/main/java/com/supwisdom/dlpay/api/domain/TTransactionMain.java b/src/main/java/com/supwisdom/dlpay/api/domain/TTransactionMain.java
index 01534ec..604e7f5 100644
--- a/src/main/java/com/supwisdom/dlpay/api/domain/TTransactionMain.java
+++ b/src/main/java/com/supwisdom/dlpay/api/domain/TTransactionMain.java
@@ -66,7 +66,7 @@
   private Timestamp endTime;
 
   @Column(name = "reverse_flag", nullable = false, length = 10)
-  private String reverseFlag = "none"; // 冲正标识, none - 未冲正, reverse - 被撤销, cancel - 被冲正
+  private String reverseFlag = "none"; // 冲正标识, none - 未冲正, refund - 被退款, cancel - 被冲正
 
   @OneToOne(targetEntity = TPersondtl.class, fetch = LAZY, cascade = CascadeType.ALL)
   @JoinColumn(name = "refno", referencedColumnName = "refno")
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/TradeDict.java b/src/main/java/com/supwisdom/dlpay/framework/util/TradeDict.java
index a72913a..d5c3eda 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/util/TradeDict.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/util/TradeDict.java
@@ -84,12 +84,12 @@
   public static final String PAYTYPE_RECHARGE_SERVICEFEE = "servicefee"; //收服务费
 
   /**
-   * reverse flag
+   * refund flag
    * - none : 无
    * - cancel : 冲正
-   * - reverse : 手工撤销
+   * - refund : 手工撤销
    */
   public static final String REVERSE_FLAG_NONE = "none";
   public static final String REVERSE_FLAG_CANCEL = "cancel";
-  public static final String REVERSE_FLAG_REVERSE = "reverse";
+  public static final String REVERSE_FLAG_REFUND = "refund";
 }
diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/ShopController.java b/src/main/java/com/supwisdom/dlpay/system/controller/ShopController.java
index f64753f..91f12f8 100644
--- a/src/main/java/com/supwisdom/dlpay/system/controller/ShopController.java
+++ b/src/main/java/com/supwisdom/dlpay/system/controller/ShopController.java
@@ -192,7 +192,7 @@
                                           @RequestParam("state") String state, @RequestParam("optype") String optype) {
     if (StringUtil.isEmpty(shopaccno) || StringUtil.isEmpty(paytype)
         || (!ConstantUtil.ENABLE_NO.equals(state) && !ConstantUtil.ENABLE_YES.equals(state))
-        || (!"consume".equals(optype) && !"anonymous".equals(optype) && !"reverse".equals(optype))) {
+        || (!"consume".equals(optype) && !"anonymous".equals(optype) && !"refund".equals(optype))) {
       return JsonResult.error("参数传递错误");
     }
 
@@ -212,7 +212,7 @@
           return JsonResult.error("状态错误,请重新查询后操作");
         }
         shopPaytype.setAnonymousEnable(ConstantUtil.ENABLE_YES.equals(state));
-      } else if ("reverse".equals(optype)) {
+      } else if ("refund".equals(optype)) {
         if (state.equals(shopPaytype.getReverseEnable())) {
           return JsonResult.error("状态错误,请重新查询后操作");
         }
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 9665c28..414ad1b 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
@@ -11,7 +11,6 @@
 import com.supwisdom.dlpay.api.service.TransactionServiceProxy
 import com.supwisdom.dlpay.api.service.UserService
 import com.supwisdom.dlpay.exception.RequestParamCheckException
-import com.supwisdom.dlpay.exception.TransactionCheckException
 import com.supwisdom.dlpay.exception.TransactionException
 import com.supwisdom.dlpay.framework.ResponseBodyBuilder
 import com.supwisdom.dlpay.framework.domain.TShopacc
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 dccbf81..2c71695 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
@@ -12,6 +12,7 @@
 import com.supwisdom.dlpay.framework.util.Subject
 import com.supwisdom.dlpay.framework.util.TradeDict
 import com.supwisdom.dlpay.framework.util.TradeErrorCode
+import org.hibernate.Transaction
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.stereotype.Service
 import java.sql.SQLException
@@ -314,19 +315,28 @@
         return transaction
     }
 
-    override fun reverse(originRefno: String): TTransactionMain {
+    private fun preCheckRefund(transaction: TTransactionMain, amount: Double) {
+
+    }
+
+    override fun refund(originRefno: String): TTransactionMain {
+        val originTransation = transactionMainDao.findByRefnoForUpdate(originRefno)
+                ?: throw TransactionProcessException(TradeErrorCode.TRANSACTION_NOT_EXISTS,
+                        "退款流水<$originRefno>不存在")
+
+        preCheckRefund(originTransation, 0.0)
+        TODO("")
+    }
+
+    override fun refundInit(originRefno: String): TTransactionMain {
         TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
     }
 
-    override fun reverseInit(originRefno: String): TTransactionMain {
+    override fun refundConfirm(refno: String): TTransactionMain {
         TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
     }
 
-    override fun reverseConfirm(refno: String): TTransactionMain {
-        TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
-    }
-
-    override fun reverseFail(refno: String): TTransactionMain {
+    override fun refundFail(refno: String): TTransactionMain {
         TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
     }
 
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 5be7f24..b53672a 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
@@ -32,22 +32,23 @@
     @Transactional
     fun success(refno: String): TTransactionMain
 
-    // 撤销接口冲正类接口
-    @Transactional
-    fun reverse(originRefno: String): TTransactionMain
-
-    @Transactional
-    fun reverseInit(originRefno: String): TTransactionMain
-
-    @Transactional
-    fun reverseConfirm(refno: String): TTransactionMain
-
-    @Transactional
-    fun reverseFail(refno: String): TTransactionMain
-
-    // 冲正类接口
     /**
-     * 冲正业务
+     * 退款类业务
+     */
+    @Transactional
+    fun refund(originRefno: String): TTransactionMain
+
+    @Transactional
+    fun refundInit(originRefno: String): TTransactionMain
+
+    @Transactional
+    fun refundConfirm(refno: String): TTransactionMain
+
+    @Transactional
+    fun refundFail(refno: String): TTransactionMain
+
+    /**
+     * 撤销业务
      */
     @Transactional
     fun cancel(originRefno: String): TTransactionMain
@@ -76,9 +77,9 @@
 
 
     fun init(builder: TransactionBuilder): TTransactionMain {
-        try{
+        try {
             return transactionService.init(builder)
-        }catch(ex: DataAccessException){
+        } catch (ex: DataAccessException) {
             //其他SQL错误
             ex.javaClass.name.let {
                 val name = it.substringAfterLast('.')
@@ -116,4 +117,12 @@
     fun success(refno: String): TTransactionMain {
         return success(refno, "")
     }
+
+    fun cancel(refno: String): TTransactionMain {
+        TODO("not implementation")
+    }
+
+    fun refund(originRefno: String, newRefno: String): TTransactionMain {
+        TODO("not implementation")
+    }
 }
\ No newline at end of file
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/transaction_builder.kt b/src/main/kotlin/com/supwisdom/dlpay/api/transaction_builder.kt
index 74f77fd..59c05bb 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/api/transaction_builder.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/api/transaction_builder.kt
@@ -2,7 +2,6 @@
 
 import com.supwisdom.dlpay.api.domain.TAccount
 import com.supwisdom.dlpay.api.domain.TTransactionMain
-import com.supwisdom.dlpay.api.service.TransactionService
 import com.supwisdom.dlpay.api.service.TransactionServiceProxy
 import com.supwisdom.dlpay.exception.TransactionCheckException
 import com.supwisdom.dlpay.framework.domain.TShopacc
@@ -118,7 +117,7 @@
 class TransactionBuilder {
     companion object {
         private val VALID_REVERSEFLAG = setOf(TradeDict.REVERSE_FLAG_CANCEL,
-                TradeDict.REVERSE_FLAG_REVERSE,
+                TradeDict.REVERSE_FLAG_REFUND,
                 TradeDict.REVERSE_FLAG_NONE)
 
         private val VALID_OPERTYPE = setOf(TradeDict.OPERTYPE_OPER,
@@ -179,8 +178,8 @@
     var tradeType: String = "none"
         private set
 
-    fun reverse(): TransactionBuilder {
-        this.tradeType = TradeDict.REVERSE_FLAG_REVERSE
+    fun refund(): TransactionBuilder {
+        this.tradeType = TradeDict.REVERSE_FLAG_REFUND
         return this
     }
 
@@ -350,7 +349,7 @@
         TODO("not implement")
     }
 
-    fun reverse(transactionService: TransactionServiceProxy, originRefno: String, amount: Double): TTransactionMain {
+    fun refund(transactionService: TransactionServiceProxy, originRefno: String, amount: Double): TTransactionMain {
         TODO("not implement")
     }
 }