From dc5be7d38446f70e6ff86df311119c32b41fe7f8 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 28 十一月 2020 16:37:05 +0800
Subject: [PATCH] 大淘客搜索接口升级

---
 fanli/src/main/java/com/yeshi/fanli/job/IntegralTaskJob.java |   87 +++++++++++++++++++++++++++++++++++--------
 1 files changed, 70 insertions(+), 17 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..bcbee09 100644
--- a/fanli/src/main/java/com/yeshi/fanli/job/IntegralTaskJob.java
+++ b/fanli/src/main/java/com/yeshi/fanli/job/IntegralTaskJob.java
@@ -1,39 +1,92 @@
 package com.yeshi.fanli.job;
 
+import java.util.Date;
+import java.util.List;
+
 import javax.annotation.Resource;
 
+import com.yeshi.fanli.entity.SystemEnum;
+import com.yeshi.fanli.service.inter.user.UserInfoService;
 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 org.yeshi.utils.TimeUtil;
 
 /**
  * 閲戝竵浠诲姟
- * 
- * @author Administrator
  *
+ * @author Administrator
  */
 @Component
 public class IntegralTaskJob {
 
-	@Resource
-	private PushService pushService;
+    @Resource
+    private PushService pushService;
 
-	/**
-	 * 鎺ㄩ�佺鍒版彁閱�(姣忓ぉ15鐐瑰崐鏌ヨ)
-	 */
-	@Scheduled(cron="0 30 15 * * ? ")
-	public void pushSignInNotify() {
-		if (!Constant.IS_TASK)
-			return;
-		// 鑾峰彇鏄ㄥぉ绛惧埌杩囩殑
+    @Resource
+    private IntegralTaskRecordService integralTaskRecordService;
 
-		// 鏌ヨ浠婂ぉ鏄惁宸茬粡绛惧埌
+    @Resource
+    private IntegralTaskClassService integralTaskClassService;
 
-		// 濡傛灉鏈鍒帮紝闇�瑕佹帹閫佷俊鎭�
-		// pushService.pushUserSignInNotification(uid, title, content, null,
-		// null);
-	}
+    @Resource
+    private UserInfoService userInfoService;
+
+    /**
+     * 鎺ㄩ�佺鍒版彁閱�(姣忓ぉ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"));
+
+        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) {// 濡傛灉鏈鍒帮紝闇�瑕佹帹閫佷俊鎭�
+                        SystemEnum system = userInfoService.getUserSystem(record.getUid());
+                        try {
+                            pushService.pushUserSignInNotification(record.getUid(), "浠婃棩鏈鍒版彁閱�", "浠婃棩杩樻湭绛惧埌锛岃繛缁鍒伴噾甯佺炕鍊嶅摝", null,
+                                    null,system);
+                        } catch (PushException e) {
+                            e.printStackTrace();
+                        }
+                    }
+                }
+            }
+        }
+    }
 
 }

--
Gitblit v1.8.0