<?php

namespace app\model\api;

use think\model;
use think\db;

class GroupModel extends Model
{
    protected $table = 'table_education_gr';
    protected $pk = 'gr_id';

    /**
     * 获取分组列表
     *
     * @param string $title
     * @param int $page
     * @param int $pagesize
     * @return mixed
     */
    public function getList($title = '', $page = 1, $pagesize = 10)
    {
        $query = $this->order('gr_id ASC');

        if (!empty($title)) {
            $query->whereLike('title', '%' . $title . '%');
        }

        $list = $query->paginate([
            'page' => $page,
            'list_rows' => $pagesize,
        ]);

        return $list;
    }

    /**
     * 添加分组信息
     * @param array $data
     * @return mixed
     */
    public function addGroups($data)
    {
        return $this->insertGetId($data);
    }


    /**
     * 获取分组信息
     *
     * @param int $id 分组ID
     * @return array|null
     */
    public function getGroup($id)
    {
        $group = $this->find($id);
        if ($group) {
            return $group->toArray();
        }
        return null;
    }

    /**
     * 更新分组信息
     *
     * @param int $id 分组ID
     * @param array $data 数据
     * @return bool
     */
    public function updateGroup($id, $data)
    {
        $result = $this->where('id', $id)->update($data);
        if ($result !== false) {
            return true;
        }
        return false;
    }

    /**
     * 更新状态
     *
     * @param int $gr_id 课程ID
     * @param array $data 数据
     * @return bool
     */
    public function updateAuditStatus($gr_id, $data)
    {
        try {
            $this->where('gr_id', $gr_id)->update($data);
            return true;
        } catch (\Exception $e) {
            return false;
        }
    }



    /**
     * 更新编辑分组信息
     * @param int $id 分组ID
     * @param array $data 更新数据
     * @return bool 更新成功返回 true，否则返回 false
     */
    public function updateGroups($id, $data)
    {
        try {
            $this->where('gr_id', $id)->save($data);
            return true;
        } catch (\Exception $e) {
            return false;
        }
    }


    /**
     * 删除分组信息
     * @param int $grId
     * @return mixed
     */
    public function deleteGroups($grId)
    {
        return $this->where('gr_id', $grId)->delete();
    }

}


