'无', 1 => '低级', 2 => '中级', 3 => '高级', 4 => '特级', ]; public static $gender = [ 0 => '男', 1 => '女', ]; protected $append = [ 'level_name', 'gender_name', ]; use ModelTrait; public function getLevelNameAttr($value, $data) { return self::$level[$data['level']]; } public function getAddTimeAttr($value) { return date('Y-m-d H:i:s', $value); } public function getGenderNameAttr($value, $data) { return self::$gender[$data['gender']]; } public static function getList($where) { if (isset($where['status']) && $where['status'] != '') { $model = self::where('status', $where['status']); } else { $model = new self(); } if (isset($where['uid']) && $where['uid'] != '') { $model = self::where('uid', $where['uid']); } $count = $model->count(); $data = $model->page((int)$where['page'], (int)$where['limit'])->order('id desc')->select(); return compact('count', 'data'); } public static function add_cert($uid, $name, $gender, $idcard, $job, $photo, $level = '') { if (self::be(['idcard' => $idcard, 'status' => [0, 1]])) { return self::setErrorInfo('已有身份证号码相同的记录存在'); } $add_time = time(); return self::create(compact('uid', 'name', 'gender', 'idcard', 'job', 'photo', 'level', 'add_time')); } public static function search($name) { return self::where('name|iscard|code', 'like', "%$name%")->where('status', 1)->find(); } public static function check_cert($id, $status, $level) { $info = self::get($id); if ($info['status'] != 0) return self::setErrorInfo('记录已处理'); if ($status == 1) { $date = date('Y-m-d'); $code = self::createNewCode($id); $res = self::where('id', $id)->update(['status' => 1, 'level' => $level, 'date' => $date, 'code' => $code]); } else { $res = self::where('id', $id)->update(['status' => 0]); } return $res; } public static function createNewCode($id) { do { $str = date('ymd') . strtoupper(substr(md5($id . rand(100000, 999999)), 3, 8)); } while (self::be(['code' => $str])); return $str; } }