修改问诊订单详情
This commit is contained in:
parent
121c2c5434
commit
1befd6a06c
24
app/Controller/MessageNoticeController.php
Normal file
24
app/Controller/MessageNoticeController.php
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Controller;
|
||||||
|
|
||||||
|
use App\Services\MessageNoticeService;
|
||||||
|
use Psr\Http\Message\ResponseInterface;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通知消息
|
||||||
|
* 不区分各端
|
||||||
|
*/
|
||||||
|
class MessageNoticeController extends AbstractController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 获取医生服务消息列表-分页
|
||||||
|
* @return ResponseInterface
|
||||||
|
*/
|
||||||
|
public function getDoctorMessageService(): ResponseInterface
|
||||||
|
{
|
||||||
|
$MessageNoticeService = new MessageNoticeService();
|
||||||
|
$data = $MessageNoticeService->getDoctorMessageService();
|
||||||
|
return $this->response->json($data);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -5,7 +5,6 @@ declare(strict_types=1);
|
|||||||
namespace App\Model;
|
namespace App\Model;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
use Hyperf\Database\Model\Collection;
|
use Hyperf\Database\Model\Collection;
|
||||||
use Hyperf\Snowflake\Concern\Snowflake;
|
use Hyperf\Snowflake\Concern\Snowflake;
|
||||||
|
|
||||||
@ -15,6 +14,7 @@ use Hyperf\Snowflake\Concern\Snowflake;
|
|||||||
* @property int $user_type 用户类型(1:患者端 2:医师端 3:药师端)
|
* @property int $user_type 用户类型(1:患者端 2:医师端 3:药师端)
|
||||||
* @property int $notice_type 消息类型(1:医生服务通知 2:医生系统公告 3:患者系统消息)
|
* @property int $notice_type 消息类型(1:医生服务通知 2:医生系统公告 3:患者系统消息)
|
||||||
* @property int $notice_system_type 系统消息类型(患者端系统消息存在 1:服务消息 2:福利消息 3:退款消息 4:物流消息)
|
* @property int $notice_system_type 系统消息类型(患者端系统消息存在 1:服务消息 2:福利消息 3:退款消息 4:物流消息)
|
||||||
|
* @property int $read_status 读取状态(0:未读 1:已读)
|
||||||
* @property string $from_name 发送人姓名
|
* @property string $from_name 发送人姓名
|
||||||
* @property string $notice_title 消息标题
|
* @property string $notice_title 消息标题
|
||||||
* @property string $notice_send_time 发送时间
|
* @property string $notice_send_time 发送时间
|
||||||
@ -38,7 +38,7 @@ class MessageNotice extends Model
|
|||||||
/**
|
/**
|
||||||
* The attributes that are mass assignable.
|
* 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";
|
protected string $primaryKey = "message_id";
|
||||||
|
|
||||||
@ -83,4 +83,37 @@ class MessageNotice extends Model
|
|||||||
{
|
{
|
||||||
return self::create($data);
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
74
app/Model/MessageNoticeSystem.php
Normal file
74
app/Model/MessageNoticeSystem.php
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Model;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
use Hyperf\Database\Model\Collection;
|
||||||
|
use Hyperf\Snowflake\Concern\Snowflake;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @property int $notice_id 主键id
|
||||||
|
* @property int $notice_type 消息类型(1:医生服务通知 2:医生系统公告 3:患者系统消息)
|
||||||
|
* @property int $notice_system_type 系统消息类型(患者端系统消息存在 1:服务消息 2:福利消息 3:退款消息 4:物流消息)
|
||||||
|
* @property string $from_name 发送人姓名
|
||||||
|
* @property string $notice_title 消息标题
|
||||||
|
* @property string $notice_content 内容
|
||||||
|
* @property int $send_status 发送状态(0:未处理 1:已发送 2:发送失败)
|
||||||
|
* @property string $notice_send_time 发送时间
|
||||||
|
* @property string $send_fail_reason 发送失败原因
|
||||||
|
* @property int $link_type 链接类型(1:无按钮 2:我的账户 3:联系客服 4:问诊消息 5:多点执业认证 6:协议书)
|
||||||
|
* @property string $notice_params 通知参数(json数据,此字段内容和link_type字段有关联)
|
||||||
|
* @property \Carbon\Carbon $created_at 创建时间
|
||||||
|
* @property \Carbon\Carbon $updated_at 修改时间
|
||||||
|
*/
|
||||||
|
class MessageNoticeSystem extends Model
|
||||||
|
{
|
||||||
|
use Snowflake;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The table associated with the model.
|
||||||
|
*/
|
||||||
|
protected ?string $table = 'message_notice_system';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The attributes that are mass assignable.
|
||||||
|
*/
|
||||||
|
protected array $fillable = ['notice_id', 'notice_type', 'notice_system_type', 'from_name', 'notice_title', 'notice_content', 'send_status', 'notice_send_time', 'send_fail_reason', 'link_type', 'notice_params', 'created_at', 'updated_at'];
|
||||||
|
|
||||||
|
protected string $primaryKey = "message_id";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取是否存在
|
||||||
|
* @param array $params
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public static function getExists(array $params): bool
|
||||||
|
{
|
||||||
|
return self::where($params)->exists();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取信息-单条
|
||||||
|
* @param array $params
|
||||||
|
* @param array $fields
|
||||||
|
* @return object|null
|
||||||
|
*/
|
||||||
|
public static function getOne(array $params, array $fields = ['*']): object|null
|
||||||
|
{
|
||||||
|
return self::where($params)->first($fields);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取数据-多
|
||||||
|
* @param array $params
|
||||||
|
* @param array $fields
|
||||||
|
* @return Collection|array
|
||||||
|
*/
|
||||||
|
public static function getList(array $params = [], array $fields = ['*']): Collection|array
|
||||||
|
{
|
||||||
|
return self::where($params)->get($fields);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -299,8 +299,8 @@ class LoginService extends BaseService
|
|||||||
$data['user_id'] = $user->user_id;
|
$data['user_id'] = $user->user_id;
|
||||||
$data['user_name'] = $user['user_name'];
|
$data['user_name'] = $user['user_name'];
|
||||||
$data['status'] = 1;
|
$data['status'] = 1;
|
||||||
$data['open_id'] = $open_id;
|
$data['open_id'] = $open_id ?? '';
|
||||||
$data['wx_session_key'] = $session_key;
|
$data['wx_session_key'] = $session_key ?? "";
|
||||||
|
|
||||||
if ($user['user_type'] == 1) {
|
if ($user['user_type'] == 1) {
|
||||||
// 患者
|
// 患者
|
||||||
@ -391,7 +391,7 @@ class LoginService extends BaseService
|
|||||||
$token_user_data = array();
|
$token_user_data = array();
|
||||||
$token_user_data['user_id'] = $user['user_id']; // 用户id
|
$token_user_data['user_id'] = $user['user_id']; // 用户id
|
||||||
$token_user_data['user_type'] = $user['user_type'];// 用户类型
|
$token_user_data['user_type'] = $user['user_type'];// 用户类型
|
||||||
$token_user_data['open_id'] = $open_id;// open_id
|
$token_user_data['open_id'] = $open_id ?? "";// open_id
|
||||||
$token_user_data['client_user_id'] = $client_user_id;// 对应客户端id
|
$token_user_data['client_user_id'] = $client_user_id;// 对应客户端id
|
||||||
|
|
||||||
// 发放token
|
// 发放token
|
||||||
|
|||||||
50
app/Services/MessageNoticeService.php
Normal file
50
app/Services/MessageNoticeService.php
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
<?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;
|
||||||
|
|
||||||
|
$message_notice_system_params = array();
|
||||||
|
$message_notice_system_params["notice_type"] = 1;
|
||||||
|
$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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -196,6 +196,7 @@ class PatientOrderService extends BaseService
|
|||||||
$order_inquiry['user_doctor'] = [];
|
$order_inquiry['user_doctor'] = [];
|
||||||
if (!empty($order_inquiry['doctor_id'])) {
|
if (!empty($order_inquiry['doctor_id'])) {
|
||||||
$fields = [
|
$fields = [
|
||||||
|
'user_id',
|
||||||
'doctor_id',
|
'doctor_id',
|
||||||
'user_name',
|
'user_name',
|
||||||
'doctor_title',
|
'doctor_title',
|
||||||
|
|||||||
@ -19,6 +19,7 @@ use App\Controller\IndexController;
|
|||||||
use App\Controller\InquiryController;
|
use App\Controller\InquiryController;
|
||||||
use App\Controller\LoginController;
|
use App\Controller\LoginController;
|
||||||
use App\Controller\CodeController;
|
use App\Controller\CodeController;
|
||||||
|
use App\Controller\MessageNoticeController;
|
||||||
use App\Controller\PatientCaseController;
|
use App\Controller\PatientCaseController;
|
||||||
use App\Controller\PatientCenterController;
|
use App\Controller\PatientCenterController;
|
||||||
use App\Controller\PatientDoctorController;
|
use App\Controller\PatientDoctorController;
|
||||||
@ -185,6 +186,15 @@ Router::addGroup('/doctor', function () {
|
|||||||
Router::get('', [UserDoctorController::class, 'getDoctorBrief']);
|
Router::get('', [UserDoctorController::class, 'getDoctorBrief']);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 消息通知
|
||||||
|
Router::addGroup('/message', function () {
|
||||||
|
// 获取医生服务消息列表-分页
|
||||||
|
Router::get('/service', [MessageNoticeController::class, 'getDoctorMessageService']);
|
||||||
|
|
||||||
|
// 获取医生系统公告列表-分页
|
||||||
|
Router::get('/system', [MessageNoticeController::class, 'getDoctorMessageSystem']);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -574,6 +584,16 @@ Router::addGroup('/address', function () {
|
|||||||
Router::delete('/{address_id:\d+}', [UserController::class, 'deleteUserAddress']);
|
Router::delete('/{address_id:\d+}', [UserController::class, 'deleteUserAddress']);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// 消息通知
|
||||||
|
Router::addGroup('/message', function () {
|
||||||
|
// 消息已读
|
||||||
|
Router::post('/read/{notice_id:\d+}', [UserDoctorController::class, 'getDoctorCenter']);
|
||||||
|
|
||||||
|
// 一键消息已读
|
||||||
|
Router::get('/read', [UserDoctorController::class, 'getDoctorCenterInfo']);
|
||||||
|
});
|
||||||
|
|
||||||
// 未开发接口
|
// 未开发接口
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user