|
@@ -442,6 +442,14 @@ public class HlwPaymentServiceImpl extends ServiceImpl<HlwPaymentMapper, HlwPaym
|
|
|
//服务商信息
|
|
//服务商信息
|
|
|
HlwSubcontractor hlwSubcontractor = hlwSubcontractorService.getById(hlwPayment.getSubcontractorId());
|
|
HlwSubcontractor hlwSubcontractor = hlwSubcontractorService.getById(hlwPayment.getSubcontractorId());
|
|
|
/**
|
|
/**
|
|
|
|
|
+ * 付款通道(0:外部通道 1:内部通道)
|
|
|
|
|
+ */
|
|
|
|
|
+ if (hlwPaymentEntity.getPaymentLane() == 0) {
|
|
|
|
|
+ //外部通道
|
|
|
|
|
+ result = outPay(hlwPaymentDetailList, hlwCompany, hlwPayment, hlwPaymentEntity);
|
|
|
|
|
+ return result;
|
|
|
|
|
+ }
|
|
|
|
|
+ /**
|
|
|
* 银行通道(1:招商银行 2:宁波银行)
|
|
* 银行通道(1:招商银行 2:宁波银行)
|
|
|
*/
|
|
*/
|
|
|
if (hlwSubcontractor.getBankType().equals(PayNbcbConst.bankType)) {
|
|
if (hlwSubcontractor.getBankType().equals(PayNbcbConst.bankType)) {
|
|
@@ -657,6 +665,14 @@ public class HlwPaymentServiceImpl extends ServiceImpl<HlwPaymentMapper, HlwPaym
|
|
|
//服务商信息
|
|
//服务商信息
|
|
|
HlwSubcontractor hlwSubcontractor = hlwSubcontractorService.getById(hlwPayment.getSubcontractorId());
|
|
HlwSubcontractor hlwSubcontractor = hlwSubcontractorService.getById(hlwPayment.getSubcontractorId());
|
|
|
/**
|
|
/**
|
|
|
|
|
+ * 付款通道(0:外部通道 1:内部通道)
|
|
|
|
|
+ */
|
|
|
|
|
+ if (hlwPaymentEntity.getPaymentLane() == 0) {
|
|
|
|
|
+ //外部通道
|
|
|
|
|
+ result = outPay(hlwPaymentDetailList, hlwCompany, hlwPayment, hlwPaymentEntity);
|
|
|
|
|
+ return result;
|
|
|
|
|
+ }
|
|
|
|
|
+ /**
|
|
|
* 银行通道(1:招商银行 2:宁波银行)
|
|
* 银行通道(1:招商银行 2:宁波银行)
|
|
|
*/
|
|
*/
|
|
|
if (hlwSubcontractor.getBankType().equals(PayNbcbConst.bankType)) {
|
|
if (hlwSubcontractor.getBankType().equals(PayNbcbConst.bankType)) {
|
|
@@ -874,6 +890,63 @@ public class HlwPaymentServiceImpl extends ServiceImpl<HlwPaymentMapper, HlwPaym
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
|
|
+ * 外部渠道支付通道
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param hlwPaymentDetailList
|
|
|
|
|
+ * @param hlwCompany
|
|
|
|
|
+ * @param hlwPayment
|
|
|
|
|
+ * @param hlwPaymentEntity
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
|
+ public Result<HlwPayment> outPay(List<HlwPaymentDetail> hlwPaymentDetailList, HlwCompany hlwCompany,
|
|
|
|
|
+ HlwPayment hlwPayment, HlwPayment hlwPaymentEntity) {
|
|
|
|
|
+ Result<HlwPayment> result = new Result<>();
|
|
|
|
|
+ //获取当前登录用户
|
|
|
|
|
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
|
|
+ for (int i = 0; i < hlwPaymentDetailList.size(); i++) {
|
|
|
|
|
+ HlwPaymentDetail hlwPaymentDetail = hlwPaymentDetailList.get(i);
|
|
|
|
|
+ //状态改为已支付
|
|
|
|
|
+ if (hlwPaymentDetail.getStatus() == 1) {
|
|
|
|
|
+ hlwPaymentDetail.setStatus(HlwConstant.PAYMENT_RESULT_PAY_SUCCESS);
|
|
|
|
|
+ }
|
|
|
|
|
+ hlwPaymentDetail.setPaymentTime(new Date());
|
|
|
|
|
+ hlwPaymentDetail.setPaymentBy(sysUser.getUsername());
|
|
|
|
|
+ hlwPaymentDetail.setUpdateTime(new Date());
|
|
|
|
|
+ hlwPaymentDetailService.updateById(hlwPaymentDetail);
|
|
|
|
|
+ //用户信息
|
|
|
|
|
+ HlwUser hlwUser = hlwUserService.getByIdcardNumberAndApplicationId(hlwPaymentDetail.getIdcardNumber(), hlwPaymentEntity.getApplicationId());
|
|
|
|
|
+ if (hlwUser != null) {
|
|
|
|
|
+ hlwUser.setLastPaymentCompany(hlwCompany.getCompanyName());
|
|
|
|
|
+ hlwUserService.updateById(hlwUser);
|
|
|
|
|
+ }
|
|
|
|
|
+ //订单信息
|
|
|
|
|
+ HlwOrder hlwOrder = hlwOrderService.getById(hlwPaymentDetail.getOrderId());
|
|
|
|
|
+ if (hlwOrder != null) {
|
|
|
|
|
+ hlwOrder.setLastPaymentCompany(hlwCompany.getCompanyName());
|
|
|
|
|
+ hlwOrderService.updateById(hlwOrder);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ //更新付款单信息
|
|
|
|
|
+ //支付中
|
|
|
|
|
+ hlwPayment.setPaymentTime(new Date());
|
|
|
|
|
+ hlwPayment.setStatus(HlwConstant.PAYMENT_STATUS_PAY_OK);
|
|
|
|
|
+ updateById(hlwPayment);
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 是否通过平台
|
|
|
|
|
+ */
|
|
|
|
|
+ if (hlwPayment.getIsThroughPlatform() == HlwConstant.PAYMENT_THROUGH_PLATFORM_NO) {
|
|
|
|
|
+ //更新企业账户信息
|
|
|
|
|
+ updateAccount(hlwPayment);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ //更新A-B-C账户信息
|
|
|
|
|
+ updateAccountA_B(hlwPayment);
|
|
|
|
|
+ }
|
|
|
|
|
+ result.success("付款成功!");
|
|
|
|
|
+ return result;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
* 更新企业账户信息
|
|
* 更新企业账户信息
|
|
|
*
|
|
*
|
|
|
* @param hlwPayment
|
|
* @param hlwPayment
|