field('status,unit_name,usr_nickname,again_date') ->find(); if($res){ switch ($res['status']){ case 0: $msg = $unit_name.'已被"'.$res['usr_nickname'].'"保护,无法保护!'; break; case 1: $msg = $unit_name.'已经过期,请到已过期列表再次保护!'; break; case 2: if((time() - strtotime($res['again_date'])) >= 0){ return false; } $msg = $unit_name.'已经进入签单冷却期,无法保护!'; break; case 4: $msg = $unit_name.'已经放弃,请到已放弃列表再次保护!'; break; } return $msg; } return false; } /** * 判断用户是否超出保护个数上限 * @param $usr_id * @param $count * @return bool|string */ public static function proCountIsExceed($usr_id, $count) { $exist_count = self::where('usr_id',$usr_id) ->where('status',0) ->count(); if($exist_count >= $count){ return true; } return false; } /** * 更新过期的保护客户 */ public static function updateOverdue() { $now = date('Y-m-d'); $ids = self::where('status',0) ->where('ex_date','<=',$now) ->column('id'); if(!empty($ids)){ self::whereIn('id',$ids) ->update(['status'=>1]); } } /** * 根据usr_id获取已经保护的个数 * @param $usr_id * @return int|string */ public static function getProtectCount($usr_id) { $count = self::where('usr_id',$usr_id) ->where('status',0) ->count(); return $count; } // 获取角色权限where条件 public static function getGroupWhere() { $rules = AuthGroup::getRulesByGroupId(Session::get('admin')['depart_id']); if($rules == '*'){ $where = false; // 管理员可以看到所有 } else { $auth_group = Db::table('auth_group')->select(); // 所有组别 $depart_id = Session::get('admin')['depart_id']; // 所属组别 // 获取所有子级部门 $arr = AuthGroup::getSubs($auth_group,$depart_id); array_push($arr,$depart_id); // 只能查看自己和自己子级的保护客户和签单客户 $where = ['depart_id'=>['in',$arr]]; } return $where; } }