查询条件的限制

482 阅读2分钟

项目中,关于告警列表的查询

  • 查询条件有:开始时间,结束时间,组织,司机姓名,车牌号,处理状态,告警类型
  • 查询条件过滤要求:
    1. 司机姓名和车牌号至少要有一个
    2. 开始时间和结束时间可以都为空,默认查询当天的数据
    3. 开始时间和结束时间如果有数据,那么两者都必须要有,不能只给其中一个的数据
    4. 前端传递给后端的开始时间和结束时间数据,只包含日期,不包含时间。
    5. 对于开始时间,在日期后面加上0点,
    6. 对于结束时间,在日期后面加上23:59:59
    7. 其他的查询条件可有可无

项目日志

  • 项目中的npe错误,要注意,如果根据条件从mysql/redis/mongodb查询的数据为null,其实对于每一个查询,最好都进行非空判断,然后判断是否直接抛出异常
  • 更新操作,
    • 最简单的逻辑是直接删除原本的内容,然后把新内容插入。如果需要同时更新对应的绑定关系,要先删除原有的绑定关系,然后再进行新的绑定。
    • 稍微复杂一点的更新,对于与该条数据有数据绑定的更新
      • 如果传入的数据中,本应绑定的内容没了,那么删除原有的绑定关系
      • 如果传入的数据中,绑定关系一样,保持绑定不变
      • 如果传入的数据中,绑定内容变了,那么先删除后新增绑定
  • 对于函数的参数,应该在函数体内进行参数各种情况的周全考虑和判断,比如说是否为空,而不应该依赖于外界而忽略对参数的判断,这样有可能会导致异常发生。