From: Xia Kaixiang Date: Wed, 19 Jun 2019 08:32:29 +0000 (+0800) Subject: 临时提交 X-Git-Tag: 1.0.0^2~159 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=c3b18d47d1da5a51d38cf1ba76e23c52f08d3f90;p=epayment%2Ffood_payapi.git 临时提交 --- diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/APIRequestParam.java b/src/main/java/com/supwisdom/dlpay/framework/util/APIRequestParam.java index 544a68e5..14fc1d7d 100644 --- a/src/main/java/com/supwisdom/dlpay/framework/util/APIRequestParam.java +++ b/src/main/java/com/supwisdom/dlpay/framework/util/APIRequestParam.java @@ -60,8 +60,7 @@ public abstract class APIRequestParam { if (sign.equalsIgnoreCase(calcSign)) { return true; } -// return false; - return true; + return false; } public boolean checkSign(String key){ diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/DateUtil.java b/src/main/java/com/supwisdom/dlpay/framework/util/DateUtil.java index fd187715..8da1f6cb 100644 --- a/src/main/java/com/supwisdom/dlpay/framework/util/DateUtil.java +++ b/src/main/java/com/supwisdom/dlpay/framework/util/DateUtil.java @@ -240,7 +240,7 @@ public class DateUtil { try { java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(pattern); Date d = sdf.parse(datetime); - return true; + return datetime.trim().equals(sdf.format(d)); } catch (Exception e) { } return false; diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt b/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt index aab9a8d8..c151b4b3 100644 --- a/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt +++ b/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt @@ -297,7 +297,7 @@ class CommonQueryRechargeResultParam : APIRequestParam() { var billno: String? = null override fun checkParam(): Boolean { - if (StringUtil.isEmpty(refno) || StringUtil.isEmpty(billno)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "流水号不能为空") + if (StringUtil.isEmpty(refno) && StringUtil.isEmpty(billno)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "流水号不能为空") return true } diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/controller/charge_api_controller.kt b/src/main/kotlin/com/supwisdom/dlpay/api/controller/charge_api_controller.kt index 3141e6c6..d66a927d 100644 --- a/src/main/kotlin/com/supwisdom/dlpay/api/controller/charge_api_controller.kt +++ b/src/main/kotlin/com/supwisdom/dlpay/api/controller/charge_api_controller.kt @@ -45,11 +45,6 @@ class ChargeAPIController { * */ @PostMapping("/common/init") fun rechargeInit(@RequestBody param: CommonRechargeInitParam, authentication: Authentication): ResponseEntity { - if (!param.checkSign(commonService.getSecretByAppid(authentication.name))) { - return ResponseEntity.ok(ResponseBodyBuilder.create() - .fail(TradeErrorCode.REQUEST_SIGN_ERROR, "参数签名错误")) - } - if (chargeApiService.checkRechargeSourcetype(param.sourcetype)) { val person = userService.findOnePersonByUserid(param.userid) val account = accountUtilServcie.readAccount(person.userid) @@ -113,12 +108,7 @@ class ChargeAPIController { } @PostMapping("/common/confirm") - fun rechargeConfirm(@RequestBody param: CommonRechargeConfirmParam, authentication: Authentication): ResponseEntity { - if (!param.checkSign(commonService.getSecretByAppid(authentication.name))) { - return ResponseEntity.ok(ResponseBodyBuilder.create() - .fail(TradeErrorCode.REQUEST_SIGN_ERROR, "参数签名错误")) - } - + fun rechargeConfirm(@RequestBody param: CommonRechargeConfirmParam): ResponseEntity { transactionService.success(param.refno).let { return ResponseEntity.ok(ResponseBodyBuilder.create() .data("refno", it.refno) @@ -136,11 +126,6 @@ class ChargeAPIController { * */ @PostMapping("/queryresult") fun rechargeConfirm(@RequestBody param: CommonQueryRechargeResultParam, authentication: Authentication): ResponseEntity { - if (!param.checkSign(commonService.getSecretByAppid(authentication.name))) { - return ResponseEntity.ok(ResponseBodyBuilder.create() - .fail(TradeErrorCode.REQUEST_SIGN_ERROR, "参数签名错误")) - } - chargeApiService.getTransactionMainDtl(param.refno, param.billno, authentication.name).let { if (null == it) { return ResponseEntity.ok(ResponseBodyBuilder.create() 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 d2cc60b2..7be1e164 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 @@ -139,12 +139,7 @@ class ConsumeAPIController { * ============================================================================ * */ @PostMapping("/balance/pay") - fun balancePay(@RequestBody param: CitizenCardPayinitParam, authentication: Authentication): ResponseEntity { - if (!param.checkSign(commonService.getSecretByAppid(authentication.name))) { - return ResponseEntity.ok(ResponseBodyBuilder.create() - .fail(TradeErrorCode.REQUEST_SIGN_ERROR, "参数签名错误")) - } - + fun balancePay(@RequestBody param: CitizenCardPayinitParam): ResponseEntity { val person = userService.findPersonByIdentityCheckStatus(param.cardNo) if (consumePayService.checkShopPaytype(param.shopaccno, TradeDict.PAYTYPE_BALANCE)) { val account = accountUtilServcie.readAccount(person.userid) @@ -215,12 +210,7 @@ class ConsumeAPIController { * ============================================================================ * */ @PostMapping("/citizencard/payinit") - fun citizencardPayinit(@RequestBody param: CitizenCardPayinitParam, authenticateAction: Authentication): ResponseEntity { - if (!param.checkSign(commonService.getSecretByAppid(authenticateAction.name))) { - return ResponseEntity.ok(ResponseBodyBuilder.create() - .fail(TradeErrorCode.REQUEST_SIGN_ERROR, "参数签名错误")) - } - + fun citizencardPayinit(@RequestBody param: CitizenCardPayinitParam): ResponseEntity { val person = userService.findPersonByIdentityCheckStatus(param.cardNo) if (consumePayService.checkShopPaytype(param.shopaccno, TradeDict.PAYTYPE_CITIZEN_CARD)) { @@ -292,43 +282,29 @@ class ConsumeAPIController { * ============================================================================ * */ @PostMapping("/citizencard/payfinish") - fun citizencardPayinit(@RequestBody param: CitizenCardPayfinishParam, authentication: Authentication): ResponseEntity { - try { - if (param.checkParam() && param.checkSign(commonService.getSecretByAppid(authentication.name))) { + fun citizencardPayinit(@RequestBody param: CitizenCardPayfinishParam): ResponseEntity { + val code = transactionService.wip(param.refno).let { + CallService.CallCitizenCardPay( + consumePayService.getPaytypeConfig(TradeDict.PAYTYPE_CITIZEN_CARD, it.shopDtl.shopaccno), + it.shopDtl) + } + if (code.retcode == "0") { + transactionService.success(param.refno, "支付").let { return ResponseEntity.ok(ResponseBodyBuilder.create() - .fail(TradeErrorCode.REQUEST_SIGN_ERROR, "参数签名错误")) - } - - val code = transactionService.wip(param.refno).let { - CallService.CallCitizenCardPay( - consumePayService.getPaytypeConfig(TradeDict.PAYTYPE_CITIZEN_CARD, it.shopDtl.shopaccno), - it.shopDtl) + .data("refno", it.refno) + .data("billno", it.outTradeNo) + .data("amount", it.shopDtl.amount) + .success("交易确认成功")) } - if (code.retcode == "0") { - 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() - .fail(TradeErrorCode.BUSINESS_DEAL_ERROR, "交易扣费失败-${code.retmsg}")) - } + } else { + transactionService.fail(param.refno).let { + return ResponseEntity.ok(ResponseBodyBuilder.create() + .fail(TradeErrorCode.BUSINESS_DEAL_ERROR, "交易扣费失败-${code.retmsg}")) } - } catch (ex: RequestParamCheckException) { - return ResponseEntity.ok(ResponseBodyBuilder.create() - .requestException(ex, "请求参数错误")) - } catch (et: TransactionException) { - return ResponseEntity.ok(ResponseBodyBuilder.create() - .transException(et, "业务处理错误")) } } - /** * ============================================================================ * 一卡通支付【交易初始化】 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 e12d3cd4..5be7f24a 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 @@ -6,9 +6,8 @@ import com.supwisdom.dlpay.api.domain.TTransactionMain import com.supwisdom.dlpay.exception.TransactionProcessException import com.supwisdom.dlpay.framework.util.TradeErrorCode import org.springframework.beans.factory.annotation.Autowired -import org.springframework.stereotype.Component +import org.springframework.dao.DataAccessException import org.springframework.stereotype.Service -import org.springframework.transaction.annotation.Propagation import org.springframework.transaction.annotation.Transactional interface TransactionService { @@ -79,7 +78,8 @@ class TransactionServiceProxy { fun init(builder: TransactionBuilder): TTransactionMain { try{ return transactionService.init(builder) - }catch (ex:Exception){ + }catch(ex: DataAccessException){ + //其他SQL错误 ex.javaClass.name.let { val name = it.substringAfterLast('.')