199 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			199 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?php
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								namespace app\api\controller;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								use addons\epay\library\Service;
							 | 
						|||
| 
								 | 
							
								use app\common\controller\Api;
							 | 
						|||
| 
								 | 
							
								use app\common\library\Sqlscript;
							 | 
						|||
| 
								 | 
							
								use app\common\library\Virtual;
							 | 
						|||
| 
								 | 
							
								use app\common\model\school\Area;
							 | 
						|||
| 
								 | 
							
								use app\common\model\school\classes\order\ServiceOrder;
							 | 
						|||
| 
								 | 
							
								use app\common\model\style\HomeImages;
							 | 
						|||
| 
								 | 
							
								use think\Db;
							 | 
						|||
| 
								 | 
							
								use think\exception\PDOException;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								/**
							 | 
						|||
| 
								 | 
							
								 * 首页接口
							 | 
						|||
| 
								 | 
							
								 */
							 | 
						|||
| 
								 | 
							
								class Index extends Api
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    protected $noNeedLogin = ['*'];
							 | 
						|||
| 
								 | 
							
								    protected $noNeedRight = ['*'];
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 执行sql脚本
							 | 
						|||
| 
								 | 
							
								     * @ApiMethod(GET)
							 | 
						|||
| 
								 | 
							
								     * @ApiParams(name = "page", type = "int",required=false,description = "页数")
							 | 
						|||
| 
								 | 
							
								     * @ApiParams(name = "limit", type = "int",required=false,description = "每页条数")
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public function index()
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        $limit = $this->request->param('limit/d', 1000);
							 | 
						|||
| 
								 | 
							
								        $page = $this->request->param('page/d', 1);
							 | 
						|||
| 
								 | 
							
								        Db::startTrans();
							 | 
						|||
