我在设计平台自定义资质的功能上遇到了问题,请帮帮我

先描述一下:

在多商户商城系统里包括平台、商家等…而“自定义资质“就是商家入驻平台时平台需要商家提供的资质或者证件信息。

我是怎么做的

我使用了两个数据表分别存储平台自定义资质平台自定义资质字段,平台添加自定义资质后同时添加该资质的字段信息,形成一个完整的资质即:资质 + 资质字段。

同时我使用另外两个数据表分别存储商家资质商家资质字段,商家在入驻时因为每个商家需要的资质是不同的,所以根据条件把需要提供的资质初始化到商家资质表,把需要提供的资质字段初始化到商家资质字段值之后的操作就是更新字段值,这样实现了商家根据平台要求提供相应的资质。

我可以做的

如果再系统的某些地方需要商家的资质或者资质字段,我可以根据数据表关联 + 商家ID 找到商家所有的资质和资质字段信息,我试图在平台自定义资质字段表中增加开关字段例如:布尔型的是否展示在首页,这样我可以根据这个开关字段判断商家所有的资质或资质字段中哪些需要展示在哪写地方,但是调用的地方越来越多,开关字段就越来越多,我不想这样。

我遇到的问题

我在系统的某些地方需要单独调用商家的某个资质或者资质字段,因为”自定义资质“是灵活变动的,我无法根据已有的数据表关系找到不确定要调用的资质或资质字段信息。

保持好奇,求知若饥,终身编程
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

这个场景还是比较典型的,其实抽象一下就是一个配置,只不过这个配置是随着时间不短变化的。发短信的短信模板,微信里的消息模板都差不多这样,用户先选现有库里的模板,如果没有就自定义一个。

我的建议是你这样设计: 表1,资质模板表,关键的字段包括资质id,资质名 表2,商家资质表,关键的字段包括商户id,资质id(关联模板表),资质内容。是一个典型的多对多关系表。

业务逻辑要特别说明一下,要多个新资质类型审核的逻辑,商家填资质的时候先从模板表里选已经登录过的资质,如果是新资质要自定义添加,然后平台这边审核一下,防止随便乱填或者填了重复的资质类型。

你看下这样一来是不是可以解决你的问题

3年前 评论
Liuzhipeng_laravel (楼主) 3年前
luke_wu (作者) 3年前
Liuzhipeng_laravel (楼主) 3年前
luke_wu (作者) 3年前
Liuzhipeng_laravel (楼主) 3年前
Liuzhipeng_laravel (楼主) 3年前
luke_wu (作者) 3年前
Liuzhipeng_laravel (楼主) 3年前
讨论数量: 3
jcc123

貌似是自定义表单字段的问题?

备份每一个商家的字段配置。哪里需要获取的时候就自定义展示

3年前 评论
Liuzhipeng_laravel (楼主) 3年前
jcc123 (作者) 3年前

这个场景还是比较典型的,其实抽象一下就是一个配置,只不过这个配置是随着时间不短变化的。发短信的短信模板,微信里的消息模板都差不多这样,用户先选现有库里的模板,如果没有就自定义一个。

我的建议是你这样设计: 表1,资质模板表,关键的字段包括资质id,资质名 表2,商家资质表,关键的字段包括商户id,资质id(关联模板表),资质内容。是一个典型的多对多关系表。

业务逻辑要特别说明一下,要多个新资质类型审核的逻辑,商家填资质的时候先从模板表里选已经登录过的资质,如果是新资质要自定义添加,然后平台这边审核一下,防止随便乱填或者填了重复的资质类型。

你看下这样一来是不是可以解决你的问题

3年前 评论
Liuzhipeng_laravel (楼主) 3年前
luke_wu (作者) 3年前
Liuzhipeng_laravel (楼主) 3年前
luke_wu (作者) 3年前
Liuzhipeng_laravel (楼主) 3年前
Liuzhipeng_laravel (楼主) 3年前
luke_wu (作者) 3年前
Liuzhipeng_laravel (楼主) 3年前

了解一下json类型

3年前 评论
Liuzhipeng_laravel (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!