修改医生问诊价格设置

This commit is contained in:
wucongxing 2023-04-26 09:45:45 +08:00
parent ac7f9a7cef
commit ca3638ff33

View File

@ -286,21 +286,6 @@ class DoctorInquiryService extends BaseService
return fail(HttpEnumCode::SERVER_ERROR);
}
// 验证-每日接诊数量
if ($work_num_day > $system_inquiry_config['max_work_num_day']) {
return fail(HttpEnumCode::HTTP_ERROR, "超出每日最大接诊数量");
}
// 验证-问诊价格
// 义诊时不判断,义诊为选择价格,价格后台可调节
if ($inquiry_type == 3) {
if (!empty($system_inquiry_config['min_inquiry_price']) && !empty($system_inquiry_config['max_inquiry_price'])) {
if ($inquiry_price > $system_inquiry_config['max_inquiry_price'] || $inquiry_price < $system_inquiry_config['min_inquiry_price']) {
return fail(HttpEnumCode::HTTP_ERROR, "问诊价格填写错误");
}
}
}
// 开启事务锁
Db::beginTransaction();
try {
@ -311,6 +296,19 @@ class DoctorInquiryService extends BaseService
$params['inquiry_mode'] = $inquiry_mode;
$doctor_inquiry_config = DoctorInquiryConfig::getOne($params);
if (empty($doctor_inquiry_config)) {
if ($work_num_day > $system_inquiry_config['max_work_num_day']) {
return fail(HttpEnumCode::HTTP_ERROR, "超出每日最大接诊数量");
}
// 验证问诊价格 义诊时不判断,义诊为选择价格,价格后台可调节
if ($inquiry_type != 3) {
if (!empty($system_inquiry_config['min_inquiry_price']) && !empty($system_inquiry_config['max_inquiry_price'])) {
if ($inquiry_price > $system_inquiry_config['max_inquiry_price'] || $inquiry_price < $system_inquiry_config['min_inquiry_price']) {
return fail(HttpEnumCode::HTTP_ERROR, "问诊价格填写错误");
}
}
}
// 创建
$data = array();
$data['doctor_id'] = $user_info['client_user_id'];
@ -364,15 +362,35 @@ class DoctorInquiryService extends BaseService
}
}
// 修改
if ($doctor_inquiry_config['work_num_day'] != $work_num_day || $doctor_inquiry_config['inquiry_price'] != $inquiry_price) {
$params = array();
$params['inquiry_config_id'] = $doctor_inquiry_config['inquiry_config_id'];
$params = array();
$params['inquiry_config_id'] = $doctor_inquiry_config['inquiry_config_id'];
$data = array();
$data = array();
if ($doctor_inquiry_config['work_num_day'] != $work_num_day){
// 新设置的每日接诊数量大于了系统配置的最高接诊数量
if ($work_num_day > $system_inquiry_config['max_work_num_day']){
Db::rollBack();
return fail(HttpEnumCode::HTTP_ERROR, "超出每日最大接诊数量");
}
$data['work_num_day'] = $work_num_day;
$data['inquiry_price'] = $inquiry_price;
}
if ($doctor_inquiry_config['inquiry_price'] != $inquiry_price){
// 验证问诊价格 义诊时不判断,义诊为选择价格,价格后台可调节
if ($inquiry_type != 3) {
if (!empty($system_inquiry_config['min_inquiry_price']) && !empty($system_inquiry_config['max_inquiry_price'])) {
if ($inquiry_price > $system_inquiry_config['max_inquiry_price'] || $inquiry_price < $system_inquiry_config['min_inquiry_price']) {
Db::rollBack();
return fail(HttpEnumCode::HTTP_ERROR, "问诊价格填写错误");
}
}
}
$data['inquiry_price'] = $inquiry_price;
}
if (!empty($data)){
DoctorInquiryConfig::editInquiryConfig($params, $data);
// 记录修改记录