|
|
@@ -54,9 +54,6 @@ public class MessageListener implements ApplicationListener<SaveReleaseEvent<?,
|
|
|
Set<Long> userUUs = new HashSet<>(); // 存储需要接收消息的用户UU
|
|
|
List<PagingReleaseDetail> otherReleaseDetails = new ArrayList<>(); // 用来保存单据新增的其他消息,推送消息时用。
|
|
|
for (PagingReleaseDetail detail : pagingReleaseDetails) {
|
|
|
- if (detail.getVendUserUU() != null) {
|
|
|
- userUUs.add(detail.getVendUserUU()); // 新增的一条,接收人添加到接收用户uu中
|
|
|
- }
|
|
|
PagingRelease release = detail.getPagingRelease();
|
|
|
release = pagingReleaseDao.save(release); // 先保存一次主表,不然触发器查询无数据,会报错
|
|
|
if (null != detail.getVendUU() && null != release.getEnUU()) {
|
|
|
@@ -65,7 +62,7 @@ public class MessageListener implements ApplicationListener<SaveReleaseEvent<?,
|
|
|
for (Role role : roles) {
|
|
|
List<User> admins = userDao.findByRole(role.getId());
|
|
|
for (User admin : admins) {
|
|
|
- if (!userUUs.contains(admin.getUserUU())) {
|
|
|
+ if (!Objects.equals(admin.getUserUU(), detail.getVendUserUU()) && !userUUs.contains(admin.getUserUU())) {
|
|
|
userUUs.add(admin.getUserUU());
|
|
|
}
|
|
|
}
|
|
|
@@ -83,7 +80,7 @@ public class MessageListener implements ApplicationListener<SaveReleaseEvent<?,
|
|
|
List<Distribute> distributes = distributeDao.findByVendorId(vendorId);
|
|
|
if (!CollectionUtils.isEmpty(distributes)) {
|
|
|
for (Distribute distribute : distributes) {
|
|
|
- if (!userUUs.contains(distribute.getUserUU())) {
|
|
|
+ if (!Objects.equals(distribute.getUserUU(), detail.getVendUserUU()) && !userUUs.contains(distribute.getUserUU())) {
|
|
|
userUUs.add(distribute.getUserUU());
|
|
|
}
|
|
|
}
|
|
|
@@ -97,20 +94,20 @@ public class MessageListener implements ApplicationListener<SaveReleaseEvent<?,
|
|
|
// 添加系统管理员
|
|
|
if (addSysAdmin) {
|
|
|
Enterprise enterprise = enterpriseDao.findOne(detail.getVendUU());
|
|
|
- if (!userUUs.contains(enterprise.getEnAdminuu())) {
|
|
|
+ if (!Objects.equals(enterprise.getEnAdminuu(), detail.getVendUserUU()) && !userUUs.contains(enterprise.getEnAdminuu())) {
|
|
|
userUUs.add(enterprise.getEnAdminuu());
|
|
|
}
|
|
|
}
|
|
|
// 新增消息
|
|
|
for (Long userUU : userUUs) {
|
|
|
- try { //去除userUU为空值的情况
|
|
|
- User user = userDao.findOne(userUU);
|
|
|
- PagingReleaseDetail pagingReleaseDetail = new PagingReleaseDetail(detail.getVendUU(), userUU, user.getUserName());
|
|
|
- pagingReleaseDetail.setPagingRelease(release);
|
|
|
- otherReleaseDetails.add(pagingReleaseDetail);
|
|
|
- } catch (RuntimeException e){
|
|
|
- e.getStackTrace();
|
|
|
- }
|
|
|
+ try { //去除userUU为空值的情况
|
|
|
+ User user = userDao.findOne(userUU);
|
|
|
+ PagingReleaseDetail pagingReleaseDetail = new PagingReleaseDetail(detail.getVendUU(), userUU, user.getUserName());
|
|
|
+ pagingReleaseDetail.setPagingRelease(release);
|
|
|
+ otherReleaseDetails.add(pagingReleaseDetail);
|
|
|
+ } catch (RuntimeException e){
|
|
|
+ e.getStackTrace();
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|