DiverseYouthNightSchool/application/api/controller/Index.php

199 lines
6.7 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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);
}
}