|
|
|
@@ -223,6 +223,31 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ |
|
|
|
return new ResultData(shareResult.getData()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public ResultData redoFinishSharingOrder(WxProfitSharingOrder sharingOrder) { |
|
|
|
if (!sharingOrder.getType().equals(EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE_FINISH.getCode())) { |
|
|
|
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); |
|
|
|
} |
|
|
|
WxProfitShareAppInoDto dto = getAppinfo(sharingOrder); |
|
|
|
WxAppinfo appInfo = dto.getAppinfo(); |
|
|
|
WxPayAccount payAccount = wxPayAccountMapper.selectById(appInfo.getPayId()); |
|
|
|
|
|
|
|
PayShareResult shareResult = payServiceFactory.getPayShareAdapterService(dto.getPayWay()).noReciverShare(appInfo,payAccount,sharingOrder,sharingOrder.getTransactionId(),sharingOrder.getPayAmount()); |
|
|
|
if (!shareResult.isSuccess()) { |
|
|
|
sharingOrder.setSharingStatus(shareResult.getCode()); |
|
|
|
sharingOrder.setErrorMsg("REDO:"+shareResult.getMsg()); |
|
|
|
sharingOrder.setUpdateTime(new Date()); |
|
|
|
wxProfitSharingOrderMapper.updateById(sharingOrder); |
|
|
|
return new ResultData(ErrorCode.PROFIT_SHARING_REQUEST_FAILED.getCode(),sharingOrder.getErrorMsg()); |
|
|
|
} |
|
|
|
sharingOrder.setSharingOrderNo(shareResult.getShareOrderNo()); |
|
|
|
sharingOrder.setSharingStatus(EnumProfitSharingOrderStatus.PROFIT_SHARING_ACCEPTED.getCode()); |
|
|
|
sharingOrder.setErrorMsg("REDO:重试分账成功"); |
|
|
|
sharingOrder.setUpdateTime(new Date()); |
|
|
|
wxProfitSharingOrderMapper.updateById(sharingOrder); |
|
|
|
return new ResultData(shareResult.getData()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(isolation=Isolation.SERIALIZABLE, propagation = Propagation.REQUIRED, rollbackFor = {Exception.class}) |
|
|
|
public ResultData createSharingOrder(WxSharingOrderDto sharingOrderDto,Integer payWay,Integer share) { |
|
|
|
@@ -265,10 +290,11 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ |
|
|
|
sharingOrderDto.setType(EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE_FINISH.getCode()); |
|
|
|
if (sharingOrderDto.getType().equals(EnumProfitSharingOrderType.PROFIT_SHARING_MULTI.getCode())) |
|
|
|
return new ResultData(ErrorCode.PROFIT_SHARING_RECEIVER_UNKNOWN); |
|
|
|
if(sharingOrderDto.getRateAmount() != null) { |
|
|
|
// 分账完结 |
|
|
|
sharingOrderDto.setShareAmount(sharingOrderDto.getPayAmount()+sharingOrderDto.getRateAmount()); |
|
|
|
} |
|
|
|
// if(sharingOrderDto.getRateAmount() != null) { |
|
|
|
// // 分账完结 |
|
|
|
// sharingOrderDto.setShareAmount(sharingOrderDto.getPayAmount()+sharingOrderDto.getRateAmount()); |
|
|
|
// } |
|
|
|
sharingOrderDto.setShareAmount(sharingOrderDto.getPayAmount()); |
|
|
|
return finishSharingOrder(sharingOrderDto,payWay,share); |
|
|
|
} |
|
|
|
//计算分账账户合法性 |
|
|
|
|