BabyController.php 5.2 KB
<?php
/**
 * Created by PhpStorm.
 * User: 29925
 * Date: 2018/9/10
 * Time: 9:41
 */

namespace app\admin\controller;

use app\admin\model\BabyModel;
use cmf\controller\AdminBaseController;

class BabyController extends AdminBaseController
{
    protected $table;
    protected $baby_model;
    public function _initialize()
    {
        $this->table = 'Baby';
        $this->baby_model = new BabyModel();
    }

    /**
     * 宝宝年龄段列表
     * @adminMenu(
     *     'name'   => '宝宝年龄段管理',
     *     'parent' => 'admin/OrderOption/default',
     *     'display'=> true,
     *     'hasView'=> true,
     *     'order'  => 10000,
     *     'icon'   => '',
     *     'remark' => '宝宝年龄段管理',
     *     'param'  => ''
     * )
     */
    public function index() {
        $param = $this->request->param();
        $where = [
            'delete_time'=>0
        ];
        if(isset($param['keyword'])) {
            $where['name|values'] = ['like','%'.$param['keyword'].'%'];
        }
        if(isset($param['sort'])) {
            $where['sort'] = $param['sort'];
        }
        $list = $this->singleData($this->table,$where,2,['create_time'=>'DESC']);
        $list->appends($param);
        $this->assign('list',$list->items());
        $this->assign('page',$list->render());
        $this->assign('keyword',isset($param['keyword']) ? $param['keyword'] : '');
        $this->assign('sort',isset($param['sort']) ? $param['sort'] : '');
        return $this->fetch();
    }

    /**
     * 添加宝宝年龄段
     * @adminMenu(
     *     'name'   => '添加宝宝年龄段',
     *     'parent' => 'index',
     *     'display'=> false,
     *     'hasView'=> false,
     *     'order'  => 1,
     *     'icon'   => '',
     *     'remark' => '添加宝宝年龄段',
     *     'param'  => ''
     * )
     */
    public function add() {
        return $this->fetch();
    }

    /**
     * 添加宝宝年龄段提交
     * @adminMenu(
     *     'name'   => '添加宝宝年龄段提交',
     *     'parent' => 'index',
     *     'display'=> false,
     *     'hasView'=> false,
     *     'order'  => 2,
     *     'icon'   => '',
     *     'remark' => '添加宝宝年龄段提交',
     *     'param'  => ''
     * )
     */
    public function addPost() {
        if($this->request->isPost()) {
            $post = $this->request->param();
            $validate = $this->validate($post, $this->table);
            if ($validate !== true) {
                $this->error($validate);
            }
            $post['content'] = htmlspecialchars(cmf_replace_content_file_url(htmlspecialchars_decode($post['content']), true));
            $result = $this->baby_model->addBaby($post);
            if (!$result) {
                $this->error('添加失败');
            }
            $this->success('添加成功');
        }
    }

    /**
     * 编辑宝宝年龄段
     * @adminMenu(
     *     'name'   => '编辑宝宝年龄段',
     *     'parent' => 'index',
     *     'display'=> false,
     *     'hasView'=> false,
     *     'order'  => 3,
     *     'icon'   => '',
     *     'remark' => '编辑宝宝年龄段',
     *     'param'  => ''
     * )
     */
    public function edit() {
        $id = $this->request->param('id',0,'intval');
        if(!$id) {
            $this->error('参数错误');
        }
        $info = $this->singleData($this->table,['id'=>$id,'delete_time'=>0]);
        $this->assign($info);
        return $this->fetch();
    }

    /**
     * 编辑宝宝年龄段提交
     * @adminMenu(
     *     'name'   => '编辑宝宝年龄段提交',
     *     'parent' => 'index',
     *     'display'=> false,
     *     'hasView'=> false,
     *     'order'  => 4,
     *     'icon'   => '',
     *     'remark' => '编辑宝宝年龄段提交',
     *     'param'  => ''
     * )
     */
    public function editPost() {
        if($this->request->isPost()) {
            $id = $this->request->param('id', 0, 'intval');
            if (!$id) {
                $this->error('参数错误');
            }
            $post = $this->request->param();
            $validate = $this->validate($post, $this->table);
            if ($validate !== true) {
                $this->error($validate);
            }
            $result = $this->baby_model->editBaby($post);
            if (!$result) {
                $this->error('修改失败');
            }
            $this->success('修改成功');
        }
    }

    /**
     * 删除宝宝年龄段
     * @adminMenu(
     *     'name'   => '删除宝宝年龄段',
     *     'parent' => 'index',
     *     'display'=> false,
     *     'hasView'=> false,
     *     'order'  => 5,
     *     'icon'   => '',
     *     'remark' => '删除宝宝年龄段',
     *     'param'  => ''
     * )
     */
    public function delete() {
        $id = $this->request->param('id',0,'intval');
        $ids = $this->request->param('ids/a');
        if(isset($id)) {
            $result = $this->baby_model->where(['id'=>$id])->update(['delete_time'=>time()]);
        }
        if(isset($ids)) {
            $result = $this->baby_model->where(['id'=>['in',$ids]])->update(['delete_time'=>time()]);
        }
        if(!$result) {
            $this->error('删除失败');
        }
        $this->success('删除成功');
    }
}