| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 | <?phpnamespace Admin\Controller;/** * 样式管理 * @author   brent * @version  0.0.1 */class PrizeLogV2Controller extends CommonController {    protected $table = ''; //表名    /**     * [_initialize 前置操作-继承公共前置方法]     * @author   Devil     * @blog     http://gong.gg/     * @version  0.0.1     * @datetime 2016-12-03T12:39:08+0800     */    public function _initialize() {        // 调用父类前置方法        parent::_initialize();        // 登录校验        $this->Is_Login();        // 权限校验        $this->Is_Power();        //要执行的表        $this->table = M('prize_log_v2');    }    /**     * [Index 文章列表]     * @author   Devil     * @blog     http://gong.gg/     * @version  0.0.1     * @datetime 2016-12-06T21:31:53+0800     */    public function Index() {        //关键字        $keyword = I('keyword');        if($keyword){            $where['pl.uid'] = ['like',"%$keyword%"];        }        //中奖状态        $prize_status = I('prize_status',1);        if($prize_status>-1){            $where['pl.prize_status'] = ['egt',1];        }        if(I('model')=='exportExcel'){            $listRows = I('listRows',100000,'intval');        }else{            $listRows = I('listRows',100,'intval');        }        if($p = I('p',1,'intval')){            $offset = ($p-1)*$listRows;        }        $acts = M('activity_v2')->field('id,activity_name')->select();        $this->assign('acts', $acts);        //活动id        $act_id = trim(I('act_id'));          if($act_id){            $where['pl.act_id'] = $act_id;        }else{            $this->display('Index');            die;        }        $List = M('prize_log_v2')                ->where($where)                ->alias('pl')                ->join("__ACTIVITY_USER_V2__ as au ON au.uid = pl.uid AND pl.act_id = au.act_id","left")                ->field('pl.id,pl.prize_id, pl.prize_status,pl.uid, pl.created_at, pl.is_vip, au.user_phone,au.receiver,au.address,pl.act_id')                ->order('pl.created_at Desc')                ->limit($offset,$listRows)                ->select();        // var_dump(M()->getlastSql());die;        $activitys = M('activity_v2')->field('id,activity_name,prize_list')->where(['id'=>$act_id])->select();        foreach($activitys as $row){            foreach (json_decode($row['prize_list'], TRUE) as $key => $value) {                $prize_list[$value['prize_id']] = ['prize_id'=>$value['prize_id'],'prize_name'=>$value['prize_name']];            }            $activity_info[$row['id']] = ['activity_name'=>$row['activity_name'],'prize_list'=>$prize_list];        }//        var_dump($activity_info);die;        foreach ($List as $key=>$row) {            $List[$key]['id'] = $key + 1;            $List[$key]['activity_name'] = $activity_info[$row['act_id']]['activity_name'];            $List[$key]['prize_name'] = $activity_info[$row['act_id']]['prize_list'][$row['prize_id']]['prize_name'];        }        if(I('model')=='exportExcel'){            $this->exportPrizeLog($List);            die;        }//        var_dump($List);die;        $count = $this->table->alias('pl')->where($where)->count();        $Page = new \Think\Page($count, $listRows);        $Page->parameter .= "&p=[PAGE]";        $Page->parameter .= "&prize_status=".$prize_status;        $Page->parameter .= "&act_id=".$act_id;        $Page->parameter .= "&keyword=".$keyword;        $Page = $this->page_config($Page);        $show = $Page->show();        $this->assign('page', $show);//         echo $this->table->getlastSQL();die;        $this->assign('List', $List);        //获取所有活动        $this->assign('keyword', $keyword);        $this->assign('prize_status', $prize_status);        $this->assign('act_id', $act_id);        $this->display('Index');    }        public function exportPrizeLog($data)    {           $title = array(            'id'                                 =>  array('col' => 'A', 'name' => '序号'),            'uid'                                =>  array('col' => 'B', 'name' => '用户ID'),            'prize_name'                         =>  array('col' => 'C', 'name' => '奖品名称'),            'user_phone'                         =>  array('col' => 'D', 'name' => '联系方式'),            'activity_name'                      =>  array('col' => 'E', 'name' => '活动名称'),            'created_at'                         =>  array('col' => 'F', 'name' => '中奖时间'),        );            // Excel驱动导出数据        $excel = new \My\Excel(array('filename' => '芒果移动活动中奖记录', 'title' => $title, 'data' => $data, 'msg' => 'aaa'));        $excel->Export();              }    /**     * [SaveInfo 文章添加/编辑页面]     * @author   Devil     * @blog     http://gong.gg/     * @version  0.0.1     * @datetime 2016-12-14T21:37:02+0800     */    public function SaveInfo() {        // 文章信息        if (empty($_REQUEST['id'])) {            $data = array();        } else {            $data = $this->table->find(I('id'));            if (empty($data)) {                $data = array('id' => I('id'));            }        }        $this->assign('data', $data);        $this->display('SaveInfo');    }    /**     * [Save 文章添加/编辑]     * @author   Devil     * @blog     http://gong.gg/     * @version  0.0.1     * @datetime 2016-12-14T21:37:02+0800     */    public function Save() {        // 是否ajax请求        if (!IS_AjAX) {            $this->error(L('common_unauthorized_access'));        }        // 添加        if (empty($_POST['id'])) {            $this->Add();            // 编辑        } else {            $this->Edit();        }    }    /**     * [Add 文章添加]     * @author   Devil     * @blog     http://gong.gg/     * @version  0.0.1     * @datetime 2016-12-18T16:20:59+0800     */    private function Add() {        $m = $this->table;        $data['created_at'] = date('Y-m-d H:i:s', time());        $data['prize_name'] = I('prize_name');        $data['prize_img'] = I('prize_img');        $data['prize_num'] = I('prize_num');        // 数据添加        if ($m->add($data)) {            echo 100;        } else {            echo -100;        }    }    /**     * [Edit 文章编辑]     * @author   Devil     * @blog     http://gong.gg/     * @version  0.0.1     * @datetime 2016-12-17T22:13:40+0800     */    private function Edit() {        $data = array();        $m=$this->table;        // 额外数据处理        $data['created_at'] = date('Y-m-d H:i:s', time());        $data['created_at'] = date('Y-m-d H:i:s', time());        $data['prize_name'] = I('prize_name');        $data['prize_img'] = I('prize_img');        $data['prize_num'] = I('prize_num');        // 数据更新        if ($m->where(array('id' => I('id')))->save($data)) {            echo 100;        } else {             echo -100;        }    }    /**     * [Delete 删除]     * @author   Devil     * @blog     http://gong.gg/     * @version  0.0.1     * @datetime 2016-12-15T11:03:30+0800     */    public function Delete() {        // 是否ajax请求        if (!IS_AJAX) {            $this->error(L('common_unauthorized_access'));        }        // 删除数据        if (!empty($_POST['id'])) {            // 更新            $prize_info = $this->table->find(I('id'));            $where['act_id'] = $prize_info['act_id'];            $where['uid'] = $prize_info['uid'];            if ($this->table->delete(I('id'))) {                //清空联系记录                M('activity_user_v2')->where([$where])->delete();                $this->ajaxReturn(L('common_operation_delete_success'));            } else {                $this->ajaxReturn(L('common_operation_delete_error'), -100);            }        } else {            $this->ajaxReturn(L('common_param_error'), -1);        }    }}
 |