Commit a0fcb7f7 authored by terrfly's avatar terrfly
Browse files

更改获取商户应用的配置信息方式

parent c30acaec
...@@ -74,18 +74,21 @@ public abstract class ApiController extends AbstractCtrl { ...@@ -74,18 +74,21 @@ public abstract class ApiController extends AbstractCtrl {
MchAppConfigContext mchAppConfigContext = configContextService.getMchAppConfigContext(mchNo, appId); MchAppConfigContext mchAppConfigContext = configContextService.getMchAppConfigContext(mchNo, appId);
MchInfo mchInfo = mchAppConfigContext == null ? null : mchAppConfigContext.getMchInfo(); if(mchAppConfigContext == null){
if(mchInfo == null || mchInfo.getState() != CS.YES){ throw new BizException("商户或商户应用不存在");
throw new BizException("商户不存在或商户状态不可用");
} }
MchApp mchApp = mchAppConfigContext == null ? null : mchAppConfigContext.getMchApp(); if(mchAppConfigContext.getMchInfo() == null || mchAppConfigContext.getMchInfo().getState() != CS.YES){
if(mchInfo == null || mchInfo.getState() != CS.YES){ throw new BizException("商户信息不存在或商户状态不可用");
throw new BizException("商户应用不存在或商户状态不可用"); }
MchApp mchApp = mchAppConfigContext.getMchApp();
if(mchApp == null || mchApp.getState() != CS.YES){
throw new BizException("商户应用不存在或应用状态不可用");
} }
if(!mchApp.getMchNo().equals(mchNo)){ if(!mchApp.getMchNo().equals(mchNo)){
throw new BizException("商户应用与商户号不匹配"); throw new BizException("参数appId与商户号不匹配");
} }
// 验签 // 验签
......
...@@ -240,9 +240,9 @@ public abstract class AbstractPayOrderController extends ApiController { ...@@ -240,9 +240,9 @@ public abstract class AbstractPayOrderController extends ApiController {
private IPaymentService checkMchWayCodeAndGetService(MchAppConfigContext mchAppConfigContext, String wayCode){ private IPaymentService checkMchWayCodeAndGetService(MchAppConfigContext mchAppConfigContext, String wayCode){
// 根据支付方式, 查询出 该商户 可用的支付接口 // 根据支付方式, 查询出 该商户 可用的支付接口
MchPayPassage mchPayPassage = mchPayPassageService.findMchPayPassage(mchAppConfigContext.getMchNo(), wayCode); MchPayPassage mchPayPassage = mchPayPassageService.findMchPayPassage(mchAppConfigContext.getMchNo(), mchAppConfigContext.getAppId(), wayCode);
if(mchPayPassage == null){ if(mchPayPassage == null){
throw new BizException("该支付方式商户未开通"); throw new BizException("商户应用不支持该支付方式");
} }
// 接口代码 // 接口代码
......
...@@ -143,6 +143,8 @@ public class ConfigContextService { ...@@ -143,6 +143,8 @@ public class ConfigContextService {
mchInfoConfigContext.setMchType(mchInfo.getType()); mchInfoConfigContext.setMchType(mchInfo.getType());
mchInfoConfigContext.setMchInfo(mchInfo); mchInfoConfigContext.setMchInfo(mchInfo);
mchAppService.list(MchApp.gw().eq(MchApp::getMchNo, mchNo)).stream().forEach( mchApp -> mchInfoConfigContext.putMchApp(mchApp)); mchAppService.list(MchApp.gw().eq(MchApp::getMchNo, mchNo)).stream().forEach( mchApp -> mchInfoConfigContext.putMchApp(mchApp));
mchInfoConfigContextMap.put(mchNo, mchInfoConfigContext);
} }
/** 初始化 [商户应用支付参数配置信息] **/ /** 初始化 [商户应用支付参数配置信息] **/
...@@ -162,6 +164,7 @@ public class ConfigContextService { ...@@ -162,6 +164,7 @@ public class ConfigContextService {
mchApp = mchAppService.getById(appId); mchApp = mchAppService.getById(appId);
if(mchApp == null){ // DB查询为空 if(mchApp == null){ // DB查询为空
mchAppConfigContextMap.remove(appId); //清除缓存信息 mchAppConfigContextMap.remove(appId); //清除缓存信息
mchInfoConfigContext.getAppMap().remove(appId); //清除主体信息中的appId
return ; return ;
} }
...@@ -174,6 +177,7 @@ public class ConfigContextService { ...@@ -174,6 +177,7 @@ public class ConfigContextService {
MchAppConfigContext mchAppConfigContext = new MchAppConfigContext(); MchAppConfigContext mchAppConfigContext = new MchAppConfigContext();
// 设置商户信息 // 设置商户信息
mchAppConfigContext.setAppId(appId);
mchAppConfigContext.setMchNo(mchInfo.getMchNo()); mchAppConfigContext.setMchNo(mchInfo.getMchNo());
mchAppConfigContext.setMchType(mchInfo.getType()); mchAppConfigContext.setMchType(mchInfo.getType());
mchAppConfigContext.setMchInfo(mchInfo); mchAppConfigContext.setMchInfo(mchInfo);
......
...@@ -104,11 +104,12 @@ public class MchPayPassageService extends ServiceImpl<MchPayPassageMapper, MchPa ...@@ -104,11 +104,12 @@ public class MchPayPassageService extends ServiceImpl<MchPayPassageMapper, MchPa
} }
/** 根据商户号 和 支付方式, 查询出商户可用的支付接口 **/ /** 根据应用ID 和 支付方式, 查询出商户可用的支付接口 **/
public MchPayPassage findMchPayPassage(String mchNo, String wayCode){ public MchPayPassage findMchPayPassage(String mchNo, String appId, String wayCode){
List<MchPayPassage> list = list(MchPayPassage.gw() List<MchPayPassage> list = list(MchPayPassage.gw()
.eq(MchPayPassage::getMchNo, mchNo) .eq(MchPayPassage::getMchNo, mchNo)
.eq(MchPayPassage::getAppId, appId)
.eq(MchPayPassage::getState, CS.YES) .eq(MchPayPassage::getState, CS.YES)
.eq(MchPayPassage::getWayCode, wayCode) .eq(MchPayPassage::getWayCode, wayCode)
); );
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment