20261027_wechat_approval_notices.sql 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. -- 服务号审批通知;先执行本文件,再启用 WECHAT_OA_ENABLED。
  2. -- MySQL 5.7 / utf8mb4。无历史审批补发,无密钥存储。
  3. CREATE TABLE IF NOT EXISTS `sys_wechat_oa_binding` (
  4. `id` varchar(64) NOT NULL,
  5. `user_id` varchar(64) NOT NULL,
  6. `appid` varchar(64) NOT NULL,
  7. `openid` varchar(64) DEFAULT NULL,
  8. `subscribed` smallint NOT NULL DEFAULT 0,
  9. `tenant_no` varchar(64) NOT NULL,
  10. `order_num` int DEFAULT NULL,
  11. `remark` varchar(512) DEFAULT NULL,
  12. `create_by` varchar(64) DEFAULT NULL,
  13. `create_dept_id` varchar(64) NOT NULL DEFAULT '',
  14. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  15. `update_by` varchar(64) DEFAULT NULL,
  16. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  17. `del_flag` smallint NOT NULL DEFAULT 0,
  18. PRIMARY KEY (`id`),
  19. UNIQUE KEY `uk_oa_binding_user` (`tenant_no`,`appid`,`user_id`),
  20. UNIQUE KEY `uk_oa_binding_openid` (`tenant_no`,`appid`,`openid`)
  21. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='服务号用户绑定';
  22. CREATE TABLE IF NOT EXISTS `sys_wechat_approval_cycle` (
  23. `id` varchar(64) NOT NULL,
  24. `business_type` varchar(32) NOT NULL,
  25. `business_id` varchar(64) NOT NULL,
  26. `cycle_id` varchar(64) NOT NULL,
  27. `submitted_at` datetime NOT NULL,
  28. `assignments` text NOT NULL,
  29. `tenant_no` varchar(64) NOT NULL,
  30. `order_num` int DEFAULT NULL,
  31. `remark` varchar(512) DEFAULT NULL,
  32. `create_by` varchar(64) DEFAULT NULL,
  33. `create_dept_id` varchar(64) NOT NULL DEFAULT '',
  34. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  35. `update_by` varchar(64) DEFAULT NULL,
  36. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  37. `del_flag` smallint NOT NULL DEFAULT 0,
  38. PRIMARY KEY (`id`),
  39. UNIQUE KEY `uk_oa_cycle_business` (`tenant_no`,`business_type`,`business_id`)
  40. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='服务号通知审批轮次';
  41. CREATE TABLE IF NOT EXISTS `sys_wechat_notice` (
  42. `id` varchar(64) NOT NULL,
  43. `appid` varchar(64) NOT NULL,
  44. `business_type` varchar(32) NOT NULL,
  45. `business_id` varchar(64) NOT NULL,
  46. `cycle_id` varchar(64) NOT NULL,
  47. `event_key` varchar(64) NOT NULL,
  48. `kind` varchar(16) NOT NULL,
  49. `task_key` varchar(256) NOT NULL DEFAULT '',
  50. `recipient_id` varchar(64) NOT NULL,
  51. `result` varchar(16) DEFAULT NULL,
  52. `template_id` varchar(128) NOT NULL,
  53. `payload` text NOT NULL,
  54. `page` varchar(1024) NOT NULL DEFAULT '',
  55. `status` varchar(16) NOT NULL DEFAULT 'pending',
  56. `attempts` int NOT NULL DEFAULT 0,
  57. `next_attempt_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  58. `claimed_at` datetime DEFAULT NULL,
  59. `sent_at` datetime DEFAULT NULL,
  60. `message_id` varchar(128) DEFAULT NULL,
  61. `last_error` varchar(256) DEFAULT NULL,
  62. `tenant_no` varchar(64) NOT NULL,
  63. `order_num` int DEFAULT NULL,
  64. `remark` varchar(512) DEFAULT NULL,
  65. `create_by` varchar(64) DEFAULT NULL,
  66. `create_dept_id` varchar(64) NOT NULL DEFAULT '',
  67. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  68. `update_by` varchar(64) DEFAULT NULL,
  69. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  70. `del_flag` smallint NOT NULL DEFAULT 0,
  71. PRIMARY KEY (`id`),
  72. UNIQUE KEY `uk_oa_notice_event` (`event_key`),
  73. KEY `idx_oa_notice_due` (`status`,`next_attempt_at`)
  74. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='服务号审批通知发送记录';