update-v3.sql 49 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670
  1. CREATE TABLE `new_user_stats` (
  2. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  3. `stats_time` char(10) NOT NULL COMMENT '统计时间(格式:yyyy-MM-dd)',
  4. `new_user_count` int NOT NULL COMMENT '新用户数量',
  5. `created_by` bigint NOT NULL COMMENT '创建人',
  6. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  7. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  8. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  9. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  10. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  11. PRIMARY KEY (`id`),
  12. KEY `idx_NewUserStats_StatsTime` (`stats_time`)
  13. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='新用户数据统计';
  14. CREATE TABLE `points_stats` (
  15. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  16. `user_id` bigint NOT NULL COMMENT '用户id',
  17. `stats_time` char(10) NOT NULL COMMENT '统计时间(格式:yyyy-MM-dd)',
  18. `settle_points` int NOT NULL COMMENT '每日积分的结算数',
  19. `consume_points` int NOT NULL COMMENT '每日积分的消耗数量',
  20. `total_points` int NOT NULL COMMENT '每日剩余总积分',
  21. `created_by` bigint NOT NULL COMMENT '创建人',
  22. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  23. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  24. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  25. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  26. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  27. PRIMARY KEY (`id`),
  28. KEY `idx_PointsStats_StatsTime` (`stats_time`),
  29. KEY `idx_PointsStats_UserId` (`user_id`)
  30. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='积分数据统计';
  31. CREATE TABLE `reward` (
  32. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  33. `user_id` bigint NOT NULL COMMENT '用户id',
  34. `reward_unique_id` bigint DEFAULT NULL COMMENT '奖励唯一id',
  35. `reward_status` varchar(10) DEFAULT NULL COMMENT '奖励状态(活跃-ACTIVE,归档-ARCHIVE)',
  36. `reward_version` int DEFAULT NULL COMMENT '奖励修改版本',
  37. `reward_name` varchar(100) NOT NULL COMMENT '奖励名称',
  38. `exchange_points` int NOT NULL COMMENT '兑换所需积分',
  39. `auto_status` varchar(10) NOT NULL COMMENT '是否启用自动兑换(ENABLED-启用,DISABLED-关闭)',
  40. `auto_exchange_count` int DEFAULT NULL COMMENT '自动兑换数量',
  41. `created_by` bigint NOT NULL COMMENT '创建人',
  42. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  43. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  44. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  45. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  46. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  47. PRIMARY KEY (`id`),
  48. KEY `idx_Reward_UserId` (`user_id`)
  49. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='奖励';
  50. CREATE TABLE `reward_account_rela` (
  51. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  52. `user_id` bigint NOT NULL COMMENT '用户id',
  53. `reward_unique_id` bigint NOT NULL COMMENT '奖励唯一id',
  54. `account_id` bigint NOT NULL COMMENT '账户id',
  55. `created_by` bigint NOT NULL COMMENT '创建人',
  56. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  57. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  58. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  59. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  60. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  61. PRIMARY KEY (`id`),
  62. KEY `idx_RewardAccountRela_UserId` (`user_id`)
  63. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='奖励与账户关联表';
  64. CREATE TABLE `reward_history` (
  65. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  66. `user_id` bigint NOT NULL COMMENT '用户id',
  67. `reward_id` bigint NOT NULL COMMENT '奖励id',
  68. `exchange_method` varchar(10) NOT NULL COMMENT '兑换类型(手动兑换-MANUAL,自动兑换-AUTO)',
  69. `exchange_count` int NOT NULL COMMENT '兑换次数',
  70. `exchange_total_points` int NOT NULL COMMENT '兑换所需总积分',
  71. `account_id` bigint NOT NULL COMMENT '兑换使用的账户id',
  72. `account_name` varchar(100) NOT NULL COMMENT '账户名称',
  73. `account_points_before_exchange` int NOT NULL COMMENT '兑换前账户中的积分',
  74. `account_points_after_exchange` int NOT NULL COMMENT '兑换后账户中的积分',
  75. `created_by` bigint NOT NULL COMMENT '创建人',
  76. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  77. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  78. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  79. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  80. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  81. PRIMARY KEY (`id`),
  82. KEY `idx_RewardHis_UserId` (`user_id`),
  83. KEY `idx_RewardHis_CreationTime` (`creation_time`)
  84. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='奖励兑换记录';
  85. CREATE TABLE `punch_in_stats_week` (
  86. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  87. `user_id` bigint NOT NULL COMMENT '用户id',
  88. `task_unique_id` bigint NOT NULL COMMENT '任务唯一ID',
  89. `stats_time` char(7) NOT NULL COMMENT '统计时间(格式:yyyy-周数)',
  90. `punch_in_total_count` int NOT NULL COMMENT '本周需打卡数',
  91. `punch_in_count` int NOT NULL COMMENT '本周已打卡数',
  92. `punch_in_done_count` int NOT NULL COMMENT '本周完成打卡数',
  93. `punch_in_rate` decimal(5,2) NOT NULL COMMENT '本周打卡率',
  94. `punch_in_done_rate` decimal(5,2) NOT NULL COMMENT '本周打卡完成率',
  95. `points` int NOT NULL COMMENT '本周获取积分数',
  96. `created_by` bigint NOT NULL COMMENT '创建人',
  97. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  98. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  99. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  100. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  101. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  102. PRIMARY KEY (`id`),
  103. KEY `idx_PIStatsMonth_UserId` (`user_id`),
  104. KEY `idx_PIStatsMonth_TaskUniqueId` (`task_unique_id`),
  105. KEY `idx_PIStatsMonth_StatsTime` (`stats_time`)
  106. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='打卡任务周数据统计';
  107. CREATE TABLE `punch_in_stats_month` (
  108. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  109. `user_id` bigint NOT NULL COMMENT '用户id',
  110. `task_unique_id` bigint NOT NULL COMMENT '任务唯一ID',
  111. `stats_time` char(7) NOT NULL COMMENT '统计时间(格式:yyyy-MM)',
  112. `punch_in_total_count` int NOT NULL COMMENT '本月需打卡数',
  113. `punch_in_count` int NOT NULL COMMENT '本月已打卡数',
  114. `punch_in_done_count` int NOT NULL COMMENT '本月完成打卡数',
  115. `punch_in_rate` decimal(5,2) NOT NULL COMMENT '本月打卡率',
  116. `punch_in_done_rate` decimal(5,2) NOT NULL COMMENT '本月打卡完成率',
  117. `points` int NOT NULL COMMENT '本月获取积分数',
  118. `created_by` bigint NOT NULL COMMENT '创建人',
  119. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  120. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  121. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  122. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  123. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  124. PRIMARY KEY (`id`),
  125. KEY `idx_PIStatsMonth_UserId` (`user_id`),
  126. KEY `idx_PIStatsMonth_TaskUniqueId` (`task_unique_id`),
  127. KEY `idx_PIStatsMonth_StatsTime` (`stats_time`)
  128. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='打卡任务月数据统计';
  129. CREATE TABLE `punch_in_stats_year` (
  130. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  131. `user_id` bigint NOT NULL COMMENT '用户id',
  132. `task_unique_id` bigint NOT NULL COMMENT '任务唯一ID',
  133. `stats_time` char(4) NOT NULL COMMENT '统计时间(格式:yyyy)',
  134. `punch_in_total_count` int NOT NULL COMMENT '本年需打卡数',
  135. `punch_in_count` int NOT NULL COMMENT '本年已打卡数',
  136. `punch_in_done_count` int NOT NULL COMMENT '本年完成打卡数',
  137. `punch_in_rate` decimal(5,2) NOT NULL COMMENT '本年打卡率',
  138. `punch_in_done_rate` decimal(5,2) NOT NULL COMMENT '本年打卡完成率',
  139. `points` int NOT NULL COMMENT '本年获取积分数',
  140. `created_by` bigint NOT NULL COMMENT '创建人',
  141. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  142. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  143. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  144. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  145. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  146. PRIMARY KEY (`id`),
  147. KEY `idx_PIStatsYear_UserId` (`user_id`),
  148. KEY `idx_PIStatsYear_TaskUniqueId` (`task_unique_id`),
  149. KEY `idx_PIStatsYear_StatsTime` (`stats_time`)
  150. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='打卡任务年数据统计';
  151. CREATE TABLE `account` (
  152. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  153. `user_id` bigint NOT NULL COMMENT '用户id',
  154. `account_name` varchar(100) NOT NULL COMMENT '账户名称',
  155. `account_type` varchar(10) NOT NULL COMMENT '账户类型(BASIC-基本户,GENERAL-一般户)',
  156. `points` int NOT NULL COMMENT '奖励积分',
  157. `created_by` bigint NOT NULL COMMENT '创建人',
  158. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  159. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  160. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  161. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  162. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  163. PRIMARY KEY (`id`),
  164. KEY `idx_Account_UserId` (`user_id`)
  165. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='账户';
  166. CREATE TABLE `account_transfer_history` (
  167. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  168. `user_id` bigint NOT NULL COMMENT '用户id',
  169. `sender_account_id` bigint NOT NULL COMMENT '转出账户id',
  170. `recipient_account_id` bigint NOT NULL COMMENT '转入账户id',
  171. `transfer_points` int NOT NULL COMMENT '转账积分',
  172. `sa_points_before_transfer` int NOT NULL COMMENT '转出账户转出前积分',
  173. `sa_points_after_transfer` int NOT NULL COMMENT '转出账户转出后积分',
  174. `ra_points_before_transfer` int NOT NULL COMMENT '转入账户转入前积分',
  175. `ra_points_after_transfer` int NOT NULL COMMENT '转入账户转入后积分',
  176. `created_by` bigint NOT NULL COMMENT '创建人',
  177. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  178. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  179. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  180. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  181. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  182. PRIMARY KEY (`id`),
  183. KEY `idx_ATransferHis_UserId` (`user_id`),
  184. KEY `idx_ATransferHis_CreationTime` (`creation_time`)
  185. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='账户转账记录';
  186. CREATE TABLE `item_consume_win_history` (
  187. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  188. `user_id` bigint NOT NULL COMMENT '用户ID',
  189. `action` varchar(30) NOT NULL COMMENT '动作(消费-CONSUME,中奖-WIN,撤销消费-REVERSE_CONSUME,撤销中奖-REVERSE_WIN)',
  190. `source` varchar(100) NOT NULL COMMENT '来源',
  191. `category` varchar(100) NOT NULL COMMENT '种类',
  192. `amount` decimal(10,2) NOT NULL COMMENT '金额(元)',
  193. `created_by` bigint NOT NULL COMMENT '创建人',
  194. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  195. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  196. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  197. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  198. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  199. PRIMARY KEY (`id`),
  200. KEY `idx_ICWHis_UserId` (`user_id`),
  201. KEY `idx_ICWHis_CreationTime` (`creation_time`)
  202. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='物品消费与中奖记录';
  203. CREATE TABLE `punch_in_task_ext` (
  204. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  205. `user_id` bigint NOT NULL COMMENT '用户ID',
  206. `punch_in_task_id` bigint NOT NULL COMMENT '打卡任务ID',
  207. `dimension` varchar(10) NOT NULL COMMENT '使用维度(一天-ONE_DAY,多天-MULTI_DAY)',
  208. `initial_value` int NOT NULL COMMENT '起始值(单位:次)',
  209. `extra_points` int NOT NULL COMMENT '奖励的积分(额外)',
  210. `created_by` bigint NOT NULL COMMENT '创建人',
  211. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  212. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  213. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  214. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  215. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  216. PRIMARY KEY (`id`),
  217. KEY `idx_PITaskExt_UserId` (`user_id`),
  218. KEY `idx_PITaskExt_PunchInTaskId` (`punch_in_task_id`)
  219. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='打卡任务拓展表';
  220. CREATE TABLE `punch_in_multi_task` (
  221. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  222. `user_id` bigint NOT NULL COMMENT '用户ID',
  223. `multi_task_unique_id` bigint NOT NULL COMMENT '打卡多任务唯一ID',
  224. `multi_task_status` varchar(10) NOT NULL COMMENT '任务状态(活跃-ACTIVE,归档-ARCHIVE)',
  225. `multi_task_version` int NOT NULL COMMENT '任务修改版本',
  226. `task_points_status` varchar(10) NOT NULL COMMENT '是否启用多任务积分计算(ENABLED-启用,DISABLED-关闭)',
  227. `punch_in_done_count` int DEFAULT NULL COMMENT '打卡完成次数',
  228. `points` int NOT NULL COMMENT '奖励的积分(基本)',
  229. `grace_status` varchar(10) NOT NULL COMMENT '是否启用宽限期(ENABLED-启用,DISABLED-关闭)',
  230. `grace_day` int DEFAULT NULL COMMENT '宽限期(单位:天)',
  231. `interrupted_day` int DEFAULT NULL COMMENT '打卡中断天数(单位:天)',
  232. `penalty_day` int DEFAULT NULL COMMENT '惩罚天数(单位:天)',
  233. `extra_method` varchar(10) NOT NULL COMMENT '额外奖励方式(无-NONE,固定-FIXED,区间-INTERVAL)',
  234. `extra_points` int DEFAULT NULL COMMENT '奖励的积分(额外)',
  235. `created_by` bigint NOT NULL COMMENT '创建人',
  236. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  237. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  238. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  239. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  240. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  241. PRIMARY KEY (`id`),
  242. KEY `idx_PIMTask_UserId` (`user_id`),
  243. KEY `idx_PIMTask_MultiTaskUniqueId` (`multi_task_unique_id`)
  244. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='打卡多任务表';
  245. CREATE TABLE `punch_in_multi_task_ext` (
  246. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  247. `user_id` bigint NOT NULL COMMENT '用户ID',
  248. `multi_task_unique_id` bigint NOT NULL COMMENT '多任务ID',
  249. `dimension` varchar(10) NOT NULL COMMENT '使用维度(一天-ONE_DAY,多天-MULTI_DAY)',
  250. `initial_value` int NOT NULL COMMENT '起始值(单位:次)',
  251. `extra_points` int NOT NULL COMMENT '奖励的积分(额外)',
  252. `created_by` bigint NOT NULL COMMENT '创建人',
  253. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  254. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  255. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  256. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  257. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  258. PRIMARY KEY (`id`),
  259. KEY `idx_PIMTaskExt_UserId` (`user_id`),
  260. KEY `idx_PIMTaskExt_MTaskUniqueId` (`multi_task_unique_id`)
  261. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='打卡多任务拓展表';
  262. CREATE TABLE `punch_in_multi_task_rela` (
  263. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  264. `user_id` bigint NOT NULL COMMENT '用户ID',
  265. `punch_in_multi_task_id` bigint NOT NULL COMMENT '打卡多任务ID',
  266. `punch_in_task_id` bigint NOT NULL COMMENT '打卡任务ID',
  267. `created_by` bigint NOT NULL COMMENT '创建人',
  268. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  269. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  270. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  271. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  272. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  273. PRIMARY KEY (`id`),
  274. KEY `idx_PIMTaskRela_UserId` (`user_id`),
  275. KEY `idx_PIMTaskRela_PIMTaskId` (`punch_in_multi_task_id`),
  276. KEY `idx_PIMTaskRela_PITaskId` (`punch_in_task_id`)
  277. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='打卡多任务关联表';
  278. CREATE TABLE `punch_in_task_history` (
  279. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  280. `user_id` bigint NOT NULL COMMENT '用户ID',
  281. `punch_in_task_unique_id` bigint NOT NULL COMMENT '打卡任务唯一ID',
  282. `punch_in_date` varchar(10) NOT NULL COMMENT '打卡日期',
  283. `punch_in_status` varchar(10) NOT NULL COMMENT '打卡状态(DONE-完成,UNDONE-未完成)',
  284. `count_track` int DEFAULT NULL COMMENT '次数记录',
  285. `time_track` time DEFAULT NULL COMMENT '时间记录',
  286. `consecutive_status` varchar(20) DEFAULT NULL COMMENT '连续打卡状态(正常打卡-NORMAL、中断--INTERRUPTED)',
  287. `consecutive_day` int DEFAULT NULL COMMENT '连续天数,第一天开始就等于1',
  288. `settle_task_history_id` bigint DEFAULT NULL COMMENT '结算任务执行ID',
  289. `settle_status` varchar(20) NOT NULL COMMENT '结算状态(未结算-UNSETTLED,宽限期跳过J-GRACE_SKIP,惩罚跳过-PENALTY_SKIP,已结算-SETTLED)',
  290. `settle_punch_in_task_id` bigint DEFAULT NULL COMMENT '结算时的打卡任务ID',
  291. `settle_points` int DEFAULT NULL COMMENT '结算奖励积分',
  292. `created_by` bigint NOT NULL COMMENT '创建人',
  293. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  294. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  295. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  296. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  297. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  298. PRIMARY KEY (`id`),
  299. KEY `idx_PITaskHis_UserId` (`user_id`),
  300. KEY `idx_PITaskHis_PITaskUniqueId` (`punch_in_task_unique_id`),
  301. KEY `idx_PITaskHis_PunchInDate` (`punch_in_date`),
  302. KEY `idx_PITaskHis_CreationTime` (`creation_time`)
  303. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='打卡任务记录表';
  304. CREATE TABLE `punch_in_multi_task_history` (
  305. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  306. `user_id` bigint NOT NULL COMMENT '用户ID',
  307. `punch_in_multi_task_unique_id` bigint NOT NULL COMMENT '打卡多任务唯一ID',
  308. `punch_in_date` varchar(10) NOT NULL COMMENT '打卡日期',
  309. `punch_in_status` varchar(10) NOT NULL COMMENT '打卡状态(DONE-完成,UNDONE-未完成)',
  310. `total_task_count` int NOT NULL COMMENT '总任务数',
  311. `punch_in_done_count` int NOT NULL COMMENT '打卡完成数',
  312. `consecutive_status` varchar(20) NOT NULL COMMENT '连续打卡状态(正常打卡-NORMAL、中断--INTERRUPTED)',
  313. `consecutive_day` int NOT NULL COMMENT '连续天数,第一天开始就等于1',
  314. `settle_task_history_id` bigint DEFAULT NULL COMMENT '结算任务执行ID',
  315. `settle_status` varchar(20) NOT NULL COMMENT '结算状态(未结算-UNSETTLED,宽限期跳过J-GRACE_SKIP,惩罚跳过-PENALTY_SKIP,已结算-SETTLED)',
  316. `settle_punch_in_multi_task_id` bigint DEFAULT NULL COMMENT '结算时的打卡多任务ID',
  317. `settle_points` int DEFAULT NULL COMMENT '结算奖励积分',
  318. `created_by` bigint NOT NULL COMMENT '创建人',
  319. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  320. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  321. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  322. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  323. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  324. PRIMARY KEY (`id`),
  325. KEY `idx_PIMTaskHis_UserId` (`user_id`),
  326. KEY `idx_PIMTaskHis_PIMTUniqueId` (`punch_in_multi_task_unique_id`),
  327. KEY `idx_PIMTaskHis_PunchInDate` (`punch_in_date`)
  328. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='打卡多任务记录表';
  329. CREATE TABLE `punch_in_status` (
  330. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  331. `user_id` bigint NOT NULL COMMENT '用户ID',
  332. `punch_in_multi_task_unique_id` bigint DEFAULT NULL COMMENT '打卡多任务唯一ID',
  333. `punch_in_task_unique_id` bigint DEFAULT NULL COMMENT '打卡任务唯一ID',
  334. `consecutive_status` varchar(20) NOT NULL COMMENT '连续打卡状态(连续打卡-CONSECUTIVE、中断--INTERRUPTED)',
  335. `consecutive_day` int NOT NULL COMMENT '连续天数,第一天开始就等于1',
  336. `start_date` date NOT NULL COMMENT '开始日期',
  337. `end_date` date DEFAULT NULL COMMENT '结束日期',
  338. `created_by` bigint NOT NULL COMMENT '创建人',
  339. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  340. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  341. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  342. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  343. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  344. PRIMARY KEY (`id`),
  345. KEY `idx_PIStatus_UserId` (`user_id`),
  346. KEY `idx_PIStatus_PIMTaskUniqueId` (`punch_in_multi_task_unique_id`),
  347. KEY `idx_PIStatus_PITaskUniqueId` (`punch_in_task_unique_id`)
  348. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='打卡任务状态表';
  349. CREATE TABLE `punch_in_status_history` (
  350. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  351. `user_id` bigint NOT NULL COMMENT '用户ID',
  352. `punch_in_multi_task_unique_id` bigint DEFAULT NULL COMMENT '打卡多任务唯一ID',
  353. `punch_in_task_unique_id` bigint DEFAULT NULL COMMENT '打卡任务唯一ID',
  354. `consecutive_status` varchar(20) NOT NULL COMMENT '连续打卡状态(正常打卡-NORMAL、中断--INTERRUPTED)',
  355. `consecutive_day` int NOT NULL COMMENT '连续天数,第一天开始就等于1',
  356. `start_date` date NOT NULL COMMENT '开始日期',
  357. `end_date` date DEFAULT NULL COMMENT '结束日期',
  358. `created_by` bigint NOT NULL COMMENT '创建人',
  359. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  360. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  361. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  362. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  363. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  364. PRIMARY KEY (`id`),
  365. KEY `idx_PIStatusHis_UserId` (`user_id`),
  366. KEY `idx_PIStatusHis_PIMTUniqueId` (`punch_in_multi_task_unique_id`),
  367. KEY `idx_PIStatusHis_PITUniqueId` (`punch_in_task_unique_id`),
  368. KEY `idx_PIStatusHis_CreationTime` (`creation_time`)
  369. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='打卡任务状态记录表';
  370. CREATE TABLE `settle_points_history` (
  371. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  372. `settle_task_history_id` bigint NOT NULL COMMENT '结算任务执行ID',
  373. `user_id` bigint NOT NULL COMMENT '用户表主键',
  374. `settle_date` varchar(10) NOT NULL COMMENT '结算日期',
  375. `settle_points` int NOT NULL COMMENT '结算积分',
  376. `before_settle_points` int NOT NULL COMMENT '结算前用户拥有的积分',
  377. `after_settle_points` int NOT NULL COMMENT '结算后用户拥有的积分',
  378. `created_by` bigint NOT NULL COMMENT '创建人',
  379. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  380. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  381. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  382. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  383. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  384. PRIMARY KEY (`id`),
  385. KEY `idx_SPointsHis_UserId` (`user_id`),
  386. KEY `idx_SPointsHis_SettleDate` (`settle_date`),
  387. KEY `idx_SPointsHis_STaskHisId` (`settle_task_history_id`)
  388. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='结算积分记录表';
  389. CREATE TABLE `sys_calendar` (
  390. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  391. `gregorian_date` char(10) NOT NULL COMMENT '公历日期,格式:yyyy-MM-dd',
  392. `lunar_date` char(10) DEFAULT NULL COMMENT '农历日期,格式:yyyy-MM-dd',
  393. `week_day` int DEFAULT NULL COMMENT '周内天数(1-7),周一为1,周日为7',
  394. `status` char(7) DEFAULT NULL COMMENT '状态:WORKDAY-上班, HOLIDAY-放假;上班:含正常工作日及补班;放假:含周末及节假日。',
  395. `festival` varchar(30) DEFAULT NULL COMMENT '国家法定节日:元旦节, 春节, 清明节, 劳动节, 端午节, 中秋节, 国庆节。',
  396. `bad_day` char(1) DEFAULT NULL COMMENT '是否补班:Y-是,N-否;需要补班,真是难受的一天!仅当需要补班时有该字段。',
  397. `description` varchar(300) DEFAULT NULL COMMENT '描述,表示什么时候补班,例如劳动节前补班、国庆节后补班等。仅需要补班时有该字段。',
  398. `statutory` char(1) DEFAULT NULL COMMENT '是否法定节假日:Y-是,N-否;如果是法定节假日则返回1,仅当是法定节假日时有该字段。',
  399. `created_by` bigint NOT NULL COMMENT '创建人',
  400. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  401. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  402. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  403. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  404. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  405. PRIMARY KEY (`id`),
  406. KEY `idx_SysCalendar_GregorianDate` (`gregorian_date`)
  407. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='系统日历表';
  408. CREATE TABLE `sys_schedule_task` (
  409. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  410. `task_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '定时任务编码',
  411. `task_name` varchar(100) NOT NULL COMMENT '定时任务名称',
  412. `execute_status` varchar(10) NOT NULL COMMENT '是否启用定时任务(ENABLE-开启、DISABLE-关闭)',
  413. `created_by` bigint NOT NULL COMMENT '创建人',
  414. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  415. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  416. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  417. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  418. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  419. PRIMARY KEY (`id`)
  420. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='定时任务执行配置表';
  421. CREATE TABLE `sys_schedule_task_history` (
  422. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  423. `task_code` varchar(100) NOT NULL COMMENT '定时任务编码',
  424. `task_name` varchar(100) NOT NULL COMMENT '定时任务名称',
  425. `launch_method` varchar(10) NOT NULL COMMENT '启动方式(AUTO-自动,MANUAL-手动)',
  426. `start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '任务开始时间',
  427. `end_time` timestamp NULL DEFAULT NULL COMMENT '任务结束时间',
  428. `process_status` varchar(10) NOT NULL COMMENT '执行状态(RUNNING-执行中,SUCCESS-成功,FAIL-失败)',
  429. `error_message` varchar(5000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '错误信息',
  430. `created_by` bigint NOT NULL COMMENT '创建人',
  431. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  432. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  433. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  434. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  435. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  436. PRIMARY KEY (`id`),
  437. KEY `idx_SScheduleTaskHis_TaskCode` (`task_code`)
  438. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='定时任务执行记录表';
  439. ALTER TABLE `user` DROP COLUMN `avatar`;
  440. ALTER TABLE `user` CHANGE total_reward_num total_points int DEFAULT 0 NOT NULL COMMENT '总积分';
  441. ALTER TABLE `user` MODIFY COLUMN total_points int DEFAULT 0 NOT NULL COMMENT '总积分';
  442. ALTER TABLE `user` CHANGE unclaimed_reward_num unused_points int DEFAULT 0 NOT NULL COMMENT '未使用积分';
  443. ALTER TABLE `user` MODIFY COLUMN unused_points int DEFAULT 0 NOT NULL COMMENT '未使用积分';
  444. ALTER TABLE `user` CHANGE claimed_reward_num used_points int DEFAULT 0 NOT NULL COMMENT '已使用积分';
  445. ALTER TABLE `user` MODIFY COLUMN used_points int DEFAULT 0 NOT NULL COMMENT '已使用积分';
  446. ALTER TABLE `user` CHANGE lottery_invest_amount total_consume_amount decimal(10,2) DEFAULT 0.00 NOT NULL COMMENT '总消费金额(元)';
  447. ALTER TABLE `user` MODIFY COLUMN total_consume_amount decimal(10,2) DEFAULT 0.00 NOT NULL COMMENT '总消费金额(元)';
  448. ALTER TABLE `user` CHANGE lottery_win_amount total_win_amount decimal(10,2) DEFAULT 0.00 NOT NULL COMMENT '总中奖金额(元)';
  449. ALTER TABLE `user` MODIFY COLUMN total_win_amount decimal(10,2) DEFAULT 0.00 NOT NULL COMMENT '总中奖金额(元)';
  450. RENAME TABLE punch_settle.punch_in TO punch_settle.punch_in_task;
  451. ALTER TABLE punch_settle.punch_in_task CHANGE reward_num points int DEFAULT 1 NOT NULL COMMENT '奖励的积分(基本)';
  452. ALTER TABLE punch_settle.punch_in_task MODIFY COLUMN points int DEFAULT 1 NOT NULL COMMENT '奖励的积分(基本)';
  453. ALTER TABLE `punch_in_task`
  454. ADD COLUMN `task_unique_id` bigint NULL COMMENT '任务唯一ID',
  455. ADD COLUMN `task_status` varchar(10) NULL COMMENT '任务状态(活跃-ACTIVE,归档-ARCHIVE)',
  456. ADD COLUMN `task_version` int NULL COMMENT '任务修改版本',
  457. ADD COLUMN `end_date` date DEFAULT NULL COMMENT '结束日期',
  458. ADD COLUMN `archive_status` varchar(10) NULL COMMENT '是否归档(活跃-ACTIVE,归档-ARCHIVE)',
  459. ADD COLUMN `display_order` int NULL COMMENT '显示顺序',
  460. ADD COLUMN `display_time` time DEFAULT NULL COMMENT '显示时间',
  461. ADD COLUMN `punch_in_method` varchar(10) DEFAULT NULL COMMENT '打卡方式(单次打卡-SINGLE,计数-COUNT、计时-TIMING)',
  462. ADD COLUMN `compare_rule` varchar(10) DEFAULT NULL COMMENT '比较规则(大于等于-GTE,小于等于-LTE)',
  463. ADD COLUMN `holiday_status` varchar(10) NULL COMMENT '是否启用节假日奖励(ENABLED-启用,DISABLED-关闭)',
  464. ADD COLUMN `holiday_count_track` int DEFAULT NULL COMMENT '次数记录(节假日用)',
  465. ADD COLUMN `holiday_time_track` time DEFAULT NULL COMMENT '时间记录(节假日用)',
  466. ADD COLUMN `full_attendance_status` varchar(10) DEFAULT NULL COMMENT '是否启用全勤奖励(ENABLED-启用,DISABLED-关闭)',
  467. ADD COLUMN `full_attendance_period` varchar(10) DEFAULT NULL COMMENT '全勤周期(周-WEEK,月-MONTH)',
  468. ADD COLUMN `full_attendance_fault_tolerance_cnt` int DEFAULT NULL COMMENT '全勤容错次数',
  469. ADD COLUMN `repeat_category` varchar(10) DEFAULT NULL COMMENT '重复周期类型(每日-EVERYDAY、法定工作日-WORKDAY、法定节假日(含周末)-HOLIDAY、自定义(周一至周日)-CUSTOM)',
  470. ADD COLUMN `repeat_custom_day` varchar(13) DEFAULT NULL COMMENT '自定义重复日(周一-1,周二-2,周三-3,周四-4,周五-5,周六-6,周日-7)',
  471. ADD COLUMN `extra_method` varchar(10) DEFAULT NULL COMMENT '额外奖励方式(无-NONE,固定-FIXED,区间-INTERVAL)',
  472. ADD COLUMN `extra_time_step` int DEFAULT NULL COMMENT '额外的时间间隔(单位:分钟)',
  473. ADD COLUMN `extra_points` int DEFAULT NULL COMMENT '奖励的积分(额外)',
  474. ADD COLUMN `grace_status` varchar(10) DEFAULT NULL COMMENT '是否启用宽限期(ENABLED-启用,DISABLED-关闭)',
  475. ADD COLUMN `grace_day` int DEFAULT NULL COMMENT '宽限期(单位:天)',
  476. ADD COLUMN `interrupted_day` int DEFAULT NULL COMMENT '打卡中断天数(单位:天)',
  477. ADD COLUMN `penalty_day` int DEFAULT NULL COMMENT '惩罚天数(单位:天)',
  478. ADD COLUMN `auto_status` varchar(10) DEFAULT NULL COMMENT '是否启用自动打卡(ENABLED-启用,DISABLED-关闭)',
  479. ADD COLUMN `task_points_status` varchar(10) DEFAULT NULL COMMENT '是否启用任务积分计算(ENABLED-启用,DISABLED-关闭)';
  480. ALTER TABLE punch_settle.punch_in_task CHANGE created_by created_by bigint NOT NULL COMMENT '创建人' AFTER auto_status;
  481. ALTER TABLE punch_settle.punch_in_task CHANGE creation_time creation_time timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间' AFTER created_by;
  482. ALTER TABLE punch_settle.punch_in_task CHANGE last_updated_by last_updated_by bigint NOT NULL COMMENT '最后更新人' AFTER creation_time;
  483. ALTER TABLE punch_settle.punch_in_task CHANGE last_update_time last_update_time timestamp DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL COMMENT '最后更新时间' AFTER last_updated_by;
  484. ALTER TABLE punch_settle.punch_in_task CHANGE version version bigint DEFAULT 1 NOT NULL COMMENT '版本号' AFTER last_update_time;
  485. ALTER TABLE punch_settle.punch_in_task CHANGE delete_flag delete_flag tinyint DEFAULT 0 NOT NULL COMMENT '逻辑删除标志(0-未删除,1-已删除)' AFTER version;
  486. ALTER TABLE punch_settle.punch_in_task CHANGE task_unique_id task_unique_id bigint NULL COMMENT '任务唯一ID' AFTER id;
  487. ALTER TABLE punch_settle.punch_in_task CHANGE task_status task_status varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '任务状态(活跃-ACTIVE,归档-ARCHIVE)' AFTER task_unique_id;
  488. ALTER TABLE punch_settle.punch_in_task CHANGE task_version task_version int NULL COMMENT '任务修改版本' AFTER task_status;
  489. ALTER TABLE punch_settle.punch_in_task CHANGE description description varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '任务描述' AFTER task_name;
  490. ALTER TABLE punch_settle.punch_in_task CHANGE points points int DEFAULT 1 NOT NULL COMMENT '奖励的积分(基本)' AFTER description;
  491. ALTER TABLE punch_settle.punch_in_task CHANGE end_date end_date date NULL COMMENT '结束日期' AFTER points;
  492. ALTER TABLE punch_settle.punch_in_task CHANGE archive_status archive_status varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '是否归档(活跃-ACTIVE,归档-ARCHIVE)' AFTER end_date;
  493. ALTER TABLE punch_settle.punch_in_task CHANGE display_order display_order int NULL COMMENT '显示顺序' AFTER archive_status;
  494. ALTER TABLE punch_settle.punch_in_task CHANGE display_time display_time time NULL COMMENT '显示时间' AFTER display_order;
  495. ALTER TABLE punch_settle.punch_in_task CHANGE punch_in_method punch_in_method varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '打卡方式(单次打卡-SINGLE,计数-COUNT、计时-TIMING)' AFTER rule;
  496. ALTER TABLE punch_settle.punch_in_task CHANGE compare_rule compare_rule varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '比较规则(大于等于-GTE,小于等于-LTE)' AFTER punch_in_method;
  497. update punch_settle.punch_in_task
  498. set task_unique_id = id,
  499. task_status = 'ACTIVE',
  500. task_version = 1;
  501. UPDATE punch_settle.punch_in_task SET archive_status = 'ACTIVE' WHERE archive_flag = 0;
  502. UPDATE punch_settle.punch_in_task SET archive_status = 'ARCHIVE' WHERE archive_flag = 1;
  503. UPDATE punch_settle.punch_in_task SET punch_in_method = 'SINGLE' WHERE category = 0;
  504. UPDATE punch_settle.punch_in_task SET punch_in_method = 'COUNT' WHERE category = 1;
  505. UPDATE punch_settle.punch_in_task SET punch_in_method = 'TIMING' WHERE category = 2;
  506. update punch_settle.punch_in_task set compare_rule = 'GTE' WHERE rule = 0 and category != 0;
  507. update punch_settle.punch_in_task set compare_rule = 'LTE' WHERE rule = 1 and category != 0;
  508. ALTER TABLE punch_settle.punch_in_task DROP COLUMN archive_flag;
  509. ALTER TABLE punch_settle.punch_in_task DROP COLUMN category;
  510. ALTER TABLE punch_settle.punch_in_task DROP COLUMN rule;
  511. -- 节假日没有节假日的判断目标数据无法初始化,因此初始化为关闭
  512. UPDATE punch_settle.punch_in_task SET holiday_status = 'DISABLED';
  513. UPDATE punch_settle.punch_in_task SET full_attendance_status = 'DISABLED' WHERE full_attendance_flag = 0;
  514. UPDATE punch_settle.punch_in_task
  515. SET full_attendance_status = 'ENABLED',
  516. full_attendance_fault_tolerance_cnt = 1,
  517. full_attendance_period = 'WEEK'
  518. WHERE full_attendance_flag = 1;
  519. ALTER TABLE punch_settle.punch_in_task DROP COLUMN full_attendance_flag;
  520. ALTER TABLE punch_settle.punch_in_task DROP COLUMN weekend_double_flag;
  521. UPDATE punch_settle.punch_in_task SET repeat_category = 'EVERYDAY';
  522. UPDATE punch_settle.punch_in_task SET extra_method = 'NONE';
  523. UPDATE punch_settle.punch_in_task SET grace_status = 'DISABLED';
  524. UPDATE punch_settle.punch_in_task SET auto_status = 'DISABLED';
  525. ALTER TABLE punch_settle.punch_in_task MODIFY COLUMN archive_status varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '是否归档(活跃-ACTIVE,归档-ARCHIVE)';
  526. ALTER TABLE punch_settle.punch_in_task MODIFY COLUMN task_unique_id bigint NOT NULL COMMENT '任务唯一ID';
  527. ALTER TABLE punch_settle.punch_in_task MODIFY COLUMN task_status varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务状态(活跃-ACTIVE,归档-ARCHIVE)';
  528. ALTER TABLE punch_settle.punch_in_task MODIFY COLUMN task_version int NOT NULL COMMENT '任务修改版本';
  529. ALTER TABLE punch_settle.punch_in_task MODIFY COLUMN punch_in_method varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '打卡方式(单次打卡-SINGLE,计数-COUNT、计时-TIMING)';
  530. ALTER TABLE punch_settle.punch_in_task MODIFY COLUMN holiday_status varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '是否启用节假日奖励(ENABLED-启用,DISABLED-关闭)';
  531. ALTER TABLE punch_settle.punch_in_task MODIFY COLUMN full_attendance_status varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '是否启用全勤奖励(ENABLED-启用,DISABLED-关闭)';
  532. ALTER TABLE punch_settle.punch_in_task MODIFY COLUMN repeat_category varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '重复周期类型(每日-EVERYDAY、法定工作日-WORKDAY、法定节假日(含周末)-HOLIADY、自定义(周一至周日)-CUSTOM)';
  533. ALTER TABLE punch_settle.punch_in_task MODIFY COLUMN extra_method varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '额外奖励方式(无-NONE,固定-FIXED,区间-INTERVAL)';
  534. ALTER TABLE punch_settle.punch_in_task MODIFY COLUMN grace_status varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '是否启用宽限期(ENABLED-启用,DISABLED-关闭)';
  535. ALTER TABLE punch_settle.punch_in_task MODIFY COLUMN auto_status varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '是否启用自动打卡(ENABLED-启用,DISABLED-关闭)';
  536. ALTER TABLE punch_settle.punch_in_multi_task MODIFY COLUMN punch_in_method varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '打卡方式(次数-COUNT,比率-RATE)';
  537. ALTER TABLE punch_settle.punch_in_multi_task MODIFY COLUMN grace_status varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '是否启用宽限期(ENABLED-启用,DISABLED-关闭)';
  538. ALTER TABLE punch_settle.punch_in_multi_task MODIFY COLUMN extra_method varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '额外奖励方式(无-NONE,固定-FIXED,区间-INTERVAL)';
  539. ALTER TABLE punch_settle.sys_dict MODIFY COLUMN status varchar(10) DEFAULT 'DISABLED' NOT NULL COMMENT '状态(ENABLED-启用,DISABLED-失效)';
  540. UPDATE punch_settle.sys_dict SET status = 'ENABLED' WHERE status = '1';
  541. UPDATE punch_settle.sys_dict SET status = 'DISABLED' WHERE status = '0';
  542. ALTER TABLE punch_settle.sys_dict ADD UNIQUE INDEX UK_SysDict_DictCode (dict_code);
  543. ALTER TABLE punch_settle.sys_dict_item ADD UNIQUE INDEX UK_DictItem_DictId_ItemCode (dict_id, item_code);
  544. ALTER TABLE punch_settle.sys_dict_item ADD INDEX idx_SysDictItem_ItemCode (item_code);
  545. ALTER TABLE punch_settle.sys_dict_item MODIFY COLUMN status varchar(10) DEFAULT 'DISABLED' NOT NULL COMMENT '状态(ENABLED-启用,DISABLED-失效)';
  546. UPDATE punch_settle.sys_dict_item SET status = 'ENABLED' WHERE status = '1';
  547. UPDATE punch_settle.sys_dict_item SET status = 'DISABLED' WHERE status = '0';
  548. ALTER TABLE punch_settle.sys_dict_item MODIFY COLUMN data_type varchar(10) DEFAULT 'STRING' NOT NULL COMMENT '数据类型(STRING-字符串,INTEGER-整型数值)';
  549. UPDATE punch_settle.sys_dict_item SET data_type = 'INTEGER' WHERE data_type = '1';
  550. UPDATE punch_settle.sys_dict_item SET data_type = 'STRING' WHERE data_type = '0';
  551. INSERT INTO item_consume_win_history(id, user_id, action, source, category, amount, created_by, creation_time, last_updated_by, last_update_time, version, delete_flag)
  552. SELECT id, created_by, action_type, source, category, amount, created_by, creation_time, last_updated_by, last_update_time, version, delete_flag
  553. FROM lottery_scratch_record;
  554. UPDATE punch_settle.item_consume_win_history SET action = 'CONSUME' WHERE action = '0';
  555. UPDATE punch_settle.item_consume_win_history SET action = 'WIN' WHERE action = '1';
  556. UPDATE punch_settle.item_consume_win_history SET action = 'REVERSE_CONSUME' WHERE action = '2';
  557. UPDATE punch_settle.item_consume_win_history SET action = 'REVERSE_WIN' WHERE action = '3';
  558. DROP TABLE IF EXISTS lottery_scratch_record;
  559. RENAME TABLE punch_settle.settlement_task TO punch_settle.settle_task_history;
  560. ALTER TABLE punch_settle.settle_task_history COMMENT '结算任务执行记录表';
  561. ALTER TABLE punch_settle.settle_task_history ADD INDEX idx_SettleTaskHis_SettleDate (settle_date);
  562. ALTER TABLE punch_settle.settle_task_history DROP COLUMN start_time;
  563. ALTER TABLE punch_settle.settle_task_history DROP COLUMN end_time;
  564. ALTER TABLE punch_settle.settle_task_history DROP COLUMN error_message;
  565. ALTER TABLE punch_settle.settle_task_history CHANGE processed_num processed_total_num int DEFAULT 0 NOT NULL COMMENT '待处理结算数量';
  566. ALTER TABLE punch_settle.settle_task_history MODIFY COLUMN processed_total_num int DEFAULT 0 NOT NULL COMMENT '待处理总结算数量';
  567. INSERT INTO punch_settle.settle_points_history(id, settle_task_history_id, user_id, settle_date, settle_points, before_settle_points, after_settle_points, created_by, creation_time, last_updated_by, last_update_time, version, delete_flag)
  568. SELECT pis.id, settlement_task_id, user_id, sth.settle_date , settle_reward_num, before_settle_reward_num, after_settle_reward_num, pis.created_by, pis.creation_time, pis.last_updated_by, pis.last_update_time, pis.version, pis.delete_flag
  569. FROM punch_in_settlement pis
  570. left join settle_task_history sth on pis.settlement_task_id = sth.id;
  571. DROP TABLE IF EXISTS punch_in_settlement;
  572. -- 删除无效的用户数据
  573. delete from user where id not in (select created_by from punch_in_task group by created_by);
  574. -- 初始化账户数据,account数从user导入
  575. insert into account(user_id, account_name, account_type, points, created_by, creation_time, last_updated_by, last_update_time, version, delete_flag)
  576. select id, '基本户', 'BASIC', unused_points, id, CURRENT_TIMESTAMP(), id, CURRENT_TIMESTAMP(), 1, 0
  577. from user;
  578. -- 初始化基本奖励数据
  579. insert into reward(user_id, reward_name, exchange_points, auto_status, created_by, creation_time, last_updated_by, last_update_time, version, delete_flag)
  580. select id, '刮一次刮刮乐', 1, 'DISABLED', id, CURRENT_TIMESTAMP(), id, CURRENT_TIMESTAMP(), 1, 0
  581. from user;
  582. update reward
  583. set reward_unique_id = id,
  584. reward_version = 1,
  585. reward_status = 'ACTIVE';
  586. ALTER TABLE punch_settle.reward MODIFY COLUMN reward_unique_id bigint NOT NULL COMMENT '奖励唯一id';
  587. ALTER TABLE punch_settle.reward MODIFY COLUMN reward_status varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '奖励状态(活跃-ACTIVE,归档-ARCHIVE)';
  588. ALTER TABLE punch_settle.reward MODIFY COLUMN reward_version int NOT NULL COMMENT '奖励修改版本';
  589. ALTER TABLE punch_settle.reward_history DROP COLUMN account_name;
  590. insert into reward_history(user_id, reward_id, exchange_method, exchange_count, exchange_total_points, account_id, account_points_before_exchange, account_points_after_exchange, created_by, creation_time, last_updated_by, last_update_time, version, delete_flag)
  591. select created_by,
  592. (select id from reward r where r.user_id = rr.created_by and r.reward_name = '刮一次刮刮乐'),
  593. 'MANUAL', claim_reward_num, claim_reward_num,
  594. (SELECT ID FROM account a where a.user_id = rr.created_by and a.account_type = 'BASIC'),
  595. rr.before_claim_reward_num , rr.after_claim_reward_num ,
  596. created_by, creation_time, last_updated_by, last_update_time, version, delete_flag
  597. from user_claim_reward_record rr;
  598. DROP TABLE IF EXISTS user_claim_reward_record;
  599. insert into punch_in_task_history(id, user_id, punch_in_task_unique_id,
  600. punch_in_date, punch_in_status, count_track, time_track, settle_task_history_id,
  601. settle_status, settle_punch_in_task_id, created_by, creation_time,
  602. last_updated_by, last_update_time, version, delete_flag)
  603. select pir.id, pir.created_by, punch_in_id, punch_in_date, punch_in_status,
  604. count_track, time_track, pirsr.settlement_id , 'SETTLED', pir.punch_in_id , pir.created_by,
  605. pir.creation_time, pir.last_updated_by, pir.last_update_time, pir.version, pir.delete_flag
  606. from punch_in_record pir
  607. left join punch_in_record_settlement_rela pirsr on pir.id = pirsr.record_id;
  608. update punch_in_task_history set punch_in_status = 'DONE' where punch_in_status = '1';
  609. update punch_in_task_history set punch_in_status = 'UNDONE' where punch_in_status = '2';
  610. update punch_in_task_history set punch_in_status = 'UNDONE' where punch_in_status = '0';
  611. DROP TABLE IF EXISTS punch_in_record;
  612. DROP TABLE IF EXISTS punch_in_record_settlement_rela;
  613. RENAME TABLE punch_settle.reward_history TO punch_settle.reward_exchange_history;
  614. update punch_settle.sys_dict_item set description = item_name;
  615. ALTER TABLE punch_settle.sys_dict_item CHANGE item_name item_value varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '字典项值';
  616. ALTER TABLE punch_settle.sys_dict_item MODIFY COLUMN item_value varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '字典项值';
  617. update punch_settle.sys_dict_item
  618. set item_value = item_code
  619. where data_type = 'INTEGER';
  620. update punch_settle.sys_dict_item set item_code = 'INVEST' where id = 5;
  621. update punch_settle.sys_dict_item set item_code = 'WIN' where id = 6;
  622. update punch_settle.sys_dict_item set item_code = 'ENABLED' where id = 7;
  623. update punch_settle.sys_dict_item set item_code = 'DISABLED' where id = 8;
  624. update punch_settle.sys_dict_item set item_code = 'SINGLE' where id = 9;
  625. update punch_settle.sys_dict_item set item_code = 'COUNT' where id = 10;
  626. update punch_settle.sys_dict_item set item_code = 'TIMING' where id = 11;
  627. update punch_settle.sys_dict_item set item_code = 'GTE' where id = 12;
  628. update punch_settle.sys_dict_item set item_code = 'LET' where id = 13;
  629. ALTER TABLE punch_settle.punch_in_task CHANGE task_points_status task_points_status varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '是否启用任务积分计算(ENABLED-启用,DISABLED-关闭)' AFTER auto_status;