开发规范

关于表名称

表名使用下划线 业务模块统一使用biz_前辍,如biz_project(项目表),biz_subject_category(学科分类表)

关于表字段

以下是主表和树型主表必备字段

普通主表

列名数据类型备注默认值
idbigint(20)主键系统自动生成
create_timedatetime(3)创建时间系统自动生成
create_userbigint(20)创建用户系统自动生成
update_timedatetime(3)更新时间系统自动生成
update_userbigint(20)更新用户系统自动生成
is_deletedtinyint(1)是否删除(1:是,0:否)0

普通树型主表

列名数据类型备注默认值
idbigint(20)主键系统自动生成
parent_idbigint(20)父节点ID0
namevarchar(64)名称录入
sortbigint(20)排序系统自动生成
create_timedatetime(3)创建时间系统自动生成
create_userbigint(20)创建用户系统自动生成
update_timedatetime(3)更新时间系统自动生成
update_userbigint(20)更新用户系统自动生成
is_deletedtinyint(1)是否删除(1:是,0:否)0

子表

子表命名要加上主表前辍,例: biz_project(项目主表) biz_project_opslog (项目操作日志表) biz_project_attachment(项目附件表)

中间表

多对多关系时一般都需要到中间表,可以使用两主表组合命名,例: biz_project(项目表) sys_user(系统用户表) 此时中间表可以为:biz_project_user(r_项目成员关系表) 注释要加上r_前辍

关于接口

前端与后端人员约定的一个数据交换的一种规范。

数据格式-JSON

{
  "id": 1,
  "userName": "admin",
  "userType": 1
}

后端统一返回结构规范

{
  "code": 0,
  "msg": "登录成功",
  "data": {}
}
名称类型描述
codeint状态码,200为成功,其他为失败
messageString消息描述
dataObject业务数据

返回规范

提交类

{
  "code": 0,
  "msg": "登录成功",
  "data": {}
}

单条记录

{
  "code": 0,
  "msg": "登录成功",
  "data": {
  	"id": 1,
    "userName": "admin",
    "userType": 1
  }
}

多条记录

{
  "code": 0,
  "msg": "登录成功",
  "data": [
  	{
      "id": 1,
      "userName": "admin1",
      "userType": 1
  	},
    {
      "id": 2,
      "userName": "admin2",
      "userType": 1
  	}
  ]
}

分页记录

{
    "code": 0,
    "msg": "成功",
    "data": {
        "recordCount": 4,
        "totalPage": 1,
        "pageSize": 10,
        "pageNum": 1,
        "rows": [
            {
                "id": "1686404946814533633",
                "userName": "admin",
                "realName": "蒙立东",
                "nickName": null,
                "avatar": null,
                "password": "211a86bdebe70443aa2e567bfc1e4d6e",
                "salt": "tyszoxth",
                "mobilePhone": "18276163688",
                "tel": null,
                "email": null,
                "adminType": 2,
                "sex": 1,
                "isLocked": 0,
                "deptId": "1704792169135079426",
                "postId": "1705025419610894338",
                "remark": null,
                "createTime": "2023-08-01 23:54:05",
                "createUser": "1567738052492341249",
                "updateTime": "2023-09-25 17:01:02",
                "updateUser": "1567738052492341249",
                "isDeleted": 0,
                "deptName": null,
                "postName": null,
                "roleIds": "1735191814393401346,1705019929250172930"
            },
            {
                "id": "1711659551216500738",
                "userName": "u0010",
                "realName": "黄红",
                "nickName": "",
                "avatar": null,
                "password": "2f4896ecef0ce948d9340ab895f72159",
                "salt": "vqylahu6",
                "mobilePhone": "13800000020",
                "tel": null,
                "email": null,
                "adminType": 2,
                "sex": 2,
                "isLocked": 0,
                "deptId": "1711659720523776002",
                "postId": "1712271151770308609",
                "remark": null,
                "createTime": "2023-10-10 16:26:52",
                "createUser": "1567738052492341249",
                "updateTime": "2023-10-12 08:59:31",
                "updateUser": "1567738052492341249",
                "isDeleted": 0,
                "deptName": null,
                "postName": null,
                "roleIds": "1735191814393401346"
            },
            {
                "id": "1711661958608584706",
                "userName": "u0011",
                "realName": "王强",
                "nickName": null,
                "avatar": null,
                "password": "1166408769777440bc33d42583712929",
                "salt": "heco3yr0",
                "mobilePhone": "13602312301",
                "tel": null,
                "email": null,
                "adminType": 2,
                "sex": 1,
                "isLocked": 0,
                "deptId": "1704792169135079426",
                "postId": "1712270597442670593",
                "remark": null,
                "createTime": "2023-10-10 16:36:26",
                "createUser": "1567738052492341249",
                "updateTime": "2024-04-07 23:52:03",
                "updateUser": "1686404946814533633",
                "isDeleted": 0,
                "deptName": null,
                "postName": null,
                "roleIds": "1735191814393401346"
            },
            {
                "id": "1714545752097366017",
                "userName": "u0012",
                "realName": "李青",
                "nickName": null,
                "avatar": null,
                "password": "a2575ec4a1f33a8f8ad40d2acd9bb5cb",
                "salt": "a56uxlm2",
                "mobilePhone": "18264232652",
                "tel": null,
                "email": null,
                "adminType": 2,
                "sex": 2,
                "isLocked": 0,
                "deptId": "1711659720523776002",
                "postId": "1705025419610894338",
                "remark": null,
                "createTime": "2023-10-18 15:35:36",
                "createUser": "1567738052492341249",
                "updateTime": "2023-10-18 15:35:44",
                "updateUser": "1567738052492341249",
                "isDeleted": 0,
                "deptName": null,
                "postName": null,
                "roleIds": "1735191814393401346"
            }
        ],
        "rainbow": null,
        "ext": null
    }
}
名称类型描述
recordCountlong总记录数
totalPageint总页数
pageSizeint每页的条数
pageNumint当前页,默认值为1

提交的规范

id提交类

请求正文JSON

{
  "id": 1
}

ids提交类

{
  "ids": [1,2,3]
}

实体提交类

{
  "id": 1,
  "userName": "admin",
  "userType": 1,
  "password": "123456"
}

通用查询类

详见通用查询