xhxu 3 лет назад
Родитель
Сommit
bb9d5ee533
3 измененных файлов: 31 добавлений и 39 удалений
  1. +3
    -7
      mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java
  2. +25
    -27
      mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java
  3. +3
    -5
      mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v3/WxPayShareV3Service.java

+ 3
- 7
mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java Просмотреть файл

@@ -362,13 +362,9 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
if(payMchTypeEnum != null){
payMchType = payMchTypeEnum;
}
if(EnumPayMchType.DIRECT.equals(payMchType)){
isShare = EnumPayShare.NO;
}else{
EnumPayShare paySHareEnum = EnumPayShare.getEnum(payAccount.getShare());
if (paySHareEnum != null) {
isShare = paySHareEnum;
}
EnumPayShare paySHareEnum = EnumPayShare.getEnum(payAccount.getShare());
if (paySHareEnum != null) {
isShare = paySHareEnum;
}

Date currentDate = new Date();


+ 25
- 27
mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java Просмотреть файл

@@ -298,12 +298,12 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ
}else if (EnumPayMchType.DIRECT.getCode() == mchType) {
shareResult = payShareAdapterService.noReciverShare(appInfo, payAccount, record, sharingOrderDto.getTransactionId(), sharingOrderDto.getShareAmount());
//当前商户的收款账号
// WxProfitSharingReceiver receiver = payShareAdapterService.getReceiver(sharingOrderDto, sharingOrderDto.getMerchantId(), payOrder.getTtPayWay(), mchType);
// if (null == receiver) {
// return new ResultData(ErrorCode.PROFIT_SHARING_REQUEST_FAILED.getCode(),"当前商户未配置收款账号");
// }
// StringBuffer sb = new StringBuffer("[{").append("\"description\":").append(receiver.getId()).append(",\"amount\":").append(sharingOrderDto.getShareAmount());
// jsonArray = JSONArray.parseArray(sb.toString());
WxProfitSharingReceiver receiver = payShareAdapterService.getReceiver(sharingOrderDto, sharingOrderDto.getMerchantId(), payOrder.getTtPayWay(), mchType);
if (null == receiver) {
return new ResultData(ErrorCode.PROFIT_SHARING_REQUEST_FAILED.getCode(),"当前商户未配置收款账号");
}
StringBuffer sb = new StringBuffer("[{").append("\"description\":").append(receiver.getId()).append(",\"amount\":").append(sharingOrderDto.getShareAmount());
jsonArray = JSONArray.parseArray(sb.toString());
}
if (null == shareResult) {
return new ResultData(ErrorCode.PROFIT_SHARING_REQUEST_FAILED.getCode(),"当前支付模式调用分账未返回结果");
@@ -325,28 +325,26 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ
updSharingOrder.setUpdateTime(new Date());
wxProfitSharingOrderMapper.updateById(updSharingOrder);

if(jsonArray != null){
final IdWorker idworker = IdWorker.get();
try {
jsonArray.stream().forEach(obj -> {
JSONObject receiver =(JSONObject) obj;
Date currentDate = new Date();
WxProfitSharingResult result = new WxProfitSharingResult();
result.setId(idworker.nextId());
result.updateTenantInfo(sharingOrderDto);
result.setMerchantId(record.getMerchantId());
result.setSharingOrderId(record.getId());
result.setSharingReceiverId(Long.valueOf(receiver.getString("description")));
result.setPayAmount(receiver.getInteger("amount"));
result.setCreateTime(currentDate);
result.setUpdateTime(currentDate);
result.setSharingStatus(EnumProfitSharingResultStatus.PROFIT_SHARING_RESULT_PENDING.getCode());
wxProfitSharingResultMapper.insert(result);
});
}catch (Exception e) {
logger.error("分账详细信息为null",e);
final IdWorker idworker = IdWorker.get();
try {
jsonArray.stream().forEach(obj -> {
JSONObject receiver =(JSONObject) obj;
Date currentDate = new Date();
WxProfitSharingResult result = new WxProfitSharingResult();
result.setId(idworker.nextId());
result.updateTenantInfo(sharingOrderDto);
result.setMerchantId(record.getMerchantId());
result.setSharingOrderId(record.getId());
result.setSharingReceiverId(Long.valueOf(receiver.getString("description")));
result.setPayAmount(receiver.getInteger("amount"));
result.setCreateTime(currentDate);
result.setUpdateTime(currentDate);
result.setSharingStatus(EnumProfitSharingResultStatus.PROFIT_SHARING_RESULT_PENDING.getCode());
wxProfitSharingResultMapper.insert(result);
});
}catch (Exception e) {
logger.error("分账详细信息为null",e);
// return new ResultData(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID);
}
}

return new ResultData(shareResult.getData());


+ 3
- 5
mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v3/WxPayShareV3Service.java Просмотреть файл

@@ -78,7 +78,7 @@ public class WxPayShareV3Service extends PayShareBaseAdapterService{
@Override
public WxProfitSharingOrder createSharingOrder(WxSharingOrderDto sharingOrderDto, Integer mchType,Integer share) {
if(EnumPayMchType.TOTAL.getCode().equals(mchType) && EnumYesOrNo.NO.getCode().equals(share)){
if(EnumYesOrNo.NO.getCode().equals(share)){
throw new MallinkException(ErrorCode.SYS_PARAMETER_TYPE_ERROR.getCode(),"微信分账未开启");
}
//是否已创建分账订单
@@ -99,7 +99,6 @@ public class WxPayShareV3Service extends PayShareBaseAdapterService{
record.setMerchantId(sharingOrderDto.getMerchantId());
//直连模式,
if (mchType == EnumPayMchType.DIRECT.getCode()) {
record.setType(EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE_FINISH.getCode());
if (null == sharingOrderDto.getPayMerchantId()) {
throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"直连模式当前订单的收款商户查询为空");
}
@@ -108,14 +107,13 @@ public class WxPayShareV3Service extends PayShareBaseAdapterService{
}
record.setPayMerchantId(sharingOrderDto.getPayMerchantId());
record.setPayMerchantMchId(sharingOrderDto.getPayMerchantMchId());
}else{
record.setType(sharingOrderDto.getType());
}
}
record.setSharingStatus(this.getSharingOrderInitialStatus());
record.setCreateTime(currentDate);
record.setUpdateTime(currentDate);
record.setPayTimeStart(sharingOrderDto.getPayTimeStart());
record.setPayTimeEnd(sharingOrderDto.getPayTimeEnd());
record.setType(sharingOrderDto.getType());
wxProfitSharingOrderMapper.insert(record);
}
//如果是总分模式,则需要加上收款账户


Загрузка…
Отмена
Сохранить