功能设计思路

218 天前
 whnoob

1.需求

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

2. 要求

2.1 前提条件

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

2.2 功能点

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

1396 次点击
所在节点    Java
9 条回复
LuffyPro
218 天前
不知道我理解的对不对,假设你的组织架构跟你的业务是多对多的关系,是否可以这样(简化版):
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
218 天前
@LuffyPro 外键约束请忽略,用 gpt 帮我生成表结构的
BeiChuanAlex
218 天前
应该一张表就够了吧,自关联
ns09005264
217 天前
省-市-区:可以用地区编号拼接来表示,省的编号 2 位,市的编号 2 位,区的编号 5 位,比如直辖北京市海淀区:000100005 ,广东省广州市没有区:1001 ,这样数据的地点信息可以放在一个字段里,查询也好查,也支持市或区的缺省。
功能点 2 是指数据有多种类型,每种类型的字段都不一样是吧,用商品信息举例:
{类型:手机,名称:小米,CPU:骁龙,Memory:12G},
{类型:手机,名称:华为,CPU:麒麟,Memory:12G},
{类型:键盘,布局:75,按键轴:青轴},
{类型:水果,名称:苹果,重量:15g}
如果数据类似这种的话,可以用字段映射表来解决,
数据的表的格式像这样:
类型: enum; field01: varchar, filed02:varchar,boolField01:boolean;

还需要几张表来描述字段之间的映射关系,比如类型为手机时,将名称字段映射为 field01 字段,略微有些复杂,涉及到反射、映射查询、前端映射展示等。
siweipancc
217 天前
闭包表+json
whnoob
214 天前
@LuffyPro 组织机构感觉 level 标识层级。修改啥的我这边主要是想处理规范扩充的情况
whnoob
214 天前
@siweipancc 额,偏图数据库的概念?感觉我这个场景用这个稍微复杂了一点
whnoob
214 天前
@ns09005264 额,映射这个应该可以做成配置,主要是考虑其他数据格式不一致的情况下往标准上映射就可以,应该也是一种实现思路
whnoob
214 天前
@BeiChuanAlex 是指存储组织架构数据信息吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1033970

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX