feat: 增加线下充值接口
diff --git a/build.gradle b/build.gradle
index 3bf4e38..ee3f503 100644
--- a/build.gradle
+++ b/build.gradle
@@ -41,9 +41,10 @@
}
}
- version = gitVersion()
+ version = '1'
ext {
details = versionDetails()
+ buildVersion = gitVersion()
}
}
diff --git a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/CommonRechargeInitParam.java b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/CommonRechargeInitParam.java
index 39099d2..5fb3b54 100644
--- a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/CommonRechargeInitParam.java
+++ b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/CommonRechargeInitParam.java
@@ -2,6 +2,8 @@
import com.supwisdom.dlpay.api.APIRequestParam;
import com.supwisdom.dlpay.api.annotation.Sign;
+import com.supwisdom.dlpay.api.annotation.TransDate;
+import com.supwisdom.dlpay.api.annotation.TransTime;
import com.supwisdom.dlpay.api.exception.RequestParamCheckException;
import com.supwisdom.dlpay.api.util.DateUtil;
import lombok.Getter;
@@ -36,9 +38,12 @@
@Sign
@NotNull(message = "交易日期不能为空")
+ @TransDate(message = "交易日期格式不合法")
private String transdate;
+
@Sign
@NotNull(message = "交易时间不能为空")
+ @TransTime(message = "交易时间格式不合法")
private String transtime;
@Override
diff --git a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/MerchantDepositParam.java b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/MerchantDepositParam.java
new file mode 100644
index 0000000..b19a63a
--- /dev/null
+++ b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/MerchantDepositParam.java
@@ -0,0 +1,132 @@
+package com.supwisdom.dlpay.api.bean;
+
+import com.supwisdom.dlpay.api.APIRequestParam;
+import com.supwisdom.dlpay.api.annotation.TransDate;
+import com.supwisdom.dlpay.api.annotation.TransTime;
+import com.supwisdom.dlpay.api.exception.RequestParamCheckException;
+
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotNull;
+
+public class MerchantDepositParam extends APIRequestParam {
+ private String userid;
+ private String custcode;
+
+ @NotNull(message = "客户端流水号不能为空")
+ private String billno;
+
+ @NotNull(message = "资金类型不能为空")
+ private String capitalType;
+
+ @NotNull(message = "充值金额不能为空")
+ @Min(value = 1L, message = "充值金额不能小于等于0")
+ private Integer depositAmount;
+
+ @NotNull(message = "操作员")
+ private String opercode;
+
+ private String refno;
+
+ @TransDate
+ private String localDate;
+ @TransTime
+ private String localTime;
+
+ @NotNull(message = "商户号不能为空")
+ private String merchant;
+
+ private String desc;
+
+ public String getUserid() {
+ return userid;
+ }
+
+ public void setUserid(String userid) {
+ this.userid = userid;
+ }
+
+ public String getCustcode() {
+ return custcode;
+ }
+
+ public void setCustcode(String custcode) {
+ this.custcode = custcode;
+ }
+
+ public String getBillno() {
+ return billno;
+ }
+
+ public void setBillno(String billno) {
+ this.billno = billno;
+ }
+
+ public String getCapitalType() {
+ return capitalType;
+ }
+
+ public void setCapitalType(String capitalType) {
+ this.capitalType = capitalType;
+ }
+
+ public Integer getDepositAmount() {
+ return depositAmount;
+ }
+
+ public void setDepositAmount(Integer depositAmount) {
+ this.depositAmount = depositAmount;
+ }
+
+ public String getLocalDate() {
+ return localDate;
+ }
+
+ public void setLocalDate(String localDate) {
+ this.localDate = localDate;
+ }
+
+ public String getLocalTime() {
+ return localTime;
+ }
+
+ public void setLocalTime(String localTime) {
+ this.localTime = localTime;
+ }
+
+ public String getMerchant() {
+ return merchant;
+ }
+
+ public void setMerchant(String merchant) {
+ this.merchant = merchant;
+ }
+
+ public String getDesc() {
+ return desc;
+ }
+
+ public void setDesc(String desc) {
+ this.desc = desc;
+ }
+
+ public String getOpercode() {
+ return opercode;
+ }
+
+ public void setOpercode(String opercode) {
+ this.opercode = opercode;
+ }
+
+ public String getRefno() {
+ return refno;
+ }
+
+ public void setRefno(String refno) {
+ this.refno = refno;
+ }
+
+ @Override
+ public boolean checkParam() throws RequestParamCheckException {
+ return true;
+ }
+}
diff --git a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/MerchantDepositResponse.java b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/MerchantDepositResponse.java
new file mode 100644
index 0000000..c54ffe4
--- /dev/null
+++ b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/MerchantDepositResponse.java
@@ -0,0 +1,43 @@
+package com.supwisdom.dlpay.api.bean;
+
+public class MerchantDepositResponse extends ApiResponse {
+ private String refno;
+
+ private Integer depositAmount;
+
+ private Integer extraAmount;
+
+ private String summary;
+
+ public String getRefno() {
+ return refno;
+ }
+
+ public void setRefno(String refno) {
+ this.refno = refno;
+ }
+
+ public Integer getDepositAmount() {
+ return depositAmount;
+ }
+
+ public void setDepositAmount(Integer depositAmount) {
+ this.depositAmount = depositAmount;
+ }
+
+ public Integer getExtraAmount() {
+ return extraAmount;
+ }
+
+ public void setExtraAmount(Integer extraAmount) {
+ this.extraAmount = extraAmount;
+ }
+
+ public String getSummary() {
+ return summary;
+ }
+
+ public void setSummary(String summary) {
+ this.summary = summary;
+ }
+}
diff --git a/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/TransactionProxy.java b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/TransactionProxy.java
index 570587a..712fcd3 100644
--- a/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/TransactionProxy.java
+++ b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/TransactionProxy.java
@@ -15,4 +15,10 @@
@PostMapping("/api/consume/queryresult")
QueryTransDtlResponse queryDtlResult(@RequestBody QueryDtlResultParam param);
+
+ @PostMapping("/api/deposit/merchant/init")
+ MerchantDepositResponse depositInit(@RequestBody MerchantDepositParam param);
+
+ @PostMapping("/api/deposit/merchant/confirm")
+ MerchantDepositResponse depositConfirm(@RequestBody MerchantDepositParam param);
}
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/api/dao/DepositCapitalTypeDao.java b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/DepositCapitalTypeDao.java
new file mode 100644
index 0000000..e6a0b58
--- /dev/null
+++ b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/DepositCapitalTypeDao.java
@@ -0,0 +1,13 @@
+package com.supwisdom.dlpay.api.dao;
+
+import com.supwisdom.dlpay.api.domain.TDepositCapitalType;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+import java.util.List;
+
+public interface DepositCapitalTypeDao extends JpaRepository<TDepositCapitalType, Integer> {
+
+ TDepositCapitalType findTDepositCapitalTypeByCodeAndTenantid(String code, String tenantid);
+
+ List<TDepositCapitalType> findTDepositCapitalTypesByTenantid(String tenantid);
+}
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TDepositCapitalType.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TDepositCapitalType.java
new file mode 100644
index 0000000..90a3334
--- /dev/null
+++ b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TDepositCapitalType.java
@@ -0,0 +1,94 @@
+package com.supwisdom.dlpay.api.domain;
+
+import javax.persistence.*;
+
+import static javax.persistence.FetchType.LAZY;
+
+@Table(name = "TB_DEPOSIT_CAPITAL_TYPE",
+ indexes = {@Index(name = "deposit_capital_type_idx", columnList = "code, tenantid", unique = true)})
+@Entity
+@SequenceGenerator(name = "deposit_capital_type_seq", initialValue = 50)
+public class TDepositCapitalType {
+
+ @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "deposit_capital_type_seq")
+ private Integer id;
+
+ @Column(name = "code", length = 20)
+ private String code;
+
+ @Column(name = "capital", length = 100)
+ private String capital;
+
+ @Column(name = "subjno", length = 20)
+ private String subjno;
+
+ @Column(name = "sourcetypecode", length = 32)
+ private String sourceTypeCode;
+
+ @OneToOne(targetEntity = TSourceType.class, fetch = LAZY, cascade = CascadeType.ALL)
+ @JoinColumns({
+ @JoinColumn(name = "sourcetypecode", referencedColumnName = "SOURCETYPE"),
+ @JoinColumn(name = "tenantid", referencedColumnName = "tenantid")
+ })
+ private TSourceType sourceType;
+
+ @Column(name = "tenantid", length = 20)
+ private String tenantid;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public String getCapital() {
+ return capital;
+ }
+
+ public void setCapital(String capital) {
+ this.capital = capital;
+ }
+
+ public String getSubjno() {
+ return subjno;
+ }
+
+ public void setSubjno(String subjno) {
+ this.subjno = subjno;
+ }
+
+ public String getTenantid() {
+ return tenantid;
+ }
+
+
+ public void setTenantid(String tenantid) {
+ this.tenantid = tenantid;
+ }
+
+ public String getSourceTypeCode() {
+ return sourceTypeCode;
+ }
+
+ public void setSourceTypeCode(String sourceTypeCode) {
+ this.sourceTypeCode = sourceTypeCode;
+ }
+
+ public TSourceType getSourceType() {
+ return sourceType;
+ }
+
+ public void setSourceType(TSourceType sourceType) {
+ this.sourceType = sourceType;
+ }
+}
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/util/TradeCode.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/TradeCode.java
index d1a85b8..8298977 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/framework/util/TradeCode.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/TradeCode.java
@@ -32,4 +32,6 @@
public static final int TRANSCODE_CARD_BIZ = 1007; // 卡务业务
+ public static final int TRANSCODE_MERCHANT_DEPOSIT = 3600;
+
}
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/util/TradeDict.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/TradeDict.java
index 9c2162f..d82ded4 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/framework/util/TradeDict.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/TradeDict.java
@@ -88,6 +88,8 @@
public static final String PAYTYPE_SM = "SM"; //SM内支付
public static final String SOURCETYPE_DEFAULT = "thirduid"; //第三方id默认
+ public static final String SOURCETYPE_INTERNAL = "internal"; //内部资金类型
+ public static final String SOURCETYPE_EXTERNAL = "external"; //外部资金
/**
* feetype
* - 消费:折扣、搭伙费(管理费)
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/charge_api_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/charge_api_controller.kt
index da8c986..968dab2 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/charge_api_controller.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/charge_api_controller.kt
@@ -3,11 +3,13 @@
import com.supwisdom.dlpay.api.AccountProxy
import com.supwisdom.dlpay.api.TransactionBuilder
import com.supwisdom.dlpay.api.bean.*
-import com.supwisdom.dlpay.api.service.*
+import com.supwisdom.dlpay.api.service.AccountUtilServcie
+import com.supwisdom.dlpay.api.service.ChargeApiService
+import com.supwisdom.dlpay.api.service.TransactionServiceProxy
+import com.supwisdom.dlpay.api.service.UserService
import com.supwisdom.dlpay.exception.TransactionCheckException
import com.supwisdom.dlpay.exception.TransactionProcessException
import com.supwisdom.dlpay.framework.ResponseBodyBuilder
-import com.supwisdom.dlpay.framework.service.CommonService
import com.supwisdom.dlpay.framework.service.SystemUtilService
import com.supwisdom.dlpay.framework.util.Subject
import com.supwisdom.dlpay.framework.util.TradeCode
@@ -20,9 +22,10 @@
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
+import javax.validation.Valid
@RestController
-@RequestMapping("/api/recharge")
+@RequestMapping("/api/deposit")
class ChargeAPIController {
@Autowired
lateinit var accountUtilServcie: AccountUtilServcie
@@ -31,8 +34,6 @@
@Autowired
lateinit var transactionService: TransactionServiceProxy
@Autowired
- lateinit var commonService: CommonService
- @Autowired
lateinit var userService: UserService
@Autowired
lateinit var chargeApiService: ChargeApiService
@@ -141,4 +142,75 @@
}
+ @PostMapping("/merchant/init")
+ fun merchantDepositInit(@RequestBody @Valid param: MerchantDepositParam, auth: Authentication):
+ ResponseEntity<Any> {
+ val response = MerchantDepositResponse()
+ val account = when {
+ param.userid.isNotBlank() -> {
+ accountUtilServcie.readAccount(param.userid)
+ }
+ param.custcode.isNotBlank() -> {
+ TODO("not implementation")
+ }
+ else -> {
+ return ResponseBodyBuilder.failEntity(response, TradeErrorCode.INPUT_DATA_ERROR,
+ "用户ID不能为空")
+ }
+ }
+
+ val shopacc = accountUtilServcie.readShopbyShopaccno(param.merchant)
+
+ val capitalType = chargeApiService.getDepositCapital(param.capitalType)
+
+ val subject = accountUtilServcie.readSubject(capitalType.subjno)
+
+ val builder = TransactionBuilder().apply {
+ setTransInfo(param.localDate, param.localTime,
+ TradeCode.TRANSCODE_MERCHANT_DEPOSIT,
+ capitalType.sourceTypeCode)
+ setOutTransInfo(auth.principal.toString(), param.billno)
+ dtltype = "deposit"
+ if (param.opercode.isNotBlank()) {
+ operator(param.opercode, TradeDict.OPERTYPE_SHOP)
+ } else {
+ operator(param.merchant, TradeDict.OPERTYPE_SHOP)
+ }
+ }.person(account).apply {
+ setAmount(param.depositAmount / 100.0, TradeDict.TRADE_FLAG_IN)
+ setOpposite(shopacc.shopaccno, shopacc.shopname)
+ }.and().shop(shopacc).apply {
+ setAmount(param.depositAmount / 100.0, TradeDict.TRADE_FLAG_OUT)
+ setOpposite(account.accno, account.accname)
+ }.and()
+ .addDebitCreditRecord(subject.subjno, subject.subjname,
+ shopacc.shopaccno, shopacc.shopname, param.depositAmount / 100.0,
+ capitalType.capital + "充值")
+ .addDebitCreditRecord(shopacc.shopaccno, shopacc.shopname,
+ account.accno, account.accname, param.depositAmount / 100.0,
+ capitalType.capital + "充值")
+
+ val transaction = builder.init(transactionService)
+ response.apply {
+ refno = transaction.refno
+ summary = transaction.shopDtl.transdesc
+ depositAmount = Math.round(transaction.personDtl.amount * 100) as Int
+ extraAmount = 0
+ }
+ return ResponseBodyBuilder.successEntity(response, "充值初始化成功")
+ }
+
+ @PostMapping("/merchant/confirm")
+ fun merchantDepositConfirm(@RequestBody @Valid param: MerchantDepositParam, auth: Authentication):
+ ResponseEntity<Any> {
+ val response = MerchantDepositResponse()
+ val transaction = transactionService.success(param.refno)
+ response.apply {
+ refno = transaction.refno
+ summary = transaction.shopDtl.transdesc
+ depositAmount = Math.round(transaction.personDtl.amount * 100) as Int
+ extraAmount = 0
+ }
+ return ResponseBodyBuilder.successEntity(response, "充值成功")
+ }
}
\ No newline at end of file
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/charge_api_service.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/charge_api_service.kt
index 2ac22fb..9d737de 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/charge_api_service.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/charge_api_service.kt
@@ -1,5 +1,6 @@
package com.supwisdom.dlpay.api.service
+import com.supwisdom.dlpay.api.domain.TDepositCapitalType
import com.supwisdom.dlpay.api.domain.TPersondtl
import com.supwisdom.dlpay.api.domain.TTransactionMain
import org.springframework.transaction.annotation.Propagation
@@ -14,4 +15,7 @@
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = [Exception::class], readOnly = true)
fun getPersonDtl(refno: String): TPersondtl
+
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = [Exception::class], readOnly = true)
+ fun getDepositCapital(capital: String): TDepositCapitalType
}
\ No newline at end of file
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/charge_api_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/charge_api_service_impl.kt
index d76880f..f08607d 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/charge_api_service_impl.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/charge_api_service_impl.kt
@@ -1,11 +1,14 @@
package com.supwisdom.dlpay.api.service.impl
+import com.supwisdom.dlpay.api.dao.DepositCapitalTypeDao
import com.supwisdom.dlpay.api.dao.PersondtlDao
import com.supwisdom.dlpay.api.dao.TransactionMainDao
+import com.supwisdom.dlpay.api.domain.TDepositCapitalType
import com.supwisdom.dlpay.api.domain.TPersondtl
import com.supwisdom.dlpay.api.domain.TTransactionMain
import com.supwisdom.dlpay.api.service.ChargeApiService
import com.supwisdom.dlpay.api.service.SourceTypeService
+import com.supwisdom.dlpay.framework.tenant.TenantContext
import com.supwisdom.dlpay.framework.util.StringUtil
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.stereotype.Service
@@ -19,6 +22,9 @@
@Autowired
lateinit var persondtlDao: PersondtlDao
+ @Autowired
+ lateinit var depositCapitalTypeDao: DepositCapitalTypeDao
+
override fun checkRechargeSourcetype(sourceType: String): Boolean {
return sourceTypeService.checkRechargeSourcetype(sourceType)
}
@@ -30,7 +36,11 @@
}
}
- override fun getPersonDtl(refno: String): TPersondtl{
+ override fun getPersonDtl(refno: String): TPersondtl {
return persondtlDao.getOne(refno)
}
+
+ override fun getDepositCapital(capital: String): TDepositCapitalType {
+ return depositCapitalTypeDao.findTDepositCapitalTypeByCodeAndTenantid(capital, TenantContext.getTenantSchema());
+ }
}
\ No newline at end of file
diff --git a/payapi/src/main/resources/data.sql b/payapi/src/main/resources/data.sql
index 7244bf3..2e5119a 100644
--- a/payapi/src/main/resources/data.sql
+++ b/payapi/src/main/resources/data.sql
@@ -560,6 +560,46 @@
VALUES ('28EE54CD3B044CC197D6C5B0E309F8B8', 'alipay', 't', '支付宝', 't', 't', 't', 't', 'f', '112230','112210', 1, '103000', '{tenantid}');
INSERT INTO "tb_sourcetype" ("sourcetype_id", "sourcetype", "checkable", "paydesc", "enable", "charge_enable", "consume_enable", "anonymous_enable", "reversable", "pay_subjno", "deposite_subjno", "tplusn", "start_chktime", "tenantid")
VALUES ('DAEF88B54B684347B2B83940C38C7671', 'wechat', 't', '微信支付', 't', 't', 't', 't', 'f', '112231','112211', 1, '103000', '{tenantid}');
+INSERT INTO "tb_sourcetype" ("sourcetype_id", "sourcetype", "checkable", "paydesc", "enable", "charge_enable", "consume_enable", "anonymous_enable", "reversable", "pay_subjno", "deposite_subjno", "tplusn", "start_chktime", "tenantid")
+VALUES ('8f86d7c37dd813b8141057c2dbd93250', 'internal', 't', '内部资金', 't', 't', 't', 't', 'f', '','', 1, '', '{tenantid}');
+INSERT INTO "tb_sourcetype" ("sourcetype_id", "sourcetype", "checkable", "paydesc", "enable", "charge_enable", "consume_enable", "anonymous_enable", "reversable", "pay_subjno", "deposite_subjno", "tplusn", "start_chktime", "tenantid")
+VALUES ('52d23e8b38221b15f989af1b910cc104', 'external', 't', '外部资金', 't', 't', 't', 't', 'f', '','', 1, '', '{tenantid}');
+
+INSERT INTO TB_DEPOSIT_CAPITAL_TYPE(ID, CODE, CAPITAL, SUBJNO, SOURCETYPECODE, TENANTID)
+VALUES(1, 'cash', '现金', '1001', 'external', '{tenantid}');
+
+INSERT INTO TB_DEPOSIT_CAPITAL_TYPE(ID, CODE, CAPITAL, SUBJNO, SOURCETYPECODE, TENANTID)
+VALUES(2, 'cheque', '支票', '112101', 'external', '{tenantid}');
+
+INSERT INTO TB_DEPOSIT_CAPITAL_TYPE(ID, CODE, CAPITAL, SUBJNO, SOURCETYPECODE, TENANTID)
+VALUES(3, 'voucher', '经费本', '112102', 'external', '{tenantid}');
+
+INSERT INTO TB_DEPOSIT_CAPITAL_TYPE(ID, CODE, CAPITAL, SUBJNO, SOURCETYPECODE, TENANTID)
+VALUES(4, 'wanxiao.weichat', '完美校园微信', '112209', 'external', '{tenantid}');
+
+INSERT INTO TB_DEPOSIT_CAPITAL_TYPE(ID, CODE, CAPITAL, SUBJNO, SOURCETYPECODE, TENANTID)
+VALUES(5, 'wanxiao.alipay', '完美校园支付宝', '112209', 'external', '{tenantid}');
+
+INSERT INTO TB_DEPOSIT_CAPITAL_TYPE(ID, CODE, CAPITAL, SUBJNO, SOURCETYPECODE, TENANTID)
+VALUES(6, 'wanxiao.ccb', '完美校园建设银行', '112209', 'external', '{tenantid}');
+
+INSERT INTO TB_DEPOSIT_CAPITAL_TYPE(ID, CODE, CAPITAL, SUBJNO, SOURCETYPECODE, TENANTID)
+VALUES(7, 'wanxiao.icbc', '完美校园工商银行', '112209', 'external', '{tenantid}');
+
+INSERT INTO TB_DEPOSIT_CAPITAL_TYPE(ID, CODE, CAPITAL, SUBJNO, SOURCETYPECODE, TENANTID)
+VALUES(8, 'wanxiao.boc', '完美校园中国银行', '112209', 'external', '{tenantid}');
+
+INSERT INTO TB_DEPOSIT_CAPITAL_TYPE(ID, CODE, CAPITAL, SUBJNO, SOURCETYPECODE, TENANTID)
+VALUES(9, 'wanxiao.abc', '完美校园农业银行', '112209', 'external', '{tenantid}');
+
+INSERT INTO TB_DEPOSIT_CAPITAL_TYPE(ID, CODE, CAPITAL, SUBJNO, SOURCETYPECODE, TENANTID)
+VALUES(10, 'weichat', '微信', '112211', 'external', '{tenantid}');
+
+INSERT INTO TB_DEPOSIT_CAPITAL_TYPE(ID, CODE, CAPITAL, SUBJNO, SOURCETYPECODE, TENANTID)
+VALUES(11, 'alipay', '支付宝', '112210', 'external', '{tenantid}');
+
+INSERT INTO TB_DEPOSIT_CAPITAL_TYPE(ID, CODE, CAPITAL, SUBJNO, SOURCETYPECODE, TENANTID)
+VALUES(12, 'unionpay', '银联', '112212', 'external', '{tenantid}');
-- 支付方式
INSERT INTO TB_SOURCETYPE_CONFIG (ID, SOURCETYPE,CONFIGID,CONFIG_NAME,CONFIG_VALUE,GLOBALFLAG, "tenantid")
diff --git a/payapi/src/test/kotlin/com/supwisdom/dlpay/transaction_service_test.kt b/payapi/src/test/kotlin/com/supwisdom/dlpay/transaction_service_test.kt
index cfacc16..4329c70 100644
--- a/payapi/src/test/kotlin/com/supwisdom/dlpay/transaction_service_test.kt
+++ b/payapi/src/test/kotlin/com/supwisdom/dlpay/transaction_service_test.kt
@@ -83,7 +83,7 @@
}
@Test
- fun testTransaction() {
+ fun `transation init success`() {
val builder = TransactionBuilder()
val person = testAccount()
val shop = testShop()
@@ -127,5 +127,9 @@
verify(exactly = 1) { systemUtilService.refno }
verify(atLeast = 1) { systemUtilService.accdate }
verify(exactly = 1) { sourceTypeService.getBySourceType(builder.sourceType) }
+
+ every { transactionMainDao.findByRefnoForUpdate(transaction.refno) } returns transaction
+ val trans2 = transactionService.success(transaction.refno)
+ assertThat(trans2.status, equalTo(TradeDict.DTL_STATUS_SUCCESS))
}
}
\ No newline at end of file