update-v3.sql 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650
  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_calendar` (
  370. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  371. `gregorian_date` char(10) NOT NULL COMMENT '公历日期,格式:yyyy-MM-dd',
  372. `lunar_date` char(10) DEFAULT NULL COMMENT '农历日期,格式:yyyy-MM-dd',
  373. `week_day` int DEFAULT NULL COMMENT '周内天数(1-7),周一为1,周日为7',
  374. `status` char(7) DEFAULT NULL COMMENT '状态:WORKDAY-上班, HOLIDAY-放假;上班:含正常工作日及补班;放假:含周末及节假日。',
  375. `festival` varchar(30) DEFAULT NULL COMMENT '国家法定节日:元旦节, 春节, 清明节, 劳动节, 端午节, 中秋节, 国庆节。',
  376. `bad_day` char(1) DEFAULT NULL COMMENT '是否补班:Y-是,N-否;需要补班,真是难受的一天!仅当需要补班时有该字段。',
  377. `description` varchar(300) DEFAULT NULL COMMENT '描述,表示什么时候补班,例如劳动节前补班、国庆节后补班等。仅需要补班时有该字段。',
  378. `statutory` char(1) DEFAULT NULL COMMENT '是否法定节假日:Y-是,N-否;如果是法定节假日则返回1,仅当是法定节假日时有该字段。',
  379. `created_by` bigint NOT NULL COMMENT '创建人',
  380. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  381. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  382. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  383. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  384. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  385. PRIMARY KEY (`id`),
  386. KEY `idx_SysCalendar_GregorianDate` (`gregorian_date`)
  387. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='系统日历表';
  388. CREATE TABLE `sys_schedule_task` (
  389. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  390. `task_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '定时任务编码',
  391. `task_name` varchar(100) NOT NULL COMMENT '定时任务名称',
  392. `execute_status` varchar(10) NOT NULL COMMENT '是否启用定时任务(ENABLE-开启、DISABLE-关闭)',
  393. `created_by` bigint NOT NULL COMMENT '创建人',
  394. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  395. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  396. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  397. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  398. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  399. PRIMARY KEY (`id`)
  400. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='定时任务执行配置表';
  401. CREATE TABLE `sys_schedule_task_history` (
  402. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  403. `task_code` varchar(100) NOT NULL COMMENT '定时任务编码',
  404. `task_name` varchar(100) NOT NULL COMMENT '定时任务名称',
  405. `launch_method` varchar(10) NOT NULL COMMENT '启动方式(AUTO-自动,MANUAL-手动)',
  406. `start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '任务开始时间',
  407. `end_time` timestamp NULL DEFAULT NULL COMMENT '任务结束时间',
  408. `process_status` varchar(10) NOT NULL COMMENT '执行状态(RUNNING-执行中,SUCCESS-成功,FAIL-失败)',
  409. `error_message` varchar(5000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '错误信息',
  410. `created_by` bigint NOT NULL COMMENT '创建人',
  411. `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  412. `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
  413. `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  414. `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
  415. `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
  416. PRIMARY KEY (`id`),
  417. KEY `idx_SScheduleTaskHis_TaskCode` (`task_code`)
  418. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='定时任务执行记录表';
  419. ALTER TABLE `user` DROP COLUMN `avatar`;
  420. ALTER TABLE `user` CHANGE total_reward_num total_points int DEFAULT 0 NOT NULL COMMENT '总积分';
  421. ALTER TABLE `user` MODIFY COLUMN total_points int DEFAULT 0 NOT NULL COMMENT '总积分';
  422. ALTER TABLE `user` CHANGE unclaimed_reward_num unused_points int DEFAULT 0 NOT NULL COMMENT '未使用积分';
  423. ALTER TABLE `user` MODIFY COLUMN unused_points int DEFAULT 0 NOT NULL COMMENT '未使用积分';
  424. ALTER TABLE `user` CHANGE claimed_reward_num used_points int DEFAULT 0 NOT NULL COMMENT '已使用积分';
  425. ALTER TABLE `user` MODIFY COLUMN used_points int DEFAULT 0 NOT NULL COMMENT '已使用积分';
  426. ALTER TABLE `user` CHANGE lottery_invest_amount total_consume_amount decimal(10,2) DEFAULT 0.00 NOT NULL COMMENT '总消费金额(元)';
  427. ALTER TABLE `user` MODIFY COLUMN total_consume_amount decimal(10,2) DEFAULT 0.00 NOT NULL COMMENT '总消费金额(元)';
  428. ALTER TABLE `user` CHANGE lottery_win_amount total_win_amount decimal(10,2) DEFAULT 0.00 NOT NULL COMMENT '总中奖金额(元)';
  429. ALTER TABLE `user` MODIFY COLUMN total_win_amount decimal(10,2) DEFAULT 0.00 NOT NULL COMMENT '总中奖金额(元)';
  430. RENAME TABLE punch_settle.punch_in TO punch_settle.punch_in_task;
  431. ALTER TABLE punch_settle.punch_in_task CHANGE reward_num points int DEFAULT 1 NOT NULL COMMENT '奖励的积分(基本)';
  432. ALTER TABLE punch_settle.punch_in_task MODIFY COLUMN points int DEFAULT 1 NOT NULL COMMENT '奖励的积分(基本)';
  433. ALTER TABLE `punch_in_task`
  434. ADD COLUMN `task_unique_id` bigint NULL COMMENT '任务唯一ID',
  435. ADD COLUMN `task_status` varchar(10) NULL COMMENT '任务状态(活跃-ACTIVE,归档-ARCHIVE)',
  436. ADD COLUMN `task_version` int NULL COMMENT '任务修改版本',
  437. ADD COLUMN `end_date` date DEFAULT NULL COMMENT '结束日期',
  438. ADD COLUMN `archive_status` varchar(10) NULL COMMENT '是否归档(活跃-ACTIVE,归档-ARCHIVE)',
  439. ADD COLUMN `display_order` int NULL COMMENT '显示顺序',
  440. ADD COLUMN `display_time` time DEFAULT NULL COMMENT '显示时间',
  441. ADD COLUMN `punch_in_method` varchar(10) DEFAULT NULL COMMENT '打卡方式(单次打卡-SINGLE,计数-COUNT、计时-TIMING)',
  442. ADD COLUMN `compare_rule` varchar(10) DEFAULT NULL COMMENT '比较规则(大于等于-GTE,小于等于-LTE)',
  443. ADD COLUMN `holiday_status` varchar(10) NULL COMMENT '是否启用节假日奖励(ENABLED-启用,DISABLED-关闭)',
  444. ADD COLUMN `holiday_count_track` int DEFAULT NULL COMMENT '次数记录(节假日用)',
  445. ADD COLUMN `holiday_time_track` time DEFAULT NULL COMMENT '时间记录(节假日用)',
  446. ADD COLUMN `full_attendance_status` varchar(10) DEFAULT NULL COMMENT '是否启用全勤奖励(ENABLED-启用,DISABLED-关闭)',
  447. ADD COLUMN `full_attendance_period` varchar(10) DEFAULT NULL COMMENT '全勤周期(周-WEEK,月-MONTH)',
  448. ADD COLUMN `full_attendance_fault_tolerance_cnt` int DEFAULT NULL COMMENT '全勤容错次数',
  449. ADD COLUMN `repeat_category` varchar(10) DEFAULT NULL COMMENT '重复周期类型(每日-EVERYDAY、法定工作日-WORKDAY、法定节假日(含周末)-HOLIDAY、自定义(周一至周日)-CUSTOM)',
  450. ADD COLUMN `repeat_custom_day` varchar(13) DEFAULT NULL COMMENT '自定义重复日(周一-1,周二-2,周三-3,周四-4,周五-5,周六-6,周日-7)',
  451. ADD COLUMN `extra_method` varchar(10) DEFAULT NULL COMMENT '额外奖励方式(无-NONE,固定-FIXED,区间-INTERVAL)',
  452. ADD COLUMN `extra_time_step` int DEFAULT NULL COMMENT '额外的时间间隔(单位:分钟)',
  453. ADD COLUMN `grace_status` varchar(10) DEFAULT NULL COMMENT '是否启用宽限期(ENABLED-启用,DISABLED-关闭)',
  454. ADD COLUMN `grace_day` int DEFAULT NULL COMMENT '宽限期(单位:天)',
  455. ADD COLUMN `interrupted_day` int DEFAULT NULL COMMENT '打卡中断天数(单位:天)',
  456. ADD COLUMN `penalty_day` int DEFAULT NULL COMMENT '惩罚天数(单位:天)',
  457. ADD COLUMN `auto_status` varchar(10) DEFAULT NULL COMMENT '是否启用自动打卡(ENABLED-启用,DISABLED-关闭)';
  458. ALTER TABLE punch_settle.punch_in_task CHANGE created_by created_by bigint NOT NULL COMMENT '创建人' AFTER auto_status;
  459. ALTER TABLE punch_settle.punch_in_task CHANGE creation_time creation_time timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间' AFTER created_by;
  460. ALTER TABLE punch_settle.punch_in_task CHANGE last_updated_by last_updated_by bigint NOT NULL COMMENT '最后更新人' AFTER creation_time;
  461. 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;
  462. ALTER TABLE punch_settle.punch_in_task CHANGE version version bigint DEFAULT 1 NOT NULL COMMENT '版本号' AFTER last_update_time;
  463. ALTER TABLE punch_settle.punch_in_task CHANGE delete_flag delete_flag tinyint DEFAULT 0 NOT NULL COMMENT '逻辑删除标志(0-未删除,1-已删除)' AFTER version;
  464. ALTER TABLE punch_settle.punch_in_task CHANGE task_unique_id task_unique_id bigint NULL COMMENT '任务唯一ID' AFTER id;
  465. 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;
  466. ALTER TABLE punch_settle.punch_in_task CHANGE task_version task_version int NULL COMMENT '任务修改版本' AFTER task_status;
  467. 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;
  468. ALTER TABLE punch_settle.punch_in_task CHANGE points points int DEFAULT 1 NOT NULL COMMENT '奖励的积分(基本)' AFTER description;
  469. ALTER TABLE punch_settle.punch_in_task CHANGE end_date end_date date NULL COMMENT '结束日期' AFTER points;
  470. 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;
  471. ALTER TABLE punch_settle.punch_in_task CHANGE display_order display_order int NULL COMMENT '显示顺序' AFTER archive_status;
  472. ALTER TABLE punch_settle.punch_in_task CHANGE display_time display_time time NULL COMMENT '显示时间' AFTER display_order;
  473. 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;
  474. 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;
  475. update punch_settle.punch_in_task
  476. set task_unique_id = id,
  477. task_status = 'ACTIVE',
  478. task_version = 1;
  479. UPDATE punch_settle.punch_in_task SET archive_status = 'ACTIVE' WHERE archive_flag = 0;
  480. UPDATE punch_settle.punch_in_task SET archive_status = 'ARCHIVE' WHERE archive_flag = 1;
  481. UPDATE punch_settle.punch_in_task SET punch_in_method = 'SINGLE' WHERE category = 0;
  482. UPDATE punch_settle.punch_in_task SET punch_in_method = 'COUNT' WHERE category = 1;
  483. UPDATE punch_settle.punch_in_task SET punch_in_method = 'TIMING' WHERE category = 2;
  484. update punch_settle.punch_in_task set compare_rule = 'GTE' WHERE rule = 0 and category != 0;
  485. update punch_settle.punch_in_task set compare_rule = 'LTE' WHERE rule = 1 and category != 0;
  486. ALTER TABLE punch_settle.punch_in_task DROP COLUMN archive_flag;
  487. ALTER TABLE punch_settle.punch_in_task DROP COLUMN category;
  488. ALTER TABLE punch_settle.punch_in_task DROP COLUMN rule;
  489. -- 节假日没有节假日的判断目标数据无法初始化,因此初始化为关闭
  490. UPDATE punch_settle.punch_in_task SET holiday_status = 'DISABLED';
  491. UPDATE punch_settle.punch_in_task SET full_attendance_status = 'DISABLED' WHERE full_attendance_flag = 0;
  492. UPDATE punch_settle.punch_in_task
  493. SET full_attendance_status = 'ENABLED',
  494. full_attendance_fault_tolerance_cnt = 1,
  495. full_attendance_period = 'WEEK'
  496. WHERE full_attendance_flag = 1;
  497. ALTER TABLE punch_settle.punch_in_task DROP COLUMN full_attendance_flag;
  498. ALTER TABLE punch_settle.punch_in_task DROP COLUMN weekend_double_flag;
  499. UPDATE punch_settle.punch_in_task SET repeat_category = 'EVERYDAY';
  500. UPDATE punch_settle.punch_in_task SET extra_method = 'NONE';
  501. UPDATE punch_settle.punch_in_task SET grace_status = 'DISABLED';
  502. UPDATE punch_settle.punch_in_task SET auto_status = 'DISABLED';
  503. 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)';
  504. ALTER TABLE punch_settle.punch_in_task MODIFY COLUMN task_unique_id bigint NOT NULL COMMENT '任务唯一ID';
  505. 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)';
  506. ALTER TABLE punch_settle.punch_in_task MODIFY COLUMN task_version int NOT NULL COMMENT '任务修改版本';
  507. 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)';
  508. 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-关闭)';
  509. 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-关闭)';
  510. 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)';
  511. 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)';
  512. 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-关闭)';
  513. 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-关闭)';
  514. 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)';
  515. 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-关闭)';
  516. 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)';
  517. ALTER TABLE punch_settle.sys_dict MODIFY COLUMN status varchar(10) DEFAULT 'DISABLED' NOT NULL COMMENT '状态(ENABLED-启用,DISABLED-失效)';
  518. UPDATE punch_settle.sys_dict SET status = 'ENABLED' WHERE status = '1';
  519. UPDATE punch_settle.sys_dict SET status = 'DISABLED' WHERE status = '0';
  520. ALTER TABLE punch_settle.sys_dict ADD UNIQUE INDEX UK_SysDict_DictCode (dict_code);
  521. ALTER TABLE punch_settle.sys_dict_item ADD UNIQUE INDEX UK_DictItem_DictId_ItemCode (dict_id, item_code);
  522. ALTER TABLE punch_settle.sys_dict_item ADD INDEX idx_SysDictItem_ItemCode (item_code);
  523. ALTER TABLE punch_settle.sys_dict_item MODIFY COLUMN status varchar(10) DEFAULT 'DISABLED' NOT NULL COMMENT '状态(ENABLED-启用,DISABLED-失效)';
  524. UPDATE punch_settle.sys_dict_item SET status = 'ENABLED' WHERE status = '1';
  525. UPDATE punch_settle.sys_dict_item SET status = 'DISABLED' WHERE status = '0';
  526. ALTER TABLE punch_settle.sys_dict_item MODIFY COLUMN data_type varchar(10) DEFAULT 'STRING' NOT NULL COMMENT '数据类型(STRING-字符串,INTEGER-整型数值)';
  527. UPDATE punch_settle.sys_dict_item SET data_type = 'INTEGER' WHERE data_type = '1';
  528. UPDATE punch_settle.sys_dict_item SET data_type = 'STRING' WHERE data_type = '0';
  529. 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)
  530. SELECT id, created_by, action_type, source, category, amount, created_by, creation_time, last_updated_by, last_update_time, version, delete_flag
  531. FROM lottery_scratch_record;
  532. UPDATE punch_settle.item_consume_win_history SET action = 'CONSUME' WHERE action = '0';
  533. UPDATE punch_settle.item_consume_win_history SET action = 'WIN' WHERE action = '1';
  534. UPDATE punch_settle.item_consume_win_history SET action = 'REVERSE_CONSUME' WHERE action = '2';
  535. UPDATE punch_settle.item_consume_win_history SET action = 'REVERSE_WIN' WHERE action = '3';
  536. DROP TABLE IF EXISTS lottery_scratch_record;
  537. RENAME TABLE punch_settle.settlement_task TO punch_settle.settle_task_history;
  538. ALTER TABLE punch_settle.settle_task_history COMMENT '结算任务执行记录表';
  539. ALTER TABLE punch_settle.settle_task_history ADD INDEX idx_SettleTaskHis_SettleDate (settle_date);
  540. ALTER TABLE punch_settle.settle_task_history DROP COLUMN start_time;
  541. ALTER TABLE punch_settle.settle_task_history DROP COLUMN end_time;
  542. ALTER TABLE punch_settle.settle_task_history DROP COLUMN error_message;
  543. ALTER TABLE punch_settle.settle_task_history CHANGE processed_num processed_total_num int DEFAULT 0 NOT NULL COMMENT '待处理结算数量';
  544. ALTER TABLE punch_settle.settle_task_history MODIFY COLUMN processed_total_num int DEFAULT 0 NOT NULL COMMENT '待处理总结算数量';
  545. 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)
  546. 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
  547. FROM punch_in_settlement pis
  548. left join settle_task_history sth on pis.settlement_task_id = sth.id;
  549. DROP TABLE IF EXISTS punch_in_settlement;
  550. -- 删除无效的用户数据
  551. delete from user where id not in (select created_by from punch_in_task group by created_by);
  552. -- 初始化账户数据,account数从user导入
  553. insert into account(user_id, account_name, account_type, points, created_by, creation_time, last_updated_by, last_update_time, version, delete_flag)
  554. select id, '基本户', 'BASIC', unused_points, id, CURRENT_TIMESTAMP(), id, CURRENT_TIMESTAMP(), 1, 0
  555. from user;
  556. -- 初始化基本奖励数据
  557. insert into reward(user_id, reward_name, exchange_points, auto_status, created_by, creation_time, last_updated_by, last_update_time, version, delete_flag)
  558. select id, '刮一次刮刮乐', 1, 'DISABLED', id, CURRENT_TIMESTAMP(), id, CURRENT_TIMESTAMP(), 1, 0
  559. from user;
  560. update reward
  561. set reward_unique_id = id,
  562. reward_version = 1,
  563. reward_status = 'ACTIVE';
  564. ALTER TABLE punch_settle.reward MODIFY COLUMN reward_unique_id bigint NOT NULL COMMENT '奖励唯一id';
  565. ALTER TABLE punch_settle.reward MODIFY COLUMN reward_status varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '奖励状态(活跃-ACTIVE,归档-ARCHIVE)';
  566. ALTER TABLE punch_settle.reward MODIFY COLUMN reward_version int NOT NULL COMMENT '奖励修改版本';
  567. ALTER TABLE punch_settle.reward_history DROP COLUMN account_name;
  568. 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)
  569. select created_by,
  570. (select id from reward r where r.user_id = rr.created_by and r.reward_name = '刮一次刮刮乐'),
  571. 'MANUAL', claim_reward_num, claim_reward_num,
  572. (SELECT ID FROM account a where a.user_id = rr.created_by and a.account_type = 'BASIC'),
  573. rr.before_claim_reward_num , rr.after_claim_reward_num ,
  574. created_by, creation_time, last_updated_by, last_update_time, version, delete_flag
  575. from user_claim_reward_record rr;
  576. DROP TABLE IF EXISTS user_claim_reward_record;
  577. insert into punch_in_task_history(id, user_id, punch_in_task_unique_id,
  578. punch_in_date, punch_in_status, count_track, time_track, settle_task_history_id,
  579. settle_status, settle_punch_in_task_id, created_by, creation_time,
  580. last_updated_by, last_update_time, version, delete_flag)
  581. select pir.id, pir.created_by, punch_in_id, punch_in_date, punch_in_status,
  582. count_track, time_track, pirsr.settlement_id , 'SETTLED', pir.punch_in_id , pir.created_by,
  583. pir.creation_time, pir.last_updated_by, pir.last_update_time, pir.version, pir.delete_flag
  584. from punch_in_record pir
  585. left join punch_in_record_settlement_rela pirsr on pir.id = pirsr.record_id;
  586. update punch_in_task_history set punch_in_status = 'DONE' where punch_in_status = '1';
  587. update punch_in_task_history set punch_in_status = 'UNDONE' where punch_in_status = '2';
  588. update punch_in_task_history set punch_in_status = 'UNDONE' where punch_in_status = '0';
  589. DROP TABLE IF EXISTS punch_in_record;
  590. DROP TABLE IF EXISTS punch_in_record_settlement_rela;
  591. RENAME TABLE punch_settle.reward_history TO punch_settle.reward_exchange_history;
  592. update punch_settle.sys_dict_item set description = item_name;
  593. 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 '字典项值';
  594. ALTER TABLE punch_settle.sys_dict_item MODIFY COLUMN item_value varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '字典项值';
  595. update punch_settle.sys_dict_item
  596. set item_value = item_code
  597. where data_type = 'INTEGER';
  598. update punch_settle.sys_dict_item set item_code = 'INVEST' where id = 5;
  599. update punch_settle.sys_dict_item set item_code = 'WIN' where id = 6;
  600. update punch_settle.sys_dict_item set item_code = 'ENABLED' where id = 7;
  601. update punch_settle.sys_dict_item set item_code = 'DISABLED' where id = 8;
  602. update punch_settle.sys_dict_item set item_code = 'SINGLE' where id = 9;
  603. update punch_settle.sys_dict_item set item_code = 'COUNT' where id = 10;
  604. update punch_settle.sys_dict_item set item_code = 'TIMING' where id = 11;
  605. update punch_settle.sys_dict_item set item_code = 'GTE' where id = 12;
  606. update punch_settle.sys_dict_item set item_code = 'LET' where id = 13;