update-v3.sql 50 KB

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