From 822e2bc06f9e95f357867d457c004e7bb1f67db8 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 26 八月 2019 16:27:15 +0800 Subject: [PATCH] 签到通知 --- fanli/src/main/java/com/yeshi/fanli/job/IntegralTaskJob.java | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 53 insertions(+), 5 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/job/IntegralTaskJob.java b/fanli/src/main/java/com/yeshi/fanli/job/IntegralTaskJob.java index c83bc32..90e6c26 100644 --- a/fanli/src/main/java/com/yeshi/fanli/job/IntegralTaskJob.java +++ b/fanli/src/main/java/com/yeshi/fanli/job/IntegralTaskJob.java @@ -1,12 +1,22 @@ package com.yeshi.fanli.job; +import java.util.Date; +import java.util.List; + import javax.annotation.Resource; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import com.yeshi.fanli.entity.integral.IntegralTaskClass; +import com.yeshi.fanli.entity.integral.IntegralTaskClass.UniqueKeyEnum; +import com.yeshi.fanli.entity.integral.IntegralTaskRecord; +import com.yeshi.fanli.exception.PushException; +import com.yeshi.fanli.service.inter.integral.IntegralTaskClassService; +import com.yeshi.fanli.service.inter.integral.IntegralTaskRecordService; import com.yeshi.fanli.service.inter.push.PushService; import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.TimeUtil; /** * 閲戝竵浠诲姟 @@ -20,20 +30,58 @@ @Resource private PushService pushService; + @Resource + private IntegralTaskRecordService integralTaskRecordService; + + @Resource + private IntegralTaskClassService integralTaskClassService; + /** * 鎺ㄩ�佺鍒版彁閱�(姣忓ぉ15鐐瑰崐鏌ヨ) */ - @Scheduled(cron="0 30 15 * * ? ") + @Scheduled(cron = "0 30 15 * * ? ") public void pushSignInNotify() { if (!Constant.IS_TASK) return; // 鑾峰彇鏄ㄥぉ绛惧埌杩囩殑 + IntegralTaskClass dailySignClass = integralTaskClassService.getByUniqueKey(UniqueKeyEnum.dailySign.name()); + if (dailySignClass == null) + return; + Long cid = dailySignClass.getId(); - // 鏌ヨ浠婂ぉ鏄惁宸茬粡绛惧埌 + long timeStamp = System.currentTimeMillis(); + Date minTime = new Date(TimeUtil.convertToTimeTemp( + TimeUtil.getGernalTime(timeStamp - 1000 * 60 * 60 * 24L, "yyyy-MM-dd"), "yyyy-MM-dd")); + Date maxTime = new Date( + TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(timeStamp, "yyyy-MM-dd"), "yyyy-MM-dd")); - // 濡傛灉鏈鍒帮紝闇�瑕佹帹閫佷俊鎭� - // pushService.pushUserSignInNotification(uid, title, content, null, - // null); + Date todayMinTime = new Date( + TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(timeStamp, "yyyy-MM-dd"), "yyyy-MM-dd")); + + Date todayMaxTime = new Date(TimeUtil.convertToTimeTemp( + TimeUtil.getGernalTime(timeStamp + 1000 * 60 * 60 * 24L, "yyyy-MM-dd"), "yyyy-MM-dd")); + + long count = integralTaskRecordService.countByCidAndUidAndCreateTime(cid, null, minTime, maxTime); + int page = (int) (count % 200 == 0 ? count / 200 : count / 200 + 1); + for (int p = 0; p < page; p++) { + List<IntegralTaskRecord> list = integralTaskRecordService.listByCidAndUidAndCreateTime(cid, null, minTime, + maxTime, p + 1, 200); + if (list != null) { + for (IntegralTaskRecord record : list) { + // 鏌ヨ浠婂ぉ鏄惁宸茬粡绛惧埌 + long todayCount = integralTaskRecordService.countByCidAndUidAndCreateTime(cid, record.getUid(), + todayMinTime, todayMaxTime); + if (todayCount <= 0) {// 濡傛灉鏈鍒帮紝闇�瑕佹帹閫佷俊鎭� + try { + pushService.pushUserSignInNotification(record.getUid(), "浠婃棩鏈鍒版彁閱�", "浠婃棩杩樻湭绛惧埌锛岃繛缁鍒伴噾甯佺炕鍊嶅摝", null, + null); + } catch (PushException e) { + e.printStackTrace(); + } + } + } + } + } } } -- Gitblit v1.8.0