Seller.php 11.3 KB
<?php


namespace app\api\controller;


use app\common\controller\Api;
use app\common\model\Car;
use app\common\model\Hotel;
use app\common\model\House;
use app\common\model\SellerAvatar;
use app\common\model\UserTalk;
use app\common\model\UserToken;


/**
 * 商家接口
 */
class Seller extends Api
{
    protected $noNeedLogin = ['*'];
    protected $noNeedRight = '*';

    public function _initialize()
    {
        parent::_initialize();
    }

    /**
     * 商家接口
     *
     */
    public function index()
    {
        $this->success('');
    }


    /**
     * @ApiTitle    (商家接口-店铺展示)
     * @ApiSummary  (小程序登录)
     * @ApiMethod   (POST)
     * @ApiRoute    (/api/seller/seller_list)
     * @ApiParams   (name="seller_status", type="tinyint", required=true, description="店铺类型:[null=附近,1=餐饮,2=酒店,3=加油站,4=重卡汽修,5=汽修,6=超市]")
     * @ApiParams   (name="city", type="string", required=true, description="用户位置[省/市/区]")
     * @ApiReturnParams   (name="code", type="integer", required=true, sample="0")
     * @ApiReturnParams   (name="msg", type="string", required=true, sample="返回成功")
     * @ApiReturn   ({
    'code':'1',
    'msg':'返回成功',
    "data":{
    "seller_name":"商家名称",
    "seller_avatar":"店铺头图",
    "address":"店铺详细地址",
    "id":"商家ID"
    }
    })
     */
    public function seller_list()
    {
        $param = $this->request->param();
        $model = new \app\common\model\Seller();
        if (empty($param['seller_status'])) {
            $seller_arr = $model->where('address', 'like', '%' . $param['city'] . '%')->select();
            foreach ($seller_arr as $k => $v) {
                $return[$k]['seller_name'] = $v['seller_name'];
                $return[$k]['seller_avatar'] = $v['seller_avatar'];
                $return[$k]['address'] = $v['address'];
                $return[$k]['id'] = $v['id'];
            }
            $this->success('成功', $return);
        }
        $seller_arr = $model->where('address', 'like', '%' . $param['city'] . '%')->where('seller_status', $param['seller_status'])->select();
        if ($seller_arr) {
            foreach ($seller_arr as $k => $v) {
                $return[$k]['seller_name'] = $v['seller_name'];
                $return[$k]['seller_avatar'] = $v['seller_avatar'];
                $return[$k]['address'] = $v['address'];
                $return[$k]['id'] = $v['id'];
            }
            $this->success('成功', $return);
        } else {
            $this->success('该分类下暂无商家!', '', '9');
        }
    }


    /**
     * @ApiTitle    (商家接口-店铺详情-轮播图)
     * @ApiSummary  (店铺详情-轮播图)
     * @ApiMethod   (POST)
     * @ApiRoute    (/api/seller/seller_con_banner)
     * @ApiParams   (name="id", type="int", required=true, description="店铺ID")
     * @ApiReturnParams   (name="code", type="integer", required=true, sample="0")
     * @ApiReturnParams   (name="msg", type="string", required=true, sample="返回成功")
     * @ApiReturn   ({
    'code':'1',
    'msg':'返回成功',
    "data":{
    "avatar":"轮播图"
    }
    })
     */
    public function seller_con_banner()
    {
        $model = new SellerAvatar();
        $id = input('id');
        if (!$id) {
            $this->error('参数不能为空!', '9');
        }
        $avatar_arr = $model::all(['seller_id' => $id]);
        if ($avatar_arr) {
            foreach ($avatar_arr as $k => $v) {
                $return[$k]['avatar'] = $v['avatar'];
            }
            $this->success('成功', $return);
        }
        $this->success('该商户没有轮播图!');
    }


    /**
     * @ApiTitle    (商家接口-店铺详情)
     * @ApiSummary  (店铺详情)
     * @ApiMethod   (POST)
     * @ApiRoute    (/api/seller/seller_con)
     * @ApiParams   (name="id", type="int", required=true, description="店铺ID")
     * @ApiReturnParams   (name="code", type="integer", required=true, sample="0")
     * @ApiReturnParams   (name="msg", type="string", required=true, sample="返回成功")
     * @ApiReturn   ({
    'code':'1',
    'msg':'返回成功',
    "data":{
    "seller_name":"商家名称",
    "seller_con":"店铺详情",
    "address":"店铺详细地址",
    "mobile":"商家电话"
    }
    })
     */
    public function seller_con()
    {
        $model = new \app\common\model\Seller();
        $id = input('id');
        if (!$id) {
            $this->error('参数不能为空!', '9');
        }
        $arr = $model::get(['id' => $id]);
        $return = [
            'seller_name' => $arr['seller_name'],
            'seller_con' => $arr['seller_con'],
            'address' => $arr['address'],
            'mobile' => $arr['mobile'],
        ];
        $this->success('成功', $return);
    }


