From 2879fc0ba0096304614d183f450f4f3cf253c421 Mon Sep 17 00:00:00 2001 From: funui <562710164@qq.com> Date: Tue, 17 Jun 2025 10:08:15 +0800 Subject: [PATCH] add some text here --- build.bat | 1 + go.mod | 3 + msg.proto | 137 ++++++ pb/msg.pb.go | 1132 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 1273 insertions(+) create mode 100644 build.bat create mode 100644 go.mod create mode 100644 msg.proto create mode 100644 pb/msg.pb.go diff --git a/build.bat b/build.bat new file mode 100644 index 0000000..0c05672 --- /dev/null +++ b/build.bat @@ -0,0 +1 @@ +protoc --go_out=. *.proto \ No newline at end of file diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..867533b --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module git.yhrjkj.com/miczhang/yihaobao-proto + +go 1.24.2 diff --git a/msg.proto b/msg.proto new file mode 100644 index 0000000..b906114 --- /dev/null +++ b/msg.proto @@ -0,0 +1,137 @@ +syntax = "proto3"; +package ws; +option go_package = "./pb"; + +enum MsgType { + UNKNOWN = 0; + AUTH_CLIENT = 100; + UPLOAD_SYS_INFO = 101; + QUERY_PLAN = 102; + + + //通知 + NOTIFY_CLIENT_UPDATE = 200; + // 插入任务 + NOTIFY_CLIENT_INSERT_PLAN = 201; + //更新任务 + NOTIFY_CLIENT_UPDATE_PLAN = 202; +} + +message Msg { + MsgType type = 1; + bytes data = 2; +} +message Empty {} + +// 下位机认证端请求 +message AuthClientReq { + string token = 1; +} +message AuthClientResp { + string Name = 1; +} + + +// 上位机上传系统信息 +message UploadSysInfoReq { + string Version = 1; + string Ip = 2; + string OsName = 3; + +} + +// 上位机查询计划 +message QueryPlanReq { + string PlanId = 1; +} + +message QueryQryUserInfo { + string UserId = 1; + string UserName = 2; + string Password = 3; +} + +message QueryPlanUserInfo { + string UserId = 1; + string UserName = 2; + string Password = 3; + string TimePoints = 4; +} + +enum PlanStatusType { + PLAN_STATUS_UNKNOWN = 0; + PLAN_STATUS_RUNNING = 2; + PLAN_STATUS_STOPPED = 3; + +} + +message DoctorInfo { + //医院名称 + string HospitalName = 1; + //医院代码 + string HospitalCode = 2; + //分院名称 + string BranchName = 3; + //分院代码 + string BranchCode = 4; + //科室名称 + string DeptName = 5; + //科室代码 + string DeptCode=6; + //医生姓名 + string DoctorName = 7; + //医生代码 + string DoctorCode = 8; + //医生职称 + string DoctorTitle = 9; + //医生电话 + string DoctorPhone = 10; + //医生费用 + string DoctorFee = 11; +} + +//预约信息 +message AppointmentInfo { + //日期 + string Date = 1; + //开始时间 + string StartTime = 2; + //结束时间 + string EndTime = 3; +} + +// 患者信息 +message PatientInfo { + //姓名 + string Name = 1; + //性别 + string Gender = 2; + // 手机号 + string Telephone = 3; + // 身份证号 + string IdCard = 4; + // ic卡号 + string IcCard = 5; + // iC卡ID + string IcCardId = 6; + // 是否是军人 + bool IsArmy = 7; + + //预约时间段 + AppointmentInfo Appointment = 8; +} + + + +message PlanInfo { + string PlanId = 1; + string PlanName = 2; + string PlanDesc = 3; + PlanStatusType PlanStatus = 4; + string ExecTime = 5;// + //医生信息 + DoctorInfo Doctor = 6; + //患者信息 + repeated PatientInfo Patient = 7; +} + diff --git a/pb/msg.pb.go b/pb/msg.pb.go new file mode 100644 index 0000000..6fbb7e8 --- /dev/null +++ b/pb/msg.pb.go @@ -0,0 +1,1132 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.0 +// protoc v3.19.4 +// source: msg.proto + +package pb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type MsgType int32 + +const ( + MsgType_UNKNOWN MsgType = 0 + MsgType_AUTH_CLIENT MsgType = 100 + MsgType_UPLOAD_SYS_INFO MsgType = 101 + MsgType_QUERY_PLAN MsgType = 102 + // 通知 + MsgType_NOTIFY_CLIENT_UPDATE MsgType = 200 + // 插入任务 + MsgType_NOTIFY_CLIENT_INSERT_PLAN MsgType = 201 + // 更新任务 + MsgType_NOTIFY_CLIENT_UPDATE_PLAN MsgType = 202 +) + +// Enum value maps for MsgType. +var ( + MsgType_name = map[int32]string{ + 0: "UNKNOWN", + 100: "AUTH_CLIENT", + 101: "UPLOAD_SYS_INFO", + 102: "QUERY_PLAN", + 200: "NOTIFY_CLIENT_UPDATE", + 201: "NOTIFY_CLIENT_INSERT_PLAN", + 202: "NOTIFY_CLIENT_UPDATE_PLAN", + } + MsgType_value = map[string]int32{ + "UNKNOWN": 0, + "AUTH_CLIENT": 100, + "UPLOAD_SYS_INFO": 101, + "QUERY_PLAN": 102, + "NOTIFY_CLIENT_UPDATE": 200, + "NOTIFY_CLIENT_INSERT_PLAN": 201, + "NOTIFY_CLIENT_UPDATE_PLAN": 202, + } +) + +func (x MsgType) Enum() *MsgType { + p := new(MsgType) + *p = x + return p +} + +func (x MsgType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MsgType) Descriptor() protoreflect.EnumDescriptor { + return file_msg_proto_enumTypes[0].Descriptor() +} + +func (MsgType) Type() protoreflect.EnumType { + return &file_msg_proto_enumTypes[0] +} + +func (x MsgType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MsgType.Descriptor instead. +func (MsgType) EnumDescriptor() ([]byte, []int) { + return file_msg_proto_rawDescGZIP(), []int{0} +} + +type PlanStatusType int32 + +const ( + PlanStatusType_PLAN_STATUS_UNKNOWN PlanStatusType = 0 + PlanStatusType_PLAN_STATUS_RUNNING PlanStatusType = 2 + PlanStatusType_PLAN_STATUS_STOPPED PlanStatusType = 3 +) + +// Enum value maps for PlanStatusType. +var ( + PlanStatusType_name = map[int32]string{ + 0: "PLAN_STATUS_UNKNOWN", + 2: "PLAN_STATUS_RUNNING", + 3: "PLAN_STATUS_STOPPED", + } + PlanStatusType_value = map[string]int32{ + "PLAN_STATUS_UNKNOWN": 0, + "PLAN_STATUS_RUNNING": 2, + "PLAN_STATUS_STOPPED": 3, + } +) + +func (x PlanStatusType) Enum() *PlanStatusType { + p := new(PlanStatusType) + *p = x + return p +} + +func (x PlanStatusType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PlanStatusType) Descriptor() protoreflect.EnumDescriptor { + return file_msg_proto_enumTypes[1].Descriptor() +} + +func (PlanStatusType) Type() protoreflect.EnumType { + return &file_msg_proto_enumTypes[1] +} + +func (x PlanStatusType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PlanStatusType.Descriptor instead. +func (PlanStatusType) EnumDescriptor() ([]byte, []int) { + return file_msg_proto_rawDescGZIP(), []int{1} +} + +type Msg struct { + state protoimpl.MessageState `protogen:"open.v1"` + Type MsgType `protobuf:"varint,1,opt,name=type,proto3,enum=ws.MsgType" json:"type,omitempty"` + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Msg) Reset() { + *x = Msg{} + mi := &file_msg_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Msg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Msg) ProtoMessage() {} + +func (x *Msg) ProtoReflect() protoreflect.Message { + mi := &file_msg_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Msg.ProtoReflect.Descriptor instead. +func (*Msg) Descriptor() ([]byte, []int) { + return file_msg_proto_rawDescGZIP(), []int{0} +} + +func (x *Msg) GetType() MsgType { + if x != nil { + return x.Type + } + return MsgType_UNKNOWN +} + +func (x *Msg) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +type Empty struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Empty) Reset() { + *x = Empty{} + mi := &file_msg_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Empty) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Empty) ProtoMessage() {} + +func (x *Empty) ProtoReflect() protoreflect.Message { + mi := &file_msg_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Empty.ProtoReflect.Descriptor instead. +func (*Empty) Descriptor() ([]byte, []int) { + return file_msg_proto_rawDescGZIP(), []int{1} +} + +// 下位机认证端请求 +type AuthClientReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AuthClientReq) Reset() { + *x = AuthClientReq{} + mi := &file_msg_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AuthClientReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthClientReq) ProtoMessage() {} + +func (x *AuthClientReq) ProtoReflect() protoreflect.Message { + mi := &file_msg_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthClientReq.ProtoReflect.Descriptor instead. +func (*AuthClientReq) Descriptor() ([]byte, []int) { + return file_msg_proto_rawDescGZIP(), []int{2} +} + +func (x *AuthClientReq) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +type AuthClientResp struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AuthClientResp) Reset() { + *x = AuthClientResp{} + mi := &file_msg_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AuthClientResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthClientResp) ProtoMessage() {} + +func (x *AuthClientResp) ProtoReflect() protoreflect.Message { + mi := &file_msg_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthClientResp.ProtoReflect.Descriptor instead. +func (*AuthClientResp) Descriptor() ([]byte, []int) { + return file_msg_proto_rawDescGZIP(), []int{3} +} + +func (x *AuthClientResp) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// 上位机上传系统信息 +type UploadSysInfoReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + Version string `protobuf:"bytes,1,opt,name=Version,proto3" json:"Version,omitempty"` + Ip string `protobuf:"bytes,2,opt,name=Ip,proto3" json:"Ip,omitempty"` + OsName string `protobuf:"bytes,3,opt,name=OsName,proto3" json:"OsName,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UploadSysInfoReq) Reset() { + *x = UploadSysInfoReq{} + mi := &file_msg_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UploadSysInfoReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadSysInfoReq) ProtoMessage() {} + +func (x *UploadSysInfoReq) ProtoReflect() protoreflect.Message { + mi := &file_msg_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UploadSysInfoReq.ProtoReflect.Descriptor instead. +func (*UploadSysInfoReq) Descriptor() ([]byte, []int) { + return file_msg_proto_rawDescGZIP(), []int{4} +} + +func (x *UploadSysInfoReq) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *UploadSysInfoReq) GetIp() string { + if x != nil { + return x.Ip + } + return "" +} + +func (x *UploadSysInfoReq) GetOsName() string { + if x != nil { + return x.OsName + } + return "" +} + +// 上位机查询计划 +type QueryPlanReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlanId string `protobuf:"bytes,1,opt,name=PlanId,proto3" json:"PlanId,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *QueryPlanReq) Reset() { + *x = QueryPlanReq{} + mi := &file_msg_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *QueryPlanReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryPlanReq) ProtoMessage() {} + +func (x *QueryPlanReq) ProtoReflect() protoreflect.Message { + mi := &file_msg_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use QueryPlanReq.ProtoReflect.Descriptor instead. +func (*QueryPlanReq) Descriptor() ([]byte, []int) { + return file_msg_proto_rawDescGZIP(), []int{5} +} + +func (x *QueryPlanReq) GetPlanId() string { + if x != nil { + return x.PlanId + } + return "" +} + +type QueryQryUserInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + UserId string `protobuf:"bytes,1,opt,name=UserId,proto3" json:"UserId,omitempty"` + UserName string `protobuf:"bytes,2,opt,name=UserName,proto3" json:"UserName,omitempty"` + Password string `protobuf:"bytes,3,opt,name=Password,proto3" json:"Password,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *QueryQryUserInfo) Reset() { + *x = QueryQryUserInfo{} + mi := &file_msg_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *QueryQryUserInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryQryUserInfo) ProtoMessage() {} + +func (x *QueryQryUserInfo) ProtoReflect() protoreflect.Message { + mi := &file_msg_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use QueryQryUserInfo.ProtoReflect.Descriptor instead. +func (*QueryQryUserInfo) Descriptor() ([]byte, []int) { + return file_msg_proto_rawDescGZIP(), []int{6} +} + +func (x *QueryQryUserInfo) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *QueryQryUserInfo) GetUserName() string { + if x != nil { + return x.UserName + } + return "" +} + +func (x *QueryQryUserInfo) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +type QueryPlanUserInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + UserId string `protobuf:"bytes,1,opt,name=UserId,proto3" json:"UserId,omitempty"` + UserName string `protobuf:"bytes,2,opt,name=UserName,proto3" json:"UserName,omitempty"` + Password string `protobuf:"bytes,3,opt,name=Password,proto3" json:"Password,omitempty"` + TimePoints string `protobuf:"bytes,4,opt,name=TimePoints,proto3" json:"TimePoints,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *QueryPlanUserInfo) Reset() { + *x = QueryPlanUserInfo{} + mi := &file_msg_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *QueryPlanUserInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryPlanUserInfo) ProtoMessage() {} + +func (x *QueryPlanUserInfo) ProtoReflect() protoreflect.Message { + mi := &file_msg_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use QueryPlanUserInfo.ProtoReflect.Descriptor instead. +func (*QueryPlanUserInfo) Descriptor() ([]byte, []int) { + return file_msg_proto_rawDescGZIP(), []int{7} +} + +func (x *QueryPlanUserInfo) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *QueryPlanUserInfo) GetUserName() string { + if x != nil { + return x.UserName + } + return "" +} + +func (x *QueryPlanUserInfo) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +func (x *QueryPlanUserInfo) GetTimePoints() string { + if x != nil { + return x.TimePoints + } + return "" +} + +type DoctorInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // 医院名称 + HospitalName string `protobuf:"bytes,1,opt,name=HospitalName,proto3" json:"HospitalName,omitempty"` + // 医院代码 + HospitalCode string `protobuf:"bytes,2,opt,name=HospitalCode,proto3" json:"HospitalCode,omitempty"` + // 分院名称 + BranchName string `protobuf:"bytes,3,opt,name=BranchName,proto3" json:"BranchName,omitempty"` + // 分院代码 + BranchCode string `protobuf:"bytes,4,opt,name=BranchCode,proto3" json:"BranchCode,omitempty"` + // 科室名称 + DeptName string `protobuf:"bytes,5,opt,name=DeptName,proto3" json:"DeptName,omitempty"` + // 科室代码 + DeptCode string `protobuf:"bytes,6,opt,name=DeptCode,proto3" json:"DeptCode,omitempty"` + // 医生姓名 + DoctorName string `protobuf:"bytes,7,opt,name=DoctorName,proto3" json:"DoctorName,omitempty"` + // 医生代码 + DoctorCode string `protobuf:"bytes,8,opt,name=DoctorCode,proto3" json:"DoctorCode,omitempty"` + // 医生职称 + DoctorTitle string `protobuf:"bytes,9,opt,name=DoctorTitle,proto3" json:"DoctorTitle,omitempty"` + // 医生电话 + DoctorPhone string `protobuf:"bytes,10,opt,name=DoctorPhone,proto3" json:"DoctorPhone,omitempty"` + // 医生费用 + DoctorFee string `protobuf:"bytes,11,opt,name=DoctorFee,proto3" json:"DoctorFee,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DoctorInfo) Reset() { + *x = DoctorInfo{} + mi := &file_msg_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DoctorInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DoctorInfo) ProtoMessage() {} + +func (x *DoctorInfo) ProtoReflect() protoreflect.Message { + mi := &file_msg_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DoctorInfo.ProtoReflect.Descriptor instead. +func (*DoctorInfo) Descriptor() ([]byte, []int) { + return file_msg_proto_rawDescGZIP(), []int{8} +} + +func (x *DoctorInfo) GetHospitalName() string { + if x != nil { + return x.HospitalName + } + return "" +} + +func (x *DoctorInfo) GetHospitalCode() string { + if x != nil { + return x.HospitalCode + } + return "" +} + +func (x *DoctorInfo) GetBranchName() string { + if x != nil { + return x.BranchName + } + return "" +} + +func (x *DoctorInfo) GetBranchCode() string { + if x != nil { + return x.BranchCode + } + return "" +} + +func (x *DoctorInfo) GetDeptName() string { + if x != nil { + return x.DeptName + } + return "" +} + +func (x *DoctorInfo) GetDeptCode() string { + if x != nil { + return x.DeptCode + } + return "" +} + +func (x *DoctorInfo) GetDoctorName() string { + if x != nil { + return x.DoctorName + } + return "" +} + +func (x *DoctorInfo) GetDoctorCode() string { + if x != nil { + return x.DoctorCode + } + return "" +} + +func (x *DoctorInfo) GetDoctorTitle() string { + if x != nil { + return x.DoctorTitle + } + return "" +} + +func (x *DoctorInfo) GetDoctorPhone() string { + if x != nil { + return x.DoctorPhone + } + return "" +} + +func (x *DoctorInfo) GetDoctorFee() string { + if x != nil { + return x.DoctorFee + } + return "" +} + +// 预约信息 +type AppointmentInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // 日期 + Date string `protobuf:"bytes,1,opt,name=Date,proto3" json:"Date,omitempty"` + // 开始时间 + StartTime string `protobuf:"bytes,2,opt,name=StartTime,proto3" json:"StartTime,omitempty"` + // 结束时间 + EndTime string `protobuf:"bytes,3,opt,name=EndTime,proto3" json:"EndTime,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AppointmentInfo) Reset() { + *x = AppointmentInfo{} + mi := &file_msg_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AppointmentInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AppointmentInfo) ProtoMessage() {} + +func (x *AppointmentInfo) ProtoReflect() protoreflect.Message { + mi := &file_msg_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AppointmentInfo.ProtoReflect.Descriptor instead. +func (*AppointmentInfo) Descriptor() ([]byte, []int) { + return file_msg_proto_rawDescGZIP(), []int{9} +} + +func (x *AppointmentInfo) GetDate() string { + if x != nil { + return x.Date + } + return "" +} + +func (x *AppointmentInfo) GetStartTime() string { + if x != nil { + return x.StartTime + } + return "" +} + +func (x *AppointmentInfo) GetEndTime() string { + if x != nil { + return x.EndTime + } + return "" +} + +// 患者信息 +type PatientInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // 姓名 + Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` + // 性别 + Gender string `protobuf:"bytes,2,opt,name=Gender,proto3" json:"Gender,omitempty"` + // 手机号 + Telephone string `protobuf:"bytes,3,opt,name=Telephone,proto3" json:"Telephone,omitempty"` + // 身份证号 + IdCard string `protobuf:"bytes,4,opt,name=IdCard,proto3" json:"IdCard,omitempty"` + // ic卡号 + IcCard string `protobuf:"bytes,5,opt,name=IcCard,proto3" json:"IcCard,omitempty"` + // iC卡ID + IcCardId string `protobuf:"bytes,6,opt,name=IcCardId,proto3" json:"IcCardId,omitempty"` + // 是否是军人 + IsArmy bool `protobuf:"varint,7,opt,name=IsArmy,proto3" json:"IsArmy,omitempty"` + // 预约时间段 + Appointment *AppointmentInfo `protobuf:"bytes,8,opt,name=Appointment,proto3" json:"Appointment,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PatientInfo) Reset() { + *x = PatientInfo{} + mi := &file_msg_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PatientInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatientInfo) ProtoMessage() {} + +func (x *PatientInfo) ProtoReflect() protoreflect.Message { + mi := &file_msg_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatientInfo.ProtoReflect.Descriptor instead. +func (*PatientInfo) Descriptor() ([]byte, []int) { + return file_msg_proto_rawDescGZIP(), []int{10} +} + +func (x *PatientInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PatientInfo) GetGender() string { + if x != nil { + return x.Gender + } + return "" +} + +func (x *PatientInfo) GetTelephone() string { + if x != nil { + return x.Telephone + } + return "" +} + +func (x *PatientInfo) GetIdCard() string { + if x != nil { + return x.IdCard + } + return "" +} + +func (x *PatientInfo) GetIcCard() string { + if x != nil { + return x.IcCard + } + return "" +} + +func (x *PatientInfo) GetIcCardId() string { + if x != nil { + return x.IcCardId + } + return "" +} + +func (x *PatientInfo) GetIsArmy() bool { + if x != nil { + return x.IsArmy + } + return false +} + +func (x *PatientInfo) GetAppointment() *AppointmentInfo { + if x != nil { + return x.Appointment + } + return nil +} + +type PlanInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlanId string `protobuf:"bytes,1,opt,name=PlanId,proto3" json:"PlanId,omitempty"` + PlanName string `protobuf:"bytes,2,opt,name=PlanName,proto3" json:"PlanName,omitempty"` + PlanDesc string `protobuf:"bytes,3,opt,name=PlanDesc,proto3" json:"PlanDesc,omitempty"` + PlanStatus PlanStatusType `protobuf:"varint,4,opt,name=PlanStatus,proto3,enum=ws.PlanStatusType" json:"PlanStatus,omitempty"` + ExecTime string `protobuf:"bytes,5,opt,name=ExecTime,proto3" json:"ExecTime,omitempty"` // + // 医生信息 + Doctor *DoctorInfo `protobuf:"bytes,6,opt,name=Doctor,proto3" json:"Doctor,omitempty"` + // 患者信息 + Patient []*PatientInfo `protobuf:"bytes,7,rep,name=Patient,proto3" json:"Patient,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PlanInfo) Reset() { + *x = PlanInfo{} + mi := &file_msg_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PlanInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlanInfo) ProtoMessage() {} + +func (x *PlanInfo) ProtoReflect() protoreflect.Message { + mi := &file_msg_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlanInfo.ProtoReflect.Descriptor instead. +func (*PlanInfo) Descriptor() ([]byte, []int) { + return file_msg_proto_rawDescGZIP(), []int{11} +} + +func (x *PlanInfo) GetPlanId() string { + if x != nil { + return x.PlanId + } + return "" +} + +func (x *PlanInfo) GetPlanName() string { + if x != nil { + return x.PlanName + } + return "" +} + +func (x *PlanInfo) GetPlanDesc() string { + if x != nil { + return x.PlanDesc + } + return "" +} + +func (x *PlanInfo) GetPlanStatus() PlanStatusType { + if x != nil { + return x.PlanStatus + } + return PlanStatusType_PLAN_STATUS_UNKNOWN +} + +func (x *PlanInfo) GetExecTime() string { + if x != nil { + return x.ExecTime + } + return "" +} + +func (x *PlanInfo) GetDoctor() *DoctorInfo { + if x != nil { + return x.Doctor + } + return nil +} + +func (x *PlanInfo) GetPatient() []*PatientInfo { + if x != nil { + return x.Patient + } + return nil +} + +var File_msg_proto protoreflect.FileDescriptor + +var file_msg_proto_rawDesc = []byte{ + 0x0a, 0x09, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x77, 0x73, 0x22, + 0x3a, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x1f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x77, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x07, 0x0a, 0x05, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x24, 0x0a, 0x0e, 0x41, + 0x75, 0x74, 0x68, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, + 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, + 0x65, 0x22, 0x54, 0x0a, 0x10, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x79, 0x73, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x70, 0x12, + 0x16, 0x0a, 0x06, 0x4f, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x4f, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x26, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x6e, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x22, + 0x62, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x51, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x55, + 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, + 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, + 0x6e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x69, 0x6d, + 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x54, + 0x69, 0x6d, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0xee, 0x02, 0x0a, 0x0a, 0x44, 0x6f, + 0x63, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x48, 0x6f, 0x73, 0x70, + 0x69, 0x74, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x48, 0x6f, 0x73, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, + 0x48, 0x6f, 0x73, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x48, 0x6f, 0x73, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x65, 0x70, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x44, 0x65, 0x70, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x44, 0x65, 0x70, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x44, 0x65, 0x70, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x6f, 0x63, 0x74, + 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x44, 0x6f, + 0x63, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x6f, 0x63, 0x74, + 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x44, 0x6f, + 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x6f, 0x63, 0x74, + 0x6f, 0x72, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x44, + 0x6f, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x6f, + 0x63, 0x74, 0x6f, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x44, 0x6f, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x44, 0x6f, 0x63, 0x74, 0x6f, 0x72, 0x46, 0x65, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x44, 0x6f, 0x63, 0x74, 0x6f, 0x72, 0x46, 0x65, 0x65, 0x22, 0x5d, 0x0a, 0x0f, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, + 0x04, 0x44, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x0b, 0x50, 0x61, + 0x74, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x47, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, + 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x54, 0x65, 0x6c, 0x65, 0x70, 0x68, + 0x6f, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x49, + 0x63, 0x43, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x49, 0x63, 0x43, + 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x63, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x49, 0x63, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x49, 0x73, 0x41, 0x72, 0x6d, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x06, 0x49, 0x73, 0x41, 0x72, 0x6d, 0x79, 0x12, 0x35, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, + 0x73, 0x2e, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x0b, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xfd, + 0x01, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x50, + 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x50, 0x6c, 0x61, + 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x12, 0x32, 0x0a, 0x0a, 0x50, + 0x6c, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x12, 0x2e, 0x77, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x0a, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x1a, 0x0a, 0x08, 0x45, 0x78, 0x65, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x45, 0x78, 0x65, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x44, + 0x6f, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x77, 0x73, + 0x2e, 0x44, 0x6f, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x44, 0x6f, 0x63, + 0x74, 0x6f, 0x72, 0x12, 0x29, 0x0a, 0x07, 0x50, 0x61, 0x74, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x07, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x77, 0x73, 0x2e, 0x50, 0x61, 0x74, 0x69, 0x65, 0x6e, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x50, 0x61, 0x74, 0x69, 0x65, 0x6e, 0x74, 0x2a, 0xa7, + 0x01, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, + 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x55, 0x54, 0x48, 0x5f, + 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x64, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x50, 0x4c, 0x4f, + 0x41, 0x44, 0x5f, 0x53, 0x59, 0x53, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x65, 0x12, 0x0e, 0x0a, + 0x0a, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x10, 0x66, 0x12, 0x19, 0x0a, + 0x14, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x55, + 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0xc8, 0x01, 0x12, 0x1e, 0x0a, 0x19, 0x4e, 0x4f, 0x54, 0x49, + 0x46, 0x59, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, + 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x10, 0xc9, 0x01, 0x12, 0x1e, 0x0a, 0x19, 0x4e, 0x4f, 0x54, 0x49, + 0x46, 0x59, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, + 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x10, 0xca, 0x01, 0x2a, 0x5b, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x4c, + 0x41, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, + 0x4e, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x4c, 0x41, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, + 0x50, 0x4c, 0x41, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x54, 0x4f, 0x50, + 0x50, 0x45, 0x44, 0x10, 0x03, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_msg_proto_rawDescOnce sync.Once + file_msg_proto_rawDescData = file_msg_proto_rawDesc +) + +func file_msg_proto_rawDescGZIP() []byte { + file_msg_proto_rawDescOnce.Do(func() { + file_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_msg_proto_rawDescData) + }) + return file_msg_proto_rawDescData +} + +var file_msg_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_msg_proto_goTypes = []any{ + (MsgType)(0), // 0: ws.MsgType + (PlanStatusType)(0), // 1: ws.PlanStatusType + (*Msg)(nil), // 2: ws.Msg + (*Empty)(nil), // 3: ws.Empty + (*AuthClientReq)(nil), // 4: ws.AuthClientReq + (*AuthClientResp)(nil), // 5: ws.AuthClientResp + (*UploadSysInfoReq)(nil), // 6: ws.UploadSysInfoReq + (*QueryPlanReq)(nil), // 7: ws.QueryPlanReq + (*QueryQryUserInfo)(nil), // 8: ws.QueryQryUserInfo + (*QueryPlanUserInfo)(nil), // 9: ws.QueryPlanUserInfo + (*DoctorInfo)(nil), // 10: ws.DoctorInfo + (*AppointmentInfo)(nil), // 11: ws.AppointmentInfo + (*PatientInfo)(nil), // 12: ws.PatientInfo + (*PlanInfo)(nil), // 13: ws.PlanInfo +} +var file_msg_proto_depIdxs = []int32{ + 0, // 0: ws.Msg.type:type_name -> ws.MsgType + 11, // 1: ws.PatientInfo.Appointment:type_name -> ws.AppointmentInfo + 1, // 2: ws.PlanInfo.PlanStatus:type_name -> ws.PlanStatusType + 10, // 3: ws.PlanInfo.Doctor:type_name -> ws.DoctorInfo + 12, // 4: ws.PlanInfo.Patient:type_name -> ws.PatientInfo + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_msg_proto_init() } +func file_msg_proto_init() { + if File_msg_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_msg_proto_rawDesc, + NumEnums: 2, + NumMessages: 12, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_msg_proto_goTypes, + DependencyIndexes: file_msg_proto_depIdxs, + EnumInfos: file_msg_proto_enumTypes, + MessageInfos: file_msg_proto_msgTypes, + }.Build() + File_msg_proto = out.File + file_msg_proto_rawDesc = nil + file_msg_proto_goTypes = nil + file_msg_proto_depIdxs = nil +}