From 8c49e70ee0b87b851f525205b22b70723b1588a5 Mon Sep 17 00:00:00 2001 From: Xia Kaixiang Date: Tue, 16 Jul 2019 09:16:40 +0800 Subject: [PATCH] =?utf8?q?=E4=B8=8E=E5=86=9C=E5=95=86=E8=A1=8C=E5=89=8D?= =?utf8?q?=E7=BD=AE=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../supwisdom/dlpay/api/bean/DlpayResp.java | 6 +- .../com/supwisdom/dlpay/util/YnrccUtil.java | 31 +- .../api/service/dali_datasync_service.kt | 4 + .../impl/dali_datasync_service_impl.kt | 4 +- .../service/citizencard_service.kt | 12 +- .../service/impl/citizencard_service_impl.kt | 295 +++++++++++++++++- payapi/src/main/resources/data.sql | 6 +- .../api/controller/YnrccApiController.java | 2 +- 8 files changed, 341 insertions(+), 19 deletions(-) diff --git a/payapi/src/main/java/com/supwisdom/dlpay/api/bean/DlpayResp.java b/payapi/src/main/java/com/supwisdom/dlpay/api/bean/DlpayResp.java index ba5e1135..2ed95c02 100644 --- a/payapi/src/main/java/com/supwisdom/dlpay/api/bean/DlpayResp.java +++ b/payapi/src/main/java/com/supwisdom/dlpay/api/bean/DlpayResp.java @@ -9,9 +9,9 @@ public class DlpayResp { private String message; private String transdate; private String transtime; - private String bankjourno; - private String captcha; - private String status; + private String bankjourno; //银行流水号 + private String captcha; //验证码 + private String status; //0-成功;1-失败;2-已退款;3-部分退款 private String filename; @XmlElement(name = "CODE") diff --git a/payapi/src/main/java/com/supwisdom/dlpay/util/YnrccUtil.java b/payapi/src/main/java/com/supwisdom/dlpay/util/YnrccUtil.java index d6d7b9f9..e2ef84fa 100644 --- a/payapi/src/main/java/com/supwisdom/dlpay/util/YnrccUtil.java +++ b/payapi/src/main/java/com/supwisdom/dlpay/util/YnrccUtil.java @@ -5,18 +5,26 @@ import java.util.Map; public class YnrccUtil { - private static final String BANKCARD_BIND_TRANSCODE = "BC5510"; - private static final String BANKCARD_SIGN_TRANSCODE = "BC5511"; - private static final String BANKCARD_PAY_TRANSCODE = "BC5512"; - private static final String BANKCARD_PAYREFUND_TRANSCODE = "BC5513"; - private static final String BANKCARD_QUERYRESULT_TRANSCODE = "BC5514"; - private static final String BANKCARD_CHKFILE_TRANSCODE = "BC5515"; + public static final String BANKCARD_BIND_TRANSCODE = "BC5510"; + public static final String BANKCARD_SIGN_TRANSCODE = "BC5511"; + public static final String BANKCARD_PAY_TRANSCODE = "BC5512"; + public static final String BANKCARD_PAYREFUND_TRANSCODE = "BC5513"; + public static final String BANKCARD_QUERYRESULT_TRANSCODE = "BC5514"; + public static final String BANKCARD_CHKFILE_TRANSCODE = "BC5515"; public static final String DLPAY_CATEGORIE = "C001"; //消费类别 public static final String YNRCC_ANGENT_URL = "ynrcc.agent.url"; //农商行前置url - public static final String YNRCC_SIGNTYPE = "ynrcc.agent.signtype"; //农商行前置signtype public static final String YNRCC_SIGNKEY = "ynrcc.agent.signkey"; //农商行前置md5key + public static final String YNRCC_MERCHANT_BANKCARDNO = "merchant.bankcardno"; + public static final String YNRCC_MERCHANT_BANKACCNAME = "merchant.bankaccname"; + + public static final String PARAM_CONFIG_ERROR = "90000"; // 参数未配置 + public static final String PARAM_VALUE_ERROR = "90001"; // 参数值错误 + + public static final int AGENT_CONNECT_TIMEOUT = 20; + public static final String TRANSTYPE_SIGNCARD = "1"; //签约 + public static final String TRANSTYPE_UNSIGNCARD = "2"; //解约 public static final Map errcode = new HashMap<>(0); static { @@ -28,17 +36,26 @@ public class YnrccUtil { errcode.put("0105", "户名不符"); errcode.put("0106", "卡状态异常"); errcode.put("0107", "无此卡号"); + errcode.put("0108", "已存在签约信息,与签约证件号码不符"); + errcode.put("0109", "已存在签约信息,与签约证件类型不符"); + errcode.put("0110", "已存在签约信息,与签约户名不符"); + errcode.put("0111", "已存在签约信息,与签约手机号不符"); + errcode.put("0201", "未进行银行卡绑定"); errcode.put("0202", "无效的交易类型"); errcode.put("0301", "未签约"); errcode.put("0302", "余额不足"); errcode.put("0303", "MD5校验失败"); + errcode.put("0304", "该卡号已经解约,不允许重复解约"); errcode.put("0401", "原始流水不存在"); errcode.put("0402", "原始流水未成功"); errcode.put("0403", "原始流水已退款"); errcode.put("4004", "商户账户余额不足"); errcode.put("0405", "不在退款时间范围内"); errcode.put("0406", "当日无交易明细"); + errcode.put("0407", "非大理市民卡,不允许交易"); + errcode.put("0408", "同一请求流水号不允许重复提交"); + errcode.put("4444", "其他错误"); } diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/dali_datasync_service.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/dali_datasync_service.kt index b85342fa..8b378e8d 100644 --- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/dali_datasync_service.kt +++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/dali_datasync_service.kt @@ -1,6 +1,7 @@ package com.supwisdom.dlpay.api.service import com.supwisdom.dlpay.api.bean.DaliDatasyncDetail +import com.supwisdom.dlpay.api.domain.TCard import org.springframework.transaction.annotation.Propagation import org.springframework.transaction.annotation.Transactional @@ -9,4 +10,7 @@ interface DaliDatasyncService{ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = arrayOf(Exception::class)) fun doUpdateUserInfos(bean: DaliDatasyncDetail): Boolean + @Transactional(rollbackFor = arrayOf(Exception::class), readOnly = true) + fun getBankcardByUserid(userid: String): TCard? + } \ No newline at end of file diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/dali_datasync_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/dali_datasync_service_impl.kt index be69c422..d3453304 100644 --- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/dali_datasync_service_impl.kt +++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/dali_datasync_service_impl.kt @@ -130,5 +130,7 @@ class DaliDatasyncServiceImpl : DaliDatasyncService { } - + override fun getBankcardByUserid(userid: String): TCard? { + return cardDao.findCardByUseridAndCardtype(userid, ConstantUtil.CARDTYPE_BANKCARD) + } } \ No newline at end of file diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/citizencard/service/citizencard_service.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/citizencard/service/citizencard_service.kt index 7faf4d7a..5da11166 100644 --- a/payapi/src/main/kotlin/com/supwisdom/dlpay/citizencard/service/citizencard_service.kt +++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/citizencard/service/citizencard_service.kt @@ -1,8 +1,18 @@ package com.supwisdom.dlpay.citizencard.service import com.supwisdom.dlpay.api.bean.DlpayResp +import com.supwisdom.dlpay.api.domain.TPerson interface CitizencardPayService { - fun bindCard(bankcardno: String, idtype: String, idno: String, phone: String): DlpayResp + fun bindCard(bankcardno: String, username: String, idtype: String, idno: String, phone: String): DlpayResp + + fun signCard(bankcardno: String, username: String, idtype: String, idno: String, phone: String, transtype: String): DlpayResp + + fun cardPay(shopaccno: String, person: TPerson, amount: Int, refno: String): DlpayResp + + fun cardPayRefund(refno: String, orignRefno: String, amount: Int): DlpayResp + + fun queryResult(refno: String, orignRefno: String): DlpayResp + } \ No newline at end of file diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/citizencard/service/impl/citizencard_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/citizencard/service/impl/citizencard_service_impl.kt index b29a0849..57852625 100644 --- a/payapi/src/main/kotlin/com/supwisdom/dlpay/citizencard/service/impl/citizencard_service_impl.kt +++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/citizencard/service/impl/citizencard_service_impl.kt @@ -1,12 +1,303 @@ package com.supwisdom.dlpay.citizencard.service.impl +import com.google.gson.Gson +import com.sun.jersey.api.client.Client +import com.sun.jersey.api.client.ClientResponse import com.supwisdom.dlpay.api.bean.DlpayResp +import com.supwisdom.dlpay.api.domain.TPerson +import com.supwisdom.dlpay.api.service.DaliDatasyncService +import com.supwisdom.dlpay.api.service.SourceTypeService +import com.supwisdom.dlpay.api.types.IDTypes import com.supwisdom.dlpay.citizencard.service.CitizencardPayService +import com.supwisdom.dlpay.framework.service.SystemUtilService +import com.supwisdom.dlpay.framework.util.* +import com.supwisdom.dlpay.util.YnrccUtil +import mu.KotlinLogging +import org.springframework.beans.factory.annotation.Autowired +import javax.ws.rs.core.MediaType class CitizencardPayServiceImpl : CitizencardPayService { + @Autowired + lateinit var sourceTypeService: SourceTypeService + @Autowired + lateinit var systemUtilService: SystemUtilService + @Autowired + lateinit var daliDatasyncService: DaliDatasyncService - override fun bindCard(bankcardno: String, idtype: String, idno: String, phone: String): DlpayResp { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + private val logger = KotlinLogging.logger { } + + private fun checkCitizencardConfig(config: Map, resp: DlpayResp): Boolean { + val agentUrl = config[YnrccUtil.YNRCC_ANGENT_URL] + val signKey = config[YnrccUtil.YNRCC_SIGNKEY] + if (agentUrl.isNullOrEmpty()) { + resp.code = YnrccUtil.PARAM_CONFIG_ERROR + resp.message = "系统参数未配置[农商行前置地址前缀]" + logger.error(resp.message) + return false + } + if (signKey.isNullOrEmpty()) { + resp.code = YnrccUtil.PARAM_CONFIG_ERROR + resp.message = "系统参数未配置[农商行前置签名秘钥]" + logger.error(resp.message) + return false + } + return true + } + + override fun bindCard(bankcardno: String, username: String, idtype: String, idno: String, phone: String): DlpayResp { + var resp = DlpayResp() + val config = sourceTypeService.getChargePaytypeConfig(TradeDict.PAYTYPE_CITIZEN_CARD, true) + if (!checkCitizencardConfig(config, resp)) { + return resp + } + val idType = IDTypes.findByValue(idtype) + if (idType < 0) { + resp.code = YnrccUtil.PARAM_VALUE_ERROR + resp.message = "证件类型未识别[$idtype]" + logger.error(resp.message) + return resp + } + val systime = systemUtilService.sysdatetime + val refno = systemUtilService.refno + val params = hashMapOf() + params.plus(mapOf( + "transcode" to YnrccUtil.BANKCARD_BIND_TRANSCODE, + "transdate" to systime.hostdate, + "transtime" to systime.hosttime, + "refno" to refno, + "bankcardno" to bankcardno, + "username" to username, + "idtype" to idType, + "idno" to idno, + "phone" to phone, + "sign_type" to "MD5" + )) + val sign = MD5.encodeByMD5(StringUtil.createLinkString(StringUtil.paraFilter(params)) + config[YnrccUtil.YNRCC_SIGNKEY]!!.trim()) + params["sign"] = sign + val url = config[YnrccUtil.YNRCC_ANGENT_URL]!!.trim() + "/bindcard" + logger.error("url=[$url], params=[" + Gson().toJson(params) + "]") + val client = Client.create() + client.setConnectTimeout(YnrccUtil.AGENT_CONNECT_TIMEOUT * 1000) + val respClient = client.resource(url).type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).post(ClientResponse::class.java) + return if (200 == respClient.status) { + resp = respClient.getEntity(DlpayResp::class.java) + logger.error("refno=[$refno], url=[$url], return=[" + Gson().toJson(resp) + "]") + resp + } else { + resp.code = "99" + resp.message = "请求前置返回失败[httpStatus=$respClient.status]" + logger.error(resp.message) + resp + } + } + + override fun signCard(bankcardno: String, username: String, idtype: String, idno: String, phone: String, transtype: String): DlpayResp { + var resp = DlpayResp() + val config = sourceTypeService.getChargePaytypeConfig(TradeDict.PAYTYPE_CITIZEN_CARD, true) + if (!checkCitizencardConfig(config, resp)) { + return resp + } + val idType = IDTypes.findByValue(idtype) + if (idType < 0) { + resp.code = YnrccUtil.PARAM_VALUE_ERROR + resp.message = "证件类型未识别[$idtype]" + logger.error(resp.message) + return resp + } + if (YnrccUtil.TRANSTYPE_SIGNCARD != transtype && YnrccUtil.TRANSTYPE_UNSIGNCARD != transtype) { + resp.code = YnrccUtil.PARAM_VALUE_ERROR + resp.message = "签约类型错误[$transtype]" + logger.error(resp.message) + return resp + } + + val systime = systemUtilService.sysdatetime + val refno = systemUtilService.refno + val params = hashMapOf() + params.plus(mapOf( + "transcode" to YnrccUtil.BANKCARD_SIGN_TRANSCODE, + "transdate" to systime.hostdate, + "transtime" to systime.hosttime, + "refno" to refno, + "categorie" to YnrccUtil.DLPAY_CATEGORIE, + "transtype" to transtype, + "bankcardno" to bankcardno, + "username" to username, + "idtype" to idType, + "idno" to idno, + "phone" to phone, + "sign_type" to "MD5" + )) + val sign = MD5.encodeByMD5(StringUtil.createLinkString(StringUtil.paraFilter(params)) + config[YnrccUtil.YNRCC_SIGNKEY]!!.trim()) + params["sign"] = sign + val url = config[YnrccUtil.YNRCC_ANGENT_URL]!!.trim() + "/signcard" + logger.error("url=[$url], params=[" + Gson().toJson(params) + "]") + val client = Client.create() + client.setConnectTimeout(YnrccUtil.AGENT_CONNECT_TIMEOUT * 1000) + val respClient = client.resource(url).type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).post(ClientResponse::class.java) + return if (200 == respClient.status) { + resp = respClient.getEntity(DlpayResp::class.java) + logger.error("refno=[$refno], url=[$url], return=[" + Gson().toJson(resp) + "]") + resp + } else { + resp.code = "99" + resp.message = "请求前置返回失败[httpStatus=$respClient.status]" + logger.error(resp.message) + resp + } + } + + override fun cardPay(shopaccno: String, person: TPerson, amount: Int, refno: String): DlpayResp { + var resp = DlpayResp() + val config = sourceTypeService.getConsumePaytypeConfig(TradeDict.PAYTYPE_CITIZEN_CARD, shopaccno, false, false) + if (!checkCitizencardConfig(config, resp)) { + return resp + } + val merchantBankcardno = config[YnrccUtil.YNRCC_MERCHANT_BANKCARDNO] + val merchantBankaccname = config[YnrccUtil.YNRCC_MERCHANT_BANKACCNAME] + if (StringUtil.isEmpty(merchantBankcardno) || StringUtil.isEmpty(merchantBankaccname)) { + resp.code = YnrccUtil.PARAM_CONFIG_ERROR + resp.message = "系统参数未配置[商户收款银行账号]" + logger.error(resp.message) + return resp + } + val idType = IDTypes.findByValue(person.idtype) + if (idType < 0) { + resp.code = YnrccUtil.PARAM_VALUE_ERROR + resp.message = "证件类型未识别[${person.idtype}]" + logger.error(resp.message) + return resp + } + val userBankcard = daliDatasyncService.getBankcardByUserid(person.userid) + if (null == userBankcard) { + resp.code = "99" + resp.message = "用户[${person.userid}]未绑定银行卡" + logger.error(resp.message) + return resp + } else if (TradeDict.STATUS_NORMAL != userBankcard.status) { + resp.code = "99" + resp.message = "用户[${person.userid}]绑定银行卡状态异常" + logger.error(resp.message) + return resp + } else if (!userBankcard.signed) { + resp.code = "99" + resp.message = "用户[${person.userid}]绑定银行卡未签约" + logger.error(resp.message) + return resp + } + val bankcardno = userBankcard.cardno + + val systime = systemUtilService.sysdatetime + val params = hashMapOf() + params.plus(mapOf( + "transcode" to YnrccUtil.BANKCARD_PAY_TRANSCODE, + "transdate" to systime.hostdate, + "transtime" to systime.hosttime, + "refno" to refno, + "categorie" to YnrccUtil.DLPAY_CATEGORIE, + "bankcardno" to bankcardno, + "username" to person.name, + "idtype" to idType, + "idno" to person.idno, + "merchant_bankcardno" to merchantBankcardno, + "merchant_bankaccname" to merchantBankaccname, + "amount" to amount, + "description" to "市民卡代扣消费", + "sign_type" to "MD5" + )) + val sign = MD5.encodeByMD5(StringUtil.createLinkString(StringUtil.paraFilter(params)) + config[YnrccUtil.YNRCC_SIGNKEY]!!.trim()) + params["sign"] = sign + val url = config[YnrccUtil.YNRCC_ANGENT_URL]!!.trim() + "/cardpay" + logger.error("url=[$url], params=[" + Gson().toJson(params) + "]") + val client = Client.create() + client.setConnectTimeout(YnrccUtil.AGENT_CONNECT_TIMEOUT * 1000) + val respClient = client.resource(url).type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).post(ClientResponse::class.java) + return if (200 == respClient.status) { + resp = respClient.getEntity(DlpayResp::class.java) + logger.error("refno=[$refno], url=[$url], return=[" + Gson().toJson(resp) + "]") + resp + } else { + resp.code = "99" + resp.message = "请求前置返回失败[httpStatus=$respClient.status]" + logger.error(resp.message) + resp + } } + override fun cardPayRefund(refno: String, orignRefno: String, amount: Int): DlpayResp { + var resp = DlpayResp() + val config = sourceTypeService.getChargePaytypeConfig(TradeDict.PAYTYPE_CITIZEN_CARD, true) + if (!checkCitizencardConfig(config, resp)) { + return resp + } + + val systime = systemUtilService.sysdatetime + val params = hashMapOf() + params.plus(mapOf( + "transcode" to YnrccUtil.BANKCARD_PAYREFUND_TRANSCODE, + "transdate" to systime.hostdate, + "transtime" to systime.hosttime, + "refno" to refno, + "refund_refno" to orignRefno, + "amount" to amount, + "description" to "市民卡代扣消费退款", + "sign_type" to "MD5" + )) + val sign = MD5.encodeByMD5(StringUtil.createLinkString(StringUtil.paraFilter(params)) + config[YnrccUtil.YNRCC_SIGNKEY]!!.trim()) + params["sign"] = sign + val url = config[YnrccUtil.YNRCC_ANGENT_URL]!!.trim() + "/cardpayrefund" + logger.error("url=[$url], params=[" + Gson().toJson(params) + "]") + val client = Client.create() + client.setConnectTimeout(YnrccUtil.AGENT_CONNECT_TIMEOUT * 1000) + val respClient = client.resource(url).type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).post(ClientResponse::class.java) + return if (200 == respClient.status) { + resp = respClient.getEntity(DlpayResp::class.java) + logger.error("refno=[$refno], url=[$url], return=[" + Gson().toJson(resp) + "]") + resp + } else { + resp.code = "99" + resp.message = "请求前置返回失败[httpStatus=$respClient.status]" + logger.error(resp.message) + resp + } + } + + override fun queryResult(refno: String, orignRefno: String): DlpayResp { + var resp = DlpayResp() + val config = sourceTypeService.getChargePaytypeConfig(TradeDict.PAYTYPE_CITIZEN_CARD, true) + if (!checkCitizencardConfig(config, resp)) { + return resp + } + + val systime = systemUtilService.sysdatetime + val params = hashMapOf() + params.plus(mapOf( + "transcode" to YnrccUtil.BANKCARD_PAYREFUND_TRANSCODE, + "transdate" to systime.hostdate, + "transtime" to systime.hosttime, + "refno" to refno, + "orign_refno" to orignRefno, + "sign_type" to "MD5" + )) + val sign = MD5.encodeByMD5(StringUtil.createLinkString(StringUtil.paraFilter(params)) + config[YnrccUtil.YNRCC_SIGNKEY]!!.trim()) + params["sign"] = sign + val url = config[YnrccUtil.YNRCC_ANGENT_URL]!!.trim() + "/queryresult" + logger.error("url=[$url], params=[" + Gson().toJson(params) + "]") + val client = Client.create() + client.setConnectTimeout(YnrccUtil.AGENT_CONNECT_TIMEOUT * 1000) + val respClient = client.resource(url).type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).post(ClientResponse::class.java) + return if (200 == respClient.status) { + resp = respClient.getEntity(DlpayResp::class.java) + logger.error("refno=[$refno], url=[$url], return=[" + Gson().toJson(resp) + "]") + resp + } else { + resp.code = "99" + resp.message = "请求前置返回失败[httpStatus=$respClient.status]" + logger.error(resp.message) + resp + } + + } + + } \ No newline at end of file diff --git a/payapi/src/main/resources/data.sql b/payapi/src/main/resources/data.sql index b2010225..610e4fd0 100644 --- a/payapi/src/main/resources/data.sql +++ b/payapi/src/main/resources/data.sql @@ -485,13 +485,11 @@ VALUES ('12', 'alipay', 'appid', '支付宝应用APPID', NULL, 'f', '{tenantid}' INSERT INTO TB_SOURCETYPE_CONFIG (ID, SOURCETYPE,CONFIGID,CONFIG_NAME,CONFIG_VALUE,GLOBALFLAG, "tenantid") VALUES ('13', 'citizenCard', 'ynrcc.agent.url', '农商行前置地址前缀', NULL, 't', '{tenantid}'); INSERT INTO TB_SOURCETYPE_CONFIG (ID, SOURCETYPE,CONFIGID,CONFIG_NAME,CONFIG_VALUE,GLOBALFLAG, "tenantid") -VALUES ('14', 'citizenCard', 'ynrcc.agent.signtype', '农商行前置签名方式', 'MD5', 't', '{tenantid}'); -INSERT INTO TB_SOURCETYPE_CONFIG (ID, SOURCETYPE,CONFIGID,CONFIG_NAME,CONFIG_VALUE,GLOBALFLAG, "tenantid") VALUES ('15', 'citizenCard', 'ynrcc.agent.signkey', '农商行前置签名秘钥', NULL, 't', '{tenantid}'); INSERT INTO TB_SOURCETYPE_CONFIG (ID, SOURCETYPE,CONFIGID,CONFIG_NAME,CONFIG_VALUE,GLOBALFLAG, "tenantid") -VALUES ('16', 'citizenCard', 'bankcardno', '商户银行卡号', NULL, 'f', '{tenantid}'); +VALUES ('16', 'citizenCard', 'merchant.bankcardno', '商户银行卡号', NULL, 'f', '{tenantid}'); INSERT INTO TB_SOURCETYPE_CONFIG (ID, SOURCETYPE,CONFIGID,CONFIG_NAME,CONFIG_VALUE,GLOBALFLAG, "tenantid") -VALUES ('17', 'citizenCard', 'bankaccname', '银行开户名', NULL, 'f', '{tenantid}'); +VALUES ('17', 'citizenCard', 'merchant.bankaccname', '银行开户名', NULL, 'f', '{tenantid}'); INSERT INTO "tb_syspara" ("paraid", "displayflag", "editflag", "lastsaved", "paraname", "paraunit", "paraval", "remark", "valuetype", "tenantid") VALUES (1, 'yes', 1, '20190514165658', '账户最大余额默认值', '元', '10001', '账户开户时的默认账户最大余额', 'amount', '{tenantid}'); diff --git a/ynrcc-agent/src/main/java/com/supwisdom/agent/api/controller/YnrccApiController.java b/ynrcc-agent/src/main/java/com/supwisdom/agent/api/controller/YnrccApiController.java index d414447b..5afd7d09 100644 --- a/ynrcc-agent/src/main/java/com/supwisdom/agent/api/controller/YnrccApiController.java +++ b/ynrcc-agent/src/main/java/com/supwisdom/agent/api/controller/YnrccApiController.java @@ -327,7 +327,7 @@ public class YnrccApiController { } /** - * 查询消费结果 + * 获取对账文件名 */ @PostMapping("/checkdtl") public DlpayResp checkDtl(@FormParam("transcode") String transcode, @FormParam("transdate") String transdate, -- 2.17.1