V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Allenxup
V2EX  ›  程序员

急!求友们帮助,车辆/人员证件根据提醒配置进行消息推送, Java 开发

  •  1
     
  •   Allenxup · 236 天前 · 1110 次点击
    这是一个创建于 236 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前需求是对不同的证件进行到期提醒配置。

    [常规证件] 就是系统的固定的证件(如行驶证,道路运输证、入厂证、保险、年检)

    [其他证件] 是用户自定义新增的证件

    问题:这种需求表该如何设计呢,用什么技术方案实现该功能比较好呢 以下是原型图: https://imgur.com/9EhL8l5 https://imgur.com/PKujAvA

    12 条回复    2023-09-06 16:13:27 +08:00
    hidemyself
        1
    hidemyself  
       236 天前
    主表存固定的数据,子表存 JSON
    到期提醒就再加一张表,存个 type
    Allenxup
        2
    Allenxup  
    OP
       236 天前
    @hidemyself 子表存 JSON 存的是什么数据呢
    Allenxup
        3
    Allenxup  
    OP
       236 天前
    <img src=" https://imgur.com/9EhL8l5" class="embedded_image" rel="noreferrer">
    <img src=" https://imgur.com/PKujAvA" class="embedded_image" rel="noreferrer">
    gogo789
        4
    gogo789  
       236 天前
    证件单独建一个表,就是主键 id ,证件名称,类型(区分开常规证件、其他证件)。当用户新增自定义证件的时候,在表里插一条记录,然后把这个证件 id 关联到到期提醒配置里面。
    guiling
        5
    guiling  
       236 天前
    一张证件类别表 C 、一张用户证件表 U
    自定义证件如果字段能统一就作为一条通用类别数据在 C 表,不能统一就新增一条数据到 C ,再新增一条到 U 关联 C
    提醒配置如果所有用户相同类别提醒方式一致就放 C 表,按用户配置就放 U 表,看你原型应该是前者
    定时任务看你这需求每天全量跑一次就可以了,不需要分开或者动态任务
    gxy2825
        6
    gxy2825  
       236 天前
    证件表:id 、车辆 id 、类型、配置( json 字符串,考虑到不同类型的证件会有不同的属性,json 比较灵活)
    证件提醒表:证件 id 、提醒方式、提醒时刻
    车辆表
    Allenxup
        7
    Allenxup  
    OP
       236 天前
    @gxy2825 json 字符串好取吗
    NoKey
        8
    NoKey  
       236 天前
    到期提醒,就是定时器去扫数据,一条一条的对比,反正这个是提前 x 天提醒,慢一点无所谓,不要求性能。
    gxy2825
        9
    gxy2825  
       235 天前
    @Allenxup 用 jackson 、fastjson 这种去解析成对象,挺简单的
    Allenxup
        10
    Allenxup  
    OP
       235 天前
    @gxy2825 那如果我要根据 车辆 id 查询 json 中的某个字段出来好像很麻烦吧?
    gxy2825
        11
    gxy2825  
       235 天前
    @Allenxup 你是想在 sql 关联查询?
    Allenxup
        12
    Allenxup  
    OP
       235 天前
    @gxy2825 需要查询每个类型证件的到期日期,如果这个字段放 json 里面好查吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3042 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 784ms · UTC 14:18 · PVG 22:18 · LAX 07:18 · JFK 10:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.