CouponController.php 5.9 KB
<?php
// +----------------------------------------------------------------------
// | 答案管理模块
// +----------------------------------------------------------------------
// | Author: 魏强
// +----------------------------------------------------------------------
namespace app\admin\controller;

use cmf\controller\AdminBaseController;
use think\Db;
use app\admin\model\CouponModel;

/**
 * Class CouponController
 * @package app\admin\controller
 * @adminMenuRoot(
 *     'name'   => '优惠券管理',
 *     'action' => 'default',
 *     'parent' => '',
 *     'display'=> true,
 *     'order'  => 100,
 *     'icon'   => 'cc-paypal',
 *     'remark' => '评分结果管理'
 * )
 */
class CouponController extends AdminBaseController
{

    /**
     * 优惠券列表
     * @adminMenu(
     *     'name'   => '优惠券列表',
     *     'parent' => 'default',
     *     'display'=> true,
     *     'hasView'=> true,
     *     'order'  => 1,
     *     'icon'   => '',
     *     'remark' => '优惠券列表',
     *     'param'  => ''
     * )
     */
    public function index()
    {
        $Coupon = new CouponModel();
        $list = $Coupon->where('delete_time', 0)->order('type','DESC')->select();
        $this->assign('list', $list);
        return $this->fetch();
    }

    /**
     * 添加优惠券
     * @adminMenu(
     *     'name'   => '添加优惠券',
     *     'parent' => 'index',
     *     'display'=> false,
     *     'hasView'=> true,
     *     'order'  => 2,
     *     'icon'   => '',
     *     'remark' => '添加优惠券',
     *     'param'  => ''
     * )
     */
    public function add(){
        return $this->fetch();
    }

    /**
     * 添加优惠券提交
     * @adminMenu(
     *     'name'   => '添加优惠券提交',
     *     'parent' => 'add',
     *     'display'=> false,
     *     'hasView'=> false,
     *     'order'  => 2,
     *     'icon'   => '',
     *     'remark' => '添加优惠券提交',
     *     'param'  => ''
     * )
     */
    public function addPost(){
        $post = $this->request->param();
        $post['create_time'] = time();
        $Coupon = new CouponModel();
        if($post['type'] == 1){
            $Coupon->isUpdate(true)->save(['type'=>0],['type'=>1]);
        }
        if($Coupon->allowField(true)->isUpdate(false)->save($post) == true){
            $this->success('添加成功',url('Coupon/index'));
        } else {
            $this->error('添加失败');
        }
    }

    /**
     * 编辑优惠券
     * @adminMenu(
     *     'name'   => '编辑优惠券',
     *     'parent' => 'index',
     *     'display'=> false,
     *     'hasView'=> true,
     *     'order'  => 2,
     *     'icon'   => '',
     *     'remark' => '编辑优惠券',
     *     'param'  => ''
     * )
     */
    public function edit(){
        $id = $this->request->param('id');
        $Coupon = new CouponModel();
        $edit = $Coupon->where('id',$id)->find();
        $this->assign('edit',$edit);
        return $this->fetch();
    }

    /**
     * 编辑优惠券提交
     * @adminMenu(
     *     'name'   => '编辑优惠券提交',
     *     'parent' => 'edit',
     *     'display'=> false,
     *     'hasView'=> false,
     *     'order'  => 2,
     *     'icon'   => '',
     *     'remark' => '编辑优惠券提交',
     *     'param'  => ''
     * )
     */
    public function editPost(){
        $Coupon = new CouponModel();
        $post = $this->request->param();
        if($post['type'] == 1){
            $Coupon->isUpdate(true)->save(['type'=>0],['type'=>1]);
        }
        if($Coupon->isUpdate(true)->save($post,['id'=>$post['id']]) == true){
            $this->success('编辑成功');
        } else {
            $this->error('编辑失败');
        }
    }

    /**
     * 删除优惠券
     * @adminMenu(
     *     'name'   => '删除优惠券',
     *     'parent' => 'index',
     *     'display'=> false,
     *     'hasView'=> false,
     *     'order'  => 2,
     *     'icon'   => '',
     *     'remark' => '删除优惠券',
     *     'param'  => ''
     * )
     */
    public function delete(){
        $id = $this->request->param('id');
        if(Db::name('coupon')->where('id',$id)->update(['delete_time'=>time()]) == true){
            $this->success('删除成功');
        } else {
            $this->error('删除失败');
        }
    }

    /**
     * 用户优惠券列表
     * @adminMenu(
     *     'name'   => '用户优惠券列表',
     *     'parent' => 'default',
     *     'display'=> true,
     *     'hasView'=> true,
     *     'order'  => 1,
     *     'icon'   => '',
     *     'remark' => '用户优惠券列表',
     *     'param'  => ''
     * )
     */
    public function user()
    {
        $rquest = $this->request->param();
        $where = [];
        if(!empty($rquest['nickname'])){
            $where['u.user_nickname'] = ['like',"%$rquest[nickname]%"];
        }
        if(!empty($rquest['mobile'])){
            $where['u.mobile'] = ['like',"%$rquest[mobile]%"];
        }
        $Coupon = new CouponModel();
        $list = $Coupon->CouponUser($where,$rquest);
        $this->assign('list', $list);
        $this->assign('page',$list->render());
        return $this->fetch();
    }

    /**
     * 用户优惠券状态变更
     * @adminMenu(
     *     'name'   => '用户优惠券状态变更',
     *     'parent' => 'user',
     *     'display'=> false,
     *     'hasView'=> false,
     *     'order'  => 2,
     *     'icon'   => '',
     *     'remark' => '用户优惠券状态变更',
     *     'param'  => ''
     * )
     */
    public function userPost(){
        $id = $this->request->param('id');
        $type = $this->request->param('type');
        if(Db::name('user_coupon')->where('id',$id)->update(['type'=>$type]) == true){
            $this->success('状态变更成功');
        } else {
            $this->error('状态变更失败');
        }
    }


}