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

117 lines
3.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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