hospital-applets-api/app/Services/MessageNoticeService.php

84 lines
2.5 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace App\Services;
use App\Model\MessageNotice;
/**
* 通知消息
* 不区分各端
*/
class MessageNoticeService extends BaseService
{
/**
* 获取医生服务消息列表-分页
* @return array
*/
public function getDoctorMessageService(): array
{
$user_info = $this->request->getAttribute("userInfo") ?? [];
$page = $this->request->input('page', 1);
$per_page = $this->request->input('per_page', 10);
$params = array();
$params['user_id'] = $user_info['user_id'];
$params['user_type'] = 2;
$params['notice_type'] = 1; // 消息类型1:医生服务通知 2:医生系统公告 3:患者系统消息
$params['send_status'] = 1;
$result = MessageNotice::getMessageNoticePage($params,["*"],$page,$per_page);
if (!empty($result['data'])){
foreach ($result['data'] as &$item){
/**
* 处理通知参数json数据此字段内容和link_type字段有关联
* link_type
* 1无按钮
* 2我的账户
* 3联系客服
* 4问诊消息
*/
$item['notice_params'] = json_decode($item['notice_params']) ?: [];
}
}
return success($result);
}
/**
* 获取医生系统公告列表-分页
* @return array
*/
public function getDoctorMessageSystem(): array
{
$user_info = $this->request->getAttribute("userInfo") ?? [];
$page = $this->request->input('page', 1);
$per_page = $this->request->input('per_page', 10);
$params = array();
$params['user_id'] = $user_info['user_id'];
$params['user_type'] = 2;
$params['notice_type'] = 2; // 消息类型1:医生服务通知 2:医生系统公告 3:患者系统消息
$params['send_status'] = 1;
$message_notice_system_params = array();
$message_notice_system_params["notice_type"] = 2;
$message_notice_system_params["send_status"] = 1;
$fields = [
'notice_id',
'notice_system_type',
'from_name',
'notice_title',
'notice_content',
'send_status',
'notice_send_time',
'link_type',
'notice_params',
];
$result = MessageNotice::getMessageNoticePage($params,$message_notice_system_params,$fields,$page,$per_page);
return success($result);
}
}