随笔 - 1506  文章 - 1  评论 - 7  阅读 - 58万

视频上云网关服务平台EasyNTS“已删除”搜索框内搜索结果不准确问题修复

EasyNTS平台正在进行界面的更新,但是发现当用户想要在设备列表的“已删除”一栏中按照条件搜索,未删除的设备也会被搜索出来。按照正常的来说,只会在删除数据中进行条件检索,但是获得的列表却还有未删除的设备信息。

检查代码后,我们发现是因为在进行关键字和状态两种条件同时筛选的时候,关键字筛选将状态筛选覆盖了,所以导致在已删除状态中能看到所有能匹配到的设备信息。

对于此问题的解决,我们可以将db对象添加多个条件搜索,其中对于删除和未删除的状态检索需要放在最前面,这样可以避免和关键字搜索条件冲突。

代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if pageForm.State != "" {
   db = db.Where(consts.SqlWhereState, estring.ParseInt(pageForm.State))
} else {
   db = db.Where(consts.SqlWhereState, consts.DataStateValid)
}
  
if id != consts.EmptyString {
   db = db.Where("id = ?", id)
}
if pageForm.Q != "" {
   db = db.Where("(device_name like ?", "%"+pageForm.Q+"%").Or("device_id like ?", "%"+pageForm.Q+"%").Or("device_ip like ?)", "%"+pageForm.Q+"%")
}
if pageForm.Sort != "" {
   db = db.Order(fmt.Sprintf("%s %s", gorm.ToDBName(pageForm.Sort), strings.TrimSuffix(pageForm.Order, "ending")))
}

  

修改代码后,再次在“已删除”栏中搜索,搜索结果已经恢复正常了。

新的平台目前正在不断优化中,EasyNTS目前也仍然可以使用,TSINGSEE青犀视频提供了试用版本,如果大家还想了解更多关于EasyNTS相关内容,欢迎来试用了解。

posted on   EasyNVR  阅读(91)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示