This commit is contained in:
2023-07-28 17:04:52 +08:00
parent 9d2a251e8b
commit 4dca727883
4 changed files with 100 additions and 7 deletions

View File

@@ -25,6 +25,7 @@ import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
import com.jsowell.common.core.redis.RedisCache;
import com.jsowell.common.enums.AcquirerEnum;
import com.jsowell.common.enums.MemberWalletEnum;
import com.jsowell.common.enums.adapay.AdapayStatusEnum;
import com.jsowell.common.enums.ykc.*;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.*;
@@ -35,6 +36,7 @@ import com.jsowell.pile.domain.*;
import com.jsowell.pile.dto.*;
import com.jsowell.pile.mapper.OrderBasicInfoMapper;
import com.jsowell.pile.service.*;
import com.jsowell.pile.transaction.dto.ClearingBillTransactionDTO;
import com.jsowell.pile.transaction.dto.OrderTransactionDTO;
import com.jsowell.pile.transaction.service.TransactionService;
import com.jsowell.pile.vo.base.MerchantOrderInfoVO;
@@ -97,9 +99,6 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
@Value("${adapay.callback}")
private String ADAPAY_CALLBACK_URL;
@Value("${adapay.refundCallback}")
private String ADAPAY_REFUND_CALLBACK_URL;
@Autowired
private WxAppletRemoteService wxAppletRemoteService;
@@ -904,14 +903,36 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
return;
}
// 清分账单信息
ClearingBillInfo clearingBillInfo = new ClearingBillInfo();
clearingBillInfo.setBillStatus("1");
String clearingBillCode = "CLE" + IdUtils.getOrderCode();
clearingBillInfo.setClearingBillCode(clearingBillCode);
clearingBillInfo.setClearingTime(DateUtils.getNowDate());
clearingBillInfo.setMerchantId(merchantId);
clearingBillInfo.setOrderSource("1");
List<ClearingBillDetail> billDetailList = Lists.newArrayList();
// 执行分账
orderBasicInfos.parallelStream().forEach(x -> {
try {
PaymentConfirmResponse paymentConfirmResponse = doPaymentConfirm(x, adapayMemberAccount);
if (paymentConfirmResponse != null && AdapayStatusEnum.SUCCEEDED.getValue().equals(paymentConfirmResponse.getStatus())) {
JSONObject jsonObject = JSON.parseObject(paymentConfirmResponse.getDescription());
String orderCode = (String) jsonObject.get("orderCode");
billDetailList.add(ClearingBillDetail.builder().clearingBillCode(clearingBillCode).orderCode(orderCode).build());
}
} catch (Exception e) {
logger.error("订单交易确认失败:{}", x.getOrderCode(), e);
}
});
// 保存清分账单
ClearingBillTransactionDTO dto = new ClearingBillTransactionDTO();
dto.setClearingBillInfo(clearingBillInfo);
dto.setBillDetailList(billDetailList);
transactionService.createClearingBill(dto);
}
}