117 lines
3.8 KiB
PHP
117 lines
3.8 KiB
PHP
<?php
|
||
|
||
namespace App\Services;
|
||
|
||
use App\Constants\HttpEnumCode;
|
||
use App\Model\DoctorInquiryConfig;
|
||
use App\Model\SystemInquiryConfig;
|
||
use App\Model\SystemInquiryTime;
|
||
use App\Model\UserDoctor;
|
||
|
||
/**
|
||
* 系统配置
|
||
*/
|
||
class SystemService extends BaseService
|
||
{
|
||
/**
|
||
* 获取系统问诊时间
|
||
* 快速问诊-问诊购药
|
||
* @return array
|
||
*/
|
||
public function getSystemInquiryTime(): array
|
||
{
|
||
$user_info = $this->request->getAttribute("userInfo") ?? [];
|
||
|
||
$inquiry_type = $this->request->input('inquiry_type');
|
||
$inquiry_mode = $this->request->input('inquiry_mode');
|
||
|
||
if ($inquiry_type != 2 && $inquiry_type != 4){
|
||
return fail();
|
||
}
|
||
|
||
$params = array();
|
||
$params['inquiry_type'] = $inquiry_type;
|
||
$params['inquiry_mode'] = $inquiry_mode;
|
||
$system_inquiry_config = SystemInquiryConfig::getOne($params);
|
||
if (empty($system_inquiry_config)){
|
||
return fail();
|
||
}
|
||
|
||
$fields = [
|
||
'inquiry_time_id',
|
||
'start_time',
|
||
'end_time',
|
||
'time_interval',
|
||
];
|
||
$params = array();
|
||
$params['system_inquiry_config_id'] = $system_inquiry_config['system_inquiry_config_id'];
|
||
$system_inquiry_time = SystemInquiryTime::getList($params,$fields);
|
||
if (empty($system_inquiry_time)){
|
||
return fail();
|
||
}
|
||
|
||
$time = [];
|
||
foreach ($system_inquiry_time as $item){
|
||
$start_hour = substr($item['start_time'], 0, 1);
|
||
if ($start_hour == '0') {
|
||
$start_hour = substr($item['start_time'], 1, 1);
|
||
}else{
|
||
$start_hour = substr($item['start_time'], 0, 2);
|
||
}
|
||
$start_minute = substr($item['start_time'], 2, 2);
|
||
|
||
$start_time = $start_hour . ":" . $start_minute;
|
||
|
||
$end_hour = substr($item['end_time'], 0, 1);
|
||
if ($end_hour == '0') {
|
||
$end_hour = substr($item['end_time'], 1, 1);
|
||
}else{
|
||
$end_hour = substr($item['end_time'], 0, 2);
|
||
}
|
||
$end_minute = substr($item['end_time'], 2, 2);
|
||
|
||
$end_time = $end_hour . ":" . $end_minute;
|
||
|
||
$time[] = $start_time . '-' . $end_time;
|
||
}
|
||
|
||
$result = [];
|
||
$result['time'] = $time;
|
||
$result['times_number'] = $system_inquiry_config['times_number']; // 沟通次数(0为不限制次数)
|
||
$result['duration'] = $system_inquiry_config['duration']; // 沟通时长(分钟,0为不限制时长)
|
||
$result['inquiry_price'] = $system_inquiry_config['inquiry_price']; // 接诊价格
|
||
|
||
return success($result);
|
||
}
|
||
|
||
/**
|
||
* 获取系统问诊配置
|
||
* @return array
|
||
*/
|
||
public function getSystemInquiryConfig(): array
|
||
{
|
||
$user_info = $this->request->getAttribute("userInfo") ?? [];
|
||
|
||
$inquiry_type = $this->request->input('inquiry_type');// 接诊类型(1:专家问诊 2:快速问诊 3:公益问诊)
|
||
$inquiry_mode = $this->request->input('inquiry_mode');// 接诊方式(1:图文 2:视频 3:语音 4:电话 5:会员 6:疑难会诊 7:附赠 8:健康包 9:随访包)
|
||
|
||
// 系统问诊配置表
|
||
$params = array();
|
||
$params['inquiry_type'] = $inquiry_type;
|
||
$params['inquiry_mode'] = $inquiry_mode;
|
||
$system_inquiry_config = SystemInquiryConfig::getOne($params);
|
||
if (empty($system_inquiry_config)) {
|
||
return fail(HttpEnumCode::SERVER_ERROR);
|
||
}
|
||
|
||
$system_inquiry_config = $system_inquiry_config->toArray();
|
||
|
||
// 系统价格(公益问诊)
|
||
$system_inquiry_config['system_inquiry_price'] = [];
|
||
if ($inquiry_type == 3) {
|
||
$system_inquiry_config['system_inquiry_price'] = explode(',', $system_inquiry_config['inquiry_price']);
|
||
}
|
||
|
||
return success($system_inquiry_config);
|
||
}
|
||
} |