From 28cf328a098334b51a3e9d2d56f983fb8c862211 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 23 五月 2020 09:54:38 +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..c99397a 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.exception.push.PushException;
+import com.yeshi.fanli.entity.integral.IntegralTaskRecord;
 import com.yeshi.fanli.service.inter.push.PushService;
+import com.yeshi.fanli.service.inter.user.integral.IntegralTaskClassService;
+import com.yeshi.fanli.service.inter.user.integral.IntegralTaskRecordService;
 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