跳到主要内容

赋值

设置全局变量

全局变量可以的值可以设置为当前会话中的值

  • UserID = session.user_id
  • CreatedBy = session.user_id
  • LastModifiedBy = session.user_id
  • ShopID = session.shop_id
  • OrgID = session.org_id

引用全局变量赋值

以下列的值由 Luwak 填充

  • user_id = @@UserID
  • create_user_id = @@CreatedBy
  • last_modified_user_id = @@LastModifiedBy
  • @@引用全局变量

示例

SESSION

模拟会话数据

{
"user_id": 1001,
"username": "luwak",
"shop_id": 168
}

模拟 session_id = F4C4690FA1EAA6D011A5127457951B3D 执行如下命令添加到 Redis

SELECT 1
HMSET F4C4690FA1EAA6D011A5127457951B3D user_id 1001 username luwak shop_id 168
EXPIRE F4C4690FA1EAA6D011A5127457951B3D 28800

定义全局变量

  • CreatedBy = session.user_id
  • LastModifiedBy = session.user_id

数据模型

注意两个列注释,引用了全局变量赋值

  • create_user_id = @@CreatedBy
  • last_modified_user_id = @@LastModifiedBy
DROP DATABASE IF EXISTS students;
CREATE DATABASE IF NOT EXISTS students;
USE students;

-- 班级表:存储班级信息
CREATE TABLE class
(
id INT NOT NULL AUTO_INCREMENT COMMENT '班级ID,主键',
name VARCHAR(50) NOT NULL COMMENT '班级名称',
create_user_id INT COMMENT 'create_user_id = @@CreatedBy',
last_modified_user_id INT COMMENT 'last_modified_user_id = @@LastModifiedBy',
PRIMARY KEY (id)
) COMMENT ='班级表';

请求

POST http://127.0.0.1:21000
Content-Type: application/json;charset=utf-8
{
"jsonrpc": "2.0",
"method": "students.class.add",
"params": {
"data": {
"name": "Grade 1, Class 1"
},
"token": "F4C4690FA1EAA6D011A5127457951B3D"
},
"id": "client-unique-request-id"
}

响应

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"jsonrpc": "2.0",
"result": {
"id": 1
},
"id": "client-unique-request-id"
}

实际存储的数据

mysql> select * from class;
+----+------------------+----------------+-----------------------+
| id | name | create_user_id | last_modified_user_id |
+----+------------------+----------------+-----------------------+
| 1 | Grade 1, Class 1 | 1001 | 1001 |
+----+------------------+----------------+-----------------------+
1 row in set (0.00 sec)