# 客户对象建模

业务模型设计是信息化系统设计的基础,它涉及到数据库表的定义、字段的设定以及表与表之间的关系。简而言之,这一步骤确定了系统的数据结构和存储方式。

客户是 CRM 系统管理的核心对象之一,我们首先创建客户模型。

# 客户模型定义

# 模型名称

模型名称 描述
Customers 客户信息,包括姓名、联系方式、公司名称、职位等

# 模型字段列表

字段名 类型 是否可为空 可选项 备注
name STRING 否 无 客户姓名
contactInfo STRING 否 无 联系方式
companyName STRING 是 无 公司名称
position STRING 是 无 职位
group STRING 是 VIP、普通客户、潜在客户、重要客户、黑名单 客户分组
birthday LOCAL_DATE 是 无 客户生日

提示

系统会自动为动态模型创建名为 id、类型为 Long 的自增主键列,不需要在字段列表中定义。

# 用 CSV 创建模型

「开发定制 > 领域模型」页面只提供查看和修改,没有「创建」按钮,新模型通过种子数据 CSV 定义。在 codes/data/csv 目录下新建以下两个文件。

DomainClass_crm.csv:定义模型本身和它的增删改查权限。

shortName(*),extInfo,createRoleRequirement.name,readRoleRequirement.name,updateRoleRequirement.name,deleteRoleRequirement.name
;; CRM 教程:客户模型
Customers,,USER,USER,USER,
1
2
3
  • shortName(*) 是模型名称,(*) 表示按这一列查找已有记录:找到就更新,找不到就新建。
  • 后四列分别是新建、查看、修改、删除所需的角色要求(RoleRequirement)。平台内置了 USER、DEVELOPER、ADMIN 三个角色要求,分别对应角色 ROLE_USER、ROLE_DEVELOPER、ROLE_ADMIN;ROLE_ADMIN 包含 ROLE_DEVELOPER,ROLE_DEVELOPER 包含 ROLE_USER。
  • 某项权限留空,表示任何人都没有这项权限(包括管理员)。这里特意把删除权限留空,第 4 步再开放。

DomainClassField_crm.csv:定义模型的字段。

domainClass.shortName(*),name(*),dataType,referenceDomain.shortName,nullable,editable,defaultValue,options
;; CRM 教程:客户模型字段
;; name 客户姓名 / contactInfo 联系方式 / companyName 公司名称 / position 职位 / group 客户分组 / birthday 客户生日
Customers,name,STRING,,false,true,,
Customers,contactInfo,STRING,,false,true,,
Customers,companyName,STRING,,true,true,,
Customers,position,STRING,,true,true,,
Customers,group,STRING,,true,true,,"[""VIP"",""普通客户"",""潜在客户"",""重要客户"",""黑名单""]"
Customers,birthday,LOCAL_DATE,,true,true,,
1
2
3
4
5
6
7
8
9
  • dataType 取值见 CSV 导入模板 中的 DomainClassField 一节。
  • options 是可选值列表,写成 JSON 数组;因为内容里有逗号和双引号,整格用双引号包起来,内部的双引号写两遍。设置了可选值的字段,在表单中只能从这些选项里选择(1.0.0-beta18 的默认表单中显示为可多选的标签输入框,见第 2 步)。
  • 以 ;; 开头的行是注释,导入时忽略。

注意

DomainClassField 的 comment(备注)列在 1.0.0-beta18 中不要填写:填了之后平台生成的数据库注释语句缺少引号,该字段会创建失败,同一文件中后面的行也不会被导入。

保存两个文件后重启后端服务(例如 docker compose restart server)。服务启动时会先导入 DomainClass,再导入 DomainClassField,并自动建表、加列。

# 检查结果

打开「开发定制 > 领域模型」,列表中出现 Customers,点击「详情」可以看到刚定义的字段:

领域模型 Customers 的字段列表

注意

在 1.0.0-beta18 中,领域模型详情和修改页的字段子表里,「可选值」一列显示为 Unsupported displayType: tag_list(前端没有这种显示控件),无法在界面上查看或编辑可选值。可选值请以 CSV 为准。详情窗口中的「Basic Information」「Class Type」未翻译,也是当前版本的界面问题。

如果模型没有出现,到「执行记录 > 数据导入」查看 Domain Class、Domain Class Field 两条导入记录的状态和失败行。

接下来,我们将为客户模型创建对应的维护表单,请点击这里继续。

# 进一步阅读

我们的平台是牧言低代码平台,专为帮助用户快速构建信息化系统而设计。了解更多关于我们平台的信息,请访问 牧言低代码平台 (opens new window)。

Last Updated: 2026/9/24 14:27:35