6 Star 18 Fork 27

王布衣 / gotdx

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
stock_security_count.go 1.65 KB
一键复制 编辑 原始数据 按行查看 历史
王布衣 提交于 2024-01-24 15:52 . 调整生成序列号函数
package quotes
import (
"bytes"
"encoding/binary"
"encoding/hex"
"gitee.com/quant1x/gotdx/internal"
"gitee.com/quant1x/gotdx/proto"
)
// SecurityCountPackage 市场股票数量
type SecurityCountPackage struct {
reqHeader *StdRequestHeader
respHeader *StdResponseHeader
request *SecurityCountRequest
reply *SecurityCountReply
contentHex string
}
type SecurityCountRequest struct {
Market uint16
}
type SecurityCountReply struct {
Count uint16
}
func NewSecurityCountPackage() *SecurityCountPackage {
obj := new(SecurityCountPackage)
obj.reqHeader = new(StdRequestHeader)
obj.respHeader = new(StdResponseHeader)
obj.request = new(SecurityCountRequest)
obj.reply = new(SecurityCountReply)
obj.reqHeader.ZipFlag = proto.FlagNotZipped
obj.reqHeader.SeqID = internal.SequenceId()
obj.reqHeader.PacketType = 0x01
obj.reqHeader.Method = proto.STD_MSG_SECURITY_COUNT
obj.contentHex = "75c73301" // 未解
return obj
}
func (obj *SecurityCountPackage) SetParams(req *SecurityCountRequest) {
obj.request = req
}
func (obj *SecurityCountPackage) Serialize() ([]byte, error) {
obj.reqHeader.PkgLen1 = 2 + 4 + 2
obj.reqHeader.PkgLen2 = 2 + 4 + 2
buf := new(bytes.Buffer)
err := binary.Write(buf, binary.LittleEndian, obj.reqHeader)
err = binary.Write(buf, binary.LittleEndian, obj.request)
b, err := hex.DecodeString(obj.contentHex)
buf.Write(b)
return buf.Bytes(), err
}
func (obj *SecurityCountPackage) UnSerialize(header interface{}, data []byte) error {
obj.respHeader = header.(*StdResponseHeader)
obj.reply.Count = binary.LittleEndian.Uint16(data[:2])
return nil
}
func (obj *SecurityCountPackage) Reply() interface{} {
return obj.reply
}
Go
1
https://gitee.com/quant1x/gotdx.git
git@gitee.com:quant1x/gotdx.git
quant1x
gotdx
gotdx
v1.22.3

搜索帮助