问诊结束列表+民族
This commit is contained in:
parent
3e8562641e
commit
b5739783ad
@ -1624,6 +1624,7 @@ class CallBackController extends AbstractController
|
||||
|
||||
$time = date('Ymd');
|
||||
$sign = md5($basic_detection_organ['app_id'] . $basic_detection_organ['app_secret'] . $time);
|
||||
dump($sign);
|
||||
if ($auth != $sign){
|
||||
return $this->detectionResultFailReturn("签名错误");
|
||||
}
|
||||
|
||||
@ -8,6 +8,7 @@ namespace App\Model;
|
||||
use Hyperf\Database\Model\Collection;
|
||||
use Hyperf\Database\Model\Relations\HasOne;
|
||||
use Hyperf\Database\Query\Builder;
|
||||
use Hyperf\DbConnection\Db;
|
||||
use Hyperf\Snowflake\Concern\Snowflake;
|
||||
|
||||
/**
|
||||
@ -434,4 +435,54 @@ class OrderInquiry extends Model
|
||||
->limit($limit)
|
||||
->get($fields);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取问诊结束会话列表-分页
|
||||
* @param array $params
|
||||
* @param array $fields
|
||||
* @param int|null $page
|
||||
* @param int|null $per_page
|
||||
* @return array
|
||||
*/
|
||||
public static function getInquiryEndPage(array $params, array $fields = ["*"], int $page = null, ?int $per_page = 10): array
|
||||
{
|
||||
$query = self::select("user_id")
|
||||
->whereNotIn('user_id', function ($query) use ($params){
|
||||
$query->select('user_id')
|
||||
->from('order_inquiry')
|
||||
->whereIn('inquiry_status', [1,2,3,4])
|
||||
->where($params)
|
||||
->groupBy(["user_id"]);
|
||||
})
|
||||
->whereIn('inquiry_status', [5,6])
|
||||
->where($params)
|
||||
->orderBy('complete_time', 'desc')
|
||||
->groupBy(["user_id"]);
|
||||
|
||||
$result = $query->paginate($per_page, $fields, "page", $page);
|
||||
|
||||
$data = array();
|
||||
$data['current_page'] = $result->currentPage();// 当前页码
|
||||
$data['total'] = $result->total();//数据总数
|
||||
$data['data'] = $result->items();//数据
|
||||
$data['per_page'] = $result->perPage();//每页个数
|
||||
$data['last_page'] = $result->lastPage();//最后一页
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取某种状态的最后一条订单
|
||||
* @param array $params
|
||||
* @param array $inquiry_status_params
|
||||
* @param array $fields
|
||||
* @return object|null
|
||||
*/
|
||||
public static function getInquiryStatusLastOne(array $params, array $inquiry_status_params,array $fields = ["*"]): object|null
|
||||
{
|
||||
return self::where($params)
|
||||
->whereIn("inquiry_status", $inquiry_status_params)
|
||||
->latest()
|
||||
->first($fields);
|
||||
}
|
||||
}
|
||||
|
||||
@ -407,10 +407,19 @@ class InquiryService extends BaseService
|
||||
$params['family_id'] = $order_inquiry_case['family_id'];
|
||||
$patient_family = PatientFamily::getOne($params);
|
||||
|
||||
// 民族
|
||||
$nation_name = "";
|
||||
if (isset($patient_family)){
|
||||
if (!empty($patient_family['nation_name'])){
|
||||
$nation_name = $patient_family['nation_name'];
|
||||
}else{
|
||||
// if (!empty($order_inquiry_case['']))
|
||||
}
|
||||
}
|
||||
$order_inquiry_case['height'] = $order_inquiry_case['height'] ?: $patient_family['height'] ?: NULL;
|
||||
$order_inquiry_case['weight'] = $order_inquiry_case['weight'] ?: $patient_family['weight'] ?: NULL;
|
||||
$order_inquiry_case['job_name'] = $patient_family['job_name'] ?? "";
|
||||
$order_inquiry_case['nation_name'] = $patient_family['nation_name'] ?? "";
|
||||
$order_inquiry_case['nation_name'] = $nation_name;
|
||||
$order_inquiry_case['marital_status'] = $patient_family['marital_status'] ?? 0;
|
||||
$order_inquiry_case['id_number'] = $patient_family['id_number'] ?? "";
|
||||
|
||||
@ -822,6 +831,8 @@ class InquiryService extends BaseService
|
||||
$page = $this->request->input('page', 1);
|
||||
$per_page = $this->request->input('per_page', 10);
|
||||
|
||||
// 获取该医生下问诊过的用户id和家庭成员id
|
||||
|
||||
$params = array();
|
||||
$params['doctor_id'] = $user_info['client_user_id'];
|
||||
|
||||
@ -849,14 +860,26 @@ class InquiryService extends BaseService
|
||||
'created_at',
|
||||
];
|
||||
|
||||
$result = OrderInquiry::getInquiryStatusWithDoctorPage($params, $inquiry_status_params, $fields, $page, $per_page);
|
||||
$result = OrderInquiry::getInquiryEndPage($params, $fields, $page, $per_page);
|
||||
|
||||
if (!empty($result['data'])) {
|
||||
foreach ($result['data'] as &$item) {
|
||||
$params = array();
|
||||
$params['message_send_result'] = 1;
|
||||
$params['order_inquiry_id'] = $item['order_inquiry_id'];
|
||||
$item['message_im'] = MessageIm::getOne($params);
|
||||
$params['doctor_id'] = $user_info['client_user_id'];
|
||||
$params['user_id'] = $item['user_id'];
|
||||
|
||||
$inquiry_status_params = [5,6];
|
||||
$order_inquiry = OrderInquiry::getInquiryStatusLastOne($params,$inquiry_status_params,$fields);
|
||||
|
||||
unset($item['user_id']);
|
||||
if (!empty($order_inquiry)){
|
||||
$item = $order_inquiry->toArray();
|
||||
|
||||
$params = array();
|
||||
$params['message_send_result'] = 1;
|
||||
$params['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
|
||||
$item['message_im'] = MessageIm::getOne($params);
|
||||
}
|
||||
}
|
||||
}
|
||||
return success($result);
|
||||
@ -1332,10 +1355,6 @@ class InquiryService extends BaseService
|
||||
$params[] = ['patient_id', '=', $patient_id];
|
||||
}
|
||||
|
||||
if (!empty($family_id)) {
|
||||
$params[] = ['family_id', '=', $family_id];
|
||||
}
|
||||
|
||||
$params = array();
|
||||
$params[] = ['patient_id', '=', $patient_id];
|
||||
$params[] = ['doctor_id', '=', $doctor_id];
|
||||
@ -1511,6 +1530,9 @@ class InquiryService extends BaseService
|
||||
$wait_assign_time = 60 * 5;
|
||||
$wait_inquiry_time = 60 * 10;
|
||||
$wait_finish_time = 60 * 30;
|
||||
} elseif ($order_inquiry['inquiry_type'] == 5) {
|
||||
// 问诊购药
|
||||
$wait_finish_time = 60 * 60 * 24 * 3;
|
||||
}
|
||||
|
||||
switch ($order_inquiry['inquiry_status']) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user