新增获取医生个人中心数据

This commit is contained in:
2023-02-22 15:52:16 +08:00
parent 5132a57752
commit 2f76b0f877
5 changed files with 68 additions and 40 deletions
+30 -6
View File
@@ -454,8 +454,12 @@ class UserDoctorService extends BaseService
return success($order_prescriptions);
}
// 获取医生个人中心数据
public function getDoctorCenter(){
/**
* 获取医生个人中心数据
* @return array
*/
public function getDoctorCenter(): array
{
$user_info = $this->request->getAttribute("userInfo") ?? [];
// 获取医生信息
@@ -487,6 +491,8 @@ class UserDoctorService extends BaseService
return fail(HttpEnumCode::HTTP_ERROR, "请先完成多点执业认证");
}
$user_doctor = $user_doctor->toArray();
// 获取账户余额
$params = array();
$params['doctor_id'] = $user_info['client_user_id'];
@@ -496,22 +502,40 @@ class UserDoctorService extends BaseService
}
// 获取当日预计收益 当日接诊的订单金额*0.75
$estimate_income = $this->getDoctorOneDayEstimateIncome($user_info['client_user_id'],date('Y-m-d',time()));
$user_doctor['balance_account'] = $balance_account ?? 0;
$user_doctor['estimate_income'] = $estimate_income;
return success($user_doctor);
}
// 获取医生某天预计收益
// 当日接诊的订单金额*0.75
protected function getDoctorOneDayEstimateIncome(string $doctor_id,string $date){
/**
* 获取医生某天预计收益
* 当日接诊的订单金额*0.75
* @param string $doctor_id
* @param string $date
* @return float
*/
protected function getDoctorOneDayEstimateIncome(string $doctor_id,string $date): float
{
// 获取当天开始时间
$start_date = date('Y-m-d 00:00:00',strtotime($date));
// 获取当天结束时间
$end_date = date('Y-m-d 23:59:59',strtotime($date));
// 获取医生当日接诊订单金额
$params = array();
$params['doctor_id'] = $doctor_id;
$params['inquiry_refund_status'] = 0; // 问诊订单退款状态(0:无退款 1:申请退款 2:退款中 3:退款成功 4:拒绝退款 5:退款关闭)
$params['inquiry_pay_status'] = 2; // 支付状态(1:未支付 2:已支付 3:支付中 4:支付失败 5:支付超时 6:支付关闭 7:已撤销 8:转入退款)
$params['settlement_status'] = 0; // 订单与医生结算状态(0:未结算 1:已结算)
$params[] = ['reception_time','>' ,$date]; // 接诊时间(已接诊)
$reception_time = [$start_date,$end_date];
$amount_total_sum = OrderInquiry::getDoctorOneDayEstimateIncome($params,$reception_time);
return $amount_total_sum * 0.75;
}
}