修改问诊订单详情

This commit is contained in:
2023-03-25 16:23:59 +08:00
parent 121c2c5434
commit 1befd6a06c
7 changed files with 207 additions and 5 deletions
+35 -2
View File
@@ -5,7 +5,6 @@ declare(strict_types=1);
namespace App\Model;
use Hyperf\Database\Model\Collection;
use Hyperf\Snowflake\Concern\Snowflake;
@@ -15,6 +14,7 @@ use Hyperf\Snowflake\Concern\Snowflake;
* @property int $user_type 用户类型(1:患者端 2:医师端 3:药师端)
* @property int $notice_type 消息类型(1:医生服务通知 2:医生系统公告 3:患者系统消息)
* @property int $notice_system_type 系统消息类型(患者端系统消息存在 1:服务消息 2:福利消息 3:退款消息 4:物流消息)
* @property int $read_status 读取状态(0:未读 1:已读)
* @property string $from_name 发送人姓名
* @property string $notice_title 消息标题
* @property string $notice_send_time 发送时间
@@ -38,7 +38,7 @@ class MessageNotice extends Model
/**
* The attributes that are mass assignable.
*/
protected array $fillable = ['notice_id', 'user_id', 'user_type', 'notice_type', 'notice_system_type', 'from_name', 'notice_title', 'notice_send_time', 'notice_content', 'send_status', 'send_fail_reason', 'link_type', 'notice_params', 'created_at', 'updated_at'];
protected array $fillable = ['notice_id', 'user_id', 'user_type', 'notice_type', 'notice_system_type', 'read_status', 'from_name', 'notice_title', 'notice_send_time', 'notice_content', 'send_status', 'send_fail_reason', 'link_type', 'notice_params', 'created_at', 'updated_at'];
protected string $primaryKey = "message_id";
@@ -83,4 +83,37 @@ class MessageNotice extends Model
{
return self::create($data);
}
/**
* 获取数据-分页
* @param array $params
* @param array $message_notice_system_params
* @param array $fields
* @param int|null $page
* @param int|null $per_page
* @return array
*/
public static function getMessageNoticePage(array $params, array $message_notice_system_params, array $fields = ["*"], int $page = null, ?int $per_page = 10): array
{
// 获取系统消息
$message_notice_system = MessageNoticeSystem::select($fields)->where($message_notice_system_params)->orderBy('notice_send_time', 'desc');
$notice_system = self::select($fields)->where($params)->orderBy('notice_send_time', 'desc');
// 合并查询结果为一个虚拟表
$query = $message_notice_system->union($notice_system);
$results = $query->orderBy('notice_send_time', 'desc')
->paginate($per_page, $fields, "page", $page);
$data = array();
$data['current_page'] = $results->currentPage();// 当前页码
$data['total'] = $results->total();//数据总数
$data['data'] = $results->items();//数据
$data['per_page'] = $results->perPage();//每页个数
$data['last_page'] = $results->lastPage();//最后一页
return $data;
}
}