    /**
     * @ApiTitle    (商家接口-评价列表)
     * @ApiSummary  (评价列表)
     * @ApiMethod   (POST)
     * @ApiRoute    (/api/seller/user_talk_list)
     * @ApiParams   (name="id", type="int", required=true, description="店铺ID")
     * @ApiReturnParams   (name="code", type="integer", required=true, sample="0")
     * @ApiReturnParams   (name="msg", type="string", required=true, sample="返回成功")
     * @ApiReturn   ({
    'code':'1',
    'msg':'返回成功',
    "data":[
    "talk_num":"评价数量",
    {
    "user_name":"姓名",
    "user_avatar":"用户头像",
    "talk_con":"评价内容",
    "star":"星级",
    "createtime":"评价时间"
    }]
    })
     */
    public function user_talk_list()
    {
        $model = new UserTalk();
        $id = input('id');
        if (!$id) {
            $this->error('参数不能为空!', '9');
        }
        $arr = $model::all(['seller_id' => $id]);
        $num = count($arr);
        $user_model = new \app\common\model\User();
        foreach ($arr as $k => $v) {
            $return[$k]['star'] = $v['star'];
            $return[$k]['talk_con'] = $v['talk_con'];
            $return[$k]['createtime'] = date("Y-m-d", $v['createtime']);
            $user_id[$k]['user_id'] = $v['user_id'];
        }
        foreach ($user_id as $k => $v) {
            $user_id_arr[$k] = $user_model::get(['user_id' => $v['user_id']]);
        }
        foreach ($user_id_arr as $k => $v) {
            $return[$k]['user_name'] = $v['name'];
            $return[$k]['avatar'] = $v['avatar'];
        }
        $return[]['num'] = $num;
        $this->success('成功', $return);
    }


    /**
     * @ApiTitle    (商家接口-房型查询)
     * @ApiSummary  (房型查询)
     * @ApiMethod   (POST)
     * @ApiRoute    (/api/seller/house)
     * @ApiHeaders  (name=token, type=string, required=true, description="请求的Token")
     * @ApiReturnParams   (name="code", type="integer", required=true, sample="0")
     * @ApiReturnParams   (name="msg", type="string", required=true, sample="返回成功")
     * @ApiReturn   ({
    'code':'1',
    'msg':'返回成功',
    "data":[
    {
    "house_name":"房型名"
    }]
    })
     */
    public function house()
    {
        $token = $this->request->header();
        if (empty($token['token'])) {
            $this->error('请登陆后再操作!', '', '9');
        }
        $token_model = new UserToken();
        $user_id = $token_model::get(['token' => $token['token']]);
        if (!$user_id) {
            $this->error('Token不存在', '', '8');
        }
        $model = new House();
        $arr = $model::all();
        foreach ($arr as $k => $v) {
            $return[$k]['house_name'] = $v['house_name'];
        }
        $this->success('成功', $return);
    }


    /**
     * @ApiTitle    (商家接口-预约酒店)
     * @ApiSummary  (预约酒店)
     * @ApiMethod   (POST)
     * @ApiRoute    (/api/seller/hotel_yy)
     * @ApiHeaders  (name=token, type=string, required=true, description="请求的Token")
     * @ApiParams   (name="id", type="int", required=true, description="房型ID")
     * @ApiParams   (name="seller_id", type="int", required=true, description="店铺ID")
     * @ApiParams   (name="time", type="string", required=true, description="预约时间")
     * @ApiParams   (name="num", type="int", required=true, description="人数")
     * @ApiReturnParams   (name="code", type="integer", required=true, sample="0")
     * @ApiReturnParams   (name="msg", type="string", required=true, sample="返回成功")
     * @ApiReturn   ({
    'code':'1',
    'msg':'返回成功'
    })
     */
    public function hotel_yy()
    {
        $token = $this->request->header();
        if (empty($token['token'])) {
            $this->error('请登陆后再操作!', '', '9');
        }
        $token_model = new UserToken();
        $user_id = $token_model::get(['token' => $token['token']]);
        if (!$user_id) {
            $this->error('Token不存在', '', '8');
        }
        $param = $this->request->param();
        $model = new Hotel();
        $time = strtotime($param['time']);
        $res = $model->save(['time' => $time, 'people_num' => $param['num'], 'house_id' => $param['id'], 'user_id' => $user_id['id'], 'seller_id' => $param['seller_id']]);
        if ($res) {
            $this->success('成功');
        } else {
            $this->error('添加数据失败!');
        }
    }


    /**
     * @ApiTitle    (商家接口-预约大小汽修)
     * @ApiSummary  (预约大小汽修)
     * @ApiMethod   (POST)
     * @ApiRoute    (/api/seller/car_yy)
     * @ApiHeaders  (name=token, type=string, required=true, description="请求的Token")
     * @ApiParams   (name="seller_id", type="int", required=true, description="店铺ID")
     * @ApiParams   (name="time", type="string", required=true, description="预约时间")
     * @ApiParams   (name="car", type="string", required=true, description="车型")
     * @ApiParams   (name="car_num", type="string", required=true, description="车牌号")
     * @ApiParams   (name="only_num", type="string", required=true, description="17位编码")
     * @ApiReturnParams   (name="code", type="integer", required=true, sample="0")
     * @ApiReturnParams   (name="msg", type="string", required=true, sample="返回成功")
     * @ApiReturn   ({
    'code':'1',
    'msg':'返回成功'
    })
     */
    public function car_yy()
    {
        $token = $this->request->header();
        if (empty($token['token'])) {
            $this->error('请登陆后再操作!', '', '9');
        }
        $token_model = new UserToken();
        $user_id = $token_model::   get(['token' => $token['token']]);
        if (!$user_id) {
            $this->error('Token不存在', '', '8');
        }
        $param = $this->request->param();
        $model = new Car();
        $time = strtotime($param['time']);
        $res = $model->save(['time' => $time, 'car' => $param['car'], 'car_num' => $param['car_num'], 'only_num' => $param['only_num'], 'user_id' => $user_id['id'], 'seller_id' => $param['seller_id']]);
        if ($res) {
            $this->success('成功');
        } else {
            $this->error('添加数据失败!');
        }
    }
}