道岔操作重新实现
This commit is contained in:
parent
a5906e355b
commit
a4fd415f10
@ -15,6 +15,7 @@ import (
|
||||
"joylink.club/bj-rtsts-server/ats/verify/simulation/wayside/memory"
|
||||
"joylink.club/bj-rtsts-server/config"
|
||||
"joylink.club/bj-rtsts-server/dto"
|
||||
"joylink.club/bj-rtsts-server/dto/request_proto"
|
||||
apiproto "joylink.club/bj-rtsts-server/grpcproto"
|
||||
"joylink.club/bj-rtsts-server/middleware"
|
||||
"joylink.club/bj-rtsts-server/service"
|
||||
@ -234,17 +235,18 @@ func removeTrain(c *gin.Context) {
|
||||
// @Failure 500 {object} dto.ErrorDto
|
||||
// @Router /api/v1/simulation/switch/operation [post]
|
||||
func switchOperation(c *gin.Context) {
|
||||
req := &dto.SwitchOperationReqDto{}
|
||||
req := &request_proto.TurnoutOperationReq{}
|
||||
if err := c.ShouldBind(&req); err != nil {
|
||||
panic(dto.ErrorDto{Code: dto.ArgumentParseError, Message: err.Error()})
|
||||
}
|
||||
simulation := checkDeviceDataAndReturn(req.SimulationId)
|
||||
slog.Info("传入状态参数", req)
|
||||
memory.ChangeTurnoutState(simulation, &state.SwitchState{
|
||||
Id: req.DeviceId,
|
||||
Normal: req.TurnNormal,
|
||||
Reverse: req.TurnReverse,
|
||||
}, req.MapId)
|
||||
memory.HandleTurnoutOperation(simulation, req)
|
||||
// memory.ChangeTurnoutState(simulation, &state.SwitchState{
|
||||
// Id: req.DeviceId,
|
||||
// Normal: req.TurnNormal,
|
||||
// Reverse: req.TurnReverse,
|
||||
// }, req.MapId)
|
||||
c.JSON(http.StatusOK, "ok")
|
||||
}
|
||||
|
||||
@ -269,12 +271,12 @@ func signalOperation(c *gin.Context) {
|
||||
if err := c.ShouldBind(&req); err != nil {
|
||||
panic(dto.ErrorDto{Code: dto.ArgumentParseError, Message: err.Error()})
|
||||
}
|
||||
simulation := checkDeviceDataAndReturn(req.SimulationId)
|
||||
// simulation := checkDeviceDataAndReturn(req.SimulationId)
|
||||
slog.Info("传入状态参数", req)
|
||||
memory.ChangeSignalState(simulation, &state.SignalState{
|
||||
Id: req.DeviceId,
|
||||
Aspect: req.Aspect,
|
||||
}, req.MapId)
|
||||
// memory.ChangeSignalState(simulation, &state.SignalState{
|
||||
// Id: req.DeviceId,
|
||||
// Aspect: req.Aspect,
|
||||
// }, req.MapId)
|
||||
c.JSON(http.StatusOK, "ok")
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.28.1
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.23.1
|
||||
// source: ibpGraphics.proto
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.28.1
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.23.1
|
||||
// source: picture.proto
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.28.1
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.23.1
|
||||
// source: pslGraphics.proto
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.28.1
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.23.1
|
||||
// source: relayCabinetLayoutGraphics.proto
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.28.1
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.23.1
|
||||
// source: stationLayoutGraphics.proto
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.28.1
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.23.1
|
||||
// source: device_state.proto
|
||||
|
||||
|
@ -1,41 +1,36 @@
|
||||
package memory
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"joylink.club/bj-rtsts-server/ats/verify/protos/graphicData"
|
||||
"joylink.club/bj-rtsts-server/ats/verify/protos/state"
|
||||
"joylink.club/ecs"
|
||||
"joylink.club/rtsssimulation/consts"
|
||||
"joylink.club/rtsssimulation/fi"
|
||||
"joylink.club/rtsssimulation/repository"
|
||||
"joylink.club/rtsssimulation/repository/model/proto"
|
||||
)
|
||||
|
||||
func ChangeSignalState(simulation *VerifySimulation, status *state.SignalState, mapId int32) {
|
||||
signalUid := QueryUidByMidAndComId(mapId, status.Id, &graphicData.Signal{})
|
||||
signalModel, err := simulation.Repo.FindModel(signalUid, proto.DeviceType_DeviceType_Signal)
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("信号机[%s]模型不存在", signalUid))
|
||||
}
|
||||
signalGroupCode := signalModel.(*repository.Signal).Code()
|
||||
switch signalGroupCode {
|
||||
case consts.SIGNAL_2XH1:
|
||||
changeSignal2XH1State(simulation.World, signalUid, status.GetAspect())
|
||||
case consts.SIGNAL_3XH1:
|
||||
changeSignal3XH1State(simulation.World, signalUid, status.GetAspect())
|
||||
case consts.SIGNAL_3XH2:
|
||||
changeSignal3XH2State(simulation.World, signalUid, status.GetAspect())
|
||||
case consts.SIGNAL_3XH3:
|
||||
changeSignal3XH3State(simulation.World, signalUid, status.GetAspect())
|
||||
case consts.SIGNAL_3XH4:
|
||||
changeSignal3XH4State(simulation.World, signalUid, status.GetAspect())
|
||||
case consts.SIGNAL_DCXH:
|
||||
changeSignalDCXHState(simulation.World, signalUid, status.GetAspect())
|
||||
case consts.SIGNAL_JCKXH:
|
||||
changeSignalJCKXHState(simulation.World, signalUid, status.GetAspect())
|
||||
default:
|
||||
panic(fmt.Sprintf("操作[%s]的信号机,无法识别组合类型[%s]", signalUid, signalGroupCode))
|
||||
}
|
||||
// signalUid := QueryUidByMidAndComId(mapId, status.Id, &graphicData.Signal{})
|
||||
// signalModel, err := simulation.Repo.FindModel(signalUid, proto.DeviceType_DeviceType_Signal)
|
||||
// if err != nil {
|
||||
// panic(fmt.Sprintf("信号机[%s]模型不存在", signalUid))
|
||||
// }
|
||||
// signalGroupCode := signalModel.(*repository.Signal).Code()
|
||||
// switch signalGroupCode {
|
||||
// case consts.SIGNAL_2XH1:
|
||||
// changeSignal2XH1State(simulation.World, signalUid, status.GetAspect())
|
||||
// case consts.SIGNAL_3XH1:
|
||||
// changeSignal3XH1State(simulation.World, signalUid, status.GetAspect())
|
||||
// case consts.SIGNAL_3XH2:
|
||||
// changeSignal3XH2State(simulation.World, signalUid, status.GetAspect())
|
||||
// case consts.SIGNAL_3XH3:
|
||||
// changeSignal3XH3State(simulation.World, signalUid, status.GetAspect())
|
||||
// case consts.SIGNAL_3XH4:
|
||||
// changeSignal3XH4State(simulation.World, signalUid, status.GetAspect())
|
||||
// case consts.SIGNAL_DCXH:
|
||||
// changeSignalDCXHState(simulation.World, signalUid, status.GetAspect())
|
||||
// case consts.SIGNAL_JCKXH:
|
||||
// changeSignalJCKXHState(simulation.World, signalUid, status.GetAspect())
|
||||
// default:
|
||||
// panic(fmt.Sprintf("操作[%s]的信号机,无法识别组合类型[%s]", signalUid, signalGroupCode))
|
||||
// }
|
||||
}
|
||||
func changeSignalJCKXHState(w ecs.World, signalUid string, toAspect state.Signal_Aspect) {
|
||||
switch toAspect {
|
||||
|
@ -5,11 +5,13 @@ import (
|
||||
|
||||
"joylink.club/ecs"
|
||||
"joylink.club/rtsssimulation/component"
|
||||
"joylink.club/rtsssimulation/component/component_proto"
|
||||
"joylink.club/rtsssimulation/entity"
|
||||
"joylink.club/rtsssimulation/fi"
|
||||
|
||||
"joylink.club/bj-rtsts-server/ats/verify/protos/graphicData"
|
||||
"joylink.club/bj-rtsts-server/ats/verify/protos/state"
|
||||
"joylink.club/bj-rtsts-server/dto/request_proto"
|
||||
)
|
||||
|
||||
// 道岔相关道岔操作方法
|
||||
@ -22,6 +24,31 @@ func ChangeTurnoutState(simulation *VerifySimulation, status *state.SwitchState,
|
||||
}
|
||||
}
|
||||
|
||||
// 处理道岔操作
|
||||
func HandleTurnoutOperation(simulation *VerifySimulation, req *request_proto.TurnoutOperationReq) {
|
||||
uid := QueryUidByMidAndComId(req.MapId, req.DeviceId, &graphicData.Turnout{})
|
||||
switch req.Operation {
|
||||
case request_proto.Turnout_DC:
|
||||
fi.DriveTurnoutDCOn(simulation.World, uid)
|
||||
case request_proto.Turnout_CancelDC:
|
||||
fi.DriveTurnoutDCOff(simulation.World, uid)
|
||||
case request_proto.Turnout_FC:
|
||||
fi.DriveTurnoutFCOn(simulation.World, uid)
|
||||
case request_proto.Turnout_CancelFC:
|
||||
fi.DriveTurnoutFCOff(simulation.World, uid)
|
||||
case request_proto.Turnout_SetSB:
|
||||
fi.SetTurnoutFault(simulation.World, uid, component_proto.Turnout_SB)
|
||||
case request_proto.Turnout_CancelSB:
|
||||
fi.CancelTurnoutFault(simulation.World, uid, component_proto.Turnout_SB)
|
||||
case request_proto.Turnout_SetJC:
|
||||
fi.SetTurnoutFault(simulation.World, uid, component_proto.Turnout_JC)
|
||||
case request_proto.Turnout_CancelJC:
|
||||
fi.CancelTurnoutFault(simulation.World, uid, component_proto.Turnout_JC)
|
||||
default:
|
||||
panic(fmt.Sprintf("未知的道岔操作:%s", req.Operation))
|
||||
}
|
||||
}
|
||||
|
||||
// 获取全部的道岔状态,动力学使用
|
||||
func GetAllTurnoutState(sim *VerifySimulation) []*state.SwitchState {
|
||||
var switchArr []*state.SwitchState
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 7a24c7aae20f83fa2bba4639066dff9b267f6d38
|
||||
Subproject commit f43d8dbec4b997ef729ceb6e086db1bd066c0790
|
308
dto/request_proto/request.pb.go
Normal file
308
dto/request_proto/request.pb.go
Normal file
@ -0,0 +1,308 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.23.1
|
||||
// source: request.proto
|
||||
|
||||
package request_proto
|
||||
|
||||
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 Turnout_Operation int32
|
||||
|
||||
const (
|
||||
Turnout_Undefined Turnout_Operation = 0 // 未定义
|
||||
Turnout_DC Turnout_Operation = 1 // 定操
|
||||
Turnout_CancelDC Turnout_Operation = 2 // 取消定操
|
||||
Turnout_FC Turnout_Operation = 3 // 反操
|
||||
Turnout_CancelFC Turnout_Operation = 4 // 取消反操
|
||||
Turnout_SetSB Turnout_Operation = 5 // 设置失表故障
|
||||
Turnout_CancelSB Turnout_Operation = 6 // 取消失表故障
|
||||
Turnout_SetJC Turnout_Operation = 7 // 设置挤岔故障
|
||||
Turnout_CancelJC Turnout_Operation = 8 // 取消挤岔故障
|
||||
)
|
||||
|
||||
// Enum value maps for Turnout_Operation.
|
||||
var (
|
||||
Turnout_Operation_name = map[int32]string{
|
||||
0: "Undefined",
|
||||
1: "DC",
|
||||
2: "CancelDC",
|
||||
3: "FC",
|
||||
4: "CancelFC",
|
||||
5: "SetSB",
|
||||
6: "CancelSB",
|
||||
7: "SetJC",
|
||||
8: "CancelJC",
|
||||
}
|
||||
Turnout_Operation_value = map[string]int32{
|
||||
"Undefined": 0,
|
||||
"DC": 1,
|
||||
"CancelDC": 2,
|
||||
"FC": 3,
|
||||
"CancelFC": 4,
|
||||
"SetSB": 5,
|
||||
"CancelSB": 6,
|
||||
"SetJC": 7,
|
||||
"CancelJC": 8,
|
||||
}
|
||||
)
|
||||
|
||||
func (x Turnout_Operation) Enum() *Turnout_Operation {
|
||||
p := new(Turnout_Operation)
|
||||
*p = x
|
||||
return p
|
||||
}
|
||||
|
||||
func (x Turnout_Operation) String() string {
|
||||
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
||||
}
|
||||
|
||||
func (Turnout_Operation) Descriptor() protoreflect.EnumDescriptor {
|
||||
return file_request_proto_enumTypes[0].Descriptor()
|
||||
}
|
||||
|
||||
func (Turnout_Operation) Type() protoreflect.EnumType {
|
||||
return &file_request_proto_enumTypes[0]
|
||||
}
|
||||
|
||||
func (x Turnout_Operation) Number() protoreflect.EnumNumber {
|
||||
return protoreflect.EnumNumber(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use Turnout_Operation.Descriptor instead.
|
||||
func (Turnout_Operation) EnumDescriptor() ([]byte, []int) {
|
||||
return file_request_proto_rawDescGZIP(), []int{0, 0}
|
||||
}
|
||||
|
||||
// 道岔
|
||||
type Turnout struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
}
|
||||
|
||||
func (x *Turnout) Reset() {
|
||||
*x = Turnout{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_request_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Turnout) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Turnout) ProtoMessage() {}
|
||||
|
||||
func (x *Turnout) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_request_proto_msgTypes[0]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use Turnout.ProtoReflect.Descriptor instead.
|
||||
func (*Turnout) Descriptor() ([]byte, []int) {
|
||||
return file_request_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
// 道岔操作请求
|
||||
type TurnoutOperationReq struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
SimulationId string `protobuf:"bytes,1,opt,name=simulationId,proto3" json:"simulationId,omitempty"` // 仿真id
|
||||
MapId int32 `protobuf:"varint,2,opt,name=mapId,proto3" json:"mapId,omitempty"` // 图id
|
||||
DeviceId string `protobuf:"bytes,3,opt,name=deviceId,proto3" json:"deviceId,omitempty"` // 设备id
|
||||
Operation Turnout_Operation `protobuf:"varint,4,opt,name=operation,proto3,enum=request.Turnout_Operation" json:"operation,omitempty"` // 道岔操作
|
||||
}
|
||||
|
||||
func (x *TurnoutOperationReq) Reset() {
|
||||
*x = TurnoutOperationReq{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_request_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *TurnoutOperationReq) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*TurnoutOperationReq) ProtoMessage() {}
|
||||
|
||||
func (x *TurnoutOperationReq) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_request_proto_msgTypes[1]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use TurnoutOperationReq.ProtoReflect.Descriptor instead.
|
||||
func (*TurnoutOperationReq) Descriptor() ([]byte, []int) {
|
||||
return file_request_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *TurnoutOperationReq) GetSimulationId() string {
|
||||
if x != nil {
|
||||
return x.SimulationId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *TurnoutOperationReq) GetMapId() int32 {
|
||||
if x != nil {
|
||||
return x.MapId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *TurnoutOperationReq) GetDeviceId() string {
|
||||
if x != nil {
|
||||
return x.DeviceId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *TurnoutOperationReq) GetOperation() Turnout_Operation {
|
||||
if x != nil {
|
||||
return x.Operation
|
||||
}
|
||||
return Turnout_Undefined
|
||||
}
|
||||
|
||||
var File_request_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_request_proto_rawDesc = []byte{
|
||||
0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
|
||||
0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x83, 0x01, 0x0a, 0x07, 0x54, 0x75, 0x72,
|
||||
0x6e, 0x6f, 0x75, 0x74, 0x22, 0x78, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x10, 0x00,
|
||||
0x12, 0x06, 0x0a, 0x02, 0x44, 0x43, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x61, 0x6e, 0x63,
|
||||
0x65, 0x6c, 0x44, 0x43, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, 0x46, 0x43, 0x10, 0x03, 0x12, 0x0c,
|
||||
0x0a, 0x08, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x46, 0x43, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05,
|
||||
0x53, 0x65, 0x74, 0x53, 0x42, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x61, 0x6e, 0x63, 0x65,
|
||||
0x6c, 0x53, 0x42, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x65, 0x74, 0x4a, 0x43, 0x10, 0x07,
|
||||
0x12, 0x0c, 0x0a, 0x08, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x43, 0x10, 0x08, 0x22, 0xa5,
|
||||
0x01, 0x0a, 0x13, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69,
|
||||
0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61,
|
||||
0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64,
|
||||
0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x09,
|
||||
0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
||||
0x1a, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75,
|
||||
0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65,
|
||||
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x15, 0x5a, 0x13, 0x2e, 0x2f, 0x64, 0x74, 0x6f, 0x2f,
|
||||
0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_request_proto_rawDescOnce sync.Once
|
||||
file_request_proto_rawDescData = file_request_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_request_proto_rawDescGZIP() []byte {
|
||||
file_request_proto_rawDescOnce.Do(func() {
|
||||
file_request_proto_rawDescData = protoimpl.X.CompressGZIP(file_request_proto_rawDescData)
|
||||
})
|
||||
return file_request_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_request_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
|
||||
var file_request_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||
var file_request_proto_goTypes = []interface{}{
|
||||
(Turnout_Operation)(0), // 0: request.Turnout.Operation
|
||||
(*Turnout)(nil), // 1: request.Turnout
|
||||
(*TurnoutOperationReq)(nil), // 2: request.TurnoutOperationReq
|
||||
}
|
||||
var file_request_proto_depIdxs = []int32{
|
||||
0, // 0: request.TurnoutOperationReq.operation:type_name -> request.Turnout.Operation
|
||||
1, // [1:1] is the sub-list for method output_type
|
||||
1, // [1:1] is the sub-list for method input_type
|
||||
1, // [1:1] is the sub-list for extension type_name
|
||||
1, // [1:1] is the sub-list for extension extendee
|
||||
0, // [0:1] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_request_proto_init() }
|
||||
func file_request_proto_init() {
|
||||
if File_request_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_request_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Turnout); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_request_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*TurnoutOperationReq); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_request_proto_rawDesc,
|
||||
NumEnums: 1,
|
||||
NumMessages: 2,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_request_proto_goTypes,
|
||||
DependencyIndexes: file_request_proto_depIdxs,
|
||||
EnumInfos: file_request_proto_enumTypes,
|
||||
MessageInfos: file_request_proto_msgTypes,
|
||||
}.Build()
|
||||
File_request_proto = out.File
|
||||
file_request_proto_rawDesc = nil
|
||||
file_request_proto_goTypes = nil
|
||||
file_request_proto_depIdxs = nil
|
||||
}
|
13
dto/simulation_dto/turnout.go
Normal file
13
dto/simulation_dto/turnout.go
Normal file
@ -0,0 +1,13 @@
|
||||
package simulationdto
|
||||
|
||||
import (
|
||||
"joylink.club/bj-rtsts-server/dto/request_proto"
|
||||
)
|
||||
|
||||
// 道岔操作请求DTO
|
||||
type TurnoutOperationReqDto struct {
|
||||
SimulationId string `form:"simulationId" json:"simulationId" binding:"required"`
|
||||
MapId int32 `json:"mapId" from:"mapId" binding:"required"`
|
||||
DeviceId string `form:"id" json:"id" binding:"required"`
|
||||
Operation request_proto.Turnout_Operation `form:"operation" json:"operation" binding:"required"`
|
||||
}
|
27
dto/simulation_dto/turnout_test.go
Normal file
27
dto/simulation_dto/turnout_test.go
Normal file
@ -0,0 +1,27 @@
|
||||
package simulationdto_test
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"joylink.club/bj-rtsts-server/dto/request_proto"
|
||||
)
|
||||
|
||||
func TestTurnoutOperationReqDto(t *testing.T) {
|
||||
b, err := json.Marshal(&request_proto.TurnoutOperationReq{
|
||||
SimulationId: "1",
|
||||
MapId: 2,
|
||||
DeviceId: "3",
|
||||
Operation: 2,
|
||||
})
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
var o request_proto.TurnoutOperationReq
|
||||
err = json.Unmarshal(b, &o)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
assert.Equal(t, request_proto.Turnout_Operation(2), o.Operation)
|
||||
}
|
@ -1 +1 @@
|
||||
Subproject commit f9d845a0cf0bb6375eaa93c2011b46b63c5a0e9f
|
||||
Subproject commit a9c004a0f02ad94e4334a6d910630312554d4ff1
|
Loading…
Reference in New Issue
Block a user