AI行人检测集成票务系统读取票务系统数据库为空,如何解决?
【摘要】 在之前只按照时间段读取票务系统的数据库是没有什么问题的,但在进行读取数据库优化的时候,读整个一天的票务数据库,就会出现读取的票务系统数据不正常情况。
前段时间我们已经将开发的AI行人检测功能集成到景区的系统里进行测试,同时我们也将景区现有的票务系统与行人检测功能相结合,实现了景区人、证、票的统一。
在对TSINGSEE青犀视频行人检测进行测试时,发现在读取一天的时间的行人入园数量和票务的时候,票务系统的数据库为空:
type TDatabase struct {
Id int64
Ordernum string
Action int64 //入园数
Tid int64//门票id
Tnum int64//入园数量, 对接是此字段
LeftNum int64
Source int64
Terminal int64
BranchTerminal int64
SalerID int64
IdCard string
InsertTime string
OperMember int64
Msg string
}
type MDatabase struct {
Id int64
Barcode string
Inparktype int//入园标志==1
Device string
Parkid string //1140:上站;1141下站
Peoplecount int64//人数
InparkSystemdate string //插入时间
}
以上两个数据是读景区数据库的结构,但是这样读会出现读出来的数据为空数据的情况,票务系统没有数据,程序分析人数永远为0。
在之前只按照时间段读取票务系统的数据库是没有什么问题的,但在进行读取数据库优化的时候,读整个一天的票务数据库,就会出现读取的票务系统数据不正常情况。
以下是读一整天的票务数据库(部分代码):
首先我们想到是上面的结构体中和数据库的是不是结构的数量一致,于是进数据库检查,果然发现第二个结构体和数据库结构不一致,少了几个数据。
type MDatabase struct {
Id int64
Barcode string
Inparktype int//入园标志==1
Device string
Parkid string //1140:上站;1141下站
Peoplecount int64//人数
InparkSystemdate string //插入时间
//以下是少的数据
DealID string
nIdentify int
MASK_FROM_V2 string
sBigSFZ string
NoCardInPark int
nH5Order int
nIsPush int
nIsPushs int
}
将上面的数据补全,再次运行程序还是拿到的数据为空,取不到人数和时间,所以修改的不对。因此我们考虑如果在使用go读json的时候,结构体后面需要加入“json:”xxxxx””,那么读数据库也是否要加入需要读的什么数据呢?
针对这个思考我们做了测试,在使用结构体后面加入:gorm:“xxxxxx”
。这样会置顶需要读取哪个的数据,运行程序读出来进行验证,也能取到人数和时间。
type TDatabase struct {
Id int64 `gorm:"id"`
Ordernum string `gorm:"column:ordernum"`
Action int64 `gorm:"column:action"` //入园数
Tid int64 `gorm:"column:tid"`//门票id
Tnum int64 `gorm:"column:tnum"`//入园数量, 对接是此字段
LeftNum int64 `gorm:"column:left_num"`
Source int64 `gorm:"column:source"`
Terminal int64 `gorm:"column:terminal"`
BranchTerminal int64 `gorm:"column:branchTerminal"`
SalerID int64 `gorm:"column:SalerID"`
IdCard string `gorm:"column:id_card"`
InsertTime string `gorm:"column:insertTime"`
OperMember int64 `gorm:"column:oper_member"`
Msg string `gorm:"column:msg"`
}
type MDatabase struct {
Id int64 `gorm:"column:ID"`
Barcode string `gorm:"column:barcode"`
Inparktype int `gorm:"column:inparktype"`//入园标志==1
Device string `gorm:"column:Device"`
Parkid string `gorm:"column:parkid"` //1140:上站;1141下站
Peoplecount int64 `gorm:"column:peoplecount"`//人数
InparkSystemdate string `gorm:"column:inpark_systemdate"` //插入时间
DealID string `gorm:"column:DealID"`
nIdentify int `gorm:"column:nIdentify"`
MASK_FROM_V2 string `gorm:"column:_MASK_FROM_V2"`
sBigSFZ string `gorm:"column:sBigSFZ"`
NoCardInPark int `gorm:"column:NoCardInPark"`
nH5Order int `gorm:"column:nH5Order"`
nIsPush int `gorm:"column:nIsPush"`
nIsPushs int `gorm:"column:nIsPushs"`
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)