获取我的账户月账单明细数据数据修改

This commit is contained in:
2024-04-22 09:48:27 +08:00
parent 4fdf7e2cc2
commit 5600baf259
5 changed files with 275 additions and 102 deletions
+95 -44
View File
@@ -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);
}
/**