hospital-applets-api/app/Services/MessageNoticeService.php
2023-03-27 09:28:30 +08:00

135 lines
4.0 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;
$fields = [
'notice_id',
'read_status',
'from_name',
'notice_title',
'notice_send_time',
'notice_content',
'button_type',
'link_type',
'link_params',
'show_type',
'show_params',
];
$result = MessageNotice::getMessageNoticePage($params, $fields, $page, $per_page);
if (!empty($result['data'])) {
foreach ($result['data'] as &$item) {
if (!empty($item['link_params'])) {
$item['link_params'] = json_decode($item['link_params']);
}
if (!empty($item['show_params'])) {
$item['show_params'] = json_decode($item['show_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;
$fields = [
'notice_id',
'read_status',
'from_name',
'notice_title',
'notice_send_time',
'notice_content',
'button_type',
'link_type',
'link_params',
'show_type',
'show_params',
];
$result = MessageNotice::getMessageNoticePage($params, $fields, $page, $per_page);
if (!empty($result['data'])) {
foreach ($result['data'] as &$item) {
if (!empty($item['link_params'])) {
$item['link_params'] = json_decode($item['link_params'], true);
}
if (!empty($item['show_params'])) {
$item['show_params'] = json_decode($item['show_params'], true);
}
}
}
return success($result);
}
/**
* 获取医生系统公告详情
* @return array
*/
public function getDoctorMessageSystemInfo(): array
{
$user_info = $this->request->getAttribute("userInfo") ?? [];
$notice_id = $this->request->route('notice_id');
$params = array();
$params['notice_id'] = $notice_id;
$params['user_id'] = $user_info['user_id'];
$params['notice_type'] = 2; // 消息类型1:医生服务通知 2:医生系统公告 3:患者系统消息)
$params['send_status'] = 1;
$message_notice = MessageNotice::getOne($params);
if (empty($message_notice)){
return fail();
}
if (!empty($message_notice['link_params'])) {
$message_notice['link_params'] = json_decode($message_notice['link_params'], true);
}
if (!empty($message_notice['show_params'])) {
$message_notice['show_params'] = json_decode($message_notice['show_params'], true);
}
return success($message_notice->toArray());
}
}