Browse Source

新增采购单和采购单回复时向Android和IOS推送

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@241 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
suntg 11 years ago
parent
commit
441515a4e8

+ 30 - 0
src/main/java/com/uas/platform/b2b/service/impl/PurchaseOrderServiceImpl.java

@@ -1,7 +1,9 @@
 package com.uas.platform.b2b.service.impl;
 
 import java.util.Date;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
@@ -24,8 +26,10 @@ import com.uas.platform.b2b.model.PurchaseOrderAll;
 import com.uas.platform.b2b.model.PurchaseOrderAllItem;
 import com.uas.platform.b2b.model.PurchaseOrderItem;
 import com.uas.platform.b2b.model.PurchaseOrderReply;
+import com.uas.platform.b2b.service.EnterpriseService;
 import com.uas.platform.b2b.service.PurchaseOrderService;
 import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.b2b.support.XingePusher;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.exception.NotFoundException;
 import com.uas.platform.core.model.PageInfo;
@@ -48,9 +52,28 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 
 	@Autowired
 	private PurchaseOrderAllItemDao purchaseOrderAllItemDao;
+	
+	@Autowired
+	private EnterpriseService enterpriseService;
 
 	public void save(List<PurchaseOrderAllItem> orderItems) {
 		purchaseOrderAllItemDao.save(orderItems);
+		//将采购单信息推送通知供应商管理员UU号
+		Set<Long> orderId = new HashSet<Long>();
+		for(PurchaseOrderAllItem orderItem : orderItems) {
+			if(!orderId.contains(orderItem.getOrder().getId())) {
+				//Android
+				XingePusher.pushSingleAccountAndroid(orderItem.getOrder().getVendUserUU().toString(), 
+						"新增一条客户采购单", 
+						"单号:" + orderItem.getOrder().getCode() + ",客户:" + orderItem.getOrder().getEnterprise().getEnName());
+				//IOS
+				XingePusher.pushSingleAccountIOS(orderItem.getOrder().getVendUserUU().toString(), 
+						"新增一条客户采购单-" +  
+						"单号:" + orderItem.getOrder().getCode() + ",客户:" + orderItem.getOrder().getEnterprise().getEnName());
+				orderId.add(orderItem.getOrder().getId());
+			}
+		}
+		
 	}
 
 	public Page<PurchaseOrder> findAllByPageInfo(final PageInfo pageInfo) {
@@ -112,6 +135,13 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 		PurchaseOrder order = purchaseOrderDao.findOne(item.getOrder().getId());
 		order.setStatus((short) (notReply.size() > 0 ? Status.NOT_REPLY.value() : Status.REPLIED.value()));
 		purchaseOrderDao.save(order);
+		//将恢复信息推送通知采购企业管理员UU
+		//Android
+		XingePusher.pushSingleAccountAndroid(order.getUserUU().toString(), "新增采购单回复", 
+				"单号:" + order.getCode() + ",供应商:" + enterpriseService.findByUU(order.getVendUU()).getEnName());
+		//IOS
+		XingePusher.pushSingleAccountIOS(order.getUserUU().toString(), "新增采购单回复" + 
+				"单号:" + order.getCode() + ",供应商:" + enterpriseService.findByUU(order.getVendUU()).getEnName());
 	}
 
 	@Override