发表于: 2018-02-07 22:33:07
1 689
今天完成的事情
将修改任务状态,定时任务,群体发送邮件写在一起, 免得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
评论