我的账户数据修改-获取我的账户数据

This commit is contained in:
2024-04-22 14:30:46 +08:00
parent 155ce8d7aa
commit 5d79f4795b
9 changed files with 426 additions and 205 deletions
+42 -92
View File
@@ -12,6 +12,7 @@ use App\Constants\HttpEnumCode;
use App\Exception\BusinessException;
use App\Factory\CacheFactory;
use App\Factory\ProdRedisFactory;
use App\Model\DoctorAccountDay;
use App\Model\DoctorConfigFollowPackage;
use App\Model\DoctorConfigFollowPackageItem;
use App\Model\DoctorConfigHealthPackage;
@@ -454,112 +455,61 @@ class TestController extends AbstractController
}
public function test_17(){
$user_info = $this->request->getAttribute("userInfo") ?? [];
$year = $this->request->input('date');
$date = date('Y-m-d',strtotime("2024-04-15"));
// 获取医生数据
$params = array();
$params['doctor_id'] = "516900370252341248";
$user_doctor = UserDoctor::getOne($params);
if (empty($user_doctor)){
return fail();
}
$params = array();
$params['doctor_id'] = "516900370252341248";
// 获取当开始时间
$start_date = date('Y-m-01 00:00:00', strtotime("2024-04-19"));
// 获取当开始时间
$start_date = date('Y-m-d 00:00:00', strtotime($date));
// 获取当结束时间
// 获取给定月份的下一个月的第一天,然后减去一天得到当月的最后一天
$end_date = date("Y-m-d 23:59:59", strtotime("+1 month", strtotime($start_date)) - 1);
// 获取当结束时间
$end_date = date('Y-m-d 23:59:59', strtotime($date));
$date_params = [$start_date, $end_date];
$results = Order::getDoctorCreatedDateOrderInquiryPage($params,$date_params,1,["*"]);
if (!empty($results['data'])) {
foreach ($results['data'] as &$result) {
// 入账金额
$result['estimate_income'] = bcmul((string)$result['amount_total'],"0.75",2);
// 入账状态-问诊订单
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'];
}
$inquiryService = new InquiryService();
// 订单退款金额
$result['refund_total'] = $refund_total;
// 获取医生当日接诊的订单金额
$doctor_today_inquiry_total = Order::getDoctorDayAmountTotal($params,$date_params,1);
if (($result['OrderInquiry']['payment_amount_total'] - $refund_total) > 0){
$result['entry_status'] = 2;// 入账成功
}else{
$result['entry_status'] = 3;// 入账失败
}
}
// 获取医生当日已完成待入帐的订单金额
$doctor_day_completed_amount_total = Order::getDoctorDayCompletedAmountTotal($params,$date_params,0);
if (!empty($result['OrderInquiry']['cancel_reason'])){
$result['cancel_remarks'] = inquiryCancelReasonToPushString($result['OrderInquiry']['cancel_reason']);
}
}else{
$result['entry_status'] = 0;// 未知
}
if ($user_doctor['is_platform_deep_cooperation'] == 0){
// // 获取医生当日接诊的订单金额
// $doctor_today_inquiry_total = $inquiryService->getDoctorDayAmountTotal($user_info['client_user_id'],$date);
$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'];
}
// 获取医生当日已完成未结束的订单金额
// $doctor_day_completed_amount_total = $inquiryService->getDoctorDayCompletedAmountTotal($user_info['client_user_id'],$date);
}else{
// // 获取医生当日接诊的订单金额-坐班医生
// $doctor_today_inquiry_total = $inquiryService->getCooperationDoctorDayAmountTotal($user_info['client_user_id'],$date);
// 入账状态-服务包订单
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']);
}
// 获取医生当日已完成未结束的订单金额-坐班医生
// $doctor_day_completed_amount_total = $inquiryService->getCooperationDoctorCompletedAmountTotal($user_info['client_user_id'],$date);
}
return success($results);
$result = array();
$result['doctor_today_inquiry_total'] = bcmul((string)$doctor_today_inquiry_total,"0.75",2); // 今日接诊收入
return success($result);
}
}