'integer', 'org_id' => 'integer', 'rank' => 'integer', 'del_flag' => 'integer']; /** * Author: cfn * @param array $account * @param array $param * @return \Hyperf\Contract\LengthAwarePaginatorInterface */ public static function list(array $account, array $param) { $model = self::where("del_flag", 0) ->where("org_id", $account['belong_id']); foreach (['group_name'] as $k) { if (isset($param[$k]) && $param[$k] != '') { $model = $model->where($k, "like", "%$param[$k]%"); } } return $model->orderByDesc("group_id") ->paginate((int)$param['limit'], ["group_id", "group_name", "rank", "create_time"], 'page', (int)$param['page']); } /** * Author: cfn * @param array $account * @param string $ids * @return int */ public static function del(array $account, string $ids): int { return self::where("del_flag", 0) ->where("org_id", $account['belong_id']) ->whereIn("group_id", explode(",", $ids)) ->update([ 'del_flag' => 1, 'update_time' => date("Y-m-d H:i:s") ]); } /** * Author: cfn * @param array $account * @return array */ public static function options(array $account): array { return self::where("del_flag", 0) ->where("org_id", $account['belong_id']) ->select(["group_id", "group_name"]) ->orderByDesc("rank") ->get() ->toArray(); } }