新增问诊价格修改记录

This commit is contained in:
wucongxing 2023-02-20 15:44:36 +08:00
parent c7e65258b0
commit 57bca15fb5
3 changed files with 78 additions and 12 deletions

View File

@ -57,4 +57,14 @@ class DoctorInquiryPriceRecord extends Model
{
return self::where($params)->count();
}
/**
* 新增
* @param array $data
* @return DoctorInquiryPriceRecord|\Hyperf\Database\Model\Model
*/
public static function addRecord(array $data): \Hyperf\Database\Model\Model|DoctorInquiryPriceRecord
{
return self::create($data);
}
}

View File

@ -41,14 +41,14 @@ class DoctorInquiryService extends BaseService
return fail(HttpEnumCode::HTTP_ERROR, "请先进行实名认证");
}
if ($doctor['idcard_status'] != 1){
return fail(HttpEnumCode::HTTP_ERROR, "请先进行实名认证");
}
if ($doctor['iden_auth_status'] != 1){
return fail(HttpEnumCode::HTTP_ERROR, "请先进行身份认证");
}
if ($doctor['is_bind_bank'] != 1){
return fail(HttpEnumCode::HTTP_ERROR, "请先进行绑定结算银行卡");
}
// 接诊开关
$result['info']['is_open'] = 0;
if ($inquiry_type == 1){
@ -148,14 +148,14 @@ class DoctorInquiryService extends BaseService
return fail(HttpEnumCode::HTTP_ERROR, "请先进行实名认证");
}
if ($doctor['idcard_status'] != 1){
return fail(HttpEnumCode::HTTP_ERROR, "请先进行实名认证");
}
if ($doctor['iden_auth_status'] != 1){
return fail(HttpEnumCode::HTTP_ERROR, "请先进行身份认证");
}
if ($doctor['is_bind_bank'] != 1){
return fail(HttpEnumCode::HTTP_ERROR, "请先进行绑定结算银行卡");
}
// 医生接诊配置表
$params = array();
$params['doctor_id'] = $user_info['client_user_id'];
@ -254,14 +254,14 @@ class DoctorInquiryService extends BaseService
return fail(HttpEnumCode::HTTP_ERROR, "请先进行实名认证");
}
if ($doctor['idcard_status'] != 1){
return fail(HttpEnumCode::HTTP_ERROR, "请先进行实名认证");
}
if ($doctor['iden_auth_status'] != 1){
return fail(HttpEnumCode::HTTP_ERROR, "请先进行身份认证");
}
if ($doctor['is_bind_bank'] != 1){
return fail(HttpEnumCode::HTTP_ERROR, "请先进行绑定结算银行卡");
}
// 系统问诊配置表
$params = array();
$params['inquiry_type'] = $inquiry_type;
@ -310,7 +310,45 @@ class DoctorInquiryService extends BaseService
Db::rollBack();
return fail(HttpEnumCode::SERVER_ERROR);
}
// 记录修改记录
$data = array();
$data['doctor_id'] = $user_info['client_user_id'];
$data['inquiry_config_id'] = $doctor_inquiry_config['inquiry_config_id'];
$data['old_price'] = 0;
$data['new_price'] = $inquiry_price;
$doctor_inquiry_price_record = DoctorInquiryPriceRecord::addRecord($data);
if (empty($doctor_inquiry_price_record)){
Db::rollBack();
return fail(HttpEnumCode::SERVER_ERROR);
}
}else{
// 在线问诊限制在线问诊验证修改次数
if ($inquiry_type == 1 && $doctor_inquiry_config['inquiry_price'] != $inquiry_price){
// 获取月份内总调整次数
$params = array();
$params[] = ['doctor_id','=',$user_info['client_user_id']];
$params[] = ['inquiry_config_id','=',$doctor_inquiry_config['inquiry_config_id']];
$params[] = ['created_at','>',date('Y-m-01',time())];
$modify_month_count = DoctorInquiryPriceRecord::getCount($params);
if ($modify_month_count >= 5){
// 每自然月仅限调整5次
Db::rollBack();
return fail(HttpEnumCode::HTTP_ERROR,"问诊价格每自然月仅限调整5次");
}
$params = array();
$params[] = ['doctor_id','=',$user_info['client_user_id']];
$params[] = ['inquiry_config_id','=',$doctor_inquiry_config['inquiry_config_id']];
$params[] = ['created_at','>',date('Y-m-d',time())];
$modify_month_count = DoctorInquiryPriceRecord::getCount($params);
if ($modify_month_count >= 1){
// 问诊价格每日仅限调整1次
Db::rollBack();
return fail(HttpEnumCode::HTTP_ERROR,"问诊价格每日仅限调整1次");
}
}
// 修改
if ($doctor_inquiry_config['work_num_day'] != $work_num_day || $doctor_inquiry_config['inquiry_price'] != $inquiry_price){
$params = array();
@ -321,6 +359,18 @@ class DoctorInquiryService extends BaseService
$data['inquiry_price'] = $inquiry_price;
DoctorInquiryConfig::editInquiryConfig($params,$data);
// 记录修改记录
$data = array();
$data['doctor_id'] = $user_info['client_user_id'];
$data['inquiry_config_id'] = $doctor_inquiry_config['inquiry_config_id'];
$data['old_price'] = $doctor_inquiry_config['inquiry_price'];
$data['new_price'] = $inquiry_price;
$doctor_inquiry_price_record = DoctorInquiryPriceRecord::addRecord($data);
if (empty($doctor_inquiry_price_record)){
Db::rollBack();
return fail(HttpEnumCode::SERVER_ERROR);
}
}
}

View File

@ -74,6 +74,12 @@ Router::addGroup('/doctor', function () {
// 修改医生问诊配置
Router::put('/config', [UserDoctorController::class, 'putInquiryConfig']);
});
//银行卡
Router::addGroup('/bank', function () {
// 获取医生银行卡
Router::get('/card', [UserDoctorController::class, 'getInquiryConfig']);
});
});