payermax-兼容无targetOrg的情况
This commit is contained in:
@@ -34,7 +34,7 @@ public class PayermaxService {
|
||||
String[] paymentMethodType = params.getPaymentMethodType().split(SPILT_PREFIX);
|
||||
TradeOrderRequest.PaymentDetail paymentDetail = new TradeOrderRequest.PaymentDetail();
|
||||
paymentDetail.setPaymentMethodType(paymentMethodType[0]);
|
||||
paymentDetail.setTargetOrg(paymentMethodType[1]);
|
||||
paymentDetail.setTargetOrg(paymentMethodType.length > 1 ? paymentMethodType[1]: null);
|
||||
|
||||
request.setPaymentDetail(paymentDetail);
|
||||
request.setFrontCallbackUrl(params.getFrontCallBackUrl());
|
||||
|
@@ -5,14 +5,12 @@ import com.accompany.common.constant.Constant;
|
||||
import com.accompany.common.redis.RedisKey;
|
||||
import com.accompany.common.result.BusiResult;
|
||||
import com.accompany.common.status.BusiStatus;
|
||||
import com.accompany.common.utils.DateTimeUtil;
|
||||
import com.accompany.core.exception.ServiceException;
|
||||
import com.accompany.payment.constant.PayConstant;
|
||||
import com.accompany.payment.model.ChargeRecord;
|
||||
import com.accompany.payment.payermax.params.PayCallbackReqVo;
|
||||
import com.accompany.payment.service.ChargeRecordService;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.payermax.sdk.client.DefaultPayermaxClient;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -21,10 +19,7 @@ import org.redisson.api.RedissonClient;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Date;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@@ -47,9 +42,7 @@ public class PayermaxPayController {
|
||||
private RedissonClient redissonClient;
|
||||
|
||||
@PostMapping("/callback")
|
||||
public BusiResult<Void> callback(HttpServletRequest request,
|
||||
@RequestBody String paramsString) {
|
||||
String sign = request.getHeader("sign");
|
||||
public BusiResult<Void> callback(@RequestHeader("sign") String sign, @RequestBody String paramsString) {
|
||||
log.info("[payermax] 接受回调参数为:{}",paramsString);
|
||||
|
||||
if (!DefaultPayermaxClient.getInstance().verifyNotification(paramsString, sign)) {
|
||||
@@ -73,7 +66,7 @@ public class PayermaxPayController {
|
||||
isLocked = lock.tryLock(5L, TimeUnit.SECONDS);
|
||||
if (!isLocked){
|
||||
log.error("[payermax] 支付回调 加锁失败 chargeRecordId: {}", chargeRecordId);
|
||||
throw new ServiceException(BusiStatus.SERVER_BUSY);
|
||||
throw new ServiceException(BusiStatus.SERVERBUSY);
|
||||
}
|
||||
|
||||
ChargeRecord chargeRecord = chargeRecordService.getChargeRecordById(chargeRecordId);
|
||||
@@ -104,8 +97,7 @@ public class PayermaxPayController {
|
||||
|
||||
return BusiResult.success();
|
||||
} catch (Exception e) {
|
||||
//todo log
|
||||
log.error("{}", e);
|
||||
log.error("[payermax] 回调异常", e);
|
||||
return BusiResult.fail(BusiStatus.SERVERERROR);
|
||||
} finally {
|
||||
if (isLocked || lock.isLocked()){
|
||||
|
Reference in New Issue
Block a user