|
@@ -148,7 +148,13 @@ public class WxPayService extends PayBaseService {
|
|
|
log.info("回调参数中attach值为空");
|
|
|
return null;
|
|
|
}
|
|
|
- WxPayConfigDTO config = this.configInit(gamePayWayService.getById(attachBO.getGamePayWayId()));
|
|
|
+
|
|
|
+ PlatformOrderDTO platformOrderDTO = orderService.getByOrderId(packageParams.get("out_trade_no"));
|
|
|
+ if (platformOrderDTO == null) {
|
|
|
+ log.info("回调参数中订单id无法查询到订单信息");
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ WxPayConfigDTO config = this.notifyConfigInit(platformOrderDTO, gamePayWayService.getById(attachBO.getGamePayWayId()));
|
|
|
|
|
|
String key = config.getApiKey();
|
|
|
|
|
@@ -282,7 +288,7 @@ public class WxPayService extends PayBaseService {
|
|
|
GamePayWayDTO gamePayWayDTO = gamePayWayService.getGamePayWay(platformOrderDTO.getGameId(),
|
|
|
platformOrderDTO.getPayWayId(), platformOrderDTO.getPayDeviceId());
|
|
|
|
|
|
- WxPayConfigDTO config = this.configInit(gamePayWayDTO);
|
|
|
+ WxPayConfigDTO config = this.notifyConfigInit(platformOrderDTO, gamePayWayDTO);
|
|
|
try {
|
|
|
Map<String, String> paramData = new HashMap<>(6);
|
|
|
paramData.put("appid", config.getAppId());
|
|
@@ -379,4 +385,26 @@ public class WxPayService extends PayBaseService {
|
|
|
|
|
|
return payConfigBO;
|
|
|
}
|
|
|
+
|
|
|
+ private WxPayConfigDTO notifyConfigInit(PlatformOrderDTO platformOrderDTO, GamePayWayDTO gamePayWayDTO) {
|
|
|
+
|
|
|
+ PayMerchantDTO payMerchantDTO = payMerchantService.getByMerchantNo(platformOrderDTO.getMerchantNo());
|
|
|
+
|
|
|
+ PayApplicationDTO payApplicationDTO;
|
|
|
+
|
|
|
+ if (PayDeviceEnum.getByPayWayIdList().contains(gamePayWayDTO.getPayDeviceId())) {
|
|
|
+ payApplicationDTO = payApplicationService.getPayApplicationByPayBoxId(gamePayWayDTO.getPayBoxId());
|
|
|
+ } else {
|
|
|
+ payApplicationDTO = payApplicationService.getPayApplicationByAppId(gamePayWayDTO.getAppId());
|
|
|
+ }
|
|
|
+
|
|
|
+ WxPayConfigDTO payConfigBO = JsonUtil.toObj(payMerchantDTO.getPayConfig(), WxPayConfigDTO.class);
|
|
|
+ payConfigBO.setAppId(payApplicationDTO.getAppId());
|
|
|
+ payConfigBO.setAppSecret(payApplicationDTO.getAppSecret());
|
|
|
+ payConfigBO.setAppletType(payApplicationDTO.getType());
|
|
|
+ payConfigBO.setGamePayWayId(gamePayWayDTO.getId());
|
|
|
+ payConfigBO.setMachName(payMerchantDTO.getMerchantName());
|
|
|
+
|
|
|
+ return payConfigBO;
|
|
|
+ }
|
|
|
}
|