| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- <?php
- namespace App\Module\User\Logic;
- use App\Module\User\Enums\Status;
- use App\Module\User\Enums\Status2;
- use Illuminate\Pagination\LengthAwarePaginator;
- class User
- {
- /**
- * 用户列表
- *
- * @param $w
- * @param $page
- * @param $limit
- * @return LengthAwarePaginator
- */
- static public function list1($w, $page, $limit)
- {
- $q = \App\Module\User\Models\User::query()->with([
- 'hospital','hospital_auth','consumer'
- ]);
- if($w['only_consumer']??""){
- $q = $q->where('is_consumer','=',1);
- }
- if($w['username']??""){
- $q = $q->where('username','like',"%{$w['username']}%");
- }
- if($w['name']??""){
- $q = $q->where('name','like',"%{$w['name']}%");
- }
- if($w['phone']??""){
- $q = $q->where('phone','=',$w['phone']);
- }
- if($w['email']??""){
- $q = $q->where('phone','=',$w['email']);
- }
- if($w['user_id']??""){
- $q = $q->where('id','=',$w['user_id']);
- }
- return $q->paginate($limit, [ '*' ], '', $page);
- }
- /**
- * 获取单条信息
- *
- * @param $id
- * @return \App\Module\User\Models\User|null
- */
- static public function info($id)
- {
- $q = \App\Module\User\Models\User::query();
- $info = $q->find($id);
- return $info;
- }
- static public function infoinfo($id,$create = false)
- {
- $q = \App\Module\User\Models\UserInfo::query();
- $info = $q->find($id);
- if(!$info && $create){
- $info = self::infoCreate($id);
- }
- return $info;
- }
- /**
- * 信息创建
- * @param $user_id
- * @return \App\Module\User\Models\UserInfo
- */
- static public function infoCreate($user_id)
- {
- $info = self::info($user_id);
- $model = new \App\Module\User\Model\UserInfo();
- $model->user_id = $user_id;
- $model->status = Status::Hidden;
- $model->nickname = '用户**'.substr($info->username, -4);
- $model->avatar = '0';
- $model->google2fa_secret = '';
- $model->save();
- return $model;
- }
- /**
- * 编辑用户
- *
- * @param $id
- * @param $password
- * @return null
- */
- static public function edit($id, $password)
- {
- /**
- * @var \App\Module\User\Models\User $user
- */
- $user = \App\Module\User\Models\User::query()->find($id);
- if ($user) {
- $user->password = password_hash($password, PASSWORD_DEFAULT);
- $user->save();
- return $user;
- }
- return null;
- }
- /**
- * 删除
- *
- * @param $id
- * @return bool|null
- */
- static public function delete($id)
- {
- /**
- * @var \App\Module\User\Models\User $user
- */
- $user = \App\Module\User\Models\User::query()->find($id);
- if ($user) {
- return $user->delete();
- }
- return null;
- }
- /**
- * 批量删除
- *
- * @param $ids
- * @return true|null
- */
- static public function delete_batch($ids)
- {
- /**
- * @var \App\Module\User\Models\User $user
- */
- $users = \App\Module\User\Models\User::query()->findMany($ids);
- if ($users) {
- foreach ($users as $user){
- $user->delete();
- }
- return true;
- }
- return null;
- }
- /**
- * 编辑数据
- *
- * @param $id
- * @param $data
- * @return void
- */
- static public function edit_data($id,$data)
- {
- if(!$data){
- return [];
- }
- /**
- * @var \App\Module\User\Models\User $user
- */
- $user = \App\Module\User\Models\User::query()->find($id);
- foreach ($data as $k=> $m){
- $user->$k = $m;
- }
- $user->save();
- }
- }
|