Ver código fonte

// test

release_toaliyun_real
xhxu 3 anos atrás
pai
commit
6340a34310
1 arquivos alterados com 35 adições e 22 exclusões
  1. +35
    -22
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java

+ 35
- 22
mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java Ver arquivo

@@ -679,20 +679,24 @@ public class WxCouponServiceImpl implements WxCouponService {
} }


PayShareAdapterService payShareServie = payServiceFactory.getPayShareAdapterService(payWay.getCode(),payAccount.getPayVersion()); PayShareAdapterService payShareServie = payServiceFactory.getPayShareAdapterService(payWay.getCode(),payAccount.getPayVersion());
List<Long> merchantIds = new ArrayList<>();
for (JSONObject o:merchantParamList) {
merchantIds.add(o.getLong("id"));
}
WxMerchant merchantQ = new WxMerchant();
merchantQ.updateTenantInfo(record);
merchantQ.setIds(merchantIds);
Map<Long, String> idAndNamesMap = wxMerchantService.getIdAndNamesMap(merchantQ);


if (EnumPayMchType.DIRECT.equals(payMchType)) { if (EnumPayMchType.DIRECT.equals(payMchType)) {
Long merchantId = null; Long merchantId = null;
if (merchantParamList.size() > 1) {
List<Long> merchantIds = new ArrayList<>();
for (JSONObject o:merchantParamList) {
merchantIds.add(o.getLong("id"));
}
WxMerchant merchantQ = new WxMerchant();
merchantQ.updateTenantInfo(record);
merchantQ.setIds(merchantIds);
merchantQ.setIsAdmin(EnumYesOrNo.YES.getCode());
merchantQ.setStatus(EnumMerchantStatus.VALID.getCode());
List<Long> list = wxMerchantMapper.findIdList(merchantQ);
if (merchantIds.size() > 1) {
WxMerchant merchantQ2 = new WxMerchant();
merchantQ2.updateTenantInfo(record);
merchantQ2.setIds(merchantIds);
merchantQ2.setIsAdmin(EnumYesOrNo.YES.getCode());
merchantQ2.setStatus(EnumMerchantStatus.VALID.getCode());
List<Long> list = wxMerchantMapper.findIdList(merchantQ2);
if(list == null || list.isEmpty()){ if(list == null || list.isEmpty()){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "直连模式多门店券需包含一个商管商户"); return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "直连模式多门店券需包含一个商管商户");
}else if(list.size() > 1){ }else if(list.size() > 1){
@@ -702,28 +706,28 @@ public class WxCouponServiceImpl implements WxCouponService {
merchantId = list.get(0); merchantId = list.get(0);
}else{ }else{
record.setMerchantType(EnumCouponMerchantType.ONE_MERCHANT.getCode()); record.setMerchantType(EnumCouponMerchantType.ONE_MERCHANT.getCode());
merchantId = merchantParamList.get(0).getLong("id");
merchantId = merchantIds.get(0);
} }
WxProfitSharingReceiver receiver = payShareServie.getReceiver(payAccount, merchantId, null, payMchTypeEnum.getCode()); WxProfitSharingReceiver receiver = payShareServie.getReceiver(payAccount, merchantId, null, payMchTypeEnum.getCode());


if (receiver == null) { if (receiver == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "对应门店至少进件一种支付模式");
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "["+idAndNamesMap.get(merchantId)+"]未配置收款账户");
} }
if (EnumAppPlat.TOUTIAO.equals(plat)) { if (EnumAppPlat.TOUTIAO.equals(plat)) {
if (!MerchantImportStatus.improt_success.getCode().equals(receiver.getWxImportStatus()) if (!MerchantImportStatus.improt_success.getCode().equals(receiver.getWxImportStatus())
&& !MerchantImportStatus.improt_success.getCode().equals(receiver.getAlipayImportStatus()) && !MerchantImportStatus.improt_success.getCode().equals(receiver.getAlipayImportStatus())
&& !MerchantImportStatus.improt_success.getCode().equals(receiver.getHzImportStatus())) { && !MerchantImportStatus.improt_success.getCode().equals(receiver.getHzImportStatus())) {
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "对应门店至少进件一种支付模式");
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "["+idAndNamesMap.get(merchantId)+"]未配置收款账户");
} }
} }
} else if (EnumPayShare.YES.equals(isShare)) { } else if (EnumPayShare.YES.equals(isShare)) {
for (int i = 0, size = merchantParamList.size(); i < size; i++) {
JSONObject jsonObject = merchantParamList.get(i);
Long merchantId = jsonObject.getLong("id");
List<String> merchantNames = new ArrayList();
for (Long merchantId:merchantIds) {
WxProfitSharingReceiver receiver = payShareServie.getReceiver(payAccount, merchantId, null, payMchTypeEnum.getCode()); WxProfitSharingReceiver receiver = payShareServie.getReceiver(payAccount, merchantId, null, payMchTypeEnum.getCode());
int n = i + 1;
if (receiver == null) { if (receiver == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "第(" + n + ")个商户还未配置分账账户或未进件");
merchantNames.add(idAndNamesMap.get(merchantId));
continue;
// return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "第(" + n + ")个商户还未配置分账账户或未进件");
} }
if (EnumAppPlat.TOUTIAO.equals(plat)) { if (EnumAppPlat.TOUTIAO.equals(plat)) {
QueryMerchantResult openPayResult = payAccount.getOpenPayResult(); QueryMerchantResult openPayResult = payAccount.getOpenPayResult();
@@ -734,18 +738,27 @@ public class WxCouponServiceImpl implements WxCouponService {
} }
if(EnumYesOrNo.YES.getCode().equals(openPayResult.getAlipay()) if(EnumYesOrNo.YES.getCode().equals(openPayResult.getAlipay())
&& !MerchantImportStatus.improt_success.getCode().equals(receiver.getAlipayImportStatus())){ && !MerchantImportStatus.improt_success.getCode().equals(receiver.getAlipayImportStatus())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "第(" + n + ")个商户未进件支付宝");
merchantNames.add(idAndNamesMap.get(merchantId));
continue;
// return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "["+idAndNamesMap.get(merchantId)+"]未进件支付宝");
} }
if(EnumYesOrNo.YES.getCode().equals(openPayResult.getWx()) if(EnumYesOrNo.YES.getCode().equals(openPayResult.getWx())
&& !MerchantImportStatus.improt_success.getCode().equals(receiver.getWxImportStatus())){ && !MerchantImportStatus.improt_success.getCode().equals(receiver.getWxImportStatus())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "第(" + n + ")个商户未进件微信");
merchantNames.add(idAndNamesMap.get(merchantId));
continue;
// return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "["+idAndNamesMap.get(merchantId)+"]未进件微信");
} }
if(EnumYesOrNo.YES.getCode().equals(openPayResult.getHz()) if(EnumYesOrNo.YES.getCode().equals(openPayResult.getHz())
&& !MerchantImportStatus.improt_success.getCode().equals(receiver.getHzImportStatus())){ && !MerchantImportStatus.improt_success.getCode().equals(receiver.getHzImportStatus())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "第(" + n + ")个商户未进件抖音");
merchantNames.add(idAndNamesMap.get(merchantId));
continue;
// return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "["+idAndNamesMap.get(merchantId)+"]未进件抖音");
} }
} }
} }
if(!merchantNames.isEmpty()){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), JSONArray.toJSONString(merchantNames)+"未配置分账账户");
}
} }
} }
return new ResultData(); return new ResultData();


Carregando…
Cancelar
Salvar