|
|
@@ -2,6 +2,7 @@ package com.uas.platform.b2c.fa.payment.service.impl;
|
|
|
|
|
|
import com.uas.platform.b2c.common.account.dao.EnterpriseDao;
|
|
|
import com.uas.platform.b2c.common.account.model.Enterprise;
|
|
|
+import com.uas.platform.b2c.common.account.model.User;
|
|
|
import com.uas.platform.b2c.core.config.SysConf;
|
|
|
import com.uas.platform.b2c.core.support.SystemSession;
|
|
|
import com.uas.platform.b2c.core.utils.FastjsonUtils;
|
|
|
@@ -38,6 +39,7 @@ import com.uas.platform.core.persistence.criteria.CriterionExpression;
|
|
|
import com.uas.platform.core.persistence.criteria.LogicalExpression;
|
|
|
import com.uas.platform.core.persistence.criteria.PredicateUtils;
|
|
|
import com.uas.platform.core.persistence.criteria.SimpleExpression;
|
|
|
+import com.uas.platform.core.util.serializer.FlexJsonUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.domain.Page;
|
|
|
import org.springframework.data.domain.Sort;
|
|
|
@@ -275,7 +277,19 @@ public class BankTransferServiceImpl implements BankTransferService {
|
|
|
// 将转账信息的ID保存到订单类型中
|
|
|
String[] orderIds = order.split("-");
|
|
|
BankTransfer saveBankTransfer = new BankTransfer();
|
|
|
-
|
|
|
+ User user = SystemSession.getUser();
|
|
|
+ bankTransfer.setPayUseruu(user.getUserUU());
|
|
|
+ bankTransfer.setPayenuu(user.getEnterprise() != null ? user.getEnterprise().getUu() : null);
|
|
|
+ if (bankTransfer.getPayenuu() == null) {
|
|
|
+ bankTransfer.setDissociative(Type.PERSONAL.value());
|
|
|
+ } else {
|
|
|
+ bankTransfer.setDissociative(Type.ENTERPRISING.value());
|
|
|
+ }
|
|
|
+ bankTransfer.setTransferTime(new Date());
|
|
|
+ bankTransfer.setTranferCreateTime(new Date());
|
|
|
+ bankTransfer.setBuyername(user.getUserName());
|
|
|
+ bankTransfer.setBuyerentername(user.getEnterprise().getEnName());
|
|
|
+ bankTransfer.setOrderid(order);
|
|
|
if (com.uas.platform.b2c.core.constant.Type.PAIDTOVENDOR.name().equals(bankTransfer.getType())) {// 付款类型为分期付款
|
|
|
if (orderIds.length > 1)
|
|
|
throw new IllegalOperatorException("多张订单合并付款只能向平台支付,如需直接支付给卖家,请前往 订单中心 进行单张支付");
|
|
|
@@ -287,15 +301,13 @@ public class BankTransferServiceImpl implements BankTransferService {
|
|
|
throw new IllegalOperatorException("您操作的订单不在待付款状态:" + orderIds[0]);
|
|
|
}
|
|
|
|
|
|
- bankTransfer.setPayUseruu(SystemSession.getUser().getUserUU());
|
|
|
- bankTransfer.setPayenuu(SystemSession.getUser().getEnterprise() != null ? SystemSession.getUser().getEnterprise().getUu() : null);
|
|
|
- if (bankTransfer.getPayenuu() == null) {
|
|
|
- bankTransfer.setDissociative(Type.PERSONAL.value());
|
|
|
- } else {
|
|
|
- bankTransfer.setDissociative(Type.ENTERPRISING.value());
|
|
|
- }
|
|
|
-
|
|
|
- List<BankInfo> bankInfos = bankInfoService.getEnterpriseBankInfoContainsStatus(Type.SUP.value(), Status.ALLOW.value(), orderN.getSellerenuu());
|
|
|
+ List<Purchase> purchaseList = purchaseDao.findByOrderid(orderN.getOrderid());
|
|
|
+ String puid = "";
|
|
|
+ for (Purchase purchase : purchaseList) {
|
|
|
+ puid += ("," + purchase.getPurchaseid());
|
|
|
+ }
|
|
|
+ puid = puid.substring(1);
|
|
|
+ List<BankInfo> bankInfos = bankInfoService.getEnterpriseBankInfoContainsStatus(Type.SUP.value(), Status.ALLOW.value(), orderN.getSellerenuu());
|
|
|
if (CollectionUtils.isEmpty(bankInfos))
|
|
|
throw new IllegalOperatorException("卖家收款账户不存在,请联系卖家");
|
|
|
Enterprise enterprise = enterpriseDao.findByUu(orderN.getSellerenuu());
|
|
|
@@ -304,11 +316,11 @@ public class BankTransferServiceImpl implements BankTransferService {
|
|
|
|
|
|
bankTransfer.setCollectUseruu(enterprise.getEnAdminuu());
|
|
|
bankTransfer.setCollectenuu(orderN.getSellerenuu());
|
|
|
+ bankTransfer.setJsonReceive(FlexJsonUtils.toJson(bankInfos.get(0)));
|
|
|
|
|
|
bankTransfer.setBanktranssn(EncodingRulesConstant.BANKTRANSFER.replace("_TIMESTAP_NUMBER", createNumberService.getTimeNumber("trade$bank_transfer", 8)));
|
|
|
- bankTransfer.setTranferCreateTime(new Date());
|
|
|
bankTransfer.setOperateType(Type.SUP.value());
|
|
|
-
|
|
|
+ bankTransfer.setPuid(puid);
|
|
|
saveBankTransfer = bankTransferDao.save(bankTransfer);
|
|
|
|
|
|
BankTransAssociate bankTransAssociate = new BankTransAssociate();
|
|
|
@@ -317,7 +329,7 @@ public class BankTransferServiceImpl implements BankTransferService {
|
|
|
btaDao.save(bankTransAssociate);
|
|
|
|
|
|
orderN.setBanktfid(saveBankTransfer.getId());
|
|
|
- Long userUU = SystemSession.getUser().getUserUU();
|
|
|
+ Long userUU = user.getUserUU();
|
|
|
orderN.setStatusPaid(userUU);
|
|
|
Set<OrderDetail> orderDetails = orderN.getOrderDetails();
|
|
|
for (OrderDetail orderDetail : orderDetails) {
|
|
|
@@ -333,8 +345,7 @@ public class BankTransferServiceImpl implements BankTransferService {
|
|
|
orderN.setPaytype(Type.Payment_CompanyTransfer_Code.value());
|
|
|
|
|
|
//修改采购单的状态
|
|
|
- List<Purchase> purchases = purchaseDao.findByOrderid(orderN.getOrderid());
|
|
|
- for (Purchase purchase : purchases) {
|
|
|
+ for (Purchase purchase : purchaseList) {
|
|
|
if(purchase.getStatus().intValue() == Status.TOBECONFIRMED.value()) {
|
|
|
Set<PurchaseDetail> purchaseDetails = purchase.getPurchaseDetails();
|
|
|
for (PurchaseDetail purchaseDetail : purchaseDetails) {
|
|
|
@@ -345,24 +356,15 @@ public class BankTransferServiceImpl implements BankTransferService {
|
|
|
purchase.setStatusPaid(userUU);
|
|
|
}
|
|
|
}
|
|
|
- purchaseDao.save(purchases);
|
|
|
+ purchaseDao.save(purchaseList);
|
|
|
orderDao.save(orderN);
|
|
|
// 单期分期付款
|
|
|
installmentService.paidInstallment(bankTransfer, orderN.getId());
|
|
|
} else {
|
|
|
- bankTransfer.setPayUseruu(SystemSession.getUser().getUserUU());
|
|
|
- bankTransfer.setPayenuu(SystemSession.getUser().getEnterprise() != null ? SystemSession.getUser().getEnterprise().getUu() : null);
|
|
|
- if (bankTransfer.getPayenuu() == null) {
|
|
|
- bankTransfer.setDissociative(Type.PERSONAL.value());
|
|
|
- } else {
|
|
|
- bankTransfer.setDissociative(Type.ENTERPRISING.value());
|
|
|
- }
|
|
|
-
|
|
|
bankTransfer.setCollectUseruu(sysConf.getAdminUU()); // 收款方 设置为应鹏账号
|
|
|
bankTransfer.setCollectenuu(sysConf.getEnUU()); // 收款方设置为B2C的uu
|
|
|
|
|
|
bankTransfer.setBanktranssn(EncodingRulesConstant.BANKTRANSFER.replace("_TIMESTAP_NUMBER", createNumberService.getTimeNumber("trade$bank_transfer", 8)));
|
|
|
- bankTransfer.setTranferCreateTime(new Date());
|
|
|
bankTransfer.setOperateType(Type.MALL.value());
|
|
|
|
|
|
saveBankTransfer = bankTransferDao.save(bankTransfer);
|
|
|
@@ -383,14 +385,13 @@ public class BankTransferServiceImpl implements BankTransferService {
|
|
|
btaDao.save(bankTransAssociate);
|
|
|
|
|
|
orderN.setBanktfid(saveBankTransfer.getId());
|
|
|
- Long userUU = SystemSession.getUser().getUserUU();
|
|
|
+ Long userUU = user.getUserUU();
|
|
|
orderN.setStatusPaid(userUU);
|
|
|
Set<OrderDetail> orderDetails = orderN.getOrderDetails();
|
|
|
for (OrderDetail orderDetail : orderDetails) {
|
|
|
if(orderDetail.getStatus().intValue() == Status.TOBEPAID.value()) {
|
|
|
orderDetail.setStatusPaid(userUU);
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
orderN.setRemitteeType(bankTransfer.getType());
|
|
|
orderN.setBuyaccount(bankTransfer.getJsonPament());
|