Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 
 

149 rindas
7.0 KiB

  1. -- cytx_api 初始化脚本
  2. -- 数据库:pap_cytx
  3. -- 需要的表:admin_user, admin_role, operation_log
  4. CREATE DATABASE IF NOT EXISTS `pap_cytx` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
  5. USE `pap_cytx`;
  6. SET NAMES utf8mb4;
  7. SET FOREIGN_KEY_CHECKS = 0;
  8. -- ========================================
  9. -- 管理员用户表
  10. -- ========================================
  11. CREATE TABLE IF NOT EXISTS `admin_user` (
  12. `id` int unsigned NOT NULL AUTO_INCREMENT,
  13. `username` varchar(50) NOT NULL COMMENT '用户名',
  14. `password` varchar(64) NOT NULL COMMENT '密码(MD5)',
  15. `nickname` varchar(50) DEFAULT '' COMMENT '昵称',
  16. `avatar` varchar(255) DEFAULT '' COMMENT '头像',
  17. `email` varchar(100) DEFAULT '' COMMENT '邮箱',
  18. `phone` varchar(20) DEFAULT '' COMMENT '手机号',
  19. `role_id` int unsigned DEFAULT 0 COMMENT '角色ID',
  20. `last_login_time` datetime DEFAULT NULL COMMENT '最后登录时间',
  21. `last_login_ip` varchar(50) DEFAULT '' COMMENT '最后登录IP',
  22. `login_fail_count` int DEFAULT 0 COMMENT '当日登录失败次数',
  23. `login_fail_date` date DEFAULT NULL COMMENT '最后登录失败日期',
  24. `status` tinyint(1) DEFAULT 1 COMMENT '状态: 1启用 0停用',
  25. `is_deleted` tinyint(1) DEFAULT 0 COMMENT '软删除: 0正常 1已删除',
  26. `create_by` int unsigned DEFAULT 0 COMMENT '创建人ID',
  27. `update_by` int unsigned DEFAULT 0 COMMENT '修改人ID',
  28. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  29. `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  30. PRIMARY KEY (`id`),
  31. UNIQUE KEY `uk_username` (`username`),
  32. KEY `idx_role_id` (`role_id`),
  33. KEY `idx_status` (`status`),
  34. KEY `idx_is_deleted` (`is_deleted`)
  35. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='管理员用户表';
  36. -- ========================================
  37. -- 角色表
  38. -- ========================================
  39. CREATE TABLE IF NOT EXISTS `admin_role` (
  40. `id` int unsigned NOT NULL AUTO_INCREMENT,
  41. `name` varchar(50) NOT NULL COMMENT '角色名称',
  42. `code` varchar(50) DEFAULT '' COMMENT '角色编码',
  43. `description` varchar(200) DEFAULT '' COMMENT '角色描述',
  44. `permissions` json DEFAULT NULL COMMENT '权限列表(JSON)',
  45. `is_default` tinyint(1) DEFAULT 0 COMMENT '是否默认角色: 0否 1是',
  46. `sort` int DEFAULT 0 COMMENT '排序',
  47. `status` tinyint(1) DEFAULT 1 COMMENT '状态: 1启用 0停用',
  48. `is_deleted` tinyint(1) DEFAULT 0 COMMENT '软删除: 0正常 1已删除',
  49. `create_by` int unsigned DEFAULT 0 COMMENT '创建人ID',
  50. `update_by` int unsigned DEFAULT 0 COMMENT '修改人ID',
  51. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  52. `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  53. PRIMARY KEY (`id`),
  54. KEY `idx_status` (`status`),
  55. KEY `idx_is_deleted` (`is_deleted`),
  56. KEY `idx_sort` (`sort`)
  57. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色表';
  58. -- ========================================
  59. -- 操作日志表
  60. -- ========================================
  61. CREATE TABLE IF NOT EXISTS `operation_log` (
  62. `id` int NOT NULL AUTO_INCREMENT,
  63. `user_id` int DEFAULT 0 COMMENT '操作人ID',
  64. `username` varchar(50) DEFAULT '' COMMENT '操作人用户名',
  65. `action` varchar(20) DEFAULT '' COMMENT '操作类型: login/logout/add/edit/delete/export',
  66. `module` varchar(50) DEFAULT '' COMMENT '操作模块',
  67. `description` varchar(500) DEFAULT '' COMMENT '操作描述',
  68. `ip` varchar(50) DEFAULT '' COMMENT 'IP地址',
  69. `user_agent` varchar(500) DEFAULT '' COMMENT '浏览器UA',
  70. `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
  71. PRIMARY KEY (`id`),
  72. KEY `idx_user` (`user_id`),
  73. KEY `idx_action` (`action`),
  74. KEY `idx_time` (`create_time`)
  75. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='操作日志';
  76. -- ========================================
  77. -- 患者表
  78. -- ========================================
  79. CREATE TABLE IF NOT EXISTS `patient` (
  80. `id` int unsigned NOT NULL AUTO_INCREMENT,
  81. `patient_no` varchar(30) NOT NULL COMMENT '患者编号(YYYYMM+雪花ID)',
  82. `name` varchar(50) NOT NULL COMMENT '姓名',
  83. `phone` varchar(20) NOT NULL COMMENT '手机号',
  84. `id_card` varchar(18) NOT NULL COMMENT '身份证号',
  85. `gender` varchar(4) DEFAULT '' COMMENT '性别',
  86. `birth_date` date DEFAULT NULL COMMENT '出生日期',
  87. `province_code` varchar(6) DEFAULT '' COMMENT '省编码',
  88. `city_code` varchar(6) DEFAULT '' COMMENT '市编码',
  89. `district_code` varchar(6) DEFAULT '' COMMENT '区编码',
  90. `address` varchar(255) DEFAULT '' COMMENT '详细地址',
  91. `tag` varchar(50) DEFAULT '' COMMENT '标识(如直肠癌)',
  92. `documents` json DEFAULT NULL COMMENT '上传资料(检查报告等)JSON数组',
  93. `sign_income` varchar(255) DEFAULT '' COMMENT '个人可支配收入声明文件URL',
  94. `sign_privacy` varchar(255) DEFAULT '' COMMENT '个人信息处理同意书文件URL',
  95. `sign_promise` varchar(255) DEFAULT '' COMMENT '声明与承诺文件URL',
  96. `status` tinyint(1) DEFAULT 0 COMMENT '状态: 0待审核 1审核通过 2已驳回',
  97. `is_deleted` tinyint(1) DEFAULT 0 COMMENT '软删除: 0正常 1已删除',
  98. `create_by` int unsigned DEFAULT 0 COMMENT '创建人ID',
  99. `update_by` int unsigned DEFAULT 0 COMMENT '修改人ID',
  100. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  101. `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  102. PRIMARY KEY (`id`),
  103. UNIQUE KEY `uk_patient_no` (`patient_no`),
  104. KEY `idx_status` (`status`),
  105. KEY `idx_is_deleted` (`is_deleted`),
  106. KEY `idx_phone` (`phone`),
  107. KEY `idx_id_card` (`id_card`),
  108. KEY `idx_tag` (`tag`),
  109. KEY `idx_create_time` (`create_time`)
  110. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='患者表';
  111. -- ========================================
  112. -- 患者审核记录表
  113. -- ========================================
  114. CREATE TABLE IF NOT EXISTS `patient_audit` (
  115. `id` int unsigned NOT NULL AUTO_INCREMENT,
  116. `patient_id` int unsigned NOT NULL COMMENT '患者ID',
  117. `action` varchar(20) NOT NULL COMMENT '操作: submit/approve/reject',
  118. `reason` varchar(500) DEFAULT '' COMMENT '驳回原因',
  119. `operator_id` int unsigned DEFAULT 0 COMMENT '操作人ID',
  120. `operator_name` varchar(50) DEFAULT '' COMMENT '操作人姓名',
  121. `is_deleted` tinyint(1) DEFAULT 0 COMMENT '软删除: 0正常 1已删除',
  122. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
  123. PRIMARY KEY (`id`),
  124. KEY `idx_patient_id` (`patient_id`),
  125. KEY `idx_action` (`action`),
  126. KEY `idx_is_deleted` (`is_deleted`)
  127. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='患者审核记录表';
  128. -- ========================================
  129. -- 初始化数据
  130. -- ========================================
  131. -- 默认角色
  132. INSERT INTO `admin_role` (`id`, `name`, `code`, `description`, `permissions`, `is_default`, `sort`) VALUES
  133. (1, '超级管理员', 'ADMIN', '拥有所有权限', '["*"]', 1, 1);
  134. -- 默认管理员 (密码: Admin123)
  135. INSERT INTO `admin_user` (`username`, `password`, `nickname`, `role_id`) VALUES
  136. ('admin', '0192023a7bbd73250516f069df18b500', '超级管理员', 1);
  137. SET FOREIGN_KEY_CHECKS = 1;