修改医生端-医生问诊开关接口,修改开启问诊配置字段,

This commit is contained in:
wucongxing 2023-10-10 17:03:17 +08:00
parent e4ea689b79
commit 97a7a6dcf9

View File

@ -163,75 +163,62 @@ class DoctorInquiryService extends BaseService
return fail(HttpEnumCode::HTTP_ERROR, "请先进行绑定结算银行卡");
}
// 医生接诊配置表
$params = array();
$params['doctor_id'] = $user_info['client_user_id'];
$params['inquiry_type'] = $inquiry_type;
$params['inquiry_mode'] = $inquiry_mode;
$doctor_inquiry_config = DoctorInquiryConfig::getOne($params);
if (empty($doctor_inquiry_config)) {
if ($inquiry_type != 2) {
// 快速问诊可能会存在未创建的情况
return fail(HttpEnumCode::HTTP_ERROR, "请先完善问诊配置");
}
}
Db::beginTransaction();
try {
// 医生接诊配置表
$params = array();
$params['doctor_id'] = $user_info['client_user_id'];
$params['inquiry_type'] = $inquiry_type;
$params['inquiry_mode'] = $inquiry_mode;
$doctor_inquiry_config = DoctorInquiryConfig::getOne($params);
if (empty($doctor_inquiry_config)) {
// 无问诊配置,快速问诊创建问诊配置并打开问诊。其余类型直接返回错误
if ($inquiry_type != 2){
// 快速问诊可能会存在未创建的情况
Db::rollBack();
return fail(HttpEnumCode::HTTP_ERROR, "请先完善问诊配置");
}
$data = array();
if ($inquiry_type == 1) {
// 专家
$data['is_img_expert_reception'] = $is_open;
$data['is_online'] = $is_open;
} elseif ($inquiry_type == 2) {
// 快速
$data['is_img_quick_reception'] = $is_open;
} elseif ($inquiry_type == 3) {
// 公益
$data['is_img_welfare_reception'] = $is_open;
}
UserDoctor::editUserDoctor($params, $data);
if ($inquiry_type == 2 && $is_open == 1) {
// 获取系统问诊配置表
$params = array();
$params['doctor_id'] = $user_info['client_user_id'];
$params['inquiry_type'] = $inquiry_type;
$params['inquiry_mode'] = $inquiry_mode;
$doctor_inquiry_config = DoctorInquiryConfig::getOne($params);
if (empty($doctor_inquiry_config)) {
// 系统问诊配置表
$params = array();
$params['inquiry_type'] = $inquiry_type;
$params['inquiry_mode'] = $inquiry_mode;
$system_inquiry_config = SystemInquiryConfig::getOne($params);
if (empty($system_inquiry_config)) {
Db::rollBack();
return fail(HttpEnumCode::SERVER_ERROR);
}
// 快速问诊,需创建
$data = array();
$data['doctor_id'] = $user_info['client_user_id'];
$data['system_inquiry_config_id'] = $system_inquiry_config['system_inquiry_config_id'];
$data['inquiry_type'] = $inquiry_type;
$data['inquiry_mode'] = $inquiry_mode;
$data['work_num_day'] = $system_inquiry_config['max_work_num_day'] ?: 0;
$data['inquiry_price'] = $system_inquiry_config['inquiry_price'];
$doctor_inquiry_config = DoctorInquiryConfig::addInquiryConfig($data);
if (empty($doctor_inquiry_config)) {
Db::rollBack();
return fail(HttpEnumCode::SERVER_ERROR);
}
$system_inquiry_config = SystemInquiryConfig::getOne($params);
if (empty($system_inquiry_config)) {
Db::rollBack();
return fail(HttpEnumCode::SERVER_ERROR);
}
// 快速问诊,需创建
$data = array();
$data['doctor_id'] = $user_info['client_user_id'];
$data['system_inquiry_config_id'] = $system_inquiry_config['system_inquiry_config_id'];
$data['inquiry_type'] = $inquiry_type;
$data['inquiry_mode'] = $inquiry_mode;
$data['is_enable'] = 1; // 是否启用0:否 1:是)
$data['last_enable_method'] = 1; // 最后开启方式1:自己 2:后台)
$data['work_num_day'] = $system_inquiry_config['max_work_num_day'] ?: 0;
$data['inquiry_price'] = $system_inquiry_config['inquiry_price'];
$doctor_inquiry_config = DoctorInquiryConfig::addInquiryConfig($data);
if (empty($doctor_inquiry_config)) {
Db::rollBack();
return fail(HttpEnumCode::SERVER_ERROR);
}
}else{
// 已存在问诊配置,进行修改
$params = array();
$params['inquiry_config_id'] = $doctor_inquiry_config["inquiry_config_id"];
$data = array();
$data['is_enable'] = $is_open;
$data['last_enable_method'] = 1;
DoctorInquiryConfig::editInquiryConfig($params,$data);
}
Db::commit();
} catch (\Exception $e) {
}catch (\Throwable $e){
Db::rollBack();
return fail(HttpEnumCode::HTTP_ERROR, $e->getMessage());
}