diff --git a/Laravel/app/Http/Controllers/API/AspNetZhuanController.php b/Laravel/app/Http/Controllers/API/AspNetZhuanController.php
index f2c6fb8..bd0559e 100644
--- a/Laravel/app/Http/Controllers/API/AspNetZhuanController.php
+++ b/Laravel/app/Http/Controllers/API/AspNetZhuanController.php
@@ -64,9 +64,14 @@ class AspNetZhuanController extends Controller
{
self::RequestLog($url, [], $mark, '.Net转发');
$response = Http::get($url);
+ if($mark=="短信发送"){
+ Log::info( $response->body());
+ return true;
+ }
+
if ($response->successful()) {
$res = $response->json();
- Log::info($res);
+
self::$request->response_data = json_encode($res, JSON_UNESCAPED_UNICODE);
self::$request->save();
diff --git a/Laravel/app/Http/Controllers/API/H5/OrderController.php b/Laravel/app/Http/Controllers/API/H5/OrderController.php
index c2b12cf..c4342c7 100644
--- a/Laravel/app/Http/Controllers/API/H5/OrderController.php
+++ b/Laravel/app/Http/Controllers/API/H5/OrderController.php
@@ -414,6 +414,7 @@ class OrderController extends Controller
return \Yz::echoError1('操作失败');
}
}
+
//订单改约
public function ChangeAppointment()
{
@@ -594,7 +595,7 @@ class OrderController extends Controller
$is_sendMsg=DB::table('configs')->where(['label' => '预约完成短信通知'])->first();
if(!!$is_sendMsg and $is_sendMsg->value==1){
$asp=new AspNetZhuanController();
- Tools::SendMsg($cha->hospital_id,$cha->phone,$cha->name,$cha->appointment_date.' '.substr($cha->appointment_time, 0, 5));
+ $asp::SendMsg($cha->hospital_id,$cha->phone,$cha->name,$cha->appointment_date.' '.substr($cha->appointment_time, 0, 5));
}
return ['status' => true, 'msg' => "完成"];
}
diff --git a/Laravel/app/Http/Controllers/API/Web/OrderController.php b/Laravel/app/Http/Controllers/API/Web/OrderController.php
index 89b3287..2a40393 100644
--- a/Laravel/app/Http/Controllers/API/Web/OrderController.php
+++ b/Laravel/app/Http/Controllers/API/Web/OrderController.php
@@ -239,6 +239,221 @@ class OrderController extends Controller
return \Yz::echoError1('操作失败');
}
}
+ //客服预约,只占用号源
+ public function CreateYuYueOrder()
+ {
+ $hospital_id = request('hospital');
+
+ $person_id = request('person_id');
+ $combo_id = request('combo_id');
+ $type = request('type');//1个检2团检
+ $group_id = request('group_id');//团检id
+ $item_ids = request('item_ids');//自选item的ids
+ $plan_id = request('plan_id');//号源id
+ $doctor = request('doctor');//预约的医生名字
+ $appdoctor = request('appdoctor');//协助预约的医生名字
+ $person= request('person'); //sex,birthday,married,name,id_number,phone
+
+ if (!isset($hospital_id)) return \Yz::echoError1('医院id不能为空');
+ if (!isset($type)) return \Yz::echoError1('type体检类型不能为空');
+ if ($type != 1 && $type != 2) {
+ return \Yz::echoError1('type参数,体检类型错误');
+ }
+ if (!isset($plan_id)) return \Yz::echoError1('号源id不能为空');
+ if ($type == 2 and !isset($group_id)) return \Yz::echoError1('团检,group_id不能为空');
+ if ($type == 1 and isset($group_id)) return \Yz::echoError1('体检类型:个检 与group_id冲突');
+
+
+ $title = "自选项目";
+ $price = 0;
+ $true_price = 0;//订单真实支付金额
+ $buy_info = [
+ 'combo' => [
+ 'id' => 0,
+ 'name' => $title,
+ 'price' => 0,
+ ],
+ 'items' => [],
+ 'group' => [
+ 'id' => '',
+ ],
+ 'nmr_list'=>[]
+ ];
+ //如果是套餐
+ $TJ_Leixing_id=1;//存储用体检类型
+ $checkup_type_id = false; //体检类型id
+ if (isset($combo_id) and $combo_id <> 0) {
+ $combo_info = DB::table('combos')->where(['combo_id' => $combo_id, 'status' => 1])->first();
+ if (!$combo_info) return \Yz::echoError1("套餐不存在");
+ if (!isset($combo_info->checkup_type_id)) return \Yz::echoError1("套餐未关联体检类型");
+ $checkup_type_id = $combo_info->checkup_type_id;
+ $TJ_Leixing_id=$checkup_type_id;
+ $price += $combo_info->price;
+ $title = $combo_info->name;
+ $buy_info['combo'] = [
+ 'id' => $combo_info->combo_id,
+ 'name' => $combo_info->name,
+ 'price' => $combo_info->price,
+ ];
+ //如果有影像科,则存储在nmr_list字段
+ $comboItem=DB::table('combo_items')->where(['combo_id' => $combo_id, 'status' => 1,'keshi_name'=>'影像科'])->get();
+ if(count($comboItem)>0){
+ foreach ($comboItem as $item){
+ $buy_info['nmr_list'][]=[
+ 'item_id' => $item->item_id,
+ 'name' => $item->name,
+ ];
+ }
+ }
+ }
+
+ //如果有自选项目
+ $items_list = [];
+ if (count($item_ids) != 0) {
+ $items_list = DB::table('items')->whereIn('item_id', $item_ids)->where(['status' => 1])->get();
+ $existingIds = [];
+ foreach ($items_list as $item) {
+ $price += $item->price;
+ $existingIds[] = $item->item_id;
+ $buy_info['items'][] = [
+ 'id' => $item->item_id,
+ 'name' => $item->name,
+ 'price' => $item->price
+ ];
+ //如果有影像科,则存储在nmr_list字段
+ if($item->keshi_name=='影像科'){
+ $buy_info['nmr_list'][]=[
+ 'item_id' => $item->item_id,
+ 'name' => $item->name,
+ ];
+ }
+ }
+ $missingIds = array_diff($item_ids, $existingIds);
+ if (count($missingIds) > 0) return \Yz::echoError1("部分自选项目不可用,Id:" . implode(', ', $missingIds));
+ }
+ $true_price = $price;
+ //如果是团检
+ $group_info = false;
+ if ($type == 2) {
+ $P = new PersonController();
+ $data = [
+ '电话号码' => null,
+ '证件号码' => null,
+ '预约Id' => $group_id
+ ];
+ $group_info = $P->group_info($hospital_id, $data);
+ $group_info = $group_info[0];
+ $buy_info['group'] = [
+ 'id' => $group_id,
+ 'combo_name' => $group_info['combo_name'],
+ 'combo_id' => $group_info['combo_id'],
+ 'group_name' => $group_info['group_name'],
+ 'items' => $group_info['items'],
+ 'group_id' => $group_info['group_id'],
+ ];
+ $TJ_Leixing_id=$group_info['checkup_type_id'];
+ $title = "单位团检" . $group_info['combo_name'];
+ $price = $price + $group_info['sixi_zong_ji_jin_e'];
+ $need_pay = ($price - $group_info['tongshou_xiane']) > 0 ? $price - $group_info['tongshou_xiane'] : 0;
+ //团检订单金额为减去统收后的金的
+ $price = $need_pay;
+ $true_price = $need_pay;
+
+ //如果有影像科,则存储在nmr_list字段
+ $all_items = DB::table('items')->where(['status' => 1,'keshi_name'=>'影像科'])->get();
+ foreach ($group_info['items'] as $item) {
+ foreach ($all_items as $it) {
+ if ($it->item_id == $item['id']) {
+ $buy_info['nmr_list'][]=[
+ 'item_id' => $item->item_id,
+ 'name' => $item->name,
+ ];
+ }
+ }
+ }
+
+ }
+
+ //调用思信接口判断各个项目是否可用
+ $check_items = [];
+ foreach ($item_ids as $item_id) {
+ $check_items[] = ['Id' => $item_id];
+ }
+ if ((isset($combo_id) and $combo_id <> 0) || count($check_items) != 0) {
+ $item_check = self::item_check($hospital_id, [
+ '人员信息列表' => [[
+ "序号" => 0,
+ "性别" => $person['sex'] == 1 ? '男' : '女',
+ "年龄" => floor((time() - strtotime($person['birthday'])) / 86400 / 360),
+ "婚姻状态" => $person['married']== 1 ? '已婚' : '未婚',
+ ]],
+ '套餐Id' => $combo_id == 0 ? null : $combo_id,
+ '可选项目信息' => $check_items,
+ ]);
+ if (count($item_check['data']) != 1) {
+ return \Yz::echoError1("体检系统提示:" . $item_check['message']);
+ }
+ }
+
+ //检查号源是否可用
+ $plan = new PlanController();
+ $plan_check = $plan->CheckPlan($plan_id, $hospital_id, $type, $person['sex'], $price, $checkup_type_id);
+ if ($plan_check['status'] === false) return \Yz::echoError1($plan_check['msg']);
+ $plan = $plan_check['plan'];
+
+
+ //如果是团检 判断号源在 团检登记人的有效时间范围内
+ $plan_datetime = $plan->date . ' ' . $plan->time;
+ if (!!$group_info) {
+ if (!($plan_datetime > $group_info['start_time'] . ' 00:00:00' and $plan_datetime < $group_info['end_time'] . ' 23:59:59')) {
+ return \Yz::echoError1("预约日期不在单位有效时间范围内,请重新选择");
+ }
+ }
+
+
+ //构建订单号
+ $order_num = $this->generateOrderNumber();
+ $data = [
+ 'title' => $title,
+ 'type' => $type,
+ 'source' => 'web',
+ 'web_user_id' =>0,
+ 'checkup_type_id'=>$TJ_Leixing_id,
+ 'person_id' => 0,
+ 'name' => $person['name'],
+ 'id_number' => $person['id_number'],
+ 'buy_info' => json_encode($buy_info, JSON_UNESCAPED_UNICODE),
+ 'price' => $price,
+ 'true_price' => $true_price,
+ 'order_number' => $order_num,
+ 'status' => 1,
+ 'appointment_date' => $plan->date,
+ 'appointment_time' => $plan->time,
+ 'plan_id' => $plan->id,
+ 'plan_number' => $plan->plan_number,
+ 'combo_id' => $combo_id,
+ 'hospital_id' => $hospital_id,
+ 'doctor' => $doctor,
+ 'appdoctor'=>$appdoctor,
+ 'phone' => $person['phone'],
+ 'sex' => $person['sex'],
+ 'birthday' => $person['birthday'],
+ 'married' => $person['married'],
+ ];
+ DB::beginTransaction();
+ $insert = DB::table('orders_yuyue')->insertGetId($data);
+ $up_plan = DB::table('plans')->where(['id' => $plan->id, 'status' => 1])->update([
+ 'status' => 2
+ ]);
+ if ($insert and $up_plan) {
+ DB::commit();
+
+ return \Yz::return(true, "操作成功", ['orderid'=>$insert]);
+ } else {
+ DB::rollBack();
+ return \Yz::echoError1('操作失败');
+ }
+ }
public function item_check($hospital, $data)
{
$peis = new PEISApiController();
diff --git a/Laravel/routes/web.php b/Laravel/routes/web.php
index d298243..22c3e97 100644
--- a/Laravel/routes/web.php
+++ b/Laravel/routes/web.php
@@ -85,6 +85,7 @@ Route::group(['prefix' => 'api/Web'], function () {
Route::post('/BuyInfo', 'App\Http\Controllers\API\Web\ComboController@BuyInfo');//Web购买详情
Route::post('/ItemGetList', 'App\Http\Controllers\API\Web\ItemController@GetList');//Web套餐列表
Route::post('/Create', 'App\Http\Controllers\API\Web\OrderController@Create');//Web套餐列表
+ Route::post('/CreateYuYueOrder', 'App\Http\Controllers\API\Web\OrderController@CreateYuYueOrder');//客服预约
});
//对外------
diff --git a/h5/pages/main/index/index.vue b/h5/pages/main/index/index.vue
index 5fca1ac..952cc28 100644
--- a/h5/pages/main/index/index.vue
+++ b/h5/pages/main/index/index.vue
@@ -281,7 +281,7 @@
- 10231704
+ 10241102
diff --git a/h5/pages/main/tjyy/tjyy.vue b/h5/pages/main/tjyy/tjyy.vue
index fe768f1..c7a1872 100755
--- a/h5/pages/main/tjyy/tjyy.vue
+++ b/h5/pages/main/tjyy/tjyy.vue
@@ -289,7 +289,6 @@ const comfrimyy = async () => {
console.log(obj);
const response = await $api("OrderCreate", obj);
- return;
$response(response, () => {
if (response.status) {
if (response.data.action == "pay") {