| 
								 | 
							
								        try {
							 | 
						|||
| 
								 | 
							
								//          $da = ServiceOrder::getCost("dgadasdasdsds12343","2024121214396382520","aaaaa",$param=[],true);
							 | 
						|||
| 
								 | 
							
								//          var_dump($da);
							 | 
						|||
| 
								 | 
							
								//           Sqlscript::deleteClasses(1,1000);
							 | 
						|||
| 
								 | 
							
								           Sqlscript::importClasses($page,$limit);
							 | 
						|||
| 
								 | 
							
								           Sqlscript::importUser($page,$limit);
							 | 
						|||
| 
								 | 
							
								            Db::commit();
							 | 
						|||
| 
								 | 
							
								        } catch (PDOException|\Exception $e) {
							 | 
						|||
| 
								 | 
							
								            Db::rollback();
							 | 
						|||
| 
								 | 
							
								            $this->error($e->getMessage().$e->getFile().$e->getLine());
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        $this->success('请求成功');
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 各种协议文章
							 | 
						|||
| 
								 | 
							
								     * @ApiSummary(about_us 关于夜校   entry_agreement 入驻协议  privacy 隐私协议 user_protocol 用户协议)
							 | 
						|||
| 
								 | 
							
								     * @ApiMethod (GET)
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public function agreement()
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            $data = [
							 | 
						|||
| 
								 | 
							
								                'about_us' => config("site.about_us"),
							 | 
						|||
| 
								 | 
							
								                'entry_agreement' => config("site.entry_agreement"),
							 | 
						|||
| 
								 | 
							
								                "privacy"=> config("site.privacy"),
							 | 
						|||
| 
								 | 
							
								                "user_protocol"=> config("site.user_protocol"),
							 | 
						|||
| 
								 | 
							
								                'entry_agreement_file' => config("site.entry_agreement_file"),
							 | 
						|||
| 
								 | 
							
								                "privacy_file"=> config("site.privacy_file"),
							 | 
						|||
| 
								 | 
							
								                "user_protocol_file"=> config("site.user_protocol_file"),
							 | 
						|||
| 
								 | 
							
								            ];
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            $this->success(__('查询成功'), $data);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * @ApiTitle(init接口,小程序初始化参数接口)
							 | 
						|||
| 
								 | 
							
								     * @ApiSummary(小程序初始化参数接口)
							 | 
						|||
| 
								 | 
							
								     * @ApiRoute(/api/index/init)
							 | 
						|||
| 
								 | 
							
								     * @ApiMethod(GET)
							 | 
						|||
| 
								 | 
							
								     * @ApiReturn({
							 | 
						|||
| 
								 | 
							
								    "code" => 1,
							 | 
						|||
| 
								 | 
							
								    "msg" => "获取成功",
							 | 
						|||
| 
								 | 
							
								    "data" => {}
							 | 
						|||
| 
								 | 
							
								     *})
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public function init() {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        $home_data = [];
							 | 
						|||
| 
								 | 
							
								        $home_data['top_image'] = [
							 | 
						|||
| 
								 | 
							
								            'type' => config('site.home_top_type'),
							 | 
						|||
| 
								 | 
							
								            'image' => cdnurl(config('site.home_top_image'), true),
							 | 
						|||
| 
								 | 
							
								            'url' => config('site.home_top_url'),
							 | 
						|||
| 
								 | 
							
								        ];
							 | 
						|||
| 
								 | 
							
								        //首页轮播图
							 | 
						|||
| 
								 | 
							
								        $home_data['top_images'] =  HomeImages::allList(1, 20);
							 | 
						|||
| 
								 | 
							
								        $base_info = [
							 | 
						|||
| 
								 | 
							
								            "site_name"=>config('site.name'),
							 | 
						|||
| 
								 | 
							
								//            "site_logo"=>cdnurl(config('site.logo'), true),
							 | 
						|||
| 
								 | 
							
								            "site_beian"=>config('site.beian'),
							 | 
						|||
| 
								 | 
							
								            "site_version"=>''.config('site.version'),
							 | 
						|||
| 
								 | 
							
								            "site_city"=> Virtual::getNowCity(),
							 | 
						|||
| 
								 | 
							
								            "site_timezone"=>config('site.timezone'),
							 | 
						|||
| 
								 | 
							
								            "wx_miniapp_version"=>config("site.wx_miniapp_version"),
							 | 
						|||
| 
								 | 
							
								        ];
							 | 
						|||
| 
								 | 
							
								        $customer_service = [
							 | 
						|||
| 
								 | 
							
								            "image"=>cdnurl(config('site.customer_service_image'),true),
							 | 
						|||
| 
								 | 
							
								            "mobile"=>config('site.customer_service_mobile'),
							 | 
						|||
| 
								 | 
							
								        ];
							 | 
						|||
| 
								 | 
							
								        $upload_config = config('upload');
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								         $this->success('',["customer_service"=>$customer_service,"upload_config"=>$upload_config,"base_info"=>$base_info,"home_data"=>$home_data]);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /**
							 | 
						|||
| 
								 | 
							
								     * @ApiTitle(省市区数据)
							 | 
						|||
| 
								 | 
							
								     * @ApiSummary(省市区数据)
							 | 
						|||
| 
								 | 
							
								     * @ApiRoute(/api/index/area)
							 | 
						|||
| 
								 | 
							
								     * @ApiMethod(GET)
							 | 
						|||
| 
								 | 
							
								     * @ApiReturn({
							 | 
						|||
| 
								 | 
							
								    "code" => 1,
							 | 
						|||
| 
								 | 
							
								    "msg" => "获取成功",
							 | 
						|||
| 
								 | 
							
								    "data" => {}
							 | 
						|||
| 
								 | 
							
								     *})
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								        public function area()
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        $data['provinceData'] = Area::where('level', 1)->order('id asc')->field('id as value, name as label, pid, level')->select();
							 | 
						|||
| 
								 | 
							
								        foreach ($data['provinceData'] as $k => $p) {
							 | 
						|||
| 
								 | 
							
								            $data['cityData'][$k] = Area::where(['level' => 2, 'pid' => $p->value])->order('id asc')->field('id as value, name as label, pid, level')->select();
							 | 
						|||
| 
								 | 
							
								            foreach ($data['cityData'][$k] as $i => $c) {
							 | 
						|||
| 
								 | 
							
								                $data['areaData'][$k][$i] = Area::where(['level' => 3, 'pid' => $c->value])->order('id asc')->field('id as value, name as label, pid, level')->select();
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        $this->success('省市区', $data);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            /**
							 | 
						|||
| 
								 | 
							
								     * @ApiTitle(省市区数据预加载接口)
							 | 
						|||
| 
								 | 
							
								     * @ApiSummary(省市区数据预加载接口)
							 | 
						|||
| 
								 | 
							
								     * @ApiRoute(/api/index/get_area)
							 | 
						|||
| 
								 | 
							
								     * @ApiMethod(GET)
							 | 
						|||
| 
								 | 
							
								     * @ApiParams(name = "province", type = "string",required=false,description = "省编号")
							 | 
						|||
| 
								 | 
							
								     * @ApiParams(name = "city", type = "string",required=false,description = "市编号")
							 | 
						|||
| 
								 | 
							
								     * @ApiReturn({
							 | 
						|||
| 
								 | 
							
								    "code" => 1,
							 | 
						|||
| 
								 | 
							
								    "msg" => "获取成功",
							 | 
						|||
| 
								 | 
							
								    "data" => {}
							 | 
						|||
| 
								 | 
							
								     *})
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								        public function get_area()
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        $province =  $this->request->get('province/s', ''); //机构店铺id
							 | 
						|||
| 
								 | 
							
								        $city =  $this->request->get('city/s', ''); //机构店铺id
							 | 
						|||
| 
								 | 
							
								        $model = new Area();
							 | 
						|||
| 
								 | 
							
								        if($province && !$city){
							 | 
						|||
| 
								 | 
							
								           $model = $model->where("pid",$province)->where("level",2);
							 | 
						|||
| 
								 | 
							
								        }elseif ($city){
							 | 
						|||
| 
								 | 
							
								           $model = $model->where("pid",$city)->where("level",3);
							 | 
						|||
| 
								 | 
							
								        }else{
							 | 
						|||
| 
								 | 
							
								           $model = $model->where("level",1);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        $data = $model->order('id asc')->field('id as value, name as label, pid, level')->select();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        $this->success('省市区', $data);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * @ApiTitle(微信小程序访问分析)
							 | 
						|||
| 
								 | 
							
								     * @ApiSummary(微信小程序访问分析)
							 | 
						|||
| 
								 | 
							
								     * @ApiMethod(POST)
							 | 
						|||
| 
								 | 
							
								     * @ApiParams   (name="begin_date", type="string", required=true, description="开始日期。格式为 yyyymmdd 如:20170611 开始日期")
							 | 
						|||
| 
								 | 
							
								     * @ApiParams   (name="end_date", type="string", required=true, description="结束日期,格式为 yyyymmdd 如:20170611 结束日期,限定查询1天数据,end_date允许设置的最大值为昨日")
							 | 
						|||
| 
								 | 
							
								     * @ApiReturn({
							 | 
						|||
| 
								 | 
							
								    "code" => 1,
							 | 
						|||
| 
								 | 
							
								    "msg" => "获取成功",
							 | 
						|||
| 
								 | 
							
								    "data" => {}
							 | 
						|||
| 
								 | 
							
								     *})
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public function getWeanalysisAppidDailyVisittrend() {
							 | 
						|||
| 
								 | 
							
								        $begin_date = $this->request->post('begin_date/s',0);
							 | 
						|||
| 
								 | 
							
								        $end_date = $this->request->post('end_date/s',0);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        try {
							 | 
						|||
| 
								 | 
							
								            // 实例对应的接口对象
							 | 
						|||
| 
								 | 
							
								            $weMiniTotal = new \WeMini\Total(Service::wechatConfig());
							 | 
						|||
| 
								 | 
							
								            $res = $weMiniTotal->getWeanalysisAppidDailyVisittrend($begin_date, $end_date);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        } catch (\Exception $e){
							 | 
						|||
| 
								 | 
							
								//            Log::log($e->getMessage());
							 | 
						|||
| 
								 | 
							
								            $this->error($e->getMessage(),['errcode'=>$e->getCode()]);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        $this->success('生成成功', $res);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								}
							 |