| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- <?php
- /**
- * @Created by PhpStorm
- * @author: Kirin
- * @day: 2023/8/23
- * @time: 17:04
- */
- namespace app\models\user;
- use crmeb\basic\BaseModel;
- use crmeb\services\FormBuilder;
- use crmeb\traits\ModelTrait;
- use think\facade\Route;
- class Cert extends BaseModel
- {
- /**
- * 数据表主键
- * @var string
- */
- protected $pk = 'id';
- /**
- * 模型名称
- * @var string
- */
- protected $name = 'cert';
- public static $level = [
- 0 => '无',
- 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;
- }
- }
|