update-v3.sql 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631
  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_month` (
  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-MM)',
  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_year` (
  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(4) NOT NULL COMMENT '统计时间(格式:yyyy)',
  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_PIStatsYear_UserId` (`user_id`),
  126. KEY `idx_PIStatsYear_TaskUniqueId` (`task_unique_id`),
  127. KEY `idx_PIStatsYear_StatsTime` (`stats_time`)
  128. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='打卡任务年数据统计';
  129. CREATE TABLE `account` (
  130. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  131. `user_id` bigint NOT NULL COMMENT '用户id',
  132. `account_name` varchar(100) NOT NULL COMMENT '账户名称',
  133. `account_type` varchar(10) NOT NULL COMMENT '账户类型(BASIC-基本户,GENERAL-一般户)',
  134. `points` int NOT NULL COMMENT '奖励积分',
  135. `created_by` bigint NOT NULL COMMENT '创建人',
  136. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  137. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  138. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  139. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  140. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  141. PRIMARY KEY (`id`),
  142. KEY `idx_Account_UserId` (`user_id`)
  143. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='账户';
  144. CREATE TABLE `account_transfer_history` (
  145. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  146. `user_id` bigint NOT NULL COMMENT '用户id',
  147. `sender_account_id` bigint NOT NULL COMMENT '转出账户id',
  148. `recipient_account_id` bigint NOT NULL COMMENT '转入账户id',
  149. `transfer_points` int NOT NULL COMMENT '转账积分',
  150. `sa_points_before_transfer` int NOT NULL COMMENT '转出账户转出前积分',
  151. `sa_points_after_transfer` int NOT NULL COMMENT '转出账户转出后积分',
  152. `ra_points_before_transfer` int NOT NULL COMMENT '转入账户转入前积分',
  153. `ra_points_after_transfer` int NOT NULL COMMENT '转入账户转入后积分',
  154. `created_by` bigint NOT NULL COMMENT '创建人',
  155. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  156. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  157. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  158. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  159. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  160. PRIMARY KEY (`id`),
  161. KEY `idx_ATransferHis_UserId` (`user_id`),
  162. KEY `idx_ATransferHis_CreationTime` (`creation_time`)
  163. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='账户转账记录';
  164. CREATE TABLE `item_consume_win_history` (
  165. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  166. `user_id` bigint NOT NULL COMMENT '用户ID',
  167. `action` varchar(30) NOT NULL COMMENT '动作(消费-CONSUME,中奖-WIN,撤销消费-REVERSE_CONSUME,撤销中奖-REVERSE_WIN)',
  168. `source` varchar(100) NOT NULL COMMENT '来源',
  169. `category` varchar(100) NOT NULL COMMENT '种类',
  170. `amount` decimal(10,2) NOT NULL COMMENT '金额(元)',
  171. `created_by` bigint NOT NULL COMMENT '创建人',
  172. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  173. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  174. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  175. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  176. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  177. PRIMARY KEY (`id`),
  178. KEY `idx_ICWHis_UserId` (`user_id`),
  179. KEY `idx_ICWHis_CreationTime` (`creation_time`)
  180. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='物品消费与中奖记录';
  181. CREATE TABLE `punch_in_task_ext` (
  182. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  183. `user_id` bigint NOT NULL COMMENT '用户ID',
  184. `punch_in_task_id` bigint NOT NULL COMMENT '打卡任务ID',
  185. `dimension` varchar(10) NOT NULL COMMENT '使用维度(一天-ONE_DAY,多天-MULTI_DAY)',
  186. `initial_value` int NOT NULL COMMENT '起始值(单位:次)',
  187. `extra_points` int NOT NULL COMMENT '奖励的积分(额外)',
  188. `created_by` bigint NOT NULL COMMENT '创建人',
  189. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  190. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  191. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  192. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  193. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  194. PRIMARY KEY (`id`),
  195. KEY `idx_PITaskExt_UserId` (`user_id`),
  196. KEY `idx_PITaskExt_PunchInTaskId` (`punch_in_task_id`)
  197. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='打卡任务拓展表';
  198. CREATE TABLE `punch_in_multi_task` (
  199. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  200. `multi_task_unique_id` bigint NOT NULL COMMENT '打卡多任务唯一ID',
  201. `multi_task_status` varchar(10) NOT NULL COMMENT '任务状态(活跃-ACTIVE,归档-ARCHIVE)',
  202. `multi_task_version` int NOT NULL COMMENT '任务修改版本',
  203. `user_id` bigint NOT NULL COMMENT '用户ID',
  204. `punch_in_method` varchar(10) NOT NULL COMMENT '打卡方式(次数-COUNT,比率-RATE)',
  205. `punch_in_done_count` int DEFAULT NULL COMMENT '打卡完成次数',
  206. `punch_in_done_rate` decimal(5,2) DEFAULT NULL COMMENT '打卡完成率',
  207. `points` int NOT NULL COMMENT '奖励的积分(基本)',
  208. `grace_status` varchar(10) NOT NULL COMMENT '是否启用宽限期(ENABLED-启用,DISABLED-关闭)',
  209. `grace_day` int DEFAULT NULL COMMENT '宽限期(单位:天)',
  210. `interrupted_day` int DEFAULT NULL COMMENT '打卡中断天数(单位:天)',
  211. `penalty_day` int DEFAULT NULL COMMENT '惩罚天数(单位:天)',
  212. `extra_method` varchar(10) NOT NULL COMMENT '额外奖励方式(无-NONE,固定-FIXED,区间-INTERVAL)',
  213. `extra_points` int DEFAULT NULL COMMENT '奖励的积分(额外)',
  214. `created_by` bigint NOT NULL COMMENT '创建人',
  215. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  216. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  217. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  218. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  219. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  220. PRIMARY KEY (`id`),
  221. KEY `idx_PIMTask_UserId` (`user_id`),
  222. KEY `idx_PIMTask_MultiTaskUniqueId` (`multi_task_unique_id`)
  223. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='打卡多任务表';
  224. CREATE TABLE `punch_in_multi_task_ext` (
  225. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  226. `user_id` bigint NOT NULL COMMENT '用户ID',
  227. `multi_task_unique_id` bigint NOT NULL COMMENT '多任务ID',
  228. `dimension` varchar(10) NOT NULL COMMENT '使用维度(一天-ONE_DAY,多天-MULTI_DAY)',
  229. `initial_value` int NOT NULL COMMENT '起始值(单位:次)',
  230. `extra_points` int NOT NULL COMMENT '奖励的积分(额外)',
  231. `created_by` bigint NOT NULL COMMENT '创建人',
  232. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  233. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  234. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  235. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  236. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  237. PRIMARY KEY (`id`),
  238. KEY `idx_PIMTaskExt_UserId` (`user_id`),
  239. KEY `idx_PIMTaskExt_MTaskUniqueId` (`multi_task_unique_id`)
  240. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='打卡多任务拓展表';
  241. CREATE TABLE `punch_in_multi_task_rela` (
  242. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  243. `user_id` bigint NOT NULL COMMENT '用户ID',
  244. `punch_in_multi_task_id` bigint NOT NULL COMMENT '打卡多任务ID',
  245. `punch_in_task_id` bigint NOT NULL COMMENT '打卡任务ID',
  246. `created_by` bigint NOT NULL COMMENT '创建人',
  247. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  248. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  249. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  250. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  251. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  252. PRIMARY KEY (`id`),
  253. KEY `idx_PIMTaskRela_UserId` (`user_id`),
  254. KEY `idx_PIMTaskRela_PIMTaskId` (`punch_in_multi_task_id`),
  255. KEY `idx_PIMTaskRela_PITaskId` (`punch_in_task_id`)
  256. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='打卡多任务关联表';
  257. CREATE TABLE `punch_in_task_history` (
  258. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  259. `user_id` bigint NOT NULL COMMENT '用户ID',
  260. `punch_in_task_unique_id` bigint NOT NULL COMMENT '打卡任务唯一ID',
  261. `punch_in_date` varchar(10) NOT NULL COMMENT '打卡日期',
  262. `punch_in_status` varchar(10) NOT NULL COMMENT '打卡状态(DONE-完成,UNDONE-未完成)',
  263. `count_track` int DEFAULT NULL COMMENT '次数记录',
  264. `time_track` time DEFAULT NULL COMMENT '时间记录',
  265. `consecutive_status` varchar(20) DEFAULT NULL COMMENT '连续打卡状态(正常打卡-NORMAL、中断--INTERRUPTED)',
  266. `consecutive_day` int DEFAULT NULL COMMENT '连续天数,第一天开始就等于1',
  267. `settle_task_history_id` bigint DEFAULT NULL COMMENT '结算任务执行ID',
  268. `settle_status` varchar(20) NOT NULL COMMENT '结算状态(未结算-UNSETTLED,宽限期跳过J-GRACE_SKIP,惩罚跳过-PENALTY_SKIP,已结算-SETTLED)',
  269. `settle_punch_in_task_id` bigint DEFAULT NULL COMMENT '结算时的打卡任务ID',
  270. `settle_points` int DEFAULT NULL COMMENT '结算奖励积分',
  271. `created_by` bigint NOT NULL COMMENT '创建人',
  272. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  273. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  274. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  275. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  276. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  277. PRIMARY KEY (`id`),
  278. KEY `idx_PITaskHis_UserId` (`user_id`),
  279. KEY `idx_PITaskHis_PITaskUniqueId` (`punch_in_task_unique_id`),
  280. KEY `idx_PITaskHis_PunchInDate` (`punch_in_date`),
  281. KEY `idx_PITaskHis_CreationTime` (`creation_time`)
  282. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='打卡任务记录表';
  283. CREATE TABLE `punch_in_multi_task_history` (
  284. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  285. `user_id` bigint NOT NULL COMMENT '用户ID',
  286. `punch_in_multi_task_unique_id` bigint NOT NULL COMMENT '打卡多任务唯一ID',
  287. `punch_in_date` varchar(10) NOT NULL COMMENT '打卡日期',
  288. `punch_in_status` varchar(10) NOT NULL COMMENT '打卡状态(DONE-完成,UNDONE-未完成)',
  289. `total_task_count` int NOT NULL COMMENT '总任务数',
  290. `punch_in_done_count` int NOT NULL COMMENT '打卡完成数',
  291. `punch_in_done_rate` decimal(5,2) NOT NULL COMMENT '打卡完成率',
  292. `consecutive_status` varchar(20) NOT NULL COMMENT '连续打卡状态(正常打卡-NORMAL、中断--INTERRUPTED)',
  293. `consecutive_day` int NOT NULL COMMENT '连续天数,第一天开始就等于1',
  294. `settle_task_history_id` bigint DEFAULT NULL COMMENT '结算任务执行ID',
  295. `settle_status` varchar(20) NOT NULL COMMENT '结算状态(未结算-UNSETTLED,宽限期跳过J-GRACE_SKIP,惩罚跳过-PENALTY_SKIP,已结算-SETTLED)',
  296. `settle_punch_in_multi_task_id` bigint DEFAULT NULL COMMENT '结算时的打卡多任务ID',
  297. `settle_points` int DEFAULT NULL COMMENT '结算奖励积分',
  298. `created_by` bigint NOT NULL COMMENT '创建人',
  299. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  300. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  301. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  302. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  303. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  304. PRIMARY KEY (`id`),
  305. KEY `idx_PIMTaskHis_UserId` (`user_id`),
  306. KEY `idx_PIMTaskHis_PIMTUniqueId` (`punch_in_multi_task_unique_id`),
  307. KEY `idx_PIMTaskHis_PunchInDate` (`punch_in_date`)
  308. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='打卡多任务记录表';
  309. CREATE TABLE `punch_in_status` (
  310. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  311. `user_id` bigint NOT NULL COMMENT '用户ID',
  312. `punch_in_multi_task_unique_id` bigint DEFAULT NULL COMMENT '打卡多任务唯一ID',
  313. `punch_in_task_unique_id` bigint DEFAULT NULL COMMENT '打卡任务唯一ID',
  314. `consecutive_status` varchar(20) NOT NULL COMMENT '连续打卡状态(正常打卡-NORMAL、中断--INTERRUPTED)',
  315. `consecutive_day` int NOT NULL COMMENT '连续天数,第一天开始就等于1',
  316. `start_date` date NOT NULL COMMENT '开始日期',
  317. `end_date` date 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_PIStatus_UserId` (`user_id`),
  326. KEY `idx_PIStatus_PIMTaskUniqueId` (`punch_in_multi_task_unique_id`),
  327. KEY `idx_PIStatus_PITaskUniqueId` (`punch_in_task_unique_id`)
  328. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='打卡任务状态表';
  329. CREATE TABLE `punch_in_status_history` (
  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 '连续打卡状态(正常打卡-NORMAL、中断--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_PIStatusHis_UserId` (`user_id`),
  346. KEY `idx_PIStatusHis_PIMTUniqueId` (`punch_in_multi_task_unique_id`),
  347. KEY `idx_PIStatusHis_PITUniqueId` (`punch_in_task_unique_id`),
  348. KEY `idx_PIStatusHis_CreationTime` (`creation_time`)
  349. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='打卡任务状态记录表';
  350. CREATE TABLE `settle_points_history` (
  351. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  352. `settle_task_history_id` bigint NOT NULL COMMENT '结算任务执行ID',
  353. `user_id` bigint NOT NULL COMMENT '用户表主键',
  354. `settle_date` varchar(10) NOT NULL COMMENT '结算日期',
  355. `settle_points` int NOT NULL COMMENT '结算积分',
  356. `before_settle_points` int NOT NULL COMMENT '结算前用户拥有的积分',
  357. `after_settle_points` int NOT 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_SPointsHis_UserId` (`user_id`),
  366. KEY `idx_SPointsHis_SettleDate` (`settle_date`),
  367. KEY `idx_SPointsHis_STaskHisId` (`settle_task_history_id`)
  368. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='结算积分记录表';
  369. CREATE TABLE `sys_schedule_task` (
  370. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  371. `task_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '定时任务编码',
  372. `task_name` varchar(100) NOT NULL COMMENT '定时任务名称',
  373. `execute_status` varchar(10) NOT NULL COMMENT '是否启用定时任务(ENABLE-开启、DISABLE-关闭)',
  374. `created_by` bigint NOT NULL COMMENT '创建人',
  375. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  376. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  377. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  378. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  379. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  380. PRIMARY KEY (`id`)
  381. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='定时任务执行配置表';
  382. CREATE TABLE `sys_schedule_task_history` (
  383. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  384. `task_code` varchar(100) NOT NULL COMMENT '定时任务编码',
  385. `task_name` varchar(100) NOT NULL COMMENT '定时任务名称',
  386. `launch_method` varchar(10) NOT NULL COMMENT '启动方式(AUTO-自动,MANUAL-手动)',
  387. `start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '任务开始时间',
  388. `end_time` timestamp NULL DEFAULT NULL COMMENT '任务结束时间',
  389. `process_status` varchar(10) NOT NULL COMMENT '执行状态(RUNNING-执行中,SUCCESS-成功,FAIL-失败)',
  390. `error_message` varchar(5000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '错误信息',
  391. `created_by` bigint NOT NULL COMMENT '创建人',
  392. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  393. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  394. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  395. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  396. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  397. PRIMARY KEY (`id`),
  398. KEY `idx_SScheduleTaskHis_TaskCode` (`task_code`)
  399. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='定时任务执行记录表';
  400. ALTER TABLE `user` DROP COLUMN `avatar`;
  401. ALTER TABLE `user` CHANGE total_reward_num total_points int DEFAULT 0 NOT NULL COMMENT '总积分';
  402. ALTER TABLE `user` MODIFY COLUMN total_points int DEFAULT 0 NOT NULL COMMENT '总积分';
  403. ALTER TABLE `user` CHANGE unclaimed_reward_num unused_points int DEFAULT 0 NOT NULL COMMENT '未使用积分';
  404. ALTER TABLE `user` MODIFY COLUMN unused_points int DEFAULT 0 NOT NULL COMMENT '未使用积分';
  405. ALTER TABLE `user` CHANGE claimed_reward_num used_points int DEFAULT 0 NOT NULL COMMENT '已使用积分';
  406. ALTER TABLE `user` MODIFY COLUMN used_points int DEFAULT 0 NOT NULL COMMENT '已使用积分';
  407. ALTER TABLE `user` CHANGE lottery_invest_amount total_consume_amount decimal(10,2) DEFAULT 0.00 NOT NULL COMMENT '总消费金额(元)';
  408. ALTER TABLE `user` MODIFY COLUMN total_consume_amount decimal(10,2) DEFAULT 0.00 NOT NULL COMMENT '总消费金额(元)';
  409. ALTER TABLE `user` CHANGE lottery_win_amount total_win_amount decimal(10,2) DEFAULT 0.00 NOT NULL COMMENT '总中奖金额(元)';
  410. ALTER TABLE `user` MODIFY COLUMN total_win_amount decimal(10,2) DEFAULT 0.00 NOT NULL COMMENT '总中奖金额(元)';
  411. RENAME TABLE punch_settle.punch_in TO punch_settle.punch_in_task;
  412. ALTER TABLE punch_settle.punch_in_task CHANGE reward_num points int DEFAULT 1 NOT NULL COMMENT '奖励的积分(基本)';
  413. ALTER TABLE punch_settle.punch_in_task MODIFY COLUMN points int DEFAULT 1 NOT NULL COMMENT '奖励的积分(基本)';
  414. ALTER TABLE `punch_in_task`
  415. ADD COLUMN `task_unique_id` bigint NULL COMMENT '任务唯一ID',
  416. ADD COLUMN `task_status` varchar(10) NULL COMMENT '任务状态(活跃-ACTIVE,归档-ARCHIVE)',
  417. ADD COLUMN `task_version` int NULL COMMENT '任务修改版本',
  418. ADD COLUMN `end_date` date DEFAULT NULL COMMENT '结束日期',
  419. ADD COLUMN `archive_status` varchar(10) NULL COMMENT '是否归档(活跃-ACTIVE,归档-ARCHIVE)',
  420. ADD COLUMN `display_order` int NULL COMMENT '显示顺序',
  421. ADD COLUMN `display_time` time DEFAULT NULL COMMENT '显示时间',
  422. ADD COLUMN `punch_in_method` varchar(10) DEFAULT NULL COMMENT '打卡方式(单次打卡-SINGLE,计数-COUNT、计时-TIMING)',
  423. ADD COLUMN `compare_rule` varchar(10) DEFAULT NULL COMMENT '比较规则(大于等于-GTE,小于等于-LTE)',
  424. ADD COLUMN `holiday_status` varchar(10) NULL COMMENT '是否启用节假日奖励(ENABLED-启用,DISABLED-关闭)',
  425. ADD COLUMN `holiday_count_track` int DEFAULT NULL COMMENT '次数记录(节假日用)',
  426. ADD COLUMN `holiday_time_track` time DEFAULT NULL COMMENT '时间记录(节假日用)',
  427. ADD COLUMN `full_attendance_status` varchar(10) DEFAULT NULL COMMENT '是否启用全勤奖励(ENABLED-启用,DISABLED-关闭)',
  428. ADD COLUMN `full_attendance_period` varchar(10) DEFAULT NULL COMMENT '全勤周期(周-WEEK,月-MONTH)',
  429. ADD COLUMN `full_attendance_fault_tolerance_cnt` int DEFAULT NULL COMMENT '全勤容错次数',
  430. ADD COLUMN `repeat_category` varchar(10) DEFAULT NULL COMMENT '重复周期类型(每日-EVERYDAY、法定工作日-WORKDAY、法定节假日(含周末)-HOLIADY、自定义(周一至周日)-CUSTOM)',
  431. ADD COLUMN `repeat_custom_day` varchar(13) DEFAULT NULL COMMENT '自定义重复日(周一-1,周二-2,周三-3,周四-4,周五-5,周六-6,周日-7)',
  432. ADD COLUMN `extra_method` varchar(10) DEFAULT NULL COMMENT '额外奖励方式(无-NONE,固定-FIXED,区间-INTERVAL)',
  433. ADD COLUMN `extra_time_step` time DEFAULT NULL COMMENT '额外的时间间隔',
  434. ADD COLUMN `grace_status` varchar(10) DEFAULT NULL COMMENT '是否启用宽限期(ENABLED-启用,DISABLED-关闭)',
  435. ADD COLUMN `grace_day` int DEFAULT NULL COMMENT '宽限期(单位:天)',
  436. ADD COLUMN `interrupted_day` int DEFAULT NULL COMMENT '打卡中断天数(单位:天)',
  437. ADD COLUMN `penalty_day` int DEFAULT NULL COMMENT '惩罚天数(单位:天)',
  438. ADD COLUMN `auto_status` varchar(10) DEFAULT NULL COMMENT '是否启用自动打卡(ENABLED-启用,DISABLED-关闭)';
  439. ALTER TABLE punch_settle.punch_in_task CHANGE created_by created_by bigint NOT NULL COMMENT '创建人' AFTER auto_status;
  440. ALTER TABLE punch_settle.punch_in_task CHANGE creation_time creation_time timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间' AFTER created_by;
  441. ALTER TABLE punch_settle.punch_in_task CHANGE last_updated_by last_updated_by bigint NOT NULL COMMENT '最后更新人' AFTER creation_time;
  442. 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;
  443. ALTER TABLE punch_settle.punch_in_task CHANGE version version bigint DEFAULT 1 NOT NULL COMMENT '版本号' AFTER last_update_time;
  444. ALTER TABLE punch_settle.punch_in_task CHANGE delete_flag delete_flag tinyint DEFAULT 0 NOT NULL COMMENT '逻辑删除标志(0-未删除,1-已删除)' AFTER version;
  445. ALTER TABLE punch_settle.punch_in_task CHANGE task_unique_id task_unique_id bigint NULL COMMENT '任务唯一ID' AFTER id;
  446. 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;
  447. ALTER TABLE punch_settle.punch_in_task CHANGE task_version task_version int NULL COMMENT '任务修改版本' AFTER task_status;
  448. 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;
  449. ALTER TABLE punch_settle.punch_in_task CHANGE points points int DEFAULT 1 NOT NULL COMMENT '奖励的积分(基本)' AFTER description;
  450. ALTER TABLE punch_settle.punch_in_task CHANGE end_date end_date date NULL COMMENT '结束日期' AFTER points;
  451. 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;
  452. ALTER TABLE punch_settle.punch_in_task CHANGE display_order display_order int NULL COMMENT '显示顺序' AFTER archive_status;
  453. ALTER TABLE punch_settle.punch_in_task CHANGE display_time display_time time NULL COMMENT '显示时间' AFTER display_order;
  454. 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;
  455. 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;
  456. update punch_settle.punch_in_task
  457. set task_unique_id = id,
  458. task_status = 'ACTIVE',
  459. task_version = 1;
  460. UPDATE punch_settle.punch_in_task SET archive_status = 'ACTIVE' WHERE archive_flag = 0;
  461. UPDATE punch_settle.punch_in_task SET archive_status = 'ARCHIVE' WHERE archive_flag = 1;
  462. UPDATE punch_settle.punch_in_task SET punch_in_method = 'SINGLE' WHERE category = 0;
  463. UPDATE punch_settle.punch_in_task SET punch_in_method = 'COUNT' WHERE category = 1;
  464. UPDATE punch_settle.punch_in_task SET punch_in_method = 'TIMING' WHERE category = 2;
  465. update punch_settle.punch_in_task set compare_rule = 'GTE' WHERE rule = 0 and category != 0;
  466. update punch_settle.punch_in_task set compare_rule = 'LTE' WHERE rule = 1 and category != 0;
  467. ALTER TABLE punch_settle.punch_in_task DROP COLUMN archive_flag;
  468. ALTER TABLE punch_settle.punch_in_task DROP COLUMN category;
  469. ALTER TABLE punch_settle.punch_in_task DROP COLUMN rule;
  470. -- 节假日没有节假日的判断目标数据无法初始化,因此初始化为关闭
  471. UPDATE punch_settle.punch_in_task SET holiday_status = 'DISABLED';
  472. UPDATE punch_settle.punch_in_task SET full_attendance_status = 'DISABLED' WHERE full_attendance_flag = 0;
  473. UPDATE punch_settle.punch_in_task
  474. SET full_attendance_status = 'ENABLED',
  475. full_attendance_fault_tolerance_cnt = 1,
  476. full_attendance_period = 'WEEK'
  477. WHERE full_attendance_flag = 1;
  478. ALTER TABLE punch_settle.punch_in_task DROP COLUMN full_attendance_flag;
  479. ALTER TABLE punch_settle.punch_in_task DROP COLUMN weekend_double_flag;
  480. UPDATE punch_settle.punch_in_task SET repeat_category = 'EVERYDAY';
  481. UPDATE punch_settle.punch_in_task SET extra_method = 'NONE';
  482. UPDATE punch_settle.punch_in_task SET grace_status = 'DISABLED';
  483. UPDATE punch_settle.punch_in_task SET auto_status = 'DISABLED';
  484. 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)';
  485. ALTER TABLE punch_settle.punch_in_task MODIFY COLUMN task_unique_id bigint NOT NULL COMMENT '任务唯一ID';
  486. 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)';
  487. ALTER TABLE punch_settle.punch_in_task MODIFY COLUMN task_version int NOT NULL COMMENT '任务修改版本';
  488. 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)';
  489. 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-关闭)';
  490. 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-关闭)';
  491. 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)';
  492. 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)';
  493. 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-关闭)';
  494. 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-关闭)';
  495. 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)';
  496. 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-关闭)';
  497. 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)';
  498. ALTER TABLE punch_settle.sys_dict MODIFY COLUMN status varchar(10) DEFAULT 'DISABLED' NOT NULL COMMENT '状态(ENABLED-启用,DISABLED-失效)';
  499. UPDATE punch_settle.sys_dict SET status = 'ENABLED' WHERE status = '1';
  500. UPDATE punch_settle.sys_dict SET status = 'DISABLED' WHERE status = '0';
  501. ALTER TABLE punch_settle.sys_dict ADD UNIQUE INDEX UK_SysDict_DictCode (dict_code);
  502. ALTER TABLE punch_settle.sys_dict_item ADD UNIQUE INDEX UK_DictItem_DictId_ItemCode (dict_id, item_code);
  503. ALTER TABLE punch_settle.sys_dict_item ADD INDEX idx_SysDictItem_ItemCode (item_code);
  504. ALTER TABLE punch_settle.sys_dict_item MODIFY COLUMN status varchar(10) DEFAULT 'DISABLED' NOT NULL COMMENT '状态(ENABLED-启用,DISABLED-失效)';
  505. UPDATE punch_settle.sys_dict_item SET status = 'ENABLED' WHERE status = '1';
  506. UPDATE punch_settle.sys_dict_item SET status = 'DISABLED' WHERE status = '0';
  507. ALTER TABLE punch_settle.sys_dict_item MODIFY COLUMN data_type varchar(10) DEFAULT 'STRING' NOT NULL COMMENT '数据类型(STRING-字符串,INTEGER-整型数值)';
  508. UPDATE punch_settle.sys_dict_item SET data_type = 'INTEGER' WHERE data_type = '1';
  509. UPDATE punch_settle.sys_dict_item SET data_type = 'STRING' WHERE data_type = '0';
  510. 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)
  511. SELECT id, created_by, action_type, source, category, amount, created_by, creation_time, last_updated_by, last_update_time, version, delete_flag
  512. FROM lottery_scratch_record;
  513. UPDATE punch_settle.item_consume_win_history SET action = 'CONSUME' WHERE action = '0';
  514. UPDATE punch_settle.item_consume_win_history SET action = 'WIN' WHERE action = '1';
  515. UPDATE punch_settle.item_consume_win_history SET action = 'REVERSE_CONSUME' WHERE action = '2';
  516. UPDATE punch_settle.item_consume_win_history SET action = 'REVERSE_WIN' WHERE action = '3';
  517. DROP TABLE IF EXISTS lottery_scratch_record;
  518. RENAME TABLE punch_settle.settlement_task TO punch_settle.settle_task_history;
  519. ALTER TABLE punch_settle.settle_task_history COMMENT '结算任务执行记录表';
  520. ALTER TABLE punch_settle.settle_task_history ADD INDEX idx_SettleTaskHis_SettleDate (settle_date);
  521. ALTER TABLE punch_settle.settle_task_history DROP COLUMN start_time;
  522. ALTER TABLE punch_settle.settle_task_history DROP COLUMN end_time;
  523. ALTER TABLE punch_settle.settle_task_history DROP COLUMN error_message;
  524. ALTER TABLE punch_settle.settle_task_history CHANGE processed_num processed_total_num int DEFAULT 0 NOT NULL COMMENT '待处理结算数量';
  525. ALTER TABLE punch_settle.settle_task_history MODIFY COLUMN processed_total_num int DEFAULT 0 NOT NULL COMMENT '待处理总结算数量';
  526. 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)
  527. 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
  528. FROM punch_in_settlement pis
  529. left join settle_task_history sth on pis.settlement_task_id = sth.id;
  530. DROP TABLE IF EXISTS punch_in_settlement;
  531. -- 删除无效的用户数据
  532. delete from user where id not in (select created_by from punch_in_task group by created_by);
  533. -- 初始化账户数据,account数从user导入
  534. insert into account(user_id, account_name, account_type, points, created_by, creation_time, last_updated_by, last_update_time, version, delete_flag)
  535. select id, '基本户', 'BASIC', unused_points, id, CURRENT_TIMESTAMP(), id, CURRENT_TIMESTAMP(), 1, 0
  536. from user;
  537. -- 初始化基本奖励数据
  538. insert into reward(user_id, reward_name, exchange_points, auto_status, created_by, creation_time, last_updated_by, last_update_time, version, delete_flag)
  539. select id, '刮一次刮刮乐', 1, 'DISABLED', id, CURRENT_TIMESTAMP(), id, CURRENT_TIMESTAMP(), 1, 0
  540. from user;
  541. update reward
  542. set reward_unique_id = id,
  543. reward_version = 1,
  544. reward_status = 'ACTIVE';
  545. ALTER TABLE punch_settle.reward MODIFY COLUMN reward_unique_id bigint NOT NULL COMMENT '奖励唯一id';
  546. ALTER TABLE punch_settle.reward MODIFY COLUMN reward_status varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '奖励状态(活跃-ACTIVE,归档-ARCHIVE)';
  547. ALTER TABLE punch_settle.reward MODIFY COLUMN reward_version int NOT NULL COMMENT '奖励修改版本';
  548. ALTER TABLE punch_settle.reward_history DROP COLUMN account_name;
  549. 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)
  550. select created_by,
  551. (select id from reward r where r.user_id = rr.created_by and r.reward_name = '刮一次刮刮乐'),
  552. 'MANUAL', claim_reward_num, claim_reward_num,
  553. (SELECT ID FROM account a where a.user_id = rr.created_by and a.account_type = 'BASIC'),
  554. rr.before_claim_reward_num , rr.after_claim_reward_num ,
  555. created_by, creation_time, last_updated_by, last_update_time, version, delete_flag
  556. from user_claim_reward_record rr;
  557. DROP TABLE IF EXISTS user_claim_reward_record;
  558. insert into punch_in_task_history(id, user_id, punch_in_task_unique_id,
  559. punch_in_date, punch_in_status, count_track, time_track, settle_task_history_id,
  560. settle_status, settle_punch_in_task_id, created_by, creation_time,
  561. last_updated_by, last_update_time, version, delete_flag)
  562. select pir.id, pir.created_by, punch_in_id, punch_in_date, punch_in_status,
  563. count_track, time_track, pirsr.settlement_id , 'SETTLED', pir.punch_in_id , pir.created_by,
  564. pir.creation_time, pir.last_updated_by, pir.last_update_time, pir.version, pir.delete_flag
  565. from punch_in_record pir
  566. left join punch_in_record_settlement_rela pirsr on pir.id = pirsr.record_id;
  567. update punch_in_task_history set punch_in_status = 'DONE' where punch_in_status = '1';
  568. update punch_in_task_history set punch_in_status = 'UNDONE' where punch_in_status = '2';
  569. update punch_in_task_history set punch_in_status = 'UNDONE' where punch_in_status = '0';
  570. DROP TABLE IF EXISTS punch_in_record;
  571. DROP TABLE IF EXISTS punch_in_record_settlement_rela;
  572. RENAME TABLE punch_settle.reward_history TO punch_settle.reward_exchange_history;
  573. update punch_settle.sys_dict_item set description = item_name;
  574. 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 '字典项值';
  575. ALTER TABLE punch_settle.sys_dict_item MODIFY COLUMN item_value varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '字典项值';
  576. update punch_settle.sys_dict_item
  577. set item_value = item_code
  578. where data_type = 'INTEGER';
  579. update punch_settle.sys_dict_item set item_code = 'INVEST' where id = 5;
  580. update punch_settle.sys_dict_item set item_code = 'WIN' where id = 6;
  581. update punch_settle.sys_dict_item set item_code = 'ENABLED' where id = 7;
  582. update punch_settle.sys_dict_item set item_code = 'DISABLED' where id = 8;
  583. update punch_settle.sys_dict_item set item_code = 'SINGLE' where id = 9;
  584. update punch_settle.sys_dict_item set item_code = 'COUNT' where id = 10;
  585. update punch_settle.sys_dict_item set item_code = 'TIMING' where id = 11;
  586. update punch_settle.sys_dict_item set item_code = 'GTE' where id = 12;
  587. update punch_settle.sys_dict_item set item_code = 'LET' where id = 13;