AI行人检测集成票务系统读取票务系统数据库为空,如何解决?

举报
TSINGSEE青犀视频 发表于 2021/11/05 15:54:44 2021/11/05
【摘要】 在之前只按照时间段读取票务系统的数据库是没有什么问题的,但在进行读取数据库优化的时候,读整个一天的票务数据库,就会出现读取的票务系统数据不正常情况。

前段时间我们已经将开发的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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。