|
@@ -10,15 +10,14 @@ import com.baomidou.mybatisplus.plugins.Page;
|
|
|
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
|
|
|
import com.baomidou.mybatisplus.toolkit.StringUtils;
|
|
|
import com.google.common.collect.Lists;
|
|
|
-import com.google.common.collect.Sets;
|
|
|
import com.winsea.svc.base.base.entity.CommonStaffRole;
|
|
|
+import com.winsea.svc.base.base.entity.CommonStaffVessel;
|
|
|
import com.winsea.svc.base.base.service.ICommonStaffRoleService;
|
|
|
import com.winsea.svc.base.base.service.ICommonStaffVesselService;
|
|
|
import com.winsea.svc.base.base.util.MessagePusherUtils;
|
|
|
import com.winsea.svc.base.security.util.AuthSecurityUtils;
|
|
|
import com.winsea.svc.notice.command.NoticeCommand.NoticeBusinessTypeNumber;
|
|
|
import com.winsea.svc.notice.entity.NoticeBusinessConstantInfo;
|
|
|
-import com.winsea.svc.notice.entity.NoticeBusinessResourceInfo;
|
|
|
import com.winsea.svc.notice.entity.NoticeTaskInfo;
|
|
|
import com.winsea.svc.notice.entity.NoticeTaskInfo.NoticeTaskPushStatus;
|
|
|
import com.winsea.svc.notice.entity.NoticeTaskInfo.NoticeTaskStatus;
|
|
@@ -28,22 +27,15 @@ import com.winsea.svc.notice.exception.NoticeException;
|
|
|
import com.winsea.svc.notice.mapper.NoticeTaskMapper;
|
|
|
import com.winsea.svc.notice.service.INoticeBusinessConstantService;
|
|
|
import com.winsea.svc.notice.service.INoticeBusinessResourceService;
|
|
|
-import com.winsea.svc.notice.service.INoticeTaskService;
|
|
|
import com.winsea.svc.notice.service.INoticeTimePushService;
|
|
|
-import com.winsea.svc.notice.service.INoticeUtilService;
|
|
|
import com.yh.saas.common.support.util.BeanUtils;
|
|
|
import com.yh.saas.common.support.util.IdGenerator;
|
|
|
import com.yh.saas.common.support.util.query.QueryUtils;
|
|
|
-import java.math.BigDecimal;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.HashSet;
|
|
|
-import java.util.Iterator;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Set;
|
|
|
+
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
+import com.yh.saas.plugin.yiliangyiyun.mapper.NewNoticeTaskMapper;
|
|
|
import com.yh.saas.plugin.yiliangyiyun.service.INewNoticeTaskService;
|
|
|
import com.yh.saas.plugin.yiliangyiyun.service.INewNoticeUtilService;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
@@ -66,6 +58,8 @@ public class NewNoticeTaskServiceImpl extends ServiceImpl<NoticeTaskMapper, Noti
|
|
|
@Autowired
|
|
|
private INoticeTimePushService notificationTimePushService;
|
|
|
@Autowired
|
|
|
+ private NewNoticeTaskMapper newNoticeTaskMapper;
|
|
|
+ @Autowired
|
|
|
private INewNoticeUtilService noticeUtilService;
|
|
|
private Set<String> businessCodes;
|
|
|
@Value("${taskmsg.isPushed:true}")
|
|
@@ -87,43 +81,68 @@ public class NewNoticeTaskServiceImpl extends ServiceImpl<NoticeTaskMapper, Noti
|
|
|
noticeTask.setNoticeTaskStatus(NoticeTaskStatus.TO_BE_PROCESSED);
|
|
|
}
|
|
|
|
|
|
- Wrapper<NoticeTaskInfo> noticeTaskWrapper = this.getCurrentUserNoticeTaskWrapper(noticeTask);
|
|
|
- noticeTaskWrapper.orderDesc(Sets.newHashSet(new String[]{"create_date"}));
|
|
|
- noticeTaskWrapper.groupBy("business_code");
|
|
|
- noticeTaskWrapper.groupBy("DATE_FORMAT(create_date,'%Y-%m-%d')");
|
|
|
-// noticeTaskWrapper.and("group by DATE_FORMAT(create_date,'%Y-%m-%d')");
|
|
|
- Page<NoticeTaskInfo> noticeTaskInfoPage = this.selectPage(noticeTask.getQueryPage(), noticeTaskWrapper);
|
|
|
- List<NoticeTaskInfo> taskInfos = noticeTaskInfoPage.getRecords();
|
|
|
- List<NoticeTaskInfo> newTaskInfos = new ArrayList();
|
|
|
- this.filterResource(taskInfos, newTaskInfos);
|
|
|
-
|
|
|
- noticeTaskInfoPage.setRecords(newTaskInfos);
|
|
|
- if (noticeTask.getPageSize() > taskInfos.size()) {
|
|
|
- int sum = (int)noticeTaskInfoPage.getTotal();
|
|
|
- int pageSize = noticeTask.getPageSize();
|
|
|
-
|
|
|
- for(int i = 1; i < (new BigDecimal(sum)).divide(new BigDecimal(pageSize)).intValue() + 1; ++i) {
|
|
|
- noticeTask.setCurrentPage(noticeTask.getCurrentPage() + 1);
|
|
|
- Page<NoticeTaskInfo> taskInfoPage = this.selectPage(noticeTask.getQueryPage(), noticeTaskWrapper);
|
|
|
- if (!CollectionUtils.isEmpty(taskInfoPage.getRecords())) {
|
|
|
- Iterator var10 = taskInfoPage.getRecords().iterator();
|
|
|
-
|
|
|
- while(var10.hasNext()) {
|
|
|
- NoticeTaskInfo noticeTaskInfo = (NoticeTaskInfo)var10.next();
|
|
|
- List<NoticeBusinessResourceInfo> noticeBusinessResourceInfos = this.businessResourceService.findNoticeBusinessResourceInfos(noticeTaskInfo.getBusinessCode());
|
|
|
- List<String> noticeResource = (List)noticeBusinessResourceInfos.stream().map(NoticeBusinessResourceInfo::getResourceId).collect(Collectors.toList());
|
|
|
- List<String> resourceIds = AuthSecurityUtils.getUserResources(AuthSecurityUtils.getCurrentUserId());
|
|
|
- if (resourceIds.containsAll(noticeResource)) {
|
|
|
- noticeTaskInfo.setMessageTitle(this.businessConstantService.findBusinessCodeInfo(noticeTaskInfo.getBusinessCode()).getReceiptName());
|
|
|
- taskInfos.add(noticeTaskInfo);
|
|
|
- if (taskInfos.size() >= pageSize) {
|
|
|
- return noticeTaskInfoPage;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ //2022-02-22 程长江 start
|
|
|
+
|
|
|
+ String staffId = AuthSecurityUtils.getCurrentUserId();
|
|
|
+ List<CommonStaffVessel> staffVessels = this.staffVesselService.findStaffVessel(AuthSecurityUtils.getCurrentUserId());
|
|
|
+ Map<String, List<CommonStaffVessel>> map = (Map)staffVessels.stream().collect(Collectors.groupingBy(CommonStaffVessel::getRoleId));
|
|
|
+ Set<String> roleIds = map.keySet();
|
|
|
+ Iterator var9 = roleIds.iterator();
|
|
|
+ String roleIdParam = "'";
|
|
|
+ while(var9.hasNext()) {
|
|
|
+ String roleId = (String)var9.next();
|
|
|
+ roleIdParam += roleId +"',";
|
|
|
}
|
|
|
+ roleIdParam = roleIdParam.substring(0,roleIdParam.length() -1 );
|
|
|
+ staffId = "'" + staffId + "'";
|
|
|
+ Map<String, Object> pageView = new HashMap<>();
|
|
|
+ pageView.put("roleId", roleIdParam);
|
|
|
+ pageView.put("staffId", staffId);
|
|
|
+ List<NoticeTaskInfo> list = newNoticeTaskMapper.getTaskList(pageView);
|
|
|
+ Page<NoticeTaskInfo> noticeTaskInfoPage = new Page<>();
|
|
|
+ noticeTaskInfoPage.setRecords(list);
|
|
|
+ noticeTaskInfoPage.setTotal(list.size());
|
|
|
+ //2022-02-22 程长江 end
|
|
|
+
|
|
|
+// Wrapper<NoticeTaskInfo> noticeTaskWrapper = this.getCurrentUserNoticeTaskWrapper(noticeTask);
|
|
|
+// noticeTaskWrapper.orderDesc(Sets.newHashSet(new String[]{"create_date"}));
|
|
|
+// noticeTaskWrapper.groupBy("business_code");
|
|
|
+// noticeTaskWrapper.groupBy("DATE_FORMAT(create_date,'%Y-%m-%d')");
|
|
|
+// noticeTaskWrapper.and("group by DATE_FORMAT(create_date,'%Y-%m-%d')");
|
|
|
+// Page<NoticeTaskInfo> noticeTaskInfoPage = this.selectPage(noticeTask.getQueryPage(), noticeTaskWrapper);
|
|
|
+// List<NoticeTaskInfo> taskInfos = noticeTaskInfoPage.getRecords();
|
|
|
+// List<NoticeTaskInfo> newTaskInfos = new ArrayList();
|
|
|
+// this.filterResource(taskInfos, newTaskInfos);
|
|
|
+
|
|
|
+// noticeTaskInfoPage.setRecords(newTaskInfos);
|
|
|
+// Page<NoticeTaskInfo> noticeTaskInfoPage = this.selectPage(noticeTask.getQueryPage(), noticeTaskWrapper);
|
|
|
+// noticeTaskInfoPage.setRecords(list);
|
|
|
+// if (noticeTask.getPageSize() > taskInfos.size()) {
|
|
|
+// int sum = (int)noticeTaskInfoPage.getTotal();
|
|
|
+// int pageSize = noticeTask.getPageSize();
|
|
|
+//
|
|
|
+// for(int i = 1; i < (new BigDecimal(sum)).divide(new BigDecimal(pageSize)).intValue() + 1; ++i) {
|
|
|
+// noticeTask.setCurrentPage(noticeTask.getCurrentPage() + 1);
|
|
|
+// Page<NoticeTaskInfo> taskInfoPage = this.selectPage(noticeTask.getQueryPage(), noticeTaskWrapper);
|
|
|
+// if (!CollectionUtils.isEmpty(taskInfoPage.getRecords())) {
|
|
|
+// Iterator var10 = taskInfoPage.getRecords().iterator();
|
|
|
+//
|
|
|
+// while(var10.hasNext()) {
|
|
|
+// NoticeTaskInfo noticeTaskInfo = (NoticeTaskInfo)var10.next();
|
|
|
+// List<NoticeBusinessResourceInfo> noticeBusinessResourceInfos = this.businessResourceService.findNoticeBusinessResourceInfos(noticeTaskInfo.getBusinessCode());
|
|
|
+// List<String> noticeResource = (List)noticeBusinessResourceInfos.stream().map(NoticeBusinessResourceInfo::getResourceId).collect(Collectors.toList());
|
|
|
+// List<String> resourceIds = AuthSecurityUtils.getUserResources(AuthSecurityUtils.getCurrentUserId());
|
|
|
+// if (resourceIds.containsAll(noticeResource)) {
|
|
|
+// noticeTaskInfo.setMessageTitle(this.businessConstantService.findBusinessCodeInfo(noticeTaskInfo.getBusinessCode()).getReceiptName());
|
|
|
+// taskInfos.add(noticeTaskInfo);
|
|
|
+// if (taskInfos.size() >= pageSize) {
|
|
|
+// return noticeTaskInfoPage;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
|
|
|
noticeTaskInfoPage.getRecords().forEach((noticeTaskInfox) -> {
|
|
|
String messageTitle = null;
|