|
@@ -0,0 +1,152 @@
|
|
|
+<?php namespace App\Models;
|
|
|
+
|
|
|
+use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
|
+use Illuminate\Database\Eloquent\Model;
|
|
|
+use App\Models\Traits\School\Area as SchoolArea;
|
|
|
+use App\Models\Traits\School\SchoolClass as SchoolClass;
|
|
|
+use App\Models\Traits\School\SchoolGrade as SchoolGrade;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 商业公司模型
|
|
|
+ *
|
|
|
+ */
|
|
|
+class School extends Model
|
|
|
+{
|
|
|
+ use HasFactory,SchoolArea,SchoolClass,SchoolGrade;
|
|
|
+
|
|
|
+ // 与模型关联的表名
|
|
|
+ protected $table = 'school';
|
|
|
+ // 是否主动维护时间戳
|
|
|
+ public $timestamps = false;
|
|
|
+ // 定义时间戳字段名
|
|
|
+ // const CREATED_AT = 'insert_time';
|
|
|
+ // const UPDATED_AT = 'update_time';
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 添加数据
|
|
|
+ *
|
|
|
+ */
|
|
|
+ public function add($data)
|
|
|
+ {
|
|
|
+ // 时间
|
|
|
+ $data['insert_time'] = time();
|
|
|
+ $data['update_time'] = time();
|
|
|
+ // 写入数据表
|
|
|
+ $id = $this->query()->insertGetId($data);
|
|
|
+ // 如果操作失败
|
|
|
+ if( !$id ) return $id;
|
|
|
+ // 更新缓存
|
|
|
+ $this->getList(true);
|
|
|
+ // 返回结果
|
|
|
+ return $id;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 添加数据
|
|
|
+ *
|
|
|
+ */
|
|
|
+ public function edit($id,$data)
|
|
|
+ {
|
|
|
+ // 更新时间
|
|
|
+ $data['update_time'] = time();
|
|
|
+ // 写入数据表
|
|
|
+ $result = $this->query()->where(['id'=>$id])->update($data);
|
|
|
+ // 如果操作失败
|
|
|
+ if( !$result ) return $result;
|
|
|
+ // 更新缓存
|
|
|
+ $this->getList(true);
|
|
|
+ // 返回结果
|
|
|
+ return $result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取列表
|
|
|
+ * @param Bool $force 是否强制更新
|
|
|
+ *
|
|
|
+ */
|
|
|
+ public function getList($force = false)
|
|
|
+ {
|
|
|
+ // 结果数据
|
|
|
+ $list = $force ? [] : cache('admin:school:list');
|
|
|
+ // 不存在数据
|
|
|
+ if ( !$list ) {
|
|
|
+ // 从数据库获取数据
|
|
|
+ $data = $this->query()->where(['status'=>0])->get();
|
|
|
+ // 是否有数据
|
|
|
+ $data = $data ? $data->toArray() : [];
|
|
|
+ // 循环处理数据
|
|
|
+ $list = [];
|
|
|
+ // 进行更新
|
|
|
+ foreach ($data as $value) {
|
|
|
+ // 重组数据
|
|
|
+ $list[$value['id']] = $value;
|
|
|
+ }
|
|
|
+ // 存起来
|
|
|
+ cache(['admin:school:list'=>$list]);
|
|
|
+ }
|
|
|
+ // 返回结果
|
|
|
+ return $list;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取配置平台对应的应用数据
|
|
|
+ *
|
|
|
+ * @param Array 用户ID
|
|
|
+ * @param String 指定字段
|
|
|
+ *
|
|
|
+ */
|
|
|
+ public function getOne($id,$field='')
|
|
|
+ {
|
|
|
+ // 获取列表数据
|
|
|
+ $list = $this->getList();
|
|
|
+ // 获取数据
|
|
|
+ $one = isset($list[$id]) ? $list[$id] : [];
|
|
|
+ // 返回值
|
|
|
+ return empty($field) ? $one : ( isset($one[$field]) ? $one[$field] : null);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取配置平台对应的应用数据
|
|
|
+ *
|
|
|
+ * @param Array 用户ID
|
|
|
+ * @param String 指定字段
|
|
|
+ *
|
|
|
+ */
|
|
|
+ public function getIdByName($name)
|
|
|
+ {
|
|
|
+ // 获取列表数据
|
|
|
+ $list = $this->getList();
|
|
|
+ // 获取数据
|
|
|
+ foreach ($list as $value) {
|
|
|
+ // 如果有名称
|
|
|
+ if( $name == $value['name'] ) return $value['id'];
|
|
|
+ }
|
|
|
+ // 写入数据表
|
|
|
+ $id = $this->add(['name'=>$name]);
|
|
|
+ // 返回结果
|
|
|
+ return $id;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 编码转id
|
|
|
+ *
|
|
|
+ * @param string $code 编码
|
|
|
+ *
|
|
|
+ */
|
|
|
+ public function codeToId($code){
|
|
|
+ return intval(str_ireplace('klsj','',$code));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * id转编码
|
|
|
+ *
|
|
|
+ * @param int $id 编码
|
|
|
+ *
|
|
|
+ */
|
|
|
+ public function idToCode($id){
|
|
|
+ return 'klsj'. str_pad($id, 9, '0', STR_PAD_LEFT);;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|