|
|
@@ -0,0 +1,72 @@
|
|
|
+package com.uas.platform.b2b.event;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
+
|
|
|
+import com.uas.platform.b2b.core.util.SearchKeyUtils;
|
|
|
+import com.uas.platform.b2b.model.SaleSend;
|
|
|
+import com.uas.platform.b2b.model.SaleSendIndex;
|
|
|
+import com.uas.platform.b2b.model.SaleSendItem;
|
|
|
+import com.uas.platform.b2b.support.SystemSession;
|
|
|
+import com.uas.platform.b2b.support.XingePusher;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 发货单保存事件
|
|
|
+ *
|
|
|
+ * @author suntg
|
|
|
+ *
|
|
|
+ */
|
|
|
+public class SaleSendSaveEvent extends SaveEvent<SaleSendIndex, SaleSend> {
|
|
|
+
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ */
|
|
|
+ private static final long serialVersionUID = 1L;
|
|
|
+
|
|
|
+ public SaleSendSaveEvent(List<SaleSend> savedList) {
|
|
|
+ super(savedList);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<SaleSendIndex> split(SaleSend saved) {
|
|
|
+ long key = saved.getId();
|
|
|
+ long enUU = saved.getEnUU();
|
|
|
+ List<SaleSendIndex> indexes = new ArrayList<SaleSendIndex>();
|
|
|
+ // 发货单号(匹配完整的编号)
|
|
|
+ indexes.add(new SaleSendIndex(enUU, key, saved.getCode()));
|
|
|
+ // 客户名称(匹配两个字以上的客户名称关键字)、客户UU号
|
|
|
+ if (CollectionUtils.isEmpty(saved.getSendItems())) {
|
|
|
+ indexes.addAll(SaleSendIndex.format(
|
|
|
+ enUU,
|
|
|
+ key,
|
|
|
+ SearchKeyUtils.splitToKeys(saved.getSendItems().toArray(new SaleSendItem[1])[0]
|
|
|
+ .getOrderItem().getOrder().getEnterprise().getEnName(), false)));
|
|
|
+ indexes.add(new SaleSendIndex(enUU, key, saved.getCustUU().toString()));
|
|
|
+ }
|
|
|
+ // 物料(匹配完整的物料编号、两个字以上的物料名称及规格关键字)
|
|
|
+ for (SaleSendItem item : saved.getSendItems()) {
|
|
|
+ indexes.add(new SaleSendIndex(enUU, key, item.getOrderItem().getProduct().getCode()));
|
|
|
+ indexes.addAll(SaleSendIndex.format(enUU, key,
|
|
|
+ SearchKeyUtils.splitToKeys(item.getOrderItem().getProduct().getTitle(), false)));
|
|
|
+ indexes.addAll(SaleSendIndex.format(enUU, key,
|
|
|
+ SearchKeyUtils.splitToKeys(item.getOrderItem().getProduct().getSpec(), false)));
|
|
|
+ }
|
|
|
+ return indexes;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void pusher(List<SaleSend> savedList) {
|
|
|
+ // 发送推送消息
|
|
|
+ for(SaleSend saleSend : savedList) {
|
|
|
+ if (saleSend.getCustUserUU() != null) {
|
|
|
+ XingePusher.pushSingleAccountAndroid(saleSend.getCustUserUU().toString(), "供应商发货了", "供应商:"
|
|
|
+ + SystemSession.getUser().getEnterprise().getEnName(), null);
|
|
|
+ XingePusher.pushSingleAccountIOS(saleSend.getCustUserUU().toString(), "供应商发货了" + " 供应商:"
|
|
|
+ + SystemSession.getUser().getEnterprise().getEnName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|