完善购买详情接口、新增号源、注意事项 接口

wenjuan
yanzai 1 year ago
parent 6aab8a8ddc
commit 4f86c86977

@ -135,8 +135,34 @@ select combo_id as c_id,count(*) as count from orders where status in(2,4) group
$hospital=DB::table('hospitals')->where(['id'=>1,'status'=>1,'is_del'=>0])->first();
$combo_info=[];//套餐信息
if(isset($combo_id)){
$combo=DB::table('combos')->where(['hospital_id'=>$hospital_id,'combo_id'=>$combo_id,'status'=>1])->first();
// $combo=DB::table('combos')->where(['hospital_id'=>$hospital_id,'combo_id'=>$combo_id,'status'=>1])->first();
$combo=DB::select("select a.*,b.*,c.name as crowd_name from combos as a LEFT JOIN (
select combo_id as c_id,count(*) as sale_count from orders where status in(2,4) group by combo_id
) as b on a.combo_id=b.c_id left join combo_crowd as c on a.crowd_id=c.id where a.combo_id=? and a.status=1 ",[$combo_id]);
if(!$combo) return \Yz::echoError1("套餐不存在");
$combo=$combo[0];
$combo_info['hospital_name']=$hospital->name;
$combo_info['combo_name']=$combo->name;
$combo_info['crowd_name']=$combo->crowd_name;
$combo_info['img']=$combo->cover;
$combo_info['sale_count']=$combo->sale_count;
$tags=json_decode($combo->tags,true);
$combo->tags2=json_decode($combo->tags2,true);
foreach ($tags as$k=> $tag){
$tags[$k]=['text'=>$tag,
'text_color' => '#47ABD8',
'color' => '#EBF5FC'
];
}
$combo->tag=$tags;
$combo->tag[]=[
'text' => $combo->item_count.'个项目',
'text_color' => '#34C292',
'color' => '#E9F8F3',
];
$combo_info['tags']=$combo->tag;
$combo_info['tags2']=$combo->tags2;
$combo_info['price']=$combo->price;
$combo_info['original_price']=$combo->original_price;
$combo_items=json_decode($combo->items,true);

@ -0,0 +1,16 @@
<?php
namespace App\Http\Controllers\API\H5;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class HospitalExtraController extends Controller
{
//获取注意事项
public function GetReadme()
{
$readme_config="1、检前受检者保证充足睡眠时间保持良好身心状态。体检当日须空腹体检前一日避免油腻、辛辣刺激性食物勿饮酒彩超男士适量憋尿女士须憋足量尿。<br/>\n2、体检时着宽松衣物不要佩戴金属物品以防丢失或影响检查结果。<br/>\n3、做妇科检查的女士请避开生理期48小时内避免性生活。\n1未婚有性生活史选择检查妇科的需签署妇科知情同意书方可进行检查。<br/>\n4、孕期、哺乳期及半年内有备孕计划的男士、女士不建议做胸片、CT、钼靶、碳13、碳14检查。<br/>\n5、体检时服用特殊药品或身体有其它不适症状请及时向检查医师说明<br/>\n6、涉及幽门螺杆菌检查项目的碳13或14近期吃过胃药及消炎药的请提醒护士以免影响数值<br/>\n7、做过心脏支架、搭桥手术、四肢有钢钉钢板、腿部有严重静脉曲张者请您不要选做动脉硬化检测。<br/>\n8、体检结束后将指引单交回前台如未体检完成请勿将指引单带走。<br/>\n备注当日因各种原因未体检完成的请尽快补检完成。";
return \Yz::Return(true,"查询完成",['content'=>$readme_config]);
}
}

@ -0,0 +1,66 @@
<?php
namespace App\Http\Controllers\API\H5;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class PlanController extends Controller
{
//获取本月每日剩余号源数量
public function GetMonthPlanCount()
{
$hospital_id =request('hospital');
$openid =request('openid');
$person_id=request('person_id');
$month=request('month');
$use_type=request('use_type');//使用类型 1个检 2团检
$checkup_type_id=request('checkup_type_id');//体检类型表对应id
$amount=request('amount');//总金额
$first_day_timestamp = strtotime($month . '-01');
$first_day = date('Y-m-d', $first_day_timestamp); //当月第一天
$last_day_timestamp = strtotime($month . '-01 +1 month -1 day');
$last_day = date('Y-m-d', $last_day_timestamp); //当月最后一天
$list=DB::table('plans')
->whereBetween('date',[$first_day,$last_day])->whereIn('status',[1])
->whereRaw('JSON_CONTAINS(checkup_type_id, ?, "$")', [$checkup_type_id])
->where(['hospital_id'=>$hospital_id,'type'=>1])
->whereIn('use_type',[0,$use_type]);
if($use_type==1){
$list=$list->where(['amount_limit1'=>0])->orWhere('amount_limit1','>=',$amount);
}
if($use_type==2){
$list=$list->where(['amount_limit2'=>0])->orWhere('amount_limit2','>=',$amount);
}
$list=$list->select('date', DB::raw('COUNT(*) as count'));
$list=$list->groupBy('date')->get();
return \Yz::Return(true,"查询完成",['list'=>$list]);
}
//获取某日号源列表
public function GetDayPlanList()
{
$hospital_id =request('hospital');
$openid =request('openid');
$person_id=request('person_id');
$date=request('date');
$use_type=request('use_type');//使用类型 1个检 2团检
$checkup_type_id=request('checkup_type_id');//体检类型表对应id
$amount=request('amount');//总金额
$list=DB::table('plans')
->where('date',$date)->whereIn('status',[1,2])
->whereRaw('JSON_CONTAINS(checkup_type_id, ?, "$")', [$checkup_type_id])
->where(['hospital_id'=>$hospital_id,'type'=>1])
->whereIn('use_type',[0,$use_type]);
if($use_type==1){
$list=$list->where(['amount_limit1'=>0])->orWhere('amount_limit1','>=',$amount);
}
if($use_type==2){
$list=$list->where(['amount_limit2'=>0])->orWhere('amount_limit2','>=',$amount);
}
$list=$list->get();
return \Yz::Return(true,"查询完成",['list'=>$list]);
}
}

@ -30,11 +30,14 @@ Route::get('/wxGetCode', 'App\Http\Controllers\API\mH5\LoginController@wxGetCode
Route::get('/test', 'App\Http\Controllers\TestController@DBtest');
Route::any('/payNotify', 'App\Http\Controllers\API\H5\PayController@Notify')->middleware('log');//支付回调
Route::group([ 'prefix' => 'H5'], function () {
Route::group(['prefix' => 'H5'], function () {
Route::post('/CheckUpTypeGetList', 'App\Http\Controllers\API\H5\CheckUpTypeController@GetList');//获取体检类型分类
Route::post('/GetComboSort', 'App\Http\Controllers\API\H5\ComboController@GetComboSort');// //获取套餐类型、适用人群
Route::post('/BuyInfo', 'App\Http\Controllers\API\H5\ComboController@BuyInfo');//获取购买详情内容(详情页信息)
Route::post('/BuyInfo', 'App\Http\Controllers\API\H5\ComboController@BuyInfo');//获取购买详情内容(详情页信息)
Route::post('/GetAllItems', 'App\Http\Controllers\API\H5\ItemController@GetItems');//获取所有自选项目
Route::post('/GetReadme', 'App\Http\Controllers\API\H5\HospitalExtraController@GetReadme');//获取注意事项
Route::post('/GetMonthPlanCount', 'App\Http\Controllers\API\H5\PlanController@GetMonthPlanCount');//获取本月每日剩余号源数量
Route::post('/GetDayPlanList', 'App\Http\Controllers\API\H5\PlanController@GetDayPlanList');//获取某日号源数量
});

Loading…
Cancel
Save