发表于: 2018-02-07 22:33:07

1 688


今天完成的事情

将修改任务状态,定时任务,群体发送邮件写在一起, 免得Controller里面代码冗长.也方便实现.

    public ScheduleJob sendNews(Long sendNewsId, Long userId,Integer needEmails) throws ServiceException, ServiceDaoException, SchedulerException {
       ScheduleJob scheduleJob = new ScheduleJob();
       List<UserNews> userNewsList = new ArrayList<>();
       SendEmails sendEmails = new SendEmails();
       try {
           News news = newsService.getObjectById(sendNewsId);
           //            获取年级下的用户id
           Map<String, Object> param = DynamicUtil.getUserIdsByGradeId(news.getGradeId());
           List<Long> userIds = userNewsService.getIdsByDynamicCondition(User.class, param, 0, Integer.MAX_VALUE);

           for (int i = 0; i < userIds.size(); i++) {
               UserNews userNews = new UserNews();
               userNews.setUserId(userIds.get(i));
               userNews.setNewsId(sendNewsId);
               userNews.setCreateBy(userId);
               userNews.setUpdateBy(userId);
               userNews.setCreateAt(System.currentTimeMillis());
               userNews.setUpdateAt(System.currentTimeMillis());
               userNewsList.add(userNews);
           }
           String cro = TimeCycle.TimeStamp2Date(String.valueOf(news.getSendTime()));
           log.info("cro : " + cro);
           scheduleJob.setCronExpression(cro);
           scheduleJob.setDescription(JsonUtil.toJsonStr(userNewsList));
           scheduleJob.setMethodName("insertList");
           scheduleJob.setBeanClass("com.ptteng.sca.playlearn.ojbk.user.UserNewsSCAClient");
           scheduleJob.setJobName(String.valueOf(System.currentTimeMillis()));
           scheduleJob.setJobGroup(String.valueOf(System.currentTimeMillis()));
           scheduleJob.setJobStatus(1);
           scheduleJob.setIsConcurrent(String.valueOf(0));
           scheduleJob.setCreateBy(userId);
           scheduleJob.setUpdateBy(userId);
           scheduleJob.setUpdateAt(System.currentTimeMillis());
           scheduleJob.setCreateAt(System.currentTimeMillis());
           CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(scheduleJob.getCronExpression());
           Long id = scheduleJobService.insert(scheduleJob);
           news.setStatus(1);
           news.setUpdateBy(userId);
           newsService.update(news);
           ScheduleJob scheduleJob1 = scheduleJobService.getObjectById(id);
           scheduleJob1.setJobStatus(0);
           scheduleJobService.update(scheduleJob1);
           if (needEmails == 1){
           List<String> userEmails = userService.getUserEmailByGrade(news.getGradeId());
           sendEmails.sendEmails(SqlUtil.InIdSubstringString(userEmails), news.getText());
           }
       } catch (Exception e) {
           e.printStackTrace();
       } catch (Throwable t) {
           t.printStackTrace();
           log.error(t.getMessage());
           log.error("sendNews ");
       }return  scheduleJob;
   }
}


明天计划的事情:

分享小课堂

修改BUG 重构代码


遇到的困难:

暂无


任务进度:接口编写

任务开始时间:2017-12-12

预计demo时间:2017-02-09

是否有延期风险:暂无

禅道地址:http://task.ptteng.com/zentao/task-view-17095.html



返回列表 返回列表
评论

    分享到