优化并修改bug
diff --git a/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java b/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java
index 29919c5..8a0ad65 100644
--- a/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java
+++ b/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java
@@ -253,6 +253,9 @@
assertThat("user card biz init " + response.getRetcode() + response.getRetmsg() + response.getException(),
response.getRetcode(), equalTo(0));
+ System.out.println("biz init accdate " + response.getAccdate() + " , refno " + response.getRefno()
+ + ", description " + response.getDescription() + " summary " + response.getRetmsg());
+
param.setAccdate(response.getAccdate());
param.setRefno(response.getRefno());
response = userProxy.bizConfirm(param);
@@ -260,6 +263,9 @@
assertThat("user card biz confirm " + response.getRetcode() + response.getRetmsg() + response.getException(),
response.getRetcode(), equalTo(0));
+ System.out.println("biz confirm accdate " + response.getAccdate() + " , refno " + response.getRefno()
+ + ", description " + response.getDescription() + " summary " + response.getRetmsg());
+
}
@Test
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt
index 271af87..ef0018a 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt
@@ -174,8 +174,9 @@
setTransInfo(request.transdate, request.transtime, TradeCode.TRANSCODE_CARD_BIZ, "balance")
setOutTransInfo(request.operid, request.operSeqno)
dtltype = "cardservice"
- description = request.summary
}
+ val transDesc = arrayListOf<String>()
+ transDesc.add(request.summary)
val result = PublishCardResponse()
val user = useService.findAccountByUserid(request.userid, null)
@@ -203,12 +204,11 @@
TradeErrorCode.INPUT_DATA_ERROR,
"交易金额错误")
}
- if (depositAmount != 0 && request.totalAmount != 0) {
+ if (request.totalAmount != 0) {
if (depositAmount > 0) {
- builder.addDebitCreditRecord(capitalSubj.subjno, capitalSubj.subjname,
+ builder.addDebitCreditRecord(capitalSubj.subjno, capitalSubj.subjno,
user.accno, Subject.SUBJNO_PERSONAL_DEPOSIT, request.totalAmount / 100.0, request.summary)
}
- val transDesc = arrayListOf<String>()
if (request.cost > 0) {
val subject = accountUtilServcie.readSubject(Subject.SUBJNO_CARD_COST)
builder.addDebitCreditRecord(user.accno, Subject.SUBJNO_PERSONAL_DEPOSIT,
@@ -231,8 +231,8 @@
request.summary)
transDesc.add("手续费" + "%.2f".format(request.charge / 100.0) + " 元")
}
- builder.description += transDesc.joinToString(";")
}
+ builder.description = transDesc.joinToString(";")
val transaction = transactionService.init(builder)
result.apply {
@@ -249,6 +249,7 @@
val response = PublishCardResponse().apply {
accdate = transaction.accdate
refno = transaction.refno
+ description = transaction.personDtl.transdesc
}
return ResponseBodyBuilder.successEntity(response, "${request.summary}确认成功")
}
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/transaction_builder.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/transaction_builder.kt
index 64f9033..1b81661 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/transaction_builder.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/transaction_builder.kt
@@ -8,6 +8,7 @@
import com.supwisdom.dlpay.framework.domain.TSubject
import com.supwisdom.dlpay.framework.util.TradeDict
import com.supwisdom.dlpay.framework.util.TradeErrorCode
+import org.apache.commons.lang3.StringUtils
import kotlin.math.abs
open class SubTransactionBuilder<T : SubTransactionBuilder<T>>(val parent: TransactionBuilder) {
@@ -217,6 +218,13 @@
var remark: String = ""
var dtltype: String = ""
+
+ private fun checkSubjectNo(subjno: String) {
+ if (!StringUtils.isNumeric(subjno)) {
+ throw TransactionCheckException(TradeErrorCode.INPUT_DATA_ERROR, "科目号<$subjno>不合法")
+ }
+ }
+
fun person(): PersonTranactionBuilder {
return this.personBuilder
}
@@ -290,6 +298,8 @@
fun addDebitCreditRecord(debitAccNo: String, debitSubjNo: String,
creditAccNo: String, creditSubjNo: String,
amount: Double, summary: String): TransactionBuilder {
+ checkSubjectNo(debitSubjNo)
+ checkSubjectNo(creditSubjNo)
debitCreditLines.add(DebitCreditLine(debitAccNo, debitSubjNo,
creditAccNo, creditSubjNo,
amount, summary, debitCreditLines.size + 1))