123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- namespace app\common\model;
- use think\Model;
- class UserLoginRange extends Model
- {
- public static $range=[
- 1=>['start'=>0,'end'=>2],
- 2=>['start'=>2,'end'=>4],
- 3=>['start'=>4,'end'=>6],
- 4=>['start'=>6,'end'=>8],
- 5=>['start'=>8,'end'=>10],
- 6=>['start'=>10,'end'=>12],
- 7=>['start'=>12,'end'=>14],
- 8=>['start'=>14,'end'=>16],
- 9=>['start'=>16,'end'=>18],
- 10=>['start'=>18,'end'=>20],
- 11=>['start'=>20,'end'=>22],
- 12=>['start'=>22,'end'=>24],
- ];
- /**
- * @param null $range
- * @param bool $checkNow
- */
- public static function getRange($checkNow=false,$range=null)
- {
- $ranges=self::$range;
- foreach ($ranges as &$_range){
- $_range['start']=sprintf('%2d',$_range['start']);
- $_range['end']=sprintf('%2d',$_range['end']);
- }
- if($checkNow){
- $hour=date('H');
- foreach ($ranges as $idx=>$r){
- if($hour>=$r['start'] && $hour<$r['end']){
- $range=$idx;
- break;
- }
- }
- return $range;
- }
- if(!$range){
- return $ranges;
- }
- return $ranges[$range];
- }
- public static function addRange(User $user){
- $range=self::getRange(true);
- $has=$user->loginRange()->where('range',$range)->find();
- if($has){
- $has->setInc('times');
- }else{
- $user->loginRange()->save([
- 'range'=>$range,
- 'times'=>1,
- ]);
- }
- }
- }
|