|
|
@@ -1,5 +1,10 @@
|
|
|
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.dao.UserBaseInfoDao;
|
|
|
+import com.uas.platform.b2c.common.account.model.Enterprise;
|
|
|
+import com.uas.platform.b2c.common.account.model.UserBaseInfo;
|
|
|
+import com.uas.platform.b2c.common.base.service.SendMessageService;
|
|
|
import com.uas.platform.b2c.core.constant.Status;
|
|
|
import com.uas.platform.b2c.core.constant.Type;
|
|
|
import com.uas.platform.b2c.core.support.SystemSession;
|
|
|
@@ -17,6 +22,7 @@ import com.uas.platform.b2c.trade.order.model.Order;
|
|
|
import com.uas.platform.b2c.trade.order.model.Purchase;
|
|
|
import com.uas.platform.b2c.trade.order.model.PurchaseDetail;
|
|
|
import com.uas.platform.core.exception.IllegalOperatorException;
|
|
|
+import com.uas.platform.core.util.mq.MessageType;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@@ -50,8 +56,14 @@ public class InstallmentServiceImpl implements InstallmentService{
|
|
|
|
|
|
private final PurchaseDetailDao purchaseDetailDao;
|
|
|
|
|
|
+ private final SendMessageService sendMessageService;
|
|
|
+
|
|
|
+ private final EnterpriseDao enterpriseDao;
|
|
|
+
|
|
|
+ private final UserBaseInfoDao userBaseInfoDao;
|
|
|
+
|
|
|
@Autowired
|
|
|
- public InstallmentServiceImpl(InstallmentStoreDao installmentStoreDao, PurchaseDao purchaseDao, OrderDao orderDao, InstallmentDao installmentDao, BankInfoService bankInfoService, InstallmentDetailDao installmentDetailDao, PurchaseDetailDao purchaseDetailDao) {
|
|
|
+ public InstallmentServiceImpl(InstallmentStoreDao installmentStoreDao, PurchaseDao purchaseDao, OrderDao orderDao, InstallmentDao installmentDao, BankInfoService bankInfoService, InstallmentDetailDao installmentDetailDao, PurchaseDetailDao purchaseDetailDao, SendMessageService sendMessageService, EnterpriseDao enterpriseDao, UserBaseInfoDao userBaseInfoDao) {
|
|
|
this.installmentStoreDao = installmentStoreDao;
|
|
|
this.purchaseDao = purchaseDao;
|
|
|
this.orderDao = orderDao;
|
|
|
@@ -59,6 +71,9 @@ public class InstallmentServiceImpl implements InstallmentService{
|
|
|
this.bankInfoService = bankInfoService;
|
|
|
this.installmentDetailDao = installmentDetailDao;
|
|
|
this.purchaseDetailDao = purchaseDetailDao;
|
|
|
+ this.sendMessageService = sendMessageService;
|
|
|
+ this.enterpriseDao = enterpriseDao;
|
|
|
+ this.userBaseInfoDao = userBaseInfoDao;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -199,6 +214,26 @@ public class InstallmentServiceImpl implements InstallmentService{
|
|
|
|
|
|
installmentDetailDao.save(installmentDetail);
|
|
|
|
|
|
+ Order order = orderDao.findOne(orderId);
|
|
|
+
|
|
|
+ if (order == null)
|
|
|
+ throw new IllegalOperatorException("订单不存在,请重新确认订单信息");
|
|
|
+ List<Purchase> purchases = purchaseDao.findByOrderid(order.getOrderid());
|
|
|
+
|
|
|
+ if (CollectionUtils.isNotEmpty(purchases)) {
|
|
|
+ for (Purchase purchase : purchases) {
|
|
|
+ Enterprise enterprise = enterpriseDao.findByUu(purchase.getSellerenuu());
|
|
|
+ if (enterprise == null)
|
|
|
+ throw new IllegalOperatorException("卖家企业不存在,请重新确认");
|
|
|
+ UserBaseInfo admin = userBaseInfoDao.findUserByUserUU(enterprise.getEnAdminuu());
|
|
|
+ if (admin == null)
|
|
|
+ throw new IllegalOperatorException("卖家管理员不存在,请联系卖家");
|
|
|
+ // 发送信息
|
|
|
+ sendMessageService.sendMessageForInstallmentPay(purchase.getSellername(), purchase.getBuyername(), installmentDetail.getPrice(),
|
|
|
+ admin.getUserTel(), MessageType.orderpay);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return installmentDao.save(installment);
|
|
|
}
|
|
|
|