获取我的账户月账单明细数据数据修改
This commit is contained in:
@@ -10,7 +10,10 @@ use App\Model\DoctorBankCard;
|
||||
use App\Model\DoctorWithdrawal;
|
||||
use App\Model\DoctorWithdrawalBank;
|
||||
use App\Model\DoctorWithdrawalOrder;
|
||||
use App\Model\Order;
|
||||
use App\Model\OrderInquiry;
|
||||
use App\Model\OrderInquiryRefund;
|
||||
use App\Model\OrderServicePackageRefund;
|
||||
use App\Model\UserDoctor;
|
||||
use App\Model\UserDoctorInfo;
|
||||
use Hyperf\DbConnection\Db;
|
||||
@@ -105,65 +108,113 @@ class DoctorAccountService extends BaseService
|
||||
return fail();
|
||||
}
|
||||
|
||||
$params = array();
|
||||
$params['doctor_id'] = $user_doctor['doctor_id'];
|
||||
|
||||
// 获取当月开始时间
|
||||
$start_date = date('Y-m-01 00:00:00', strtotime($date));
|
||||
$start_date = date('Y-m-01 00:00:00',$date);
|
||||
|
||||
// 获取当月结束时间
|
||||
// 获取给定月份的下一个月的第一天,然后减去一天得到当月的最后一天
|
||||
$end_date = date("Y-m-d 23:59:59", strtotime("+1 month", strtotime($start_date)) - 1);
|
||||
|
||||
$reception_time = [$start_date, $end_date];
|
||||
$date_params = [$start_date, $end_date];
|
||||
|
||||
// 获取医生当日接诊订单金额
|
||||
$fields = [
|
||||
'order_inquiry_id',
|
||||
'inquiry_type',
|
||||
'inquiry_mode',
|
||||
'inquiry_status',
|
||||
'inquiry_refund_status',
|
||||
'inquiry_no',
|
||||
'amount_total',
|
||||
'payment_amount_total',
|
||||
'reception_time',
|
||||
'finish_time',
|
||||
'patient_name',
|
||||
'patient_sex',
|
||||
'patient_age',
|
||||
'cancel_reason',
|
||||
'cancel_remarks',
|
||||
'created_at',
|
||||
];
|
||||
$results = Order::getDoctorCreatedDateOrderInquiryPage($params,$date_params,$user_doctor['is_platform_deep_cooperation'],['*'],$page,$per_page);
|
||||
if (!empty($results['data'])) {
|
||||
foreach ($results['data'] as &$result) {
|
||||
// 入账金额
|
||||
$result['estimate_income'] = bcmul((string)$result['amount_total'],"0.75",2);
|
||||
|
||||
$params = array();
|
||||
$params['doctor_id'] = $user_info['client_user_id'];
|
||||
$inquiry_status_params = [4,5,6,7]; // 问诊订单状态(1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消)
|
||||
// 入账状态-问诊订单
|
||||
if (!empty($result['OrderInquiry'])){
|
||||
if ($result['OrderInquiry']['inquiry_status'] == 4 || $result['OrderInquiry']['inquiry_status'] == 5){
|
||||
$result['entry_status'] = 1;// 入账中
|
||||
}elseif ($result['OrderInquiry']['inquiry_status'] == 6){
|
||||
$result['entry_status'] = 2;// 入账成功
|
||||
}elseif ($result['OrderInquiry']['inquiry_status'] == 7){
|
||||
$result['entry_status'] = 3;// 入账失败
|
||||
// 获取退款数据
|
||||
$params = array();
|
||||
$params['inquiry_no'] = $result['OrderInquiry']['inquiry_no'];
|
||||
$order_inquiry_refunds = OrderInquiryRefund::getList($params);
|
||||
if (!empty($order_inquiry_refunds)){
|
||||
$refund_total = 0;
|
||||
foreach ($order_inquiry_refunds as $order_inquiry_refund){
|
||||
$refund_total = $refund_total + $order_inquiry_refund['refund_total'];
|
||||
}
|
||||
|
||||
if ($user_doctor['is_platform_deep_cooperation'] == 0){
|
||||
$order_inquiry = OrderInquiry:: getDoctorCreatedDateOrderInquiryPage($params, $reception_time, $inquiry_status_params,[],$fields,$page,$per_page);
|
||||
}else{
|
||||
$order_inquiry = OrderInquiry:: getDoctorCreatedDateOrderInquiryPage($params, $reception_time, $inquiry_status_params,[2,4],$fields,$page,$per_page);
|
||||
}
|
||||
if (!empty($order_inquiry['data'])) {
|
||||
foreach ($order_inquiry['data'] as &$item) {
|
||||
$item['estimate_income'] = bcmul((string)$item['amount_total'],"0.75",2);
|
||||
// 订单退款金额
|
||||
$result['refund_total'] = $refund_total;
|
||||
|
||||
// 入账状态
|
||||
if ($item['inquiry_status'] == 4 || $item['inquiry_status'] == 5){
|
||||
$item['entry_status'] = 1;// 入账中
|
||||
}elseif ($item['inquiry_status'] == 6){
|
||||
$item['entry_status'] = 2;// 入账成功
|
||||
}elseif ($item['inquiry_status'] == 7){
|
||||
$item['entry_status'] = 3;// 入账失败
|
||||
if (!empty($item['cancel_reason'])){
|
||||
$item['cancel_reason'] = inquiryCancelReasonToPushString($item['cancel_reason']);
|
||||
if (($result['OrderInquiry']['payment_amount_total'] - $refund_total) > 0){
|
||||
$result['entry_status'] = 2;// 入账成功
|
||||
}else{
|
||||
$result['entry_status'] = 3;// 入账失败
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($result['OrderInquiry']['cancel_reason'])){
|
||||
$result['cancel_remarks'] = inquiryCancelReasonToPushString($result['OrderInquiry']['cancel_reason']);
|
||||
}
|
||||
}else{
|
||||
$result['entry_status'] = 0;// 未知
|
||||
}
|
||||
}else{
|
||||
$item['entry_status'] = 0;// 未知
|
||||
|
||||
$result['patient_name'] = $result['OrderInquiry']['patient_name'];
|
||||
$result['patient_name_mask'] = $result['OrderInquiry']['patient_name_mask'];
|
||||
$result['patient_sex'] = $result['OrderInquiry']['patient_sex'];
|
||||
$result['patient_age'] = $result['OrderInquiry']['patient_age'];
|
||||
$result['start_time'] = $result['OrderInquiry']['reception_time'];
|
||||
$result['finish_time'] = $result['OrderInquiry']['finish_time'];
|
||||
$result['inquiry_type'] = $result['OrderInquiry']['inquiry_type'];
|
||||
$result['inquiry_mode'] = $result['OrderInquiry']['inquiry_mode'];
|
||||
}
|
||||
|
||||
// 入账状态-服务包订单
|
||||
if (!empty($result['OrderServicePackage'])){
|
||||
if ($result['OrderServicePackage']['order_service_status'] == 3){
|
||||
$result['entry_status'] = 1;// 入账中
|
||||
}elseif ($result['OrderServicePackage']['order_service_status'] == 4){
|
||||
$result['entry_status'] = 2;// 入账成功
|
||||
}elseif ($result['OrderServicePackage']['order_service_status'] == 5){
|
||||
// 获取退款数据
|
||||
$params = array();
|
||||
$params['order_service_no'] = $result['OrderServicePackage']['order_service_no'];
|
||||
$order_service_package_refunds = OrderServicePackageRefund::getList($params);
|
||||
if (!empty($order_service_package_refunds)){
|
||||
$refund_total = 0;
|
||||
foreach ($order_service_package_refunds as $order_service_package_refund){
|
||||
$refund_total = $refund_total + $order_service_package_refund['refund_total'];
|
||||
}
|
||||
|
||||
// 订单退款金额
|
||||
$result['refund_total'] = $refund_total;
|
||||
|
||||
if (($result['OrderServicePackage']['payment_amount_total'] - $refund_total) > 0){
|
||||
$result['entry_status'] = 2;// 入账成功
|
||||
}else{
|
||||
$result['entry_status'] = 3;// 入账失败
|
||||
}
|
||||
}
|
||||
}else{
|
||||
$result['entry_status'] = 0;// 未知
|
||||
}
|
||||
|
||||
$result['patient_name'] = $result['OrderServicePackage']['patient_name'];
|
||||
$result['patient_name_mask'] = $result['OrderServicePackage']['patient_name_mask'];
|
||||
$result['patient_sex'] = $result['OrderServicePackage']['patient_sex'];
|
||||
$result['patient_age'] = $result['OrderServicePackage']['patient_age'];
|
||||
$result['start_time'] = $result['OrderServicePackage']['start_time'];
|
||||
$result['finish_time'] = $result['OrderServicePackage']['finish_time'];
|
||||
}
|
||||
|
||||
unset($result['OrderInquiry']);
|
||||
unset($result['OrderServicePackage']);
|
||||
}
|
||||
}
|
||||
|
||||
return success($order_inquiry);
|
||||
return success($results);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user