|
@@ -5,9 +5,13 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
import com.fs.common.exception.CustomException;
|
|
import com.fs.common.exception.CustomException;
|
|
|
import com.fs.common.utils.StringUtils;
|
|
import com.fs.common.utils.StringUtils;
|
|
|
import com.fs.common.utils.spring.SpringUtils;
|
|
import com.fs.common.utils.spring.SpringUtils;
|
|
|
|
|
+import com.fs.course.domain.FsCoursePlaySourceConfig;
|
|
|
|
|
+import com.fs.course.mapper.FsCoursePlaySourceConfigMapper;
|
|
|
import com.fs.his.domain.FsHfpayConfig;
|
|
import com.fs.his.domain.FsHfpayConfig;
|
|
|
import com.fs.his.domain.FsPayConfig;
|
|
import com.fs.his.domain.FsPayConfig;
|
|
|
|
|
+import com.fs.his.domain.MerchantAppConfig;
|
|
|
import com.fs.his.mapper.FsHfpayConfigMapper;
|
|
import com.fs.his.mapper.FsHfpayConfigMapper;
|
|
|
|
|
+import com.fs.his.mapper.MerchantAppConfigMapper;
|
|
|
import com.fs.huifuPay.domain.*;
|
|
import com.fs.huifuPay.domain.*;
|
|
|
import com.fs.huifuPay.sdk.opps.core.config.MerConfig;
|
|
import com.fs.huifuPay.sdk.opps.core.config.MerConfig;
|
|
|
import com.fs.huifuPay.sdk.opps.core.request.*;
|
|
import com.fs.huifuPay.sdk.opps.core.request.*;
|
|
@@ -20,6 +24,7 @@ import com.google.gson.Gson;
|
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
@@ -35,7 +40,10 @@ import static com.fs.huifuPay.demo.init.BaseCommon.doInit;
|
|
|
public class HuiFuServiceImpl implements HuiFuService {
|
|
public class HuiFuServiceImpl implements HuiFuService {
|
|
|
FsPayConfig config;
|
|
FsPayConfig config;
|
|
|
Logger logger= LoggerFactory.getLogger(getClass());
|
|
Logger logger= LoggerFactory.getLogger(getClass());
|
|
|
-
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private FsCoursePlaySourceConfigMapper fsCoursePlaySourceConfigMapper;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private MerchantAppConfigMapper merchantAppConfigMapper;
|
|
|
@Override
|
|
@Override
|
|
|
public HuifuCreateOrderResult createOrder(HuiFuCreateOrder order) {
|
|
public HuifuCreateOrderResult createOrder(HuiFuCreateOrder order) {
|
|
|
logger.info("汇付传参HuiFuCreateOrder==============>{}",order);
|
|
logger.info("汇付传参HuiFuCreateOrder==============>{}",order);
|
|
@@ -50,7 +58,7 @@ public class HuiFuServiceImpl implements HuiFuService {
|
|
|
doInit(getMerConfig(fsHfpayConfig));
|
|
doInit(getMerConfig(fsHfpayConfig));
|
|
|
} else {
|
|
} else {
|
|
|
//多小程序
|
|
//多小程序
|
|
|
- doInit(getMerConfig());
|
|
|
|
|
|
|
+ doInit(getMerConfig(order.getAppId()));
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
doInit(getMerConfig());
|
|
doInit(getMerConfig());
|
|
@@ -366,4 +374,30 @@ public class HuiFuServiceImpl implements HuiFuService {
|
|
|
config = fsPayConfig;
|
|
config = fsPayConfig;
|
|
|
return merConfig;
|
|
return merConfig;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ public MerConfig getMerConfig(String appId) {
|
|
|
|
|
+ if (StringUtils.isBlank(appId)) {
|
|
|
|
|
+ throw new IllegalArgumentException("appId不能为空");
|
|
|
|
|
+ }
|
|
|
|
|
+ FsCoursePlaySourceConfig fsCoursePlaySourceConfig = fsCoursePlaySourceConfigMapper.selectCoursePlaySourceConfigByAppId(appId);
|
|
|
|
|
+ if (fsCoursePlaySourceConfig == null) {
|
|
|
|
|
+ throw new CustomException("未找到appId对应的小程序配置: " + appId);
|
|
|
|
|
+ }
|
|
|
|
|
+ Long merchantConfigId = fsCoursePlaySourceConfig.getMerchantConfigId();
|
|
|
|
|
+ if (merchantConfigId == null || merchantConfigId <= 0) {
|
|
|
|
|
+ throw new CustomException("小程序没有配置商户信息");
|
|
|
|
|
+ }
|
|
|
|
|
+ MerchantAppConfig merchantAppConfig = merchantAppConfigMapper.selectMerchantAppConfigById(fsCoursePlaySourceConfig.getMerchantConfigId());
|
|
|
|
|
+ FsPayConfig fsPayConfig = com.hc.openapi.tool.fastjson.JSON.parseObject(merchantAppConfig.getDataJson(), FsPayConfig.class);
|
|
|
|
|
+
|
|
|
|
|
+ MerConfig merConfig = new MerConfig();
|
|
|
|
|
+ merConfig.setProcutId(fsPayConfig.getHfProductId());
|
|
|
|
|
+ merConfig.setSysId(fsPayConfig.getHfSysId());
|
|
|
|
|
+ merConfig.setRsaPrivateKey(fsPayConfig.getHfRsaPrivateKey());
|
|
|
|
|
+ merConfig.setRsaPublicKey(fsPayConfig.getHfRsaPublicKey());
|
|
|
|
|
+ merConfig.setHuifuId(fsPayConfig.getHuifuId());
|
|
|
|
|
+
|
|
|
|
|
+ config = fsPayConfig;
|
|
|
|
|
+ return merConfig;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|