<?php namespace app\model; use think\model\relation\BelongsToMany; use think\model\relation\HasMany; class Account extends Base { public const ROLE_NORMAL = '0';//普通用户 public const ROLE_WORKER = '1';//工人 public const ROLE_MANAGER = '2';//负责人 public const STATUS_NORMAL = 'normal'; //正常 public const STATUS_DISABLE = 'disable';//禁用 public const GENDER_UNDEFINED = 0; // 未知 public const GENDER_MALE = 1; // 男性 public const GENDER_FEMALE = 2; // 女性 // 生成个人补充信息:邀请码、用户编号 public static function onAfterInsert($item) { $item->invite_code = md5($item->id, false); $item->coding = date('y').str_pad((string) $item->id, 10, '0', STR_PAD_LEFT); $item->save(); } public static function roleText(): array { return [ self::ROLE_NORMAL => '普通用户', self::ROLE_WORKER => '工人', self::ROLE_MANAGER => '工地负责人', ]; } public static function checkingText(): array { return [ 0 => '正常', 1 => '资料审核中', ]; } public static function genderText(): array { return [ self::GENDER_UNDEFINED => '保密', self::GENDER_MALE => '男', self::GENDER_FEMALE => '女', ]; } // 获取用户信息 (包含待审核信息) public static function getUser(int $accountId): array { $user = self::alias('a') ->leftJoin('position p', 'a.position = p.id') ->where('a.id', $accountId) ->field('a.*,p.name as position_name') ->find(); if (empty($user)) { return []; } $user->headimgurl = resourceJoin($user->headimgurl, request()->domain()); $user['check_info'] = [];//待审核对比信息 if ($user->checking == self::COMMON_ON || $user->role == self::ROLE_WORKER) { $user['check_info'] = CheckLog::getCheckInfo($accountId); } $user = $user->toArray(); unset($user['sex']); unset($user['unionid']); unset($user['last_login']); unset($user['login_ip']); unset($user['remarks']); unset($user['remarks']); return arrayNullToString($user); } // 工人-需要审核的字段 public static function needCheckFields(): array { return [ 'real_name', 'mobile', 'position', 'pay', 'emergency_contact', 'emergency_phone', 'bank_card_name', 'bank_card_number', 'bank_name', 'card_number', 'bank_card_img', 'id_front', 'id_back' ]; } }