diff --git a/accompany-base/accompany-payment/accompany-payment-service/src/main/java/com/accompany/payment/payermax/PayermaxService.java b/accompany-base/accompany-payment/accompany-payment-service/src/main/java/com/accompany/payment/payermax/PayermaxService.java index bd239d3aa..c667c2572 100644 --- a/accompany-base/accompany-payment/accompany-payment-service/src/main/java/com/accompany/payment/payermax/PayermaxService.java +++ b/accompany-base/accompany-payment/accompany-payment-service/src/main/java/com/accompany/payment/payermax/PayermaxService.java @@ -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()); diff --git a/accompany-business/accompany-business-web/src/main/java/com/accompany/business/controller/apppay/PayermaxPayController.java b/accompany-business/accompany-business-web/src/main/java/com/accompany/business/controller/apppay/PayermaxPayController.java index 2d0a4f592..af6df4474 100644 --- a/accompany-business/accompany-business-web/src/main/java/com/accompany/business/controller/apppay/PayermaxPayController.java +++ b/accompany-business/accompany-business-web/src/main/java/com/accompany/business/controller/apppay/PayermaxPayController.java @@ -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 callback(HttpServletRequest request, - @RequestBody String paramsString) { - String sign = request.getHeader("sign"); + public BusiResult 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()){