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