123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356 |
- syntax = "proto3";
- package com.ywt.gapi.consult;
- //option java_generic_services = true;
- option java_multiple_files = true;
- option java_package = "com.ywt.gapi.consult";
- option java_outer_classname = "ConsultProto";
- //创建咨询订单请求
- message CreateConsultingOrderRequest{
- int32 userId = 1;
- string mobile = 2;
- string patientName = 3;
- int32 age = 4;
- int32 sex = 5;
- string desc = 6;
- string images = 7;
- int32 doctorId = 8;
- int32 recordId = 9;
- string idNo = 10; //身份证号
- int32 userPatientId = 11; //对应user_patient表的id
- int32 terminal = 12; //当前终端
- int32 shared = 13; //咨询内容是否可被分享查看,1-是 0-否
- int32 consultType = 14; //咨询类型:1-咨询 2-复诊
- int32 free = 15; // 免费问诊标识,0-非免费,1-免费问诊;版本:v2.7.0 三天免费问诊,v2.8.0 免费咨询排班等需求
- int32 teamId = 16;
- bool mrVisible = 17; // 允许医生查看我的病历、检验检查等资料
- int32 consultFee = 18; // 互联网医院v4.5.7(新冠线上门诊)新增咨询费用
- int32 type = 19; // 订单类型,0-线上问诊,1-医生团队问诊(根据consult_order的team_id),2-新冠线上门诊,默认0
- }
- //创建咨询订单响应
- message CreateConsultingOrderResponse{
- int32 code = 1;
- repeated string imageUrl = 2;
- string sessionId = 3;
- int32 orderId = 4;
- int32 orderType = 5;
- string msg = 6;
- }
- //订单支付成功通知消息
- message PayConsultingCallbackRequest{
- string orderNo = 1;
- int32 orderId = 2;
- int32 payType = 3; //1: 微信; 2: 管理员线下收费
- string custom = 4; //回发创建单时设置的自定义数据
- int32 bizId = 5;
- string paymentNo = 6; //订单中心支付流水号
- int32 userId = 7;//用户id
- string prepayId = 8; //本次支付微信 prepay_id
- int32 terminal = 9; //发起支付终端
- string openid = 10; //完成微信支付的微信用户 openid
- int32 paymentChannel = 11;
- string oneTimeCustom = 12;//本次操作自定义数据
- }
- //订单支付成功通知响应消息
- message PayConsultingCallbackResponse{
- int32 code = 1;
- string info = 2;
- }
- //咨询订单接诊/退诊请求
- message ArrangeConsultingRequest{
- int32 doctorId = 1; //医生Id
- int32 orderId = 2; //订单Id
- int32 isArranged = 3; //1-接诊 0-退诊
- }
- //咨询订单接诊/退诊响应
- message ArrangeConsultingResponse{
- int32 code = 1;
- string msg = 2;
- int32 patientId = 3;
- }
- message CancelConsultingRequest{
- int32 orderId = 1;
- int32 userId = 2;
- }
- message CancelConsultingResponse{
- int32 code = 1;
- string msg = 2;
- }
- //咨询订单退款回调
- message RefundConsultingCallbackRequest{
- int32 amount = 1; //已退金额
- int32 bizId = 2;
- int32 orderId = 3;
- string orderNo = 4;
- string refundNo = 5; //退款单号
- int32 refundStatus = 6; //退款状态 1: 退款成功,2: 退款异常,3: 退款关闭
- string custom = 7; //回发 custom 数据
- }
- message RefundConsultingCallbackResponse{
- int32 code = 1;
- string msg = 2;
- }
- //线上咨询排班
- message ConsultingSchedule{
- int32 scheduleId = 1;
- int32 doctorId = 2;
- int64 createTime = 3;
- int32 datePeriod = 4;
- int32 repeated = 5;
- int32 week = 6;
- int64 scheduleDate = 7;
- }
- //线上咨询排班列表
- message GetConsultingScheduleListRequest{
- int32 doctorId = 1;
- }
- message GetConsultingScheduleListResponse{
- int32 code = 1;
- string msg = 2;
- repeated ConsultingSchedule schedule = 3;
- }
- //设置线上咨询排班
- message SetConsultingScheduleRequest{
- int32 doctorId = 1;
- int32 repeated = 2;
- string serviceDate = 3;
- int32 datePeriod = 4;
- }
- message SetConsultingScheduleResponse{
- int32 code = 1;
- string msg = 2;
- }
- //取消线上排班
- message CancelConsultingScheduleRequest{
- int32 doctorId = 1;
- int32 scheduleId = 2;
- }
- message CancelConsultingScheduleResponse{
- int32 code = 1;
- string msg = 2;
- }
- // 咨询订单定义类
- message ConsultOrder{
- int32 orderId = 1;
- int32 consultId = 2;
- string orderTitle = 3;
- int32 orderType = 4;
- string orderNo = 5;
- string patientName = 6;
- int32 patientSex = 7;
- string strPatientSex = 8;
- string hospitalName = 9;
- string doctorName = 10;
- string deptName = 11;
- int64 createTime = 12;
- int32 orderAmount = 13;
- string strOrderAmount = 14;
- string statusName = 15;
- int32 doctorId = 16;
- int32 paymentStatus = 17;
- int32 userId = 18;
- string patientMobile = 19;
- int32 patientAge = 20;
- string description = 21;
- int32 hospitalId = 22;
- int32 deptId = 23;
- string sessionId = 24;
- int32 status = 25;
- int32 patientId = 26;
- string idNo = 27;
- int32 extStatus = 28;
- int64 acceptTime = 29;
- int32 teamId = 30;// 团队 id
- int32 teamOperateDocId = 31;// 团队操作医生 id
- string teamOperateDocName = 32;
- string address = 33;
- int64 payTime = 34;
- int32 typeInt = 35; // 订单类型(数字),0-线上问诊,1-医生团队问诊(根据consult_order的team_id),2-新冠线上门诊,默认0
- string typeStr = 36; // 订单类型(文字),0-线上问诊,1-医生团队问诊(根据consult_order的team_id),2-新冠线上门诊,默认0
- }
- // 得到咨询订单列表
- message GetConsultOrderListRequest{
- int32 userId = 1;
- int32 pageIndex = 2;
- int32 pageSize = 3;
- int32 hospitalId = 4;
- }
- message GetConsultOrderListResponse{
- int32 code = 1;
- string msg = 2;
- repeated ConsultOrder consult = 3;
- int32 count = 4;
- int32 totalPages = 5;
- }
- //获取咨询订单详情请求
- message GetConsultOrderRequest{
- int32 orderId = 1;
- int32 userId = 2;
- }
- //获取咨询订单详情响应
- message GetConsultOrderResponse{
- int32 code = 1;
- string msg = 2;
- ConsultOrder consult = 3; //咨询订单详情
- repeated string imageUrl = 4; //订单图片链接
- }
- message GetLatestAcceptedConsultOrderRequest {
- int32 doctorId = 1;
- int32 userId = 2;
- }
- message GetLatestAcceptedConsultOrderResponse {
- int32 code = 1;
- string info = 2;
- ConsultOrder consultOrder = 3;
- }
- message GetFreeConsultDoctorListRequest {
- int32 pageIndex = 1;
- int32 pageSize = 2;
- string keyword = 3;
- int32 hospitalId = 4;
- int32 dayOfWeek = 5;//星期几
- int32 terminal = 6;
- }
- message FreeConsultDoctorInfo {
- int32 id = 1;
- int32 doctorId = 2;
- string doctorName = 3;
- string hospitalIds = 4;
- int32 weight = 5;
- int32 monday = 6;
- int32 tuesday = 7;
- int32 wednesday = 8;
- int32 thursday = 9;
- int32 friday = 10;
- int32 saturday = 11;
- int32 sunday = 12;
- string title = 13;
- string hospitalName = 14;
- string deptName = 15;
- string avatar = 16;
- string specialty= 17;
- bool negReception = 18;
- string negReceptionHint = 19;
- int32 consultFee = 20; // 咨询费:分
- string consultFeeStr = 21; // 咨询费:元
- }
- message GetFreeConsultDoctorListResponse {
- int32 code = 1;
- string info = 2;
- repeated FreeConsultDoctorInfo doctorInfo = 3;
- int32 count = 4;
- int32 totalPages = 5;
- }
- message GetFreeConsultDoctorRequest {
- int32 hospitalId = 1;
- int32 doctorId = 2;
- int32 terminal = 3;
- }
- message GetFreeConsultDoctorResponse {
- int32 code = 1;
- string info = 2;
- FreeConsultDoctorInfo doctorInfo = 3;
- }
- // 发送病历消息请求
- message SendMedRecordRequest {
- int32 terminal = 1;
- string content = 2;
- int32 orderId = 3;// 咨询或随访订单 id
- int32 fromUserId = 4;
- string fromUserName = 5;
- int32 toUserId = 6;
- string toUserName = 7;
- string sessionId = 8;
- int32 bizType = 9;// 业务类型
- int32 medRecordId = 10;// 在院病历 id
- int32 medRecordType = 11;// 在院病历类型:1-检验报告;2-检查报告;3-门诊病历
- int32 messageType = 12;// 消息类型
- string idCard = 13;
- }
- // 发送病历消息响应
- message SendMedRecordResponse {
- int32 code = 1;
- string info = 2;
- }
- message SendDocScheduleRequest {
- int32 terminal = 1;
- string content = 2;
- int32 orderId = 3;// 咨询或随访订单 id
- int32 fromUserId = 4;
- string fromUserName = 5;
- int32 toUserId = 6;
- string toUserName = 7;
- string sessionId = 8;
- int32 bizType = 9;// 业务类型
- int32 doctorId = 10;// 排班的医生 id,如果不指定,就默认当前发送消息的医生
- int32 messageType = 11;// 消息类型
- }
- //咨询业务逻辑类 // 对应 rpc 项目的 ConsultingServiceImpl 类
- service ConsultingService{
- //创建咨询订单
- rpc createConsultingOrder(CreateConsultingOrderRequest) returns (CreateConsultingOrderResponse);
- //订单支付成功通知
- rpc payConsultingCallback(PayConsultingCallbackRequest) returns (PayConsultingCallbackResponse);
- //咨询订单接诊/退诊
- rpc arrangeConsulting(ArrangeConsultingRequest) returns (ArrangeConsultingResponse);
- //取消咨询订单
- rpc cancelConsulting(CancelConsultingRequest) returns (CancelConsultingResponse);
- //咨询订单退款回调
- rpc refundConsultingCallback(RefundConsultingCallbackRequest) returns (RefundConsultingCallbackResponse);
- //线上咨询排班列表
- rpc getConsultingScheduleList(GetConsultingScheduleListRequest) returns (GetConsultingScheduleListResponse);
- //设置线上咨询排班
- rpc setConsultingSchedule(SetConsultingScheduleRequest) returns (SetConsultingScheduleResponse);
- //取消线上排班
- rpc cancelConsultingSchedule(CancelConsultingScheduleRequest) returns (CancelConsultingScheduleResponse);
- // 得到咨询订单列表
- rpc getConsultOrderList(GetConsultOrderListRequest) returns (GetConsultOrderListResponse);
- //获取咨询订单详情
- rpc getConsultOrder(GetConsultOrderRequest) returns (GetConsultOrderResponse);
- // 获取最近一次已接诊的咨询订单
- rpc getLatestAcceptedConsultOrder(GetLatestAcceptedConsultOrderRequest) returns (GetLatestAcceptedConsultOrderResponse);
- // 获取免费问诊医生列表
- rpc getFreeConsultDoctorList(GetFreeConsultDoctorListRequest) returns (GetFreeConsultDoctorListResponse);
- rpc getFreeConsultDoctor(GetFreeConsultDoctorRequest) returns (GetFreeConsultDoctorResponse);
- // 发送在院病历(包括检验结果、检查结果、门诊病历)
- rpc sendMedRecord(SendMedRecordRequest) returns (SendMedRecordResponse);
- // 发送线下出诊排班
- rpc sendDocSchedule(SendDocScheduleRequest) returns (SendMedRecordResponse);
- }
|