Files
hospital-applets-api/app/Services/SystemService.php
T

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);
}
}