我在设计平台自定义资质的功能上遇到了问题,请帮帮我
先描述一下:
在多商户商城系统里包括平台、商家等…而“自定义资质“就是商家入驻平台时平台需要商家提供的资质或者证件信息。
我是怎么做的
我使用了两个数据表分别存储平台自定义资质
、平台自定义资质字段
,平台添加自定义资质后同时添加该资质的字段信息,形成一个完整的资质即:资质 + 资质字段。
同时我使用另外两个数据表分别存储商家资质
、商家资质字段
,商家在入驻时因为每个商家需要的资质是不同的,所以根据条件把需要提供的资质初始化到商家资质
表,把需要提供的资质字段初始化到商家资质字段值
之后的操作就是更新字段值,这样实现了商家根据平台要求提供相应的资质。
我可以做的
如果再系统的某些地方需要商家的资质或者资质字段,我可以根据数据表关联 + 商家ID 找到商家所有的资质和资质字段信息,我试图在平台自定义资质字段
表中增加开关字段例如:布尔型的是否展示在首页,这样我可以根据这个开关字段判断商家所有的资质或资质字段中哪些需要展示在哪写地方,但是调用的地方越来越多,开关字段就越来越多,我不想这样。
我遇到的问题
我在系统的某些地方需要单独调用商家的某个资质或者资质字段,因为”自定义资质“是灵活变动的,我无法根据已有的数据表关系找到不确定要调用的资质或资质字段信息。
这个场景还是比较典型的,其实抽象一下就是一个配置,只不过这个配置是随着时间不短变化的。发短信的短信模板,微信里的消息模板都差不多这样,用户先选现有库里的模板,如果没有就自定义一个。
我的建议是你这样设计: 表1,资质模板表,关键的字段包括资质id,资质名 表2,商家资质表,关键的字段包括商户id,资质id(关联模板表),资质内容。是一个典型的多对多关系表。
业务逻辑要特别说明一下,要多个新资质类型审核的逻辑,商家填资质的时候先从模板表里选已经登录过的资质,如果是新资质要自定义添加,然后平台这边审核一下,防止随便乱填或者填了重复的资质类型。
你看下这样一来是不是可以解决你的问题