|
@@ -125,8 +125,47 @@ class notify_helper
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- static public function onFcodeExpire()
|
|
|
+ static public function onFcodeWarning()
|
|
|
{
|
|
|
+ $pre_secs = 86400 * 5;
|
|
|
|
|
|
+ $mod_member = Model('member');
|
|
|
+ $i = 0;
|
|
|
+ while (true)
|
|
|
+ {
|
|
|
+ $start = $i * 1000;
|
|
|
+ $items = Model()->table('goods_fcode')
|
|
|
+ ->field('fc_id,mobile,goods_commonid,usable_time')
|
|
|
+ ->where(array('usable_time&usable_time' => ['_multi'=>true,['gt',time() - $pre_secs],['lt',time()]],'fc_state' => 0,'warning_time' => 0))
|
|
|
+ ->order('fc_id desc')
|
|
|
+// ->limit("{$start},1000")->select();
|
|
|
+ ->limit("{$start},1")->select();
|
|
|
+ if(empty($items)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ $i++;
|
|
|
+ foreach ($items as $item)
|
|
|
+ {
|
|
|
+ $fc_id = $item['fc_id'];
|
|
|
+ $cid = $item['goods_commonid'];
|
|
|
+ $usable_time = $item['usable_time'];
|
|
|
+ $mobile = $item['mobile'];
|
|
|
+ $mid = self::member_id($mod_member,$mobile);
|
|
|
+
|
|
|
+ if($mid!= false && $mid > 0) {
|
|
|
+ push_helper::fcode_warning($cid,$mid,$usable_time);
|
|
|
+ }
|
|
|
+ Model()->table('goods_fcode')->where(['fc_id' => $fc_id])->update(['warning_time' => time()]);
|
|
|
+ }
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ static private function member_id($mod_member,$mobile)
|
|
|
+ {
|
|
|
+ $items = $mod_member->where(['member_mobile' => $mobile])->select();
|
|
|
+ if(!empty($items)) {
|
|
|
+ return intval($items[0]['member_id']);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
}
|
|
|
}
|