TimestampBehavior::class, 'attributes' => [ ActiveRecord::EVENT_BEFORE_INSERT => ['created_at','updated_at'], ActiveRecord::EVENT_BEFORE_UPDATE => ['updated_at'], ], ], ]; } //接诊状态 public static function accept_info($model) { $result = [ 'status' => 0, 'text' => '未知', ]; if($model->accept_status == OrderAcceptEnum::WAIT_ACCEPT){ $result['status'] = 1; $result['text'] = '待接诊'; $result['text_detail'] = '等待接诊中'; }elseif($model->accept_status == OrderAcceptEnum::ACCEPTING){ $result['status'] = 2; $result['text'] = '咨询中'; $result['text_detail'] = '正在接诊中'; }elseif($model->accept_status == OrderAcceptEnum::REFUSED || $model->accept_status == OrderAcceptEnum::OVER || $model->accept_status == OrderAcceptEnum::TIMEOUT_ACCEPT || $model->accept_status == OrderAcceptEnum::CANCEL){ $result['status'] = 3; $result['text'] = '已结束'; $result['text_detail'] = '问诊结束'; } return $result; } //订单状态 public static function status_info($model) { $result = [ 'status' => 0, 'text' => '未知', ]; if($model->is_pay == 0 && $model->cancel_status == 0){ //待支付 $result['status'] = OrderStatusEnum::WAIT_PAY; $result['text'] = OrderStatusEnum::ARR[OrderStatusEnum::WAIT_PAY]; }elseif($model->is_pay == 1 && $model->cancel_status == 0 && $model->accept_status == OrderAcceptEnum::WAIT_ACCEPT){ //待接诊 $result['status'] = OrderStatusEnum::WAIT_ACCEPT; $result['text'] = OrderStatusEnum::ARR[OrderStatusEnum::WAIT_ACCEPT]; }elseif($model->is_pay == 1 && $model->cancel_status == 0 && $model->accept_status == OrderAcceptEnum::ACCEPTING){ //咨询中 $result['status'] = OrderStatusEnum::ACCEPTING; $result['text'] = OrderStatusEnum::ARR[OrderStatusEnum::ACCEPTING]; }elseif($model->is_pay == 1 && $model->cancel_status == 0 && $model->accept_status == OrderAcceptEnum::OVER && $model->is_comment == 0){ //待评价 $result['status'] = OrderStatusEnum::WAIT_COMMENT; $result['text'] = OrderStatusEnum::ARR[OrderStatusEnum::WAIT_COMMENT]; }elseif($model->is_pay == 1 && $model->cancel_status == 0 && $model->accept_status == OrderAcceptEnum::OVER && $model->is_comment == 1){ //已完成 $result['status'] = OrderStatusEnum::COMPLETE; $result['text'] = OrderStatusEnum::ARR[OrderStatusEnum::COMPLETE]; }elseif( $model->cancel_status == 1){ //已取消 $result['status'] = OrderStatusEnum::CANCELED; $result['text'] = OrderStatusEnum::ARR[OrderStatusEnum::CANCELED]; } return $result; } //关联服务人员 public function getServiceUser() { return $this->hasOne(ServiceUser::className(),['id'=>'su_id']); } //关联医生信息 public function getDocInfo() { return $this->hasOne(DoctorInfo::className(),['su_id'=>'su_id']); } //关联问诊 public function getInquiry() { return $this->hasOne(UserInquiry::className(),['id'=>'ui_id']); } //关联用户 public function getUser() { return $this->hasOne(User::className(),['id'=>'user_id']); } //关联会话 public function getSession() { return $this->hasOne(ImMessageSessionOrder::className(),['order_id'=>'id']); } public function getVideo() { return $this->hasOne(OrderVideoInfo::className(), ['order_id' => 'id']); } }