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

84 lines
3.0 KiB
PHP

<?php
namespace App\Http\Controllers\API\Admin\YeWu;
use App\Http\Controllers\Controller;
use DateTime;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class ComboController extends Controller
{
//获取套餐列表
public function UpdateCombo()
{
$hospital_id =request('hospital');
date_default_timezone_set('PRC');
$data=[
"价格下限"=>"0","价格上限"=>"999999","性别"=>null,"妇检"=>false,"请求来源"=>"小程序"
];
$peis=new PEISApiController();
$info= $peis::Post('套餐查询',$hospital_id,$data,false);
$successCount=0;//成功的数量
if(count($info['data'])>0){
$combos=$info['data'];
foreach ($combos as $c_key=>$combo){
$item=[];
$comboDetail= $peis::Post('套餐详情查询',$hospital_id,['套餐Id'=>$combo['Id']],false);
if($comboDetail['code']!=0) return \Yz::echoError1("套餐详情查询失败");
$comboDetail_list=$comboDetail['data'][0]['包含项目'];
foreach ($comboDetail_list as $key=>$v){
$item[]=[
'id'=>$v['Id'],
'name'=>$v['名称'],
'desc'=>$v['简介'],
];
}
$item=json_encode($item,JSON_UNESCAPED_UNICODE);
$db_combo=DB::table('combos')->where(['combo_id'=>$combo['Id']])->first();
$comboData=[
'hospital_id'=>$hospital_id,
'combo_id'=>$combo['Id'],
'name'=>$combo['名称'],
'original_price'=>$combo['原价'],
'price'=>$combo['价格'],
'items'=>$item,
'updated_at'=>date('Y-m-d H:i:s'),
];
if(!!$db_combo){
//如果存在套餐
$u=DB::table('combos')->where(['combo_id'=>$combo['Id']])->update($comboData);
}else{
//如果不存在套餐
$u= DB::table('combos')->insert($comboData);
}
if($u){
$successCount++;
}else{
return \Yz::echoError1('更新失败');
}
}
$hospital=DB::table('hospital')->where(['id'=>$hospital_id])->first();
if(!!$hospital->frequency){
$date = new DateTime();
$date->modify('+'.$hospital->frequency.' minutes');
$formatted_time = $date->format('Y-m-d H:i:s');
DB::table("hospital")->where(['id'=>$hospital_id])->update([
'next_time'=>$formatted_time
]);
}
return \Yz::Return(true,'操作完成',['success_count'=>$successCount,'combos_count'=>count($combos)]);
}else{
return \Yz::echoError1('未查询到套餐');
}
}
}