Browse Source

Merge remote-tracking branch 'origin/feature_installment_v1' into feature_installment_v1

yangc 8 years ago
parent
commit
af87293ec4

+ 10 - 0
src/main/java/com/uas/platform/b2c/common/base/service/SendMessageService.java

@@ -27,4 +27,14 @@ public interface SendMessageService {
 	 * @param type 消息类型
 	 */
 	public void sendMessageForOrderSucess(String sellername, int num, String userPhone, MessageType type);
+
+	/**
+	 * 分期付款后发送信息给卖家
+	 * @param enName 卖家企业名称
+	 * @param uuName 买家姓名
+	 * @param amount 付款金额
+	 * @param userPhone 发送手机号
+	 * @param type 消息类型
+	 */
+	public void sendMessageForInstallmentPay(String enName, String uuName, Double amount, String userPhone, MessageType type);
 }

+ 11 - 1
src/main/java/com/uas/platform/b2c/common/base/service/impl/SendMessageServiceImpl.java

@@ -58,5 +58,15 @@ public class SendMessageServiceImpl implements SendMessageService {
 		}
 	}
 
-
+	@Override
+	public void sendMessageForInstallmentPay(String enName, String uuName, Double amount, String userPhone, MessageType type) {
+		try {
+			Set<String> userPhones = new HashSet<>();
+			userPhones.add(userPhone);
+			Object[] obj = {enName, uuName, amount};
+			smsService.sendAll("154fa7d4-adef-4318-80a4-60389a43ecaf",userPhones,obj);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
 }

+ 36 - 1
src/main/java/com/uas/platform/b2c/fa/payment/service/impl/InstallmentServiceImpl.java

@@ -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);
     }
 

+ 5 - 3
src/main/java/com/uas/platform/b2c/trade/order/service/impl/PurchaseServiceImpl.java

@@ -727,9 +727,11 @@ public class PurchaseServiceImpl implements PurchaseService {
             purchase.setSendstatus(Status.NOT_UPLOAD.value());
             purchaseDao.save(purchase);
             //发送短信,异常不作处理
-            try {
-                orderService.sendMessage(purchase);
-            }catch (RuntimeException e){}
+			if (purchase.getInstallmentId() == null) {
+				try {
+					orderService.sendMessage(purchase);
+				}catch (RuntimeException e){}
+			}
         } else if ((purchase.getStatus().intValue() != Status.UNAVAILABLE_DISAGREE.value())
                 && (purchase.getStatus().intValue() != Status.UNAVAILABLE_PERSONAL.value())) { // 采购单不在用户取消状态
             throw new IllegalOperatorException("采购单" + purchase.getPurchaseid() + ", 状态是"