|
|
@@ -293,64 +293,63 @@ public class KwoTradeOrderService {
|
|
|
private void submitOrderSendMsg(OrderCheckDTO orderCheck, String orderNo) {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
map.put("orderNo", orderNo);
|
|
|
- //提交人信息
|
|
|
List<UserInfo> userInfos = new ArrayList<>();
|
|
|
+ //提交人信息
|
|
|
UserInfo createUser = new UserInfo();
|
|
|
createUser.setUserId(LoginUserHolder.getUserId()).setEntId(LoginUserHolder.getEntId());
|
|
|
userInfos.add(createUser);
|
|
|
-
|
|
|
boolean flag = Objects.equals(orderCheck.getOrderSource(), DictEnum.TORDER_SOURCE_1.getValue());
|
|
|
+ UserInfo procureUser = orderCheck.getProcureUser();
|
|
|
+ String procureFireName = orderCheck.getProcureFireName();
|
|
|
+ UserInfo supplyUser = orderCheck.getSupplyUser();
|
|
|
+ String supplyFireName = orderCheck.getSupplyFireName();
|
|
|
//采购下单
|
|
|
if (flag) {
|
|
|
- //给创建人发消息
|
|
|
- map.put("firmName", orderCheck.getSupplyFireName());
|
|
|
- SckwMessage msg = new SckwMessage();
|
|
|
- msg.setRequestId(UUIDUtils.get32UUID())
|
|
|
- .setMessageEnum(MessageEnum.ORDER_INITIATE_PURCHASE)
|
|
|
- .setParams(map)
|
|
|
- .setMsgUrl(purchaseOrderListUrl)
|
|
|
- .setUserInfos(userInfos)
|
|
|
- .setCreateBy(LoginUserHolder.getUserId());
|
|
|
- log.info("发起采购下单消息:{}", JSON.toJSONString(msg));
|
|
|
- streamBridge.send("sckw-message", JSON.toJSONString(msg));
|
|
|
+ //给创建人及采购联系人发消息
|
|
|
+ map.put("firmName", supplyFireName);
|
|
|
+ if (!Objects.equals(procureUser.getUserId(), LoginUserHolder.getUserId())) {
|
|
|
+ userInfos.add(procureUser);
|
|
|
+ }
|
|
|
+ sendMsg(MessageEnum.ORDER_INITIATE_PURCHASE, map, purchaseOrderListUrl, userInfos);
|
|
|
//给供应企业联系人发消息
|
|
|
- map.put("firmName", orderCheck.getProcureFireName());
|
|
|
- SckwMessage contactsMsg = new SckwMessage();
|
|
|
- contactsMsg.setRequestId(UUIDUtils.get32UUID())
|
|
|
- .setMessageEnum(MessageEnum.ORDER_NEW_PENDING)
|
|
|
- .setParams(map)
|
|
|
- .setMsgUrl(valetOrderListUrl)
|
|
|
- .setUserInfos(orderCheck.getSupplyUsers())
|
|
|
- .setCreateBy(LoginUserHolder.getUserId());
|
|
|
- log.info("有新的待受理订单消息:{}", JSON.toJSONString(contactsMsg));
|
|
|
- streamBridge.send("sckw-message", JSON.toJSONString(contactsMsg));
|
|
|
+ map.put("firmName", procureFireName);
|
|
|
+ sendMsg(MessageEnum.ORDER_NEW_PENDING, map, valetOrderListUrl, List.of(supplyUser));
|
|
|
} else {
|
|
|
//代客下单
|
|
|
- //给创建人发消息
|
|
|
- map.put("firmName", orderCheck.getProcureFireName());
|
|
|
- SckwMessage msg = new SckwMessage();
|
|
|
- msg.setRequestId(UUIDUtils.get32UUID())
|
|
|
- .setMessageEnum(MessageEnum.ORDER_INITIATE_SALE)
|
|
|
- .setParams(map)
|
|
|
- .setMsgUrl(valetOrderListUrl)
|
|
|
- .setUserInfos(userInfos)
|
|
|
- .setCreateBy(LoginUserHolder.getUserId());
|
|
|
- log.info("发起代客下单消息:{}", JSON.toJSONString(msg));
|
|
|
- streamBridge.send("sckw-message", JSON.toJSONString(msg));
|
|
|
+ //给创建人及供应企业联系人发消息
|
|
|
+ map.put("firmName", procureFireName);
|
|
|
+ if (!Objects.equals(supplyUser.getUserId(), LoginUserHolder.getUserId())) {
|
|
|
+ userInfos.add(supplyUser);
|
|
|
+ }
|
|
|
+ sendMsg(MessageEnum.ORDER_INITIATE_SALE, map, valetOrderListUrl, userInfos);
|
|
|
//给采购企业联系人发消息
|
|
|
- map.put("firmName", orderCheck.getSupplyFireName());
|
|
|
- SckwMessage contactsMsg = new SckwMessage();
|
|
|
- contactsMsg.setRequestId(UUIDUtils.get32UUID())
|
|
|
- .setMessageEnum(MessageEnum.ORDER_NEW_VALET_MSG)
|
|
|
- .setParams(map)
|
|
|
- .setMsgUrl(purchaseOrderListUrl)
|
|
|
- .setUserInfos(orderCheck.getSupplyUsers())
|
|
|
- .setCreateBy(LoginUserHolder.getUserId());
|
|
|
- log.info("有新的代客下单消息:{}", JSON.toJSONString(contactsMsg));
|
|
|
- streamBridge.send("sckw-message", JSON.toJSONString(contactsMsg));
|
|
|
+ map.put("firmName", supplyFireName);
|
|
|
+ sendMsg(MessageEnum.ORDER_NEW_VALET_MSG, map, purchaseOrderListUrl, List.of(procureUser));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @desc: 发送消息
|
|
|
+ * @author: yzc
|
|
|
+ * @date: 2023-09-06 15:57
|
|
|
+ * @Param msgEnum: 消息枚举
|
|
|
+ * @Param params: 消息变量
|
|
|
+ * @Param url: 消息调转url
|
|
|
+ * @Param userInfos: 发送消息用户集合
|
|
|
+ * @return: void
|
|
|
+ */
|
|
|
+ private void sendMsg(MessageEnum msgEnum, Map<String, Object> params, String url, List<UserInfo> userInfos) {
|
|
|
+ SckwMessage msg = new SckwMessage();
|
|
|
+ msg.setRequestId(UUIDUtils.get32UUID())
|
|
|
+ .setMessageEnum(msgEnum)
|
|
|
+ .setParams(params)
|
|
|
+ .setMsgUrl(url)
|
|
|
+ .setUserInfos(userInfos)
|
|
|
+ .setCreateBy(LoginUserHolder.getUserId());
|
|
|
+ log.info("有新的提醒消息:{}", JSON.toJSONString(msg));
|
|
|
+ streamBridge.send("sckw-message", JSON.toJSONString(msg));
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* @desc: 获取采购销售顶级企业id
|
|
|
* @author: yzc
|
|
|
@@ -362,8 +361,6 @@ public class KwoTradeOrderService {
|
|
|
private void getTopEnt(OrderCheckDTO orderCheck, List<UnitInfo> unitInfo) {
|
|
|
List<Long> entIds = unitInfo.stream().map(UnitInfo::getEntId).toList();
|
|
|
Map<Long, EntCacheResDto> entMap = remoteSystemService.queryEntTreeByIds(entIds);
|
|
|
- List<UserInfo> procureUsers = new ArrayList<>();
|
|
|
- List<UserInfo> supplyUsers = new ArrayList<>();
|
|
|
unitInfo.forEach(e -> {
|
|
|
Long entId = e.getEntId();
|
|
|
EntCacheResDto ent = entMap.get(entId);
|
|
|
@@ -377,17 +374,16 @@ public class KwoTradeOrderService {
|
|
|
orderCheck.setProcureEntId(entId);
|
|
|
orderCheck.setProcureFireName(e.getFirmName());
|
|
|
procureUser.setUserId(e.getContactsId()).setEntId(ent.getId());
|
|
|
- procureUsers.add(procureUser);
|
|
|
+ orderCheck.setProcureUser(procureUser);
|
|
|
} else {
|
|
|
UserInfo supplyUser = new UserInfo();
|
|
|
orderCheck.setSupplyTopEntId(ent.getId());
|
|
|
orderCheck.setSupplyEntId(entId);
|
|
|
orderCheck.setSupplyFireName(e.getFirmName());
|
|
|
supplyUser.setUserId(e.getContactsId()).setEntId(ent.getId());
|
|
|
- supplyUsers.add(supplyUser);
|
|
|
+ orderCheck.setSupplyUser(supplyUser);
|
|
|
}
|
|
|
});
|
|
|
- orderCheck.setProcureUsers(procureUsers).setSupplyUsers(supplyUsers);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -952,42 +948,29 @@ public class KwoTradeOrderService {
|
|
|
* @return: void
|
|
|
*/
|
|
|
private void rejectOrderSendMsg(List<KwoTradeOrderUnit> units, KwoTradeOrder order) {
|
|
|
- Map<String, KwoTradeOrderUnit> unitMap = units.stream().collect
|
|
|
- (Collectors.toMap(KwoTradeOrderUnit::getUnitType, Function.identity()));
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
map.put("orderNo", order.getTOrderNo());
|
|
|
-
|
|
|
- //给供应企业联系人发消息
|
|
|
- List<UserInfo> purchaseUsers = new ArrayList<>();
|
|
|
- UserInfo purchaseUser = new UserInfo();
|
|
|
+ Map<String, KwoTradeOrderUnit> unitMap = units.stream().collect
|
|
|
+ (Collectors.toMap(KwoTradeOrderUnit::getUnitType, Function.identity()));
|
|
|
KwoTradeOrderUnit purchase = unitMap.get(DictEnum.TORDER_UNIT_TYPE_1.getValue());
|
|
|
- purchaseUser.setUserId(purchase.getContactsId()).setEntId(purchase.getTopEntId());
|
|
|
- purchaseUsers.add(purchaseUser);
|
|
|
- SckwMessage contactsMsg = new SckwMessage();
|
|
|
+ KwoTradeOrderUnit supply = unitMap.get(DictEnum.TORDER_UNIT_TYPE_2.getValue());
|
|
|
+ //给供应企业联系人发消息
|
|
|
map.put("firmName", purchase.getFirmName());
|
|
|
- contactsMsg.setRequestId(UUIDUtils.get32UUID())
|
|
|
- .setMessageEnum(MessageEnum.ORDER_REJECT_VALET)
|
|
|
- .setParams(map)
|
|
|
- .setMsgUrl(valetOrderListUrl)
|
|
|
- .setUserInfos(purchaseUsers)
|
|
|
- .setCreateBy(LoginUserHolder.getUserId());
|
|
|
- log.info("驳回采购订单消息:{}", JSON.toJSONString(contactsMsg));
|
|
|
- streamBridge.send("sckw-message", JSON.toJSONString(contactsMsg));
|
|
|
- //给订单创建人发消息
|
|
|
+ UserInfo supplyUser = new UserInfo();
|
|
|
+ supplyUser.setUserId(supply.getContactsId()).setEntId(supply.getTopEntId());
|
|
|
+ sendMsg(MessageEnum.ORDER_REJECT_VALET, map, valetOrderListUrl, List.of(supplyUser));
|
|
|
+ //给订单创建人及采购企业联系人发消息
|
|
|
+ map.put("firmName", supply.getFirmName());
|
|
|
List<UserInfo> userInfos = new ArrayList<>();
|
|
|
UserInfo createUser = new UserInfo();
|
|
|
createUser.setUserId(order.getCreateBy()).setEntId(order.getEntId());
|
|
|
userInfos.add(createUser);
|
|
|
- map.put("firmName", unitMap.get(DictEnum.TORDER_UNIT_TYPE_2.getValue()).getFirmName());
|
|
|
- SckwMessage msg = new SckwMessage();
|
|
|
- msg.setRequestId(UUIDUtils.get32UUID())
|
|
|
- .setMessageEnum(MessageEnum.ORDER_REJECT_PURCHASE)
|
|
|
- .setParams(map)
|
|
|
- .setMsgUrl(purchaseOrderListUrl)
|
|
|
- .setUserInfos(userInfos)
|
|
|
- .setCreateBy(LoginUserHolder.getUserId());
|
|
|
- log.info("采购订单被驳回消息:{}", JSON.toJSONString(msg));
|
|
|
- streamBridge.send("sckw-message", JSON.toJSONString(msg));
|
|
|
+ if (!Objects.equals(createUser.getUserId(), purchase.getContactsId())) {
|
|
|
+ UserInfo purchaseUser = new UserInfo();
|
|
|
+ purchaseUser.setUserId(purchase.getContactsId()).setEntId(purchase.getTopEntId());
|
|
|
+ userInfos.add(purchaseUser);
|
|
|
+ }
|
|
|
+ sendMsg(MessageEnum.ORDER_REJECT_PURCHASE, map, purchaseOrderListUrl, userInfos);
|
|
|
}
|
|
|
|
|
|
/**
|