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

功能设计思路

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

    1.需求

    客户组织架构涉及省 - 市 - 区三级架构,现在需要做一套通用的数据上报,协同任务接收平台

    2. 要求

    2.1 前提条件

    有一套统一标准和字段格式的接口文档

    2.2 功能点

    • 能够进行三级联动,进行数据上报和协同数据的下发
    • 能够支持现有标准的字段变更(比如某些类别的数据可能稍微改下字段,结构啥的)
    • 能够支持在现有标准字段上进行类别扩充,添加新的数据类别

    这种各位 V 站大佬有没有比较好的实现思路可以指导一下小弟

    9 条回复    2024-04-23 09:37:24 +08:00
    LuffyPro
        1
    LuffyPro  
       37 天前
    不知道我理解的对不对,假设你的组织架构跟你的业务是多对多的关系,是否可以这样(简化版):
    1.domain 表(组织架构):
    CREATE TABLE domain (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    parent_id BIGINT,
    level TINYINT,
    name VARCHAR(255),
    is_deleted TINYINT
    );

    2.business 业务表:
    CREATE TABLE business (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(255),
    is_deleted TINYINT
    );

    3.business_domain 表:
    CREATE TABLE business_domain (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    domain_id BIGINT,
    business_id BIGINT,
    is_deleted TINYINT,
    FOREIGN KEY (domain_id) REFERENCES domain(id),
    FOREIGN KEY (business_id) REFERENCES business(id)
    );


    功能:
    修改:
    1.删除,is_deleted=1;
    2:换名字
    扩充:
    1.加多一级,level+1
    LuffyPro
        2
    LuffyPro  
       37 天前
    @LuffyPro 外键约束请忽略,用 gpt 帮我生成表结构的
    BeiChuanAlex
        3
    BeiChuanAlex  
       37 天前
    应该一张表就够了吧,自关联
    ns09005264
        4
    ns09005264  
       37 天前
    省-市-区:可以用地区编号拼接来表示,省的编号 2 位,市的编号 2 位,区的编号 5 位,比如直辖北京市海淀区:000100005 ,广东省广州市没有区:1001 ,这样数据的地点信息可以放在一个字段里,查询也好查,也支持市或区的缺省。
    功能点 2 是指数据有多种类型,每种类型的字段都不一样是吧,用商品信息举例:
    {类型:手机,名称:小米,CPU:骁龙,Memory:12G},
    {类型:手机,名称:华为,CPU:麒麟,Memory:12G},
    {类型:键盘,布局:75,按键轴:青轴},
    {类型:水果,名称:苹果,重量:15g}
    如果数据类似这种的话,可以用字段映射表来解决,
    数据的表的格式像这样:
    类型: enum; field01: varchar, filed02:varchar,boolField01:boolean;

    还需要几张表来描述字段之间的映射关系,比如类型为手机时,将名称字段映射为 field01 字段,略微有些复杂,涉及到反射、映射查询、前端映射展示等。
    siweipancc
        5
    siweipancc  
       37 天前 via iPhone
    闭包表+json
    whnoob
        6
    whnoob  
    OP
       34 天前
    @LuffyPro 组织机构感觉 level 标识层级。修改啥的我这边主要是想处理规范扩充的情况
    whnoob
        7
    whnoob  
    OP
       34 天前
    @siweipancc 额,偏图数据库的概念?感觉我这个场景用这个稍微复杂了一点
    whnoob
        8
    whnoob  
    OP
       34 天前
    @ns09005264 额,映射这个应该可以做成配置,主要是考虑其他数据格式不一致的情况下往标准上映射就可以,应该也是一种实现思路
    whnoob
        9
    whnoob  
    OP
       34 天前
    @BeiChuanAlex 是指存储组织架构数据信息吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3400 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 04:30 · PVG 12:30 · LAX 21:30 · JFK 00:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.