stanley-king 7 éve
szülő
commit
f13e978f66
2 módosított fájl, 90 hozzáadás és 0 törlés
  1. 45 0
      crontab/control/date.php
  2. 45 0
      test/member_helperTest.php

+ 45 - 0
crontab/control/date.php

@@ -126,6 +126,51 @@ class dateControl extends BaseCronControl
             }
         }
     }
+    public function init_relationOp()
+    {
+        $i = 0;
+        while (true)
+        {
+            $start = $i * 1000;
+            $items = Model()->table('member_relation')->field('member_id,invited_user')->order('member_mobile asc')->limit("{$start},1000")->select();
+            if(empty($items)) {
+                return;
+            }
+            $i++;
+
+            foreach ($items as $item)
+            {
+                $member_id = intval($item['member_id']);
+                if($member_id <= 0) continue;
+                $invitees = unserialize($item['invited_user']);
+                if(empty($invitees)) continue;
+
+                foreach ($invitees as $userid) {
+                    $this->update_invitee($member_id,$userid);
+                }
+            }
+        }
+    }
+
+    private function update_invitee($invitorid,$userid)
+    {
+        $mod = Model('member');
+        $invitee = $mod->where(['member_id' => $userid])->find();
+        if(empty($invitee)) return false;
+
+
+        $inviter_id = intval($invitee['inviter_id']);
+        if($inviter_id > 0) return false;
+
+        $ret = $mod->editMember(['member_id' => $userid],['inviter_id' => $invitorid]);
+        if($ret == false) {
+            Log::record(__METHOD__ . "  update {$userid} invitor id err",Log::ERR);
+        }
+        else {
+            Log::record(__METHOD__ . "  update {$userid} invitor id success",Log::DEBUG);
+        }
+    }
+
     public function init_inviterOp()
     {
         $path = BASE_DATA_PATH . "/mobile/invitors.txt";

+ 45 - 0
test/member_helperTest.php

@@ -47,4 +47,49 @@ class member_helperTest extends PHPUnit_Framework_TestCase
             }
         }
     }
+
+    public function testInitinviter()
+    {
+        $i = 0;
+        while (true)
+        {
+            $start = $i * 1000;
+            $items = Model()->table('member_relation')->field('member_id,invited_user')->order('member_mobile asc')->limit("{$start},1000")->select();
+            if(empty($items)) {
+                return;
+            }
+            $i++;
+
+            foreach ($items as $item)
+            {
+                $member_id = intval($item['member_id']);
+                if($member_id <= 0) continue;
+                $invitees = unserialize($item['invited_user']);
+                if(empty($invitees)) continue;
+
+                foreach ($invitees as $userid) {
+                    $this->update_invitee($member_id,$userid);
+                }
+            }
+        }
+    }
+
+    private function update_invitee($invitorid,$userid)
+    {
+        $mod = Model('member');
+        $invitee = $mod->where(['member_id' => $userid])->find();
+        if(empty($invitee)) return false;
+
+
+        $inviter_id = intval($invitee['inviter_id']);
+        if($inviter_id > 0) return false;
+
+        $ret = $mod->editMember(['member_id' => $userid],['inviter_id' => $invitorid]);
+        if($ret == false) {
+            Log::record(__METHOD__ . "  update {$userid} invitor id err",Log::ERR);
+        }
+        else {
+            Log::record(__METHOD__ . "  update {$userid} invitor id success",Log::DEBUG);
+        }
+    }
 }