获取提现数据、获取可提现问诊订单列表 增加坐班医生
This commit is contained in:
parent
1820d6ad69
commit
a7b67aba88
@ -147,8 +147,6 @@ class OrderInquiry extends Model
|
|||||||
return self::where($params)->orderBy('created_at', 'desc')->first($fields);
|
return self::where($params)->orderBy('created_at', 'desc')->first($fields);
|
||||||
}
|
}
|
||||||
|
|
||||||
// public static function
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取医生某一时间段接诊订单分页数据
|
* 获取医生某一时间段接诊订单分页数据
|
||||||
* 已结束
|
* 已结束
|
||||||
@ -209,18 +207,71 @@ class OrderInquiry extends Model
|
|||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取医生可提现金额-坐班医生
|
||||||
|
* @param array $params
|
||||||
|
* @param array $inquiry_status_params
|
||||||
|
* @param array $inquiry_type_not_params
|
||||||
|
* @param array $fields
|
||||||
|
* @return int|mixed|string
|
||||||
|
*/
|
||||||
|
public static function getCooperationDoctorCanWithdrawalInquiryOrder(array $params, array $inquiry_status_params,array $inquiry_type_not_params = [],array $fields = ["*"]): mixed
|
||||||
|
{
|
||||||
|
$data = self::where($params)
|
||||||
|
->when($inquiry_type_not_params, function ($query, $inquiry_type_not_params) {
|
||||||
|
$query->whereNotIn('inquiry_type', $inquiry_type_not_params);
|
||||||
|
})
|
||||||
|
->whereIn('inquiry_status', $inquiry_status_params)
|
||||||
|
->get($fields);
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取医生接诊订单分页数据
|
* 获取医生接诊订单分页数据
|
||||||
* 已结束
|
* 已结束
|
||||||
* @param array $params
|
* @param array $params
|
||||||
|
* @param array $inquiry_status_params
|
||||||
* @param array $fields
|
* @param array $fields
|
||||||
* @param int|null $page
|
* @param int|null $page
|
||||||
* @param int|null $per_page
|
* @param int|null $per_page
|
||||||
* @return int|mixed|string
|
* @return int|mixed|string
|
||||||
*/
|
*/
|
||||||
public static function getDoctorOrderInquiryPage(array $params, array $fields = ["*"], int $page = null, ?int $per_page = 10): mixed
|
public static function getDoctorOrderInquiryPage(array $params, array $inquiry_status_params, array $fields = ["*"], int $page = null, ?int $per_page = 10): mixed
|
||||||
{
|
{
|
||||||
$raw = self::where($params)
|
$raw = self::where($params)
|
||||||
|
->whereIn('inquiry_status', $inquiry_status_params)
|
||||||
|
->orderBy('finish_time', 'desc')
|
||||||
|
->paginate($per_page, $fields, "page", $page);
|
||||||
|
|
||||||
|
$data = array();
|
||||||
|
$data['current_page'] = $raw->currentPage();// 当前页码
|
||||||
|
$data['total'] = $raw->total();//数据总数
|
||||||
|
$data['data'] = $raw->items();//数据
|
||||||
|
$data['per_page'] = $raw->perPage();//每页个数
|
||||||
|
$data['last_page'] = $raw->lastPage();//最后一页
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取医生接诊订单分页数据-坐班医生
|
||||||
|
* 已结束
|
||||||
|
* @param array $params
|
||||||
|
* @param array $inquiry_status_params
|
||||||
|
* @param array $inquiry_type_not_params
|
||||||
|
* @param array $fields
|
||||||
|
* @param int|null $page
|
||||||
|
* @param int|null $per_page
|
||||||
|
* @return int|mixed|string
|
||||||
|
*/
|
||||||
|
public static function getCooperationDoctorOrderInquiryPage(array $params, array $inquiry_status_params,array $inquiry_type_not_params = [], array $fields = ["*"], int $page = null, ?int $per_page = 10): mixed
|
||||||
|
{
|
||||||
|
$raw = self::where($params)
|
||||||
|
->whereIn('inquiry_status', $inquiry_status_params)
|
||||||
|
->when($inquiry_type_not_params, function ($query, $inquiry_type_not_params) {
|
||||||
|
$query->whereNotIn('inquiry_type', $inquiry_type_not_params);
|
||||||
|
})
|
||||||
->orderBy('finish_time', 'desc')
|
->orderBy('finish_time', 'desc')
|
||||||
->paginate($per_page, $fields, "page", $page);
|
->paginate($per_page, $fields, "page", $page);
|
||||||
|
|
||||||
@ -257,10 +308,12 @@ class OrderInquiry extends Model
|
|||||||
* @param array $inquiry_status_params inquiry_status字段搜索条件
|
* @param array $inquiry_status_params inquiry_status字段搜索条件
|
||||||
* @return int|mixed|string
|
* @return int|mixed|string
|
||||||
*/
|
*/
|
||||||
public static function getCooperationDoctorAmountTotal(array $params, array $reception_time, array $inquiry_status_params): mixed
|
public static function getCooperationDoctorAmountTotal(array $params, array $reception_time, array $inquiry_status_params,array $inquiry_type_not_params = []): mixed
|
||||||
{
|
{
|
||||||
return self::where($params)
|
return self::where($params)
|
||||||
->whereNotIn('inquiry_type',[2,4])
|
->when($inquiry_type_not_params, function ($query, $inquiry_type_not_params) {
|
||||||
|
$query->whereNotIn('inquiry_type', $inquiry_type_not_params);
|
||||||
|
})
|
||||||
->whereIn('inquiry_status', $inquiry_status_params)
|
->whereIn('inquiry_status', $inquiry_status_params)
|
||||||
->whereBetween('reception_time', $reception_time)
|
->whereBetween('reception_time', $reception_time)
|
||||||
->orderBy('reception_time')
|
->orderBy('reception_time')
|
||||||
|
|||||||
@ -266,7 +266,11 @@ class DoctorAccountService extends BaseService
|
|||||||
$order_inquiry_id_array = $in_params;
|
$order_inquiry_id_array = $in_params;
|
||||||
}else{
|
}else{
|
||||||
$InquiryService = new InquiryService();
|
$InquiryService = new InquiryService();
|
||||||
$order_inquiry = $InquiryService->getDoctorCanWithdrawalInquiryOrder($user_info['client_user_id']);
|
if ($user_doctor['is_platform_deep_cooperation'] == 0){
|
||||||
|
$order_inquiry = $InquiryService->getDoctorCanWithdrawalInquiryOrder($user_info['client_user_id']);
|
||||||
|
}else{
|
||||||
|
$order_inquiry = $InquiryService->getCooperationDoctorCanWithdrawalInquiryOrder($user_info['client_user_id']);
|
||||||
|
}
|
||||||
|
|
||||||
if (!empty($order_inquiry)){
|
if (!empty($order_inquiry)){
|
||||||
foreach ($order_inquiry as $value){
|
foreach ($order_inquiry as $value){
|
||||||
@ -307,6 +311,14 @@ class DoctorAccountService extends BaseService
|
|||||||
$page = $this->request->input('page', 1);
|
$page = $this->request->input('page', 1);
|
||||||
$per_page = $this->request->input('per_page', 10);
|
$per_page = $this->request->input('per_page', 10);
|
||||||
|
|
||||||
|
// 获取医生信息
|
||||||
|
$params = array();
|
||||||
|
$params['doctor_id'] = $user_info['client_user_id'];
|
||||||
|
$user_doctor = UserDoctor::getOne($params);
|
||||||
|
if (empty($user_doctor)) {
|
||||||
|
return fail();
|
||||||
|
}
|
||||||
|
|
||||||
// 获取医生当日接诊订单金额
|
// 获取医生当日接诊订单金额
|
||||||
$fields = [
|
$fields = [
|
||||||
'order_inquiry_id',
|
'order_inquiry_id',
|
||||||
@ -326,10 +338,18 @@ class DoctorAccountService extends BaseService
|
|||||||
|
|
||||||
$params = array();
|
$params = array();
|
||||||
$params['doctor_id'] = $user_info['client_user_id'];
|
$params['doctor_id'] = $user_info['client_user_id'];
|
||||||
$params['inquiry_status'] = 6; // inquiry_status:问诊订单状态(1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消)
|
|
||||||
$params['inquiry_refund_status'] = 0; // inquiry_refund_status:问诊订单退款状态(0:无退款 1:申请退款 2:退款中 3:退款成功 4:拒绝退款 5:退款关闭)
|
$params['inquiry_refund_status'] = 0; // inquiry_refund_status:问诊订单退款状态(0:无退款 1:申请退款 2:退款中 3:退款成功 4:拒绝退款 5:退款关闭)
|
||||||
|
|
||||||
$order_inquiry = OrderInquiry:: getDoctorOrderInquiryPage($params, $fields,$page,$per_page);
|
$inquiry_status_params = [6]; // 问诊订单状态(1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消)
|
||||||
|
|
||||||
|
|
||||||
|
if ($user_doctor['is_platform_deep_cooperation'] == 0){
|
||||||
|
$order_inquiry = OrderInquiry:: getDoctorOrderInquiryPage($params,$inquiry_status_params, $fields,$page,$per_page);
|
||||||
|
}else{
|
||||||
|
$inquiry_type_not_params = [2,4];
|
||||||
|
$order_inquiry = OrderInquiry:: getCooperationDoctorOrderInquiryPage($params,$inquiry_status_params,$inquiry_type_not_params, $fields,$page,$per_page);
|
||||||
|
}
|
||||||
|
|
||||||
if (!empty($order_inquiry['data'])) {
|
if (!empty($order_inquiry['data'])) {
|
||||||
foreach ($order_inquiry['data'] as &$item) {
|
foreach ($order_inquiry['data'] as &$item) {
|
||||||
$item['expected_amount_total'] = floor($item['amount_total'] * 0.75 * 100) / 100;
|
$item['expected_amount_total'] = floor($item['amount_total'] * 0.75 * 100) / 100;
|
||||||
|
|||||||
@ -1671,7 +1671,9 @@ class InquiryService extends BaseService
|
|||||||
|
|
||||||
$inquiry_status_params = [4,5]; // 问诊订单状态(1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消)
|
$inquiry_status_params = [4,5]; // 问诊订单状态(1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消)
|
||||||
|
|
||||||
$amount_total_sum = OrderInquiry::getCooperationDoctorAmountTotal($params, $reception_time, $inquiry_status_params);
|
$inquiry_type_not_params = [2,4];
|
||||||
|
|
||||||
|
$amount_total_sum = OrderInquiry::getCooperationDoctorAmountTotal($params, $reception_time, $inquiry_status_params,$inquiry_type_not_params);
|
||||||
|
|
||||||
return $amount_total_sum ?: 0;
|
return $amount_total_sum ?: 0;
|
||||||
}
|
}
|
||||||
@ -1734,7 +1736,9 @@ class InquiryService extends BaseService
|
|||||||
|
|
||||||
$inquiry_status_params = [5]; // 问诊订单状态(1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消)
|
$inquiry_status_params = [5]; // 问诊订单状态(1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消)
|
||||||
|
|
||||||
$amount_total_sum = OrderInquiry::getCooperationDoctorAmountTotal($params, $reception_time, $inquiry_status_params);
|
$inquiry_type_not_params = [2,4];
|
||||||
|
|
||||||
|
$amount_total_sum = OrderInquiry::getCooperationDoctorAmountTotal($params, $reception_time, $inquiry_status_params,$inquiry_type_not_params);
|
||||||
|
|
||||||
return $amount_total_sum ?: 0;
|
return $amount_total_sum ?: 0;
|
||||||
}
|
}
|
||||||
@ -1763,6 +1767,33 @@ class InquiryService extends BaseService
|
|||||||
return $order_inquiry->toArray();
|
return $order_inquiry->toArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取医生可提现金额-坐班医生
|
||||||
|
* @param string $doctor_id
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getCooperationDoctorCanWithdrawalInquiryOrder(string $doctor_id): array
|
||||||
|
{
|
||||||
|
// 获取医生当日接诊订单金额
|
||||||
|
$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['statistics_status'] = 1; // 订单统计状态(0:未统计 1:已统计 2:统计失败)
|
||||||
|
$params['is_withdrawal'] = 0; // 是否提现(0:否 1:是 2:提现中)
|
||||||
|
|
||||||
|
$inquiry_status_params = [6]; // 问诊订单状态(1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消)
|
||||||
|
|
||||||
|
$inquiry_type_not_params = [2,4];
|
||||||
|
|
||||||
|
$order_inquiry = OrderInquiry::getCooperationDoctorCanWithdrawalInquiryOrder($params,$inquiry_status_params,$inquiry_type_not_params);
|
||||||
|
if (empty($order_inquiry)) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
return $order_inquiry->toArray();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取患者某一状态下的问诊订单数量
|
* 获取患者某一状态下的问诊订单数量
|
||||||
* @param string $patient_id 患者id
|
* @param string $patient_id 患者id
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user