Browse Source

合伙人、推荐官自动过期

gorden 5 months ago
parent
commit
6fe3b34ebd
2 changed files with 36 additions and 6 deletions
  1. 30 0
      app/admin/service/member/MemberService.php
  2. 6 6
      process/Task.php

+ 30 - 0
app/admin/service/member/MemberService.php

@@ -1739,4 +1739,34 @@ class MemberService
             Log::info("会员【" . $member['member_id'] . '】会员合伙人身份已过期', $partnerJson);
         }
     }
+
+    /**
+     * @Desc 康养推荐官过期
+     * @Author Gorden
+     * @Date 2024/10/10 10:14
+     *
+     * @return void
+     */
+    public static function referrerExpired()
+    {
+        $members = Member::where('member_is_referrer', 'Y')->get()->toArray();
+        foreach ($members as $member) {
+            $referrerJson = ['member_id'=>$member['member_id']];
+            if (!empty($member['member_referrer_json'])) {
+                $referrerJson = json_decode($member['member_referrer_json'], true);
+            }
+            if (isset($referrerJson['duedate'])) {
+                $duedateUnix = strtotime($referrerJson['duedate'] . ' 23:59:59');
+                if ($duedateUnix > time()) {
+                    continue;
+                }
+            }
+
+            Member::where('member_id', $member['member_id'])->update(['member_is_referrer' => 'N', 'member_referrer_json' => '[]']);
+
+            _syslog("康养推荐官过期", "取消身份", false, $referrerJson, 1001);
+
+            Log::info("会员【" . $member['member_id'] . '】康养推荐官身份已过期', $referrerJson);
+        }
+    }
 }

+ 6 - 6
process/Task.php

@@ -33,15 +33,15 @@ class Task
 
             // 优惠券自动过期
             CouponService::checkCouponExpired();
-            // 会员合伙人自动过期
-//            MemberService::partnerExpired();
         });
 
         // 每天的0点1分执行,注意这里省略了秒位
-//        new Crontab('1 0 * * *', function () {
-//            // 会员合伙人自动过期
-//            MemberService::partnerExpired();
-//        });
+        new Crontab('1 0 * * *', function () {
+            // 会员合伙人自动过期
+            MemberService::partnerExpired();
+            // 康养推荐官自动过期
+            MemberService::referrerExpired();
+        });
 
         // 每天的2点执行,注意这里省略了秒位
         new Crontab('0 2 * * *', function () {