You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

101 lines
3.1 KiB

<?php
/**
* 其他
*/
namespace App\Http\Controllers\Mobile;
use App\Helpers\ResponseCode;
use App\Models\AppointmentConfig;
use App\Models\AppointmentType;
use App\Models\Banner;
use App\Models\Config;
use App\Repositories\YuanheRepository;
use Illuminate\Support\Facades\Validator;
class OtherController extends CommonController
{
/**
* @OA\Get(
* path="/api/mobile/other/config",
* tags={"小程序-其他"},
* summary="获取配置信息",
* @OA\Parameter(name="appointment_type_id", in="query", @OA\Schema(type="integer"), required=true, description="场地类型"),
* @OA\Response(
* response=200,
* description="操作成功"
* )
* )
*/
public function config()
{
$all = request()->all();
$config = Config::get();
$appointment = AppointmentConfig::where(function ($query) use ($all) {
if (isset($all['appointment_type_id'])) {
$query->where('appointment_type_id', $all['appointment_type_id']);
}
})->where('show_front', 1)->get();
// 场地类型
$appointment_type = AppointmentType::get();
return $this->success(compact('config', 'appointment', 'appointment_type'));
}
/**
* @OA\Get(
* path="/api/mobile/other/banner",
* tags={"小程序-其他"},
* summary="获取banner",
* @OA\Parameter(name="position", in="query", @OA\Schema(type="integer"), required=true, description="位置1首页"),
* @OA\Response(
* response=200,
* description="操作成功"
* )
* )
*/
public function banner()
{
$position = request('position', 1);
$config = Banner::with('image')->where(function ($query) use ($position) {
if (isset($position)) {
$query->where('position', $position);
}
})->orderBy('sort')->get();
return $this->success($config);
}
/**
* @OA\Get(
* path="/api/mobile/other/company",
* tags={"小程序-其他"},
* summary="公司搜索",
* @OA\Parameter(name="company_name", in="query", @OA\Schema(type="integer"), required=true, description="公司名字"),
* @OA\Response(
* response=200,
* description="操作成功"
* )
* )
*/
public function company()
{
$all = \request()->all();
$messages = [
'company_name.required' => '公司名称必填',
];
$validator = Validator::make($all, [
'company_name' => 'required',
], $messages);
if ($validator->fails()) {
return $this->fail([ResponseCode::ERROR_PARAMETER, implode(',', $validator->errors()->all())]);
}
$YuanheRepository = new YuanheRepository();
$result = $YuanheRepository->companyInfo(['keyword' => $all['company_name']]);
if (!$result) {
return $this->fail([ResponseCode::ERROR_PARAMETER, '获取失败']);
}
return $this->success($result);
}
}