数据模型
翼飞低代码模块创建的数据模型,可通过SDK提供的标准方法进行操作。具体的方法包括:
- 新增记录: dataCreate
- 批量新增记录: dataBatchCreate
- 删除记录: dataDelete
- 批量删除记录: dataBatchDelete
- 更新记录: dataUpdate
- 批量更新记录: dataBatchUpdate
- 查询单条记录: dataQueryItem
- 查询多条记录: dataQueryRecords
本章节以以下数据模型为例,说明数据模型方法的使用。
新增记录
新增一条记录
入参说明
字段标识 |
字段类型 |
说明 |
req |
对象 |
新增记录 对象 |
req.params |
对象 |
数据模型的非系统字段,例如:name、age 等。 |
req.modelCode |
文本 |
数据模型编码 |
{
"params" {
"stu_no": "S101",
"name": "张三",
"age": 15,
},
"modelCode": "数据模型编码"
}
出参说明
字段标识 |
字段类型 |
说明 |
|
id |
文本 |
创建成功的数据标识 |
|
{
"id": "a49b2c013de511ecb2e7a400e271d151"
}
使用示例
function main(params) {
var record = {
"stu_no": "S101",
"name": "张三",
"age": 15
};
var req = {
"params": record,
"modelCode": "student_ygwp8w4a"
}
var result = LC_SDK.model.dataCreate(req);
return result;
}
批量新增记录
新增
入参说明
字段标识 |
字段类型 |
说明 |
req |
对象 |
|
req.params |
对象 |
|
req.params.records |
对象数组 |
数据模型的非系统字段,例如:name、age 等。 |
req.modelCode |
文本 |
数据模型编码 |
{
"params":{"records" [{
"stu_no": "S101",
"name": "张三",
"age": 15,
}],
"modelCode": "数据模型编码"
}
出参说明
字段标识 |
字段类型 |
说明 |
ids |
文本数组 |
创建成功的数据标识列表 |
{
"ids": [
"9186498f970f4d458ea8d5f515735b27",
"651dc5be22dd476bbcdcda4321a7c8cb"
]
}
使用示例
function main(params) {
var record1 = {
"stu_no":LC_SDK.uuid.getUUID(),
"name": "Don3",
"age": 17};
var record2 = {
"stu_no":LC_SDK.uuid.getUUID(),
"name": "Don4",
"age": 27};
var req = {
"params":{"records": [record1, record2]},
"modelCode":"student_ygwp8w4a"
}
var result = LC_SDK.model.dataBatchCreate(req);
return result;
}
删除记录
根据数据唯一标识删除一条记录
入参说明
字段标识 |
字段类型 |
说明 |
req |
对象 |
新增记录 对象 |
req.params |
对象 |
删除记录需要传递的参数对象 |
req.params.id |
文本 |
数据唯一标识 |
req.modelCode |
文本 |
数据模型编码 |
{
"params": {"id":"f535276c4e5b428a8175b3b7e9e3d302"},
"modelCode":"student_ygwp8w4a"
}
出参说明
字段标识 |
字段类型 |
说明 |
deleted |
数字 |
删除记录数量 |
{"deleted":1}
使用示例
function main(params) {
var req = {
"params": {"id":"f535276c4e5b428a8175b3b7e9e3d302"},
"modelCode":"student_ygwp8w4a"
}
var resp = LC_SDK.model.dataDelete(req);
return resp;
}
批量删除记录
根据查询构造条件,删除满足查询条件的数据
入参说明
字段标识 |
字段类型 |
说明 |
req |
对象 |
|
req.params |
对象 |
数据查询条件构造对象 |
req.params.where |
对象 |
批量删除查询条件 |
req.params.where.rel |
文本 |
多个条件之间的组合关系,包含两种关系:AND:多个条件之间使用“且”关系(默认)OR:多个条件之间使用“或”关系 |
req.params.where.cond |
对象列表 |
查询条件字段和value值对应关系 |
req.params.where.cond.key |
文本 |
过滤条件字段标识不能为空 |
req.params.where.cond.condOp |
文本 |
字段和值之间的关系,包含以下几种关系:EQ: "等于"NEQ: "不等于"IN: "等于任意一个"NIN: "不等于任意一个"LIKE_ANY: "包含任意一个"LIKE: "包含"UNLIKE: "不包含"NOT_EMPTY: "不为空"EMPTY: "为空"GT: "大于"GTE: "大于等于"LT: "小于"LTE: "小于等于"RANGE: "选择范围"DYNAMIC: "动态筛选"LIKE_ALL: "同时包含"其中动态筛选为时间类型特有筛选类型,可选值为:today:今天yesterday:昨天tomorrow:明天thisWeek:本周lastWeek:上周nextWeek:下周thisMonth:本月lastMonth:上月nextMonth:下月thisQuarter:本季度lastQuarter:上季度nextQuarter:下季度thisYear:今年lastYear:去年nextYear:明年 |
req.params.where.cond.values |
对象数组 |
根据params.where.cond.condOp填充实际的过滤值 |
req.modelCode |
文本 |
数据模型编码 |
{
"params": {
"where": {
"cond":
[{
"cond":[{
"key":"age",
"condOp":"GT",
"values": [40]
}],
"rel": "AND"
}],
"rel": "AND"
}
},
"modelCode":"student_ygwp8w4a"
}
出参说明
字段标识 |
字段类型 |
说明 |
deleted |
数字 |
删除记录数量 |
{"deleted":2}
使用示例
function main(params) {
var req = {
"params": {
"where": {
"cond":
[{
"cond":[{
"key":"age",
"condOp":"GT",
"values": [40]
}],
"rel": "AND"
}],
"rel": "AND"
}
},
"modelCode":"student_ygwp8w4a"
}
var resp = LC_SDK.model.dataBatchDelete(req);
return resp;
}
修改记录
根据id,更新指定字段的数据
入参说明
字段标识 |
字段类型 |
说明 |
req |
对象 |
|
req.params |
对象 |
数据模型的非系统字段,例如:name、age 等。 |
req.parma.id |
文本 |
数据唯一id,删除记录时为必填参数 |
req.modelCode |
文本 |
数据模型编码 |
{
"params": {
"id":"f3edeccaf8504e2cb6db50ec08c535f7",
"age":99
},
"modelCode":"student_ygwp8w4a"
}
出参说明
字段标识 |
字段类型 |
说明 |
updated |
数字 |
更新记录数量 |
{"updated":1}
使用示例
function main(params) {
var req = {
"params": {
"id":"f3edeccaf8504e2cb6db50ec08c535f7",
"age":99
},
"modelCode":"student_ygwp8w4a"
}
var resp = LC_SDK.model.dataUpdate(req);
return resp;
}
批量修改记录
根据查询构造条件,指定数据对象,修改满足查询条件的数据为指定数据对象的值
入参说明
字段标识 |
字段类型 |
说明 |
req |
对象 |
|
req.params |
对象 |
数据查询条件构造对象 |
req.params.where |
对象 |
批量更新查询条件(同批量删除一致) |
req.parmas.record |
对象 |
需要更新的数据模型的非系统字段,例如:name、age 等。 |
req.modelCode |
文本 |
数据模型编码 |
{
"params": {
"where": {
"cond": [{
"key":"age",
"condOp":"GT",
"values": [20]
}],
"rel": "AND"
},
"record": {"age":50}
},
"modelCode":"student_ygwp8w4a"
}
出参说明
字段标识 |
字段类型 |
说明 |
updated |
数字 |
更新记录数量 |
{"updated":1 }
使用示例
function main(params) {
var req = {
"params": {
"where": {
"cond": [{
"key":"age",
"condOp":"GT",
"values": [20]
}],
"rel": "AND"
},
"record": {"age":50}
},
"modelCode":"student_ygwp8w4a"
}
var resp = LC_SDK.model.dataBatchUpdate(req);
return resp;
}
查询单条记录
根据id查询单条记录
入参说明
字段标识 |
字段类型 |
说明 |
req |
对象 |
|
req.params |
对象 |
数据模型的非系统字段,例如:name、age 等。 |
req.parma.id |
文本 |
数据唯一id,查询单条记录时为必填参数 |
req.modelCode |
文本 |
数据模型编码 |
{
"params": {"id":"345a1da6b17d4e46ac304c4d5c92111d"},
"modelCode":"student_ygwp8w4a"
}
出参说明
字段标识 |
字段类型 |
说明 |
|
对象 |
数据模型的非系统字段,例如:name、age 等。 |
{
"create_by": {
"#show": "xxxx ",
"user_name": "xxx",
"id": "xxxx",
"tszd": xxx
},
"update_time": 1690170729285,
"create_time": 1690170729285,
"name": "Rex2",
"stu_no": "5c1e86b6ba234b85a3b6b8868005e060",
"id": "345a1da6b17d4e46ac304c4d5c92111d",
"update_by": {
"#show": "admin ",
"user_name": "admin",
"id": "36924118",
"tszd": null
},
"age": 4,
"organ_id": null
}
使用示例
function main(params) {
var req = {
"params": {"id":"345a1da6b17d4e46ac304c4d5c92111d"},
"modelCode":"student_ygwp8w4a"
}
var resp = LC_SDK.model.dataQueryItem(req);
var jsObj = {"js": resp}
return resp;
}
查询多条记录
根据查询构造条件,查询满足查询条件的数据
入参说明
字段标识 |
字段类型 |
说明 |
req |
对象 |
|
req.params |
对象 |
数据查询条件构造对象 |
req.params.where |
对象 |
批量更新查询条件(同批量删除一致) |
req.params.page |
对象 |
分页参数 |
req.params.page.pageNum |
整型数字 |
页数,默认为1 |
req.params.page.pageSize |
整型数字 |
每页条数,默认为10 |
req.modelCode |
文本 |
数据模型编码 |
req.fieldCodes |
数组 |
可选参数,需要查询的字段编码列表 |
{
"params": {
"where": {
"cond":[{
"key":"create_time",
"condOp":"GT",
"values":[1672502400000]
}],
"rel": "AND"
},
"page": {"pageNum":1, "pageSize": 10}
},
"modelCode": "student_ygwp8w4a",
"fieldCodes": ["name", "age"]
}
出参说明
字段标识 |
字段类型 |
说明 |
records |
对象列表 |
数据模型的非系统字段,例如:name、age 等。 |
pageInfo |
对象 |
分页信息 |
{
"records": [{...}],
"pageInfo": {
"total": 15,
"pageSize": 10,
"pageNum": 1,
}
}
}
使用示例
function main(params) {
var req = {
"params": {
"where": {
"cond":[{
"key":"create_time",
"condOp":"GT",
"values":[1672502400000]}],
"rel": "AND"
},
"page": {"pageNum":1, "pageSize": 10}
},
"modelCode":"student_ygwp8w4a"
}
var resp = LC_SDK.model.dataQueryRecords(req);
return resp;
}