ddl_game_kitty_fall.sql 82 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483
  1. --------------------------------------------------------
  2. -- DDL phan game Kitty Fall
  3. -- Database: Oracle
  4. -- Created: 2026-07-01
  5. --
  6. -- Ghi chu:
  7. -- 1. Script nay chi tao bang/sequence/index/constraint/comment cho module game.
  8. -- 2. Khong drop bang cu, khong sua cac bang ACCOUNT_USER, REG_INFO, LUCKY_SPIN.
  9. -- 3. Cac comment dung tieng Viet khong dau de tranh loi encoding khi chay SQL.
  10. --------------------------------------------------------
  11. --------------------------------------------------------
  12. -- SEQUENCES
  13. --------------------------------------------------------
  14. CREATE SEQUENCE SEQ_GAME_MODE START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
  15. CREATE SEQUENCE SEQ_GAME_LEVEL_CONFIG START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
  16. CREATE SEQUENCE SEQ_GAME_LEVEL_REWARD_OPTION START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
  17. CREATE SEQUENCE SEQ_GAME_PLAY_SESSION START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
  18. CREATE SEQUENCE SEQ_GAME_LEVEL_ATTEMPT START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
  19. CREATE SEQUENCE SEQ_GAME_RESCUE_LOG START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
  20. CREATE SEQUENCE SEQ_GAME_SCORE_LEDGER START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
  21. CREATE SEQUENCE SEQ_GAME_REWARD_LIMIT_CONFIG START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
  22. CREATE SEQUENCE SEQ_GAME_REWARD_LIMIT_USAGE START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
  23. CREATE SEQUENCE SEQ_GAME_REWARD_LOG START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
  24. CREATE SEQUENCE SEQ_GAME_MONTHLY_RANKING START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
  25. CREATE SEQUENCE SEQ_GAME_MONTHLY_TICKET_RULE START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
  26. CREATE SEQUENCE SEQ_GAME_MONTHLY_PRIZE_CONFIG START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
  27. CREATE SEQUENCE SEQ_GAME_MONTHLY_DRAW START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
  28. CREATE SEQUENCE SEQ_GAME_MONTHLY_DRAW_TICKET START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
  29. CREATE SEQUENCE SEQ_GAME_MONTHLY_WINNER START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
  30. --------------------------------------------------------
  31. -- GAME_MODE
  32. --------------------------------------------------------
  33. CREATE TABLE GAME_MODE
  34. (
  35. MODE_ID NUMBER(10,0) NOT NULL,
  36. MODE_CODE VARCHAR2(20 BYTE) NOT NULL,
  37. MODE_NAME NVARCHAR2(100) NOT NULL,
  38. TIME_LIMIT_SECONDS NUMBER(5,0) NOT NULL,
  39. DISPLAY_ORDER NUMBER(5,0) DEFAULT 0 NOT NULL,
  40. STATUS NUMBER(1,0) DEFAULT 1 NOT NULL,
  41. CREATED_TIME DATE DEFAULT SYSDATE NOT NULL,
  42. UPDATED_TIME DATE,
  43. CONSTRAINT PK_GAME_MODE PRIMARY KEY (MODE_ID),
  44. CONSTRAINT UK_GAME_MODE_CODE UNIQUE (MODE_CODE),
  45. CONSTRAINT CK_GAME_MODE_STATUS CHECK (STATUS IN (0, 1)),
  46. CONSTRAINT CK_GAME_MODE_CODE CHECK (MODE_CODE IN ('EASY', 'NORMAL', 'HARD'))
  47. );
  48. COMMENT ON TABLE GAME_MODE IS 'Danh muc che do choi Kitty Fall';
  49. COMMENT ON COLUMN GAME_MODE.MODE_ID IS 'Khoa chinh che do choi';
  50. COMMENT ON COLUMN GAME_MODE.MODE_CODE IS 'Ma che do choi: EASY, NORMAL, HARD';
  51. COMMENT ON COLUMN GAME_MODE.MODE_NAME IS 'Ten hien thi cua che do choi';
  52. COMMENT ON COLUMN GAME_MODE.TIME_LIMIT_SECONDS IS 'Thoi gian choi mac dinh moi level tinh bang giay';
  53. COMMENT ON COLUMN GAME_MODE.DISPLAY_ORDER IS 'Thu tu hien thi tren UI';
  54. COMMENT ON COLUMN GAME_MODE.STATUS IS 'Trang thai: 1 hieu luc, 0 khong hieu luc';
  55. COMMENT ON COLUMN GAME_MODE.CREATED_TIME IS 'Thoi diem tao ban ghi';
  56. COMMENT ON COLUMN GAME_MODE.UPDATED_TIME IS 'Thoi diem cap nhat gan nhat';
  57. --------------------------------------------------------
  58. -- GAME_LEVEL_CONFIG
  59. --------------------------------------------------------
  60. CREATE TABLE GAME_LEVEL_CONFIG
  61. (
  62. LEVEL_CONFIG_ID NUMBER(12,0) NOT NULL,
  63. MODE_ID NUMBER(10,0) NOT NULL,
  64. LEVEL_NO NUMBER(3,0) NOT NULL,
  65. BASE_SCORE NUMBER(10,0) DEFAULT 0 NOT NULL,
  66. TIME_LIMIT_SECONDS NUMBER(5,0) NOT NULL,
  67. IS_MILESTONE NUMBER(1,0) DEFAULT 0 NOT NULL,
  68. STATUS NUMBER(1,0) DEFAULT 1 NOT NULL,
  69. CREATED_TIME DATE DEFAULT SYSDATE NOT NULL,
  70. UPDATED_TIME DATE,
  71. CONSTRAINT PK_GAME_LEVEL_CONFIG PRIMARY KEY (LEVEL_CONFIG_ID),
  72. CONSTRAINT UK_GAME_LEVEL_CONFIG UNIQUE (MODE_ID, LEVEL_NO),
  73. CONSTRAINT FK_GLC_MODE FOREIGN KEY (MODE_ID) REFERENCES GAME_MODE (MODE_ID),
  74. CONSTRAINT CK_GLC_LEVEL_NO CHECK (LEVEL_NO BETWEEN 1 AND 50),
  75. CONSTRAINT CK_GLC_BASE_SCORE CHECK (BASE_SCORE >= 0),
  76. CONSTRAINT CK_GLC_TIME_LIMIT CHECK (TIME_LIMIT_SECONDS > 0),
  77. CONSTRAINT CK_GLC_IS_MILESTONE CHECK (IS_MILESTONE IN (0, 1)),
  78. CONSTRAINT CK_GLC_STATUS CHECK (STATUS IN (0, 1))
  79. );
  80. CREATE INDEX IDX_GLC_MODE_STATUS ON GAME_LEVEL_CONFIG (MODE_ID, STATUS);
  81. CREATE INDEX IDX_GLC_MILESTONE ON GAME_LEVEL_CONFIG (MODE_ID, IS_MILESTONE, LEVEL_NO);
  82. COMMENT ON TABLE GAME_LEVEL_CONFIG IS 'Cau hinh diem va thoi gian cho tung level cua tung mode';
  83. COMMENT ON COLUMN GAME_LEVEL_CONFIG.LEVEL_CONFIG_ID IS 'Khoa chinh cau hinh level';
  84. COMMENT ON COLUMN GAME_LEVEL_CONFIG.MODE_ID IS 'Che do choi, tham chieu GAME_MODE';
  85. COMMENT ON COLUMN GAME_LEVEL_CONFIG.LEVEL_NO IS 'So level tu 1 den 50';
  86. COMMENT ON COLUMN GAME_LEVEL_CONFIG.BASE_SCORE IS 'Diem base cong khi qua level hop le';
  87. COMMENT ON COLUMN GAME_LEVEL_CONFIG.TIME_LIMIT_SECONDS IS 'Thoi gian toi da cua level tinh bang giay';
  88. COMMENT ON COLUMN GAME_LEVEL_CONFIG.IS_MILESTONE IS 'Danh dau level moc co thuong: 1 co thuong, 0 level thuong';
  89. COMMENT ON COLUMN GAME_LEVEL_CONFIG.STATUS IS 'Trang thai cau hinh: 1 hieu luc, 0 khong hieu luc';
  90. COMMENT ON COLUMN GAME_LEVEL_CONFIG.CREATED_TIME IS 'Thoi diem tao ban ghi';
  91. COMMENT ON COLUMN GAME_LEVEL_CONFIG.UPDATED_TIME IS 'Thoi diem cap nhat gan nhat';
  92. --------------------------------------------------------
  93. -- GAME_LEVEL_REWARD_OPTION
  94. --------------------------------------------------------
  95. CREATE TABLE GAME_LEVEL_REWARD_OPTION
  96. (
  97. REWARD_OPTION_ID NUMBER(12,0) NOT NULL,
  98. MODE_ID NUMBER(10,0) NOT NULL,
  99. LEVEL_NO NUMBER(3,0) NOT NULL,
  100. REWARD_TYPE VARCHAR2(30 BYTE) NOT NULL,
  101. REWARD_VALUE NUMBER(12,2) NOT NULL,
  102. REWARD_UNIT VARCHAR2(20 BYTE) NOT NULL,
  103. WEIGHT NUMBER(10,0) DEFAULT 1 NOT NULL,
  104. IS_DEFAULT NUMBER(1,0) DEFAULT 0 NOT NULL,
  105. REWARD_DESC NVARCHAR2(500),
  106. STATUS NUMBER(1,0) DEFAULT 1 NOT NULL,
  107. CREATED_TIME DATE DEFAULT SYSDATE NOT NULL,
  108. UPDATED_TIME DATE,
  109. CONSTRAINT PK_GAME_LEVEL_REWARD_OPTION PRIMARY KEY (REWARD_OPTION_ID),
  110. CONSTRAINT UK_GLRO_OPTION UNIQUE (MODE_ID, LEVEL_NO, REWARD_TYPE, REWARD_VALUE, REWARD_UNIT),
  111. CONSTRAINT FK_GLRO_MODE FOREIGN KEY (MODE_ID) REFERENCES GAME_MODE (MODE_ID),
  112. CONSTRAINT CK_GLRO_LEVEL_NO CHECK (LEVEL_NO BETWEEN 1 AND 50),
  113. CONSTRAINT CK_GLRO_REWARD_TYPE CHECK (REWARD_TYPE IN ('DATA', 'LOYALTY', 'SCORE', 'MONEY')),
  114. CONSTRAINT CK_GLRO_REWARD_VALUE CHECK (REWARD_VALUE > 0),
  115. CONSTRAINT CK_GLRO_WEIGHT CHECK (WEIGHT > 0),
  116. CONSTRAINT CK_GLRO_IS_DEFAULT CHECK (IS_DEFAULT IN (0, 1)),
  117. CONSTRAINT CK_GLRO_STATUS CHECK (STATUS IN (0, 1))
  118. );
  119. CREATE INDEX IDX_GLRO_MODE_LEVEL ON GAME_LEVEL_REWARD_OPTION (MODE_ID, LEVEL_NO, STATUS);
  120. CREATE INDEX IDX_GLRO_TYPE ON GAME_LEVEL_REWARD_OPTION (REWARD_TYPE, STATUS);
  121. COMMENT ON TABLE GAME_LEVEL_REWARD_OPTION IS 'Danh sach option thuong cua cac level moc';
  122. COMMENT ON COLUMN GAME_LEVEL_REWARD_OPTION.REWARD_OPTION_ID IS 'Khoa chinh option thuong';
  123. COMMENT ON COLUMN GAME_LEVEL_REWARD_OPTION.MODE_ID IS 'Che do choi, tham chieu GAME_MODE';
  124. COMMENT ON COLUMN GAME_LEVEL_REWARD_OPTION.LEVEL_NO IS 'Level moc ap dung option thuong';
  125. COMMENT ON COLUMN GAME_LEVEL_REWARD_OPTION.REWARD_TYPE IS 'Loai thuong: DATA, LOYALTY, SCORE, MONEY';
  126. COMMENT ON COLUMN GAME_LEVEL_REWARD_OPTION.REWARD_VALUE IS 'Gia tri thuong';
  127. COMMENT ON COLUMN GAME_LEVEL_REWARD_OPTION.REWARD_UNIT IS 'Don vi thuong: MB, POINT, MMK hoac don vi khac';
  128. COMMENT ON COLUMN GAME_LEVEL_REWARD_OPTION.WEIGHT IS 'Trong so random option thuong, so cang lon ti le cang cao';
  129. COMMENT ON COLUMN GAME_LEVEL_REWARD_OPTION.IS_DEFAULT IS 'Danh dau option mac dinh neu khong random duoc';
  130. COMMENT ON COLUMN GAME_LEVEL_REWARD_OPTION.REWARD_DESC IS 'Mo ta option thuong hien thi/audit';
  131. COMMENT ON COLUMN GAME_LEVEL_REWARD_OPTION.STATUS IS 'Trang thai option: 1 hieu luc, 0 khong hieu luc';
  132. COMMENT ON COLUMN GAME_LEVEL_REWARD_OPTION.CREATED_TIME IS 'Thoi diem tao ban ghi';
  133. COMMENT ON COLUMN GAME_LEVEL_REWARD_OPTION.UPDATED_TIME IS 'Thoi diem cap nhat gan nhat';
  134. --------------------------------------------------------
  135. -- GAME_PLAY_SESSION
  136. --------------------------------------------------------
  137. CREATE TABLE GAME_PLAY_SESSION
  138. (
  139. SESSION_ID NUMBER(18,0) NOT NULL,
  140. ROOT_TRANS_ID VARCHAR2(100 BYTE) NOT NULL,
  141. MSISDN VARCHAR2(20 BYTE) NOT NULL,
  142. USER_ID NUMBER(18,0),
  143. REGISTER_ID NUMBER(18,0),
  144. MODE_ID NUMBER(10,0) NOT NULL,
  145. START_LEVEL NUMBER(3,0) DEFAULT 1 NOT NULL,
  146. CURRENT_LEVEL NUMBER(3,0) DEFAULT 1 NOT NULL,
  147. MAX_LEVEL_REACHED NUMBER(3,0) DEFAULT 0 NOT NULL,
  148. TOTAL_SCORE NUMBER(12,0) DEFAULT 0 NOT NULL,
  149. TOTAL_REWARD_SCORE NUMBER(12,0) DEFAULT 0 NOT NULL,
  150. TOTAL_DATA_MB NUMBER(12,2) DEFAULT 0 NOT NULL,
  151. TOTAL_LOYALTY NUMBER(12,2) DEFAULT 0 NOT NULL,
  152. TURN_DEDUCTED NUMBER(1,0) DEFAULT 0 NOT NULL,
  153. TURN_SOURCE VARCHAR2(30 BYTE),
  154. TURN_REF_ID VARCHAR2(100 BYTE),
  155. STATUS NUMBER(2,0) DEFAULT 1 NOT NULL,
  156. START_TIME DATE DEFAULT SYSDATE NOT NULL,
  157. END_TIME DATE,
  158. LAST_ACTION_TIME DATE DEFAULT SYSDATE NOT NULL,
  159. CHANNEL VARCHAR2(20 BYTE),
  160. CLIENT_IP VARCHAR2(100 BYTE),
  161. USER_AGENT VARCHAR2(500 BYTE),
  162. FAIL_REASON VARCHAR2(200 BYTE),
  163. CREATED_TIME DATE DEFAULT SYSDATE NOT NULL,
  164. UPDATED_TIME DATE,
  165. CONSTRAINT PK_GAME_PLAY_SESSION PRIMARY KEY (SESSION_ID),
  166. CONSTRAINT UK_GPS_ROOT_TRANS UNIQUE (ROOT_TRANS_ID),
  167. CONSTRAINT FK_GPS_MODE FOREIGN KEY (MODE_ID) REFERENCES GAME_MODE (MODE_ID),
  168. CONSTRAINT CK_GPS_LEVEL_RANGE CHECK (START_LEVEL BETWEEN 1 AND 50 AND CURRENT_LEVEL BETWEEN 1 AND 50 AND MAX_LEVEL_REACHED BETWEEN 0 AND 50),
  169. CONSTRAINT CK_GPS_TOTAL_SCORE CHECK (TOTAL_SCORE >= 0 AND TOTAL_REWARD_SCORE >= 0 AND TOTAL_DATA_MB >= 0 AND TOTAL_LOYALTY >= 0),
  170. CONSTRAINT CK_GPS_TURN_DEDUCTED CHECK (TURN_DEDUCTED IN (0, 1)),
  171. CONSTRAINT CK_GPS_STATUS CHECK (STATUS IN (0, 1, 2, 3, 4, 5, 6)),
  172. CONSTRAINT CK_GPS_CHANNEL CHECK (CHANNEL IS NULL OR CHANNEL IN ('WEB', 'APP', 'USSD', 'SMS', 'SYSTEM')),
  173. CONSTRAINT CK_GPS_TURN_SOURCE CHECK (TURN_SOURCE IS NULL OR TURN_SOURCE IN ('SUB', 'BUY', 'FREE', 'GIFT', 'ADMIN'))
  174. );
  175. CREATE INDEX IDX_GPS_MSISDN_TIME ON GAME_PLAY_SESSION (MSISDN, START_TIME);
  176. CREATE INDEX IDX_GPS_STATUS_TIME ON GAME_PLAY_SESSION (STATUS, START_TIME);
  177. CREATE INDEX IDX_GPS_MODE_TIME ON GAME_PLAY_SESSION (MODE_ID, START_TIME);
  178. CREATE INDEX IDX_GPS_USER_ID ON GAME_PLAY_SESSION (USER_ID);
  179. CREATE INDEX IDX_GPS_REGISTER_ID ON GAME_PLAY_SESSION (REGISTER_ID);
  180. COMMENT ON TABLE GAME_PLAY_SESSION IS 'Mot lan bam Play va tieu hao turn cua user';
  181. COMMENT ON COLUMN GAME_PLAY_SESSION.SESSION_ID IS 'Khoa chinh session choi';
  182. COMMENT ON COLUMN GAME_PLAY_SESSION.ROOT_TRANS_ID IS 'Ma giao dich goc cua mot lan choi, dung chung cho cac level trong session';
  183. COMMENT ON COLUMN GAME_PLAY_SESSION.MSISDN IS 'So thue bao choi game';
  184. COMMENT ON COLUMN GAME_PLAY_SESSION.USER_ID IS 'ID user tu bang ACCOUNT_USER neu co';
  185. COMMENT ON COLUMN GAME_PLAY_SESSION.REGISTER_ID IS 'ID dang ky goi tu bang REG_INFO neu co';
  186. COMMENT ON COLUMN GAME_PLAY_SESSION.MODE_ID IS 'Che do choi cua session';
  187. COMMENT ON COLUMN GAME_PLAY_SESSION.START_LEVEL IS 'Level bat dau cua session';
  188. COMMENT ON COLUMN GAME_PLAY_SESSION.CURRENT_LEVEL IS 'Level hien tai dang choi';
  189. COMMENT ON COLUMN GAME_PLAY_SESSION.MAX_LEVEL_REACHED IS 'Level cao nhat da qua trong session';
  190. COMMENT ON COLUMN GAME_PLAY_SESSION.TOTAL_SCORE IS 'Tong diem thuc te cua session gom base score va score reward';
  191. COMMENT ON COLUMN GAME_PLAY_SESSION.TOTAL_REWARD_SCORE IS 'Tong diem nhan tu reward type SCORE trong session';
  192. COMMENT ON COLUMN GAME_PLAY_SESSION.TOTAL_DATA_MB IS 'Tong dung luong data MB da trung trong session';
  193. COMMENT ON COLUMN GAME_PLAY_SESSION.TOTAL_LOYALTY IS 'Tong loyalty point da trung trong session';
  194. COMMENT ON COLUMN GAME_PLAY_SESSION.TURN_DEDUCTED IS 'Da tru turn hay chua: 1 da tru, 0 chua tru';
  195. COMMENT ON COLUMN GAME_PLAY_SESSION.TURN_SOURCE IS 'Nguon turn: SUB, BUY, FREE, GIFT, ADMIN';
  196. COMMENT ON COLUMN GAME_PLAY_SESSION.TURN_REF_ID IS 'Ma tham chieu giao dich/ban ghi tru turn';
  197. COMMENT ON COLUMN GAME_PLAY_SESSION.STATUS IS 'Trang thai session: 0 INIT, 1 PLAYING, 2 COMPLETED, 3 FAILED, 4 TIMEOUT, 5 CANCELLED, 6 EXPIRED';
  198. COMMENT ON COLUMN GAME_PLAY_SESSION.START_TIME IS 'Thoi diem bat dau session';
  199. COMMENT ON COLUMN GAME_PLAY_SESSION.END_TIME IS 'Thoi diem ket thuc session';
  200. COMMENT ON COLUMN GAME_PLAY_SESSION.LAST_ACTION_TIME IS 'Thoi diem thao tac gan nhat cua session';
  201. COMMENT ON COLUMN GAME_PLAY_SESSION.CHANNEL IS 'Kenh phat sinh session: WEB, APP, USSD, SMS, SYSTEM';
  202. COMMENT ON COLUMN GAME_PLAY_SESSION.CLIENT_IP IS 'IP client khi bat dau choi';
  203. COMMENT ON COLUMN GAME_PLAY_SESSION.USER_AGENT IS 'Thong tin trinh duyet/thiet bi client';
  204. COMMENT ON COLUMN GAME_PLAY_SESSION.FAIL_REASON IS 'Ly do fail/cancel/timeout neu co';
  205. COMMENT ON COLUMN GAME_PLAY_SESSION.CREATED_TIME IS 'Thoi diem tao ban ghi';
  206. COMMENT ON COLUMN GAME_PLAY_SESSION.UPDATED_TIME IS 'Thoi diem cap nhat gan nhat';
  207. --------------------------------------------------------
  208. -- GAME_LEVEL_ATTEMPT
  209. --------------------------------------------------------
  210. CREATE TABLE GAME_LEVEL_ATTEMPT
  211. (
  212. ATTEMPT_ID NUMBER(18,0) NOT NULL,
  213. SESSION_ID NUMBER(18,0) NOT NULL,
  214. ROOT_TRANS_ID VARCHAR2(100 BYTE) NOT NULL,
  215. CHILD_TRANS_ID VARCHAR2(100 BYTE) NOT NULL,
  216. PARENT_CHILD_TRANS_ID VARCHAR2(100 BYTE),
  217. MSISDN VARCHAR2(20 BYTE) NOT NULL,
  218. MODE_ID NUMBER(10,0) NOT NULL,
  219. LEVEL_NO NUMBER(3,0) NOT NULL,
  220. ATTEMPT_NO NUMBER(5,0) DEFAULT 1 NOT NULL,
  221. EXPECTED_SCORE NUMBER(10,0) DEFAULT 0 NOT NULL,
  222. CLIENT_SCORE NUMBER(10,0),
  223. AWARDED_SCORE NUMBER(10,0) DEFAULT 0 NOT NULL,
  224. REWARD_OPTION_ID NUMBER(12,0),
  225. REWARD_TYPE VARCHAR2(30 BYTE),
  226. REWARD_VALUE NUMBER(12,2),
  227. REWARD_UNIT VARCHAR2(20 BYTE),
  228. STATUS NUMBER(2,0) DEFAULT 1 NOT NULL,
  229. START_TIME DATE DEFAULT SYSDATE NOT NULL,
  230. SUBMIT_TIME DATE,
  231. SERVER_DURATION_SECONDS NUMBER(10,0),
  232. CLIENT_DURATION_SECONDS NUMBER(10,0),
  233. IS_VALID NUMBER(1,0),
  234. VALIDATE_CODE VARCHAR2(50 BYTE),
  235. VALIDATE_MESSAGE VARCHAR2(500 BYTE),
  236. REQUEST_HASH VARCHAR2(128 BYTE),
  237. NONCE VARCHAR2(100 BYTE),
  238. RAW_REQUEST CLOB,
  239. RAW_RESPONSE CLOB,
  240. CREATED_TIME DATE DEFAULT SYSDATE NOT NULL,
  241. UPDATED_TIME DATE,
  242. CONSTRAINT PK_GAME_LEVEL_ATTEMPT PRIMARY KEY (ATTEMPT_ID),
  243. CONSTRAINT UK_GLA_CHILD_TRANS UNIQUE (CHILD_TRANS_ID),
  244. CONSTRAINT UK_GLA_SESSION_LEVEL_ATTEMPT UNIQUE (SESSION_ID, LEVEL_NO, ATTEMPT_NO),
  245. CONSTRAINT FK_GLA_SESSION FOREIGN KEY (SESSION_ID) REFERENCES GAME_PLAY_SESSION (SESSION_ID),
  246. CONSTRAINT FK_GLA_MODE FOREIGN KEY (MODE_ID) REFERENCES GAME_MODE (MODE_ID),
  247. CONSTRAINT FK_GLA_REWARD_OPTION FOREIGN KEY (REWARD_OPTION_ID) REFERENCES GAME_LEVEL_REWARD_OPTION (REWARD_OPTION_ID),
  248. CONSTRAINT CK_GLA_LEVEL_NO CHECK (LEVEL_NO BETWEEN 1 AND 50),
  249. CONSTRAINT CK_GLA_ATTEMPT_NO CHECK (ATTEMPT_NO > 0),
  250. CONSTRAINT CK_GLA_SCORE CHECK (EXPECTED_SCORE >= 0 AND AWARDED_SCORE >= 0),
  251. CONSTRAINT CK_GLA_REWARD_TYPE CHECK (REWARD_TYPE IS NULL OR REWARD_TYPE IN ('DATA', 'LOYALTY', 'SCORE', 'MONEY')),
  252. CONSTRAINT CK_GLA_STATUS CHECK (STATUS IN (0, 1, 2, 3, 4, 5, 6)),
  253. CONSTRAINT CK_GLA_IS_VALID CHECK (IS_VALID IS NULL OR IS_VALID IN (0, 1))
  254. );
  255. CREATE INDEX IDX_GLA_ROOT_TRANS ON GAME_LEVEL_ATTEMPT (ROOT_TRANS_ID);
  256. CREATE INDEX IDX_GLA_SESSION_STATUS ON GAME_LEVEL_ATTEMPT (SESSION_ID, STATUS);
  257. CREATE INDEX IDX_GLA_MSISDN_TIME ON GAME_LEVEL_ATTEMPT (MSISDN, START_TIME);
  258. CREATE INDEX IDX_GLA_MODE_LEVEL ON GAME_LEVEL_ATTEMPT (MODE_ID, LEVEL_NO);
  259. CREATE INDEX IDX_GLA_PARENT_CHILD ON GAME_LEVEL_ATTEMPT (PARENT_CHILD_TRANS_ID);
  260. CREATE INDEX IDX_GLA_REQUEST_HASH ON GAME_LEVEL_ATTEMPT (REQUEST_HASH);
  261. COMMENT ON TABLE GAME_LEVEL_ATTEMPT IS 'Lich su choi tung level trong mot session';
  262. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.ATTEMPT_ID IS 'Khoa chinh lan choi level';
  263. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.SESSION_ID IS 'Session cha cua level attempt';
  264. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.ROOT_TRANS_ID IS 'Ma giao dich goc cua session';
  265. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.CHILD_TRANS_ID IS 'Ma giao dich con cua rieng level attempt, dung de submit mot lan';
  266. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.PARENT_CHILD_TRANS_ID IS 'Child trans cha neu attempt duoc tao do retry/rescue';
  267. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.MSISDN IS 'So thue bao choi level';
  268. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.MODE_ID IS 'Che do choi cua level';
  269. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.LEVEL_NO IS 'So level dang choi';
  270. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.ATTEMPT_NO IS 'Lan attempt cua level trong session, dung cho retry/rescue';
  271. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.EXPECTED_SCORE IS 'Diem server du kien cong theo cau hinh level';
  272. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.CLIENT_SCORE IS 'Diem client submit, chi dung de doi chieu va audit';
  273. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.AWARDED_SCORE IS 'Diem base server thuc su cong cho level';
  274. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.REWARD_OPTION_ID IS 'Option thuong duoc chon neu level la milestone';
  275. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.REWARD_TYPE IS 'Loai thuong thuc te: DATA, LOYALTY, SCORE, MONEY';
  276. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.REWARD_VALUE IS 'Gia tri thuong thuc te';
  277. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.REWARD_UNIT IS 'Don vi thuong thuc te';
  278. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.STATUS IS 'Trang thai attempt: 0 CREATED, 1 PLAYING, 2 COMPLETED, 3 FAILED, 4 TIMEOUT, 5 INVALID, 6 REPLACED';
  279. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.START_TIME IS 'Thoi diem server tao attempt/bat dau level';
  280. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.SUBMIT_TIME IS 'Thoi diem server nhan submit level';
  281. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.SERVER_DURATION_SECONDS IS 'Thoi gian choi tinh theo server';
  282. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.CLIENT_DURATION_SECONDS IS 'Thoi gian choi client gui len';
  283. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.IS_VALID IS 'Ket qua validate submit: 1 hop le, 0 khong hop le';
  284. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.VALIDATE_CODE IS 'Ma ket qua validate';
  285. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.VALIDATE_MESSAGE IS 'Mo ta ket qua validate';
  286. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.REQUEST_HASH IS 'Hash request submit de phat hien replay/trung lap';
  287. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.NONCE IS 'Nonce phat cho client de chong replay';
  288. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.RAW_REQUEST IS 'Noi dung request goc neu can audit';
  289. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.RAW_RESPONSE IS 'Noi dung response goc neu can audit';
  290. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.CREATED_TIME IS 'Thoi diem tao ban ghi';
  291. COMMENT ON COLUMN GAME_LEVEL_ATTEMPT.UPDATED_TIME IS 'Thoi diem cap nhat gan nhat';
  292. --------------------------------------------------------
  293. -- GAME_RESCUE_LOG
  294. --------------------------------------------------------
  295. CREATE TABLE GAME_RESCUE_LOG
  296. (
  297. RESCUE_ID NUMBER(18,0) NOT NULL,
  298. SESSION_ID NUMBER(18,0) NOT NULL,
  299. ROOT_TRANS_ID VARCHAR2(100 BYTE) NOT NULL,
  300. CHILD_TRANS_ID VARCHAR2(100 BYTE) NOT NULL,
  301. MSISDN VARCHAR2(20 BYTE) NOT NULL,
  302. MODE_ID NUMBER(10,0) NOT NULL,
  303. LEVEL_NO NUMBER(3,0) NOT NULL,
  304. FEE NUMBER(12,2) DEFAULT 79 NOT NULL,
  305. CHARGE_TRANS_ID VARCHAR2(100 BYTE),
  306. CHARGE_STATUS NUMBER(2,0),
  307. STATUS NUMBER(2,0) DEFAULT 0 NOT NULL,
  308. REQUEST_TIME DATE DEFAULT SYSDATE NOT NULL,
  309. RESPONSE_TIME DATE,
  310. RESPONSE_CODE VARCHAR2(50 BYTE),
  311. RESPONSE_MESSAGE VARCHAR2(500 BYTE),
  312. CREATED_TIME DATE DEFAULT SYSDATE NOT NULL,
  313. UPDATED_TIME DATE,
  314. CONSTRAINT PK_GAME_RESCUE_LOG PRIMARY KEY (RESCUE_ID),
  315. CONSTRAINT UK_GRL_ONE_SESSION UNIQUE (SESSION_ID),
  316. CONSTRAINT FK_GRL_SESSION FOREIGN KEY (SESSION_ID) REFERENCES GAME_PLAY_SESSION (SESSION_ID),
  317. CONSTRAINT FK_GRL_MODE FOREIGN KEY (MODE_ID) REFERENCES GAME_MODE (MODE_ID),
  318. CONSTRAINT CK_GRL_LEVEL_NO CHECK (LEVEL_NO BETWEEN 1 AND 50),
  319. CONSTRAINT CK_GRL_FEE CHECK (FEE >= 0),
  320. CONSTRAINT CK_GRL_STATUS CHECK (STATUS IN (0, 1, 2, 3, 4))
  321. );
  322. CREATE INDEX IDX_GRL_MSISDN_TIME ON GAME_RESCUE_LOG (MSISDN, REQUEST_TIME);
  323. CREATE INDEX IDX_GRL_ROOT_TRANS ON GAME_RESCUE_LOG (ROOT_TRANS_ID);
  324. CREATE INDEX IDX_GRL_CHARGE_TRANS ON GAME_RESCUE_LOG (CHARGE_TRANS_ID);
  325. COMMENT ON TABLE GAME_RESCUE_LOG IS 'Lich su mua/su dung rescue, toi da 1 lan moi session';
  326. COMMENT ON COLUMN GAME_RESCUE_LOG.RESCUE_ID IS 'Khoa chinh rescue log';
  327. COMMENT ON COLUMN GAME_RESCUE_LOG.SESSION_ID IS 'Session su dung rescue';
  328. COMMENT ON COLUMN GAME_RESCUE_LOG.ROOT_TRANS_ID IS 'Ma giao dich goc cua session';
  329. COMMENT ON COLUMN GAME_RESCUE_LOG.CHILD_TRANS_ID IS 'Child trans cua level dang rescue';
  330. COMMENT ON COLUMN GAME_RESCUE_LOG.MSISDN IS 'So thue bao mua rescue';
  331. COMMENT ON COLUMN GAME_RESCUE_LOG.MODE_ID IS 'Che do choi khi mua rescue';
  332. COMMENT ON COLUMN GAME_RESCUE_LOG.LEVEL_NO IS 'Level su dung rescue';
  333. COMMENT ON COLUMN GAME_RESCUE_LOG.FEE IS 'Phi rescue';
  334. COMMENT ON COLUMN GAME_RESCUE_LOG.CHARGE_TRANS_ID IS 'Ma giao dich charge phi rescue';
  335. COMMENT ON COLUMN GAME_RESCUE_LOG.CHARGE_STATUS IS 'Trang thai charge tu he thong thanh toan';
  336. COMMENT ON COLUMN GAME_RESCUE_LOG.STATUS IS 'Trang thai rescue: 0 NEW, 1 CHARGING, 2 SUCCESS, 3 FAILED, 4 CANCELLED';
  337. COMMENT ON COLUMN GAME_RESCUE_LOG.REQUEST_TIME IS 'Thoi diem gui yeu cau rescue';
  338. COMMENT ON COLUMN GAME_RESCUE_LOG.RESPONSE_TIME IS 'Thoi diem nhan ket qua rescue/charge';
  339. COMMENT ON COLUMN GAME_RESCUE_LOG.RESPONSE_CODE IS 'Ma ket qua tu he thong charge';
  340. COMMENT ON COLUMN GAME_RESCUE_LOG.RESPONSE_MESSAGE IS 'Mo ta ket qua tu he thong charge';
  341. COMMENT ON COLUMN GAME_RESCUE_LOG.CREATED_TIME IS 'Thoi diem tao ban ghi';
  342. COMMENT ON COLUMN GAME_RESCUE_LOG.UPDATED_TIME IS 'Thoi diem cap nhat gan nhat';
  343. --------------------------------------------------------
  344. -- GAME_SCORE_LEDGER
  345. --------------------------------------------------------
  346. CREATE TABLE GAME_SCORE_LEDGER
  347. (
  348. LEDGER_ID NUMBER(18,0) NOT NULL,
  349. MSISDN VARCHAR2(20 BYTE) NOT NULL,
  350. USER_ID NUMBER(18,0),
  351. SESSION_ID NUMBER(18,0) NOT NULL,
  352. ATTEMPT_ID NUMBER(18,0),
  353. ROOT_TRANS_ID VARCHAR2(100 BYTE) NOT NULL,
  354. CHILD_TRANS_ID VARCHAR2(100 BYTE),
  355. SCORE_TYPE VARCHAR2(30 BYTE) NOT NULL,
  356. SCORE_DELTA NUMBER(12,0) NOT NULL,
  357. BALANCE_AFTER NUMBER(12,0),
  358. DESCRIPTION NVARCHAR2(500),
  359. CREATED_TIME DATE DEFAULT SYSDATE NOT NULL,
  360. CREATED_DATE_KEY NUMBER(8,0) NOT NULL,
  361. CREATED_MONTH_KEY NUMBER(6,0) NOT NULL,
  362. CONSTRAINT PK_GAME_SCORE_LEDGER PRIMARY KEY (LEDGER_ID),
  363. CONSTRAINT UK_GSL_ATTEMPT_TYPE UNIQUE (ATTEMPT_ID, SCORE_TYPE),
  364. CONSTRAINT FK_GSL_SESSION FOREIGN KEY (SESSION_ID) REFERENCES GAME_PLAY_SESSION (SESSION_ID),
  365. CONSTRAINT FK_GSL_ATTEMPT FOREIGN KEY (ATTEMPT_ID) REFERENCES GAME_LEVEL_ATTEMPT (ATTEMPT_ID),
  366. CONSTRAINT CK_GSL_SCORE_TYPE CHECK (SCORE_TYPE IN ('LEVEL', 'REWARD', 'ADJUST', 'CANCEL')),
  367. CONSTRAINT CK_GSL_DATE_KEY CHECK (CREATED_DATE_KEY BETWEEN 20000101 AND 29991231),
  368. CONSTRAINT CK_GSL_MONTH_KEY CHECK (CREATED_MONTH_KEY BETWEEN 200001 AND 299912)
  369. );
  370. CREATE INDEX IDX_GSL_MSISDN_MONTH ON GAME_SCORE_LEDGER (MSISDN, CREATED_MONTH_KEY);
  371. CREATE INDEX IDX_GSL_MONTH_TIME ON GAME_SCORE_LEDGER (CREATED_MONTH_KEY, CREATED_TIME);
  372. CREATE INDEX IDX_GSL_ROOT_TRANS ON GAME_SCORE_LEDGER (ROOT_TRANS_ID);
  373. CREATE INDEX IDX_GSL_SESSION ON GAME_SCORE_LEDGER (SESSION_ID);
  374. CREATE INDEX IDX_GSL_CHILD_TRANS ON GAME_SCORE_LEDGER (CHILD_TRANS_ID);
  375. COMMENT ON TABLE GAME_SCORE_LEDGER IS 'So cai diem game, dung de audit va tinh ranking';
  376. COMMENT ON COLUMN GAME_SCORE_LEDGER.LEDGER_ID IS 'Khoa chinh dong ledger diem';
  377. COMMENT ON COLUMN GAME_SCORE_LEDGER.MSISDN IS 'So thue bao duoc cong/tru diem';
  378. COMMENT ON COLUMN GAME_SCORE_LEDGER.USER_ID IS 'ID user tu ACCOUNT_USER neu co';
  379. COMMENT ON COLUMN GAME_SCORE_LEDGER.SESSION_ID IS 'Session phat sinh diem';
  380. COMMENT ON COLUMN GAME_SCORE_LEDGER.ATTEMPT_ID IS 'Level attempt phat sinh diem neu co';
  381. COMMENT ON COLUMN GAME_SCORE_LEDGER.ROOT_TRANS_ID IS 'Ma giao dich goc cua session';
  382. COMMENT ON COLUMN GAME_SCORE_LEDGER.CHILD_TRANS_ID IS 'Ma giao dich con cua level phat sinh diem';
  383. COMMENT ON COLUMN GAME_SCORE_LEDGER.SCORE_TYPE IS 'Loai diem: LEVEL, REWARD, ADJUST, CANCEL';
  384. COMMENT ON COLUMN GAME_SCORE_LEDGER.SCORE_DELTA IS 'So diem thay doi, duong la cong diem, am la tru diem';
  385. COMMENT ON COLUMN GAME_SCORE_LEDGER.BALANCE_AFTER IS 'Tong diem sau khi xu ly neu he thong co tinh balance';
  386. COMMENT ON COLUMN GAME_SCORE_LEDGER.DESCRIPTION IS 'Mo ta ly do cong/tru diem';
  387. COMMENT ON COLUMN GAME_SCORE_LEDGER.CREATED_TIME IS 'Thoi diem phat sinh diem';
  388. COMMENT ON COLUMN GAME_SCORE_LEDGER.CREATED_DATE_KEY IS 'Ngay phat sinh dang YYYYMMDD de query nhanh';
  389. COMMENT ON COLUMN GAME_SCORE_LEDGER.CREATED_MONTH_KEY IS 'Thang phat sinh dang YYYYMM de tinh ranking thang';
  390. --------------------------------------------------------
  391. -- GAME_REWARD_LIMIT_CONFIG
  392. --------------------------------------------------------
  393. CREATE TABLE GAME_REWARD_LIMIT_CONFIG
  394. (
  395. LIMIT_CONFIG_ID NUMBER(12,0) NOT NULL,
  396. LIMIT_CODE VARCHAR2(50 BYTE) NOT NULL,
  397. LIMIT_NAME NVARCHAR2(200) NOT NULL,
  398. PERIOD_TYPE VARCHAR2(20 BYTE) DEFAULT 'DAILY' NOT NULL,
  399. REWARD_TYPE VARCHAR2(30 BYTE) NOT NULL,
  400. REWARD_UNIT VARCHAR2(20 BYTE) NOT NULL,
  401. MODE_ID NUMBER(10,0),
  402. LEVEL_NO NUMBER(3,0),
  403. MAX_TOTAL_VALUE NUMBER(18,2),
  404. MAX_TOTAL_COUNT NUMBER(12,0),
  405. PRIORITY NUMBER(5,0) DEFAULT 0 NOT NULL,
  406. EFFECTIVE_FROM DATE,
  407. EFFECTIVE_TO DATE,
  408. EXCEED_ACTION VARCHAR2(30 BYTE) DEFAULT 'BLOCK' NOT NULL,
  409. FALLBACK_REWARD_TYPE VARCHAR2(30 BYTE),
  410. FALLBACK_REWARD_VALUE NUMBER(12,2),
  411. FALLBACK_REWARD_UNIT VARCHAR2(20 BYTE),
  412. STATUS NUMBER(1,0) DEFAULT 1 NOT NULL,
  413. CREATED_TIME DATE DEFAULT SYSDATE NOT NULL,
  414. UPDATED_TIME DATE,
  415. CONSTRAINT PK_GAME_REWARD_LIMIT_CONFIG PRIMARY KEY (LIMIT_CONFIG_ID),
  416. CONSTRAINT UK_GRLC_CODE UNIQUE (LIMIT_CODE),
  417. CONSTRAINT FK_GRLC_MODE FOREIGN KEY (MODE_ID) REFERENCES GAME_MODE (MODE_ID),
  418. CONSTRAINT CK_GRLC_PERIOD_TYPE CHECK (PERIOD_TYPE IN ('DAILY', 'MONTHLY')),
  419. CONSTRAINT CK_GRLC_REWARD_TYPE CHECK (REWARD_TYPE IN ('DATA', 'LOYALTY', 'SCORE', 'MONEY')),
  420. CONSTRAINT CK_GRLC_FALLBACK_TYPE CHECK (FALLBACK_REWARD_TYPE IS NULL OR FALLBACK_REWARD_TYPE IN ('DATA', 'LOYALTY', 'SCORE', 'MONEY')),
  421. CONSTRAINT CK_GRLC_LEVEL_NO CHECK (LEVEL_NO IS NULL OR LEVEL_NO BETWEEN 1 AND 50),
  422. CONSTRAINT CK_GRLC_MAX_VALUE CHECK (MAX_TOTAL_VALUE IS NULL OR MAX_TOTAL_VALUE >= 0),
  423. CONSTRAINT CK_GRLC_MAX_COUNT CHECK (MAX_TOTAL_COUNT IS NULL OR MAX_TOTAL_COUNT >= 0),
  424. CONSTRAINT CK_GRLC_LIMIT_NOT_NULL CHECK (MAX_TOTAL_VALUE IS NOT NULL OR MAX_TOTAL_COUNT IS NOT NULL),
  425. CONSTRAINT CK_GRLC_EXCEED_ACTION CHECK (EXCEED_ACTION IN ('BLOCK', 'FALLBACK', 'QUEUE')),
  426. CONSTRAINT CK_GRLC_FALLBACK_VALUE CHECK (FALLBACK_REWARD_VALUE IS NULL OR FALLBACK_REWARD_VALUE > 0),
  427. CONSTRAINT CK_GRLC_STATUS CHECK (STATUS IN (0, 1))
  428. );
  429. CREATE INDEX IDX_GRLC_LOOKUP ON GAME_REWARD_LIMIT_CONFIG (STATUS, PERIOD_TYPE, REWARD_TYPE, REWARD_UNIT, MODE_ID, LEVEL_NO);
  430. CREATE INDEX IDX_GRLC_EFFECTIVE ON GAME_REWARD_LIMIT_CONFIG (STATUS, EFFECTIVE_FROM, EFFECTIVE_TO);
  431. CREATE INDEX IDX_GRLC_PRIORITY ON GAME_REWARD_LIMIT_CONFIG (STATUS, PRIORITY);
  432. COMMENT ON TABLE GAME_REWARD_LIMIT_CONFIG IS 'Cau hinh han muc tra thuong de kiem soat chi phi theo ngay/thang';
  433. COMMENT ON COLUMN GAME_REWARD_LIMIT_CONFIG.LIMIT_CONFIG_ID IS 'Khoa chinh cau hinh han muc reward';
  434. COMMENT ON COLUMN GAME_REWARD_LIMIT_CONFIG.LIMIT_CODE IS 'Ma cau hinh han muc, dung de nhan dien duy nhat';
  435. COMMENT ON COLUMN GAME_REWARD_LIMIT_CONFIG.LIMIT_NAME IS 'Ten mo ta cau hinh han muc';
  436. COMMENT ON COLUMN GAME_REWARD_LIMIT_CONFIG.PERIOD_TYPE IS 'Ky ap dung han muc: DAILY theo ngay, MONTHLY theo thang';
  437. COMMENT ON COLUMN GAME_REWARD_LIMIT_CONFIG.REWARD_TYPE IS 'Loai reward bi gioi han: DATA, LOYALTY, SCORE, MONEY';
  438. COMMENT ON COLUMN GAME_REWARD_LIMIT_CONFIG.REWARD_UNIT IS 'Don vi reward bi gioi han: MB, POINT, MMK';
  439. COMMENT ON COLUMN GAME_REWARD_LIMIT_CONFIG.MODE_ID IS 'Mode ap dung han muc, null la ap dung tat ca mode';
  440. COMMENT ON COLUMN GAME_REWARD_LIMIT_CONFIG.LEVEL_NO IS 'Level ap dung han muc, null la ap dung tat ca level';
  441. COMMENT ON COLUMN GAME_REWARD_LIMIT_CONFIG.MAX_TOTAL_VALUE IS 'Tong gia tri reward toi da duoc tra trong ky';
  442. COMMENT ON COLUMN GAME_REWARD_LIMIT_CONFIG.MAX_TOTAL_COUNT IS 'Tong so lan reward toi da duoc tra trong ky';
  443. COMMENT ON COLUMN GAME_REWARD_LIMIT_CONFIG.PRIORITY IS 'Do uu tien khi co nhieu cau hinh match, so lon uu tien hon';
  444. COMMENT ON COLUMN GAME_REWARD_LIMIT_CONFIG.EFFECTIVE_FROM IS 'Ngay bat dau hieu luc cau hinh';
  445. COMMENT ON COLUMN GAME_REWARD_LIMIT_CONFIG.EFFECTIVE_TO IS 'Ngay ket thuc hieu luc cau hinh';
  446. COMMENT ON COLUMN GAME_REWARD_LIMIT_CONFIG.EXCEED_ACTION IS 'Hanh dong khi vuot han muc: BLOCK chan, FALLBACK doi thuong, QUEUE dua vao cho xu ly sau';
  447. COMMENT ON COLUMN GAME_REWARD_LIMIT_CONFIG.FALLBACK_REWARD_TYPE IS 'Loai reward thay the neu EXCEED_ACTION la FALLBACK';
  448. COMMENT ON COLUMN GAME_REWARD_LIMIT_CONFIG.FALLBACK_REWARD_VALUE IS 'Gia tri reward thay the neu EXCEED_ACTION la FALLBACK';
  449. COMMENT ON COLUMN GAME_REWARD_LIMIT_CONFIG.FALLBACK_REWARD_UNIT IS 'Don vi reward thay the neu EXCEED_ACTION la FALLBACK';
  450. COMMENT ON COLUMN GAME_REWARD_LIMIT_CONFIG.STATUS IS 'Trang thai cau hinh: 1 hieu luc, 0 khong hieu luc';
  451. COMMENT ON COLUMN GAME_REWARD_LIMIT_CONFIG.CREATED_TIME IS 'Thoi diem tao ban ghi';
  452. COMMENT ON COLUMN GAME_REWARD_LIMIT_CONFIG.UPDATED_TIME IS 'Thoi diem cap nhat gan nhat';
  453. --------------------------------------------------------
  454. -- GAME_REWARD_LIMIT_USAGE
  455. --------------------------------------------------------
  456. CREATE TABLE GAME_REWARD_LIMIT_USAGE
  457. (
  458. LIMIT_USAGE_ID NUMBER(18,0) NOT NULL,
  459. LIMIT_CONFIG_ID NUMBER(12,0) NOT NULL,
  460. PERIOD_TYPE VARCHAR2(20 BYTE) NOT NULL,
  461. PERIOD_KEY NUMBER(8,0) NOT NULL,
  462. REWARD_TYPE VARCHAR2(30 BYTE) NOT NULL,
  463. REWARD_UNIT VARCHAR2(20 BYTE) NOT NULL,
  464. USED_TOTAL_VALUE NUMBER(18,2) DEFAULT 0 NOT NULL,
  465. USED_TOTAL_COUNT NUMBER(12,0) DEFAULT 0 NOT NULL,
  466. LAST_REWARD_LOG_ID NUMBER(18,0),
  467. LAST_UPDATE_TIME DATE DEFAULT SYSDATE NOT NULL,
  468. CREATED_TIME DATE DEFAULT SYSDATE NOT NULL,
  469. UPDATED_TIME DATE,
  470. CONSTRAINT PK_GAME_REWARD_LIMIT_USAGE PRIMARY KEY (LIMIT_USAGE_ID),
  471. CONSTRAINT UK_GRLU_LIMIT_PERIOD UNIQUE (LIMIT_CONFIG_ID, PERIOD_KEY),
  472. CONSTRAINT FK_GRLU_CONFIG FOREIGN KEY (LIMIT_CONFIG_ID) REFERENCES GAME_REWARD_LIMIT_CONFIG (LIMIT_CONFIG_ID),
  473. CONSTRAINT CK_GRLU_PERIOD_TYPE CHECK (PERIOD_TYPE IN ('DAILY', 'MONTHLY')),
  474. CONSTRAINT CK_GRLU_PERIOD_KEY CHECK (PERIOD_KEY BETWEEN 200001 AND 29991231),
  475. CONSTRAINT CK_GRLU_REWARD_TYPE CHECK (REWARD_TYPE IN ('DATA', 'LOYALTY', 'SCORE', 'MONEY')),
  476. CONSTRAINT CK_GRLU_USED_VALUE CHECK (USED_TOTAL_VALUE >= 0),
  477. CONSTRAINT CK_GRLU_USED_COUNT CHECK (USED_TOTAL_COUNT >= 0)
  478. );
  479. CREATE INDEX IDX_GRLU_PERIOD_TYPE_KEY ON GAME_REWARD_LIMIT_USAGE (PERIOD_TYPE, PERIOD_KEY);
  480. CREATE INDEX IDX_GRLU_REWARD_TYPE ON GAME_REWARD_LIMIT_USAGE (REWARD_TYPE, REWARD_UNIT, PERIOD_KEY);
  481. COMMENT ON TABLE GAME_REWARD_LIMIT_USAGE IS 'So lieu da su dung cua han muc reward theo tung ky';
  482. COMMENT ON COLUMN GAME_REWARD_LIMIT_USAGE.LIMIT_USAGE_ID IS 'Khoa chinh usage han muc reward';
  483. COMMENT ON COLUMN GAME_REWARD_LIMIT_USAGE.LIMIT_CONFIG_ID IS 'Cau hinh han muc dang duoc theo doi';
  484. COMMENT ON COLUMN GAME_REWARD_LIMIT_USAGE.PERIOD_TYPE IS 'Ky usage: DAILY hoac MONTHLY';
  485. COMMENT ON COLUMN GAME_REWARD_LIMIT_USAGE.PERIOD_KEY IS 'Khoa ky: DAILY dung YYYYMMDD, MONTHLY dung YYYYMM';
  486. COMMENT ON COLUMN GAME_REWARD_LIMIT_USAGE.REWARD_TYPE IS 'Loai reward cua usage: DATA, LOYALTY, SCORE, MONEY';
  487. COMMENT ON COLUMN GAME_REWARD_LIMIT_USAGE.REWARD_UNIT IS 'Don vi reward cua usage';
  488. COMMENT ON COLUMN GAME_REWARD_LIMIT_USAGE.USED_TOTAL_VALUE IS 'Tong gia tri reward da tra trong ky';
  489. COMMENT ON COLUMN GAME_REWARD_LIMIT_USAGE.USED_TOTAL_COUNT IS 'Tong so lan reward da tra trong ky';
  490. COMMENT ON COLUMN GAME_REWARD_LIMIT_USAGE.LAST_REWARD_LOG_ID IS 'Reward log gan nhat lam thay doi usage';
  491. COMMENT ON COLUMN GAME_REWARD_LIMIT_USAGE.LAST_UPDATE_TIME IS 'Thoi diem cap nhat usage gan nhat';
  492. COMMENT ON COLUMN GAME_REWARD_LIMIT_USAGE.CREATED_TIME IS 'Thoi diem tao ban ghi';
  493. COMMENT ON COLUMN GAME_REWARD_LIMIT_USAGE.UPDATED_TIME IS 'Thoi diem cap nhat gan nhat';
  494. --------------------------------------------------------
  495. -- GAME_REWARD_LOG
  496. --------------------------------------------------------
  497. CREATE TABLE GAME_REWARD_LOG
  498. (
  499. REWARD_LOG_ID NUMBER(18,0) NOT NULL,
  500. MSISDN VARCHAR2(20 BYTE) NOT NULL,
  501. USER_ID NUMBER(18,0),
  502. SESSION_ID NUMBER(18,0) NOT NULL,
  503. ATTEMPT_ID NUMBER(18,0) NOT NULL,
  504. ROOT_TRANS_ID VARCHAR2(100 BYTE) NOT NULL,
  505. CHILD_TRANS_ID VARCHAR2(100 BYTE) NOT NULL,
  506. MODE_ID NUMBER(10,0) NOT NULL,
  507. LEVEL_NO NUMBER(3,0) NOT NULL,
  508. REWARD_OPTION_ID NUMBER(12,0),
  509. REWARD_TYPE VARCHAR2(30 BYTE) NOT NULL,
  510. REWARD_VALUE NUMBER(12,2) NOT NULL,
  511. REWARD_UNIT VARCHAR2(20 BYTE) NOT NULL,
  512. LIMIT_CONFIG_ID NUMBER(12,0),
  513. STATUS NUMBER(2,0) DEFAULT 0 NOT NULL,
  514. EXTERNAL_TRANS_ID VARCHAR2(100 BYTE),
  515. REQUEST_TIME DATE,
  516. RESPONSE_TIME DATE,
  517. RESPONSE_CODE VARCHAR2(50 BYTE),
  518. RESPONSE_MESSAGE VARCHAR2(500 BYTE),
  519. RETRY_COUNT NUMBER(5,0) DEFAULT 0 NOT NULL,
  520. CREATED_TIME DATE DEFAULT SYSDATE NOT NULL,
  521. UPDATED_TIME DATE,
  522. CONSTRAINT PK_GAME_REWARD_LOG PRIMARY KEY (REWARD_LOG_ID),
  523. CONSTRAINT UK_GRWL_ATTEMPT UNIQUE (ATTEMPT_ID),
  524. CONSTRAINT FK_GRWL_SESSION FOREIGN KEY (SESSION_ID) REFERENCES GAME_PLAY_SESSION (SESSION_ID),
  525. CONSTRAINT FK_GRWL_ATTEMPT FOREIGN KEY (ATTEMPT_ID) REFERENCES GAME_LEVEL_ATTEMPT (ATTEMPT_ID),
  526. CONSTRAINT FK_GRWL_MODE FOREIGN KEY (MODE_ID) REFERENCES GAME_MODE (MODE_ID),
  527. CONSTRAINT FK_GRWL_OPTION FOREIGN KEY (REWARD_OPTION_ID) REFERENCES GAME_LEVEL_REWARD_OPTION (REWARD_OPTION_ID),
  528. CONSTRAINT FK_GRWL_LIMIT_CONFIG FOREIGN KEY (LIMIT_CONFIG_ID) REFERENCES GAME_REWARD_LIMIT_CONFIG (LIMIT_CONFIG_ID),
  529. CONSTRAINT CK_GRWL_LEVEL_NO CHECK (LEVEL_NO BETWEEN 1 AND 50),
  530. CONSTRAINT CK_GRWL_REWARD_TYPE CHECK (REWARD_TYPE IN ('DATA', 'LOYALTY', 'SCORE', 'MONEY')),
  531. CONSTRAINT CK_GRWL_REWARD_VALUE CHECK (REWARD_VALUE > 0),
  532. CONSTRAINT CK_GRWL_STATUS CHECK (STATUS IN (0, 1, 2, 3, 4)),
  533. CONSTRAINT CK_GRWL_RETRY_COUNT CHECK (RETRY_COUNT >= 0)
  534. );
  535. CREATE INDEX IDX_GRWL_MSISDN_TIME ON GAME_REWARD_LOG (MSISDN, CREATED_TIME);
  536. CREATE INDEX IDX_GRWL_STATUS ON GAME_REWARD_LOG (STATUS, CREATED_TIME);
  537. CREATE INDEX IDX_GRWL_ROOT_TRANS ON GAME_REWARD_LOG (ROOT_TRANS_ID);
  538. CREATE INDEX IDX_GRWL_EXTERNAL_TRANS ON GAME_REWARD_LOG (EXTERNAL_TRANS_ID);
  539. CREATE INDEX IDX_GRWL_LIMIT_CONFIG ON GAME_REWARD_LOG (LIMIT_CONFIG_ID, CREATED_TIME);
  540. COMMENT ON TABLE GAME_REWARD_LOG IS 'Lich su reward thuc te user nhan tai level moc';
  541. COMMENT ON COLUMN GAME_REWARD_LOG.REWARD_LOG_ID IS 'Khoa chinh reward log';
  542. COMMENT ON COLUMN GAME_REWARD_LOG.MSISDN IS 'So thue bao nhan reward';
  543. COMMENT ON COLUMN GAME_REWARD_LOG.USER_ID IS 'ID user tu ACCOUNT_USER neu co';
  544. COMMENT ON COLUMN GAME_REWARD_LOG.SESSION_ID IS 'Session phat sinh reward';
  545. COMMENT ON COLUMN GAME_REWARD_LOG.ATTEMPT_ID IS 'Level attempt phat sinh reward';
  546. COMMENT ON COLUMN GAME_REWARD_LOG.ROOT_TRANS_ID IS 'Ma giao dich goc cua session';
  547. COMMENT ON COLUMN GAME_REWARD_LOG.CHILD_TRANS_ID IS 'Ma giao dich con cua level';
  548. COMMENT ON COLUMN GAME_REWARD_LOG.MODE_ID IS 'Che do choi phat sinh reward';
  549. COMMENT ON COLUMN GAME_REWARD_LOG.LEVEL_NO IS 'Level moc phat sinh reward';
  550. COMMENT ON COLUMN GAME_REWARD_LOG.REWARD_OPTION_ID IS 'Option reward da duoc chon';
  551. COMMENT ON COLUMN GAME_REWARD_LOG.REWARD_TYPE IS 'Loai reward thuc te: DATA, LOYALTY, SCORE, MONEY';
  552. COMMENT ON COLUMN GAME_REWARD_LOG.REWARD_VALUE IS 'Gia tri reward thuc te';
  553. COMMENT ON COLUMN GAME_REWARD_LOG.REWARD_UNIT IS 'Don vi reward thuc te';
  554. COMMENT ON COLUMN GAME_REWARD_LOG.LIMIT_CONFIG_ID IS 'Han muc reward da duoc ap dung khi tra thuong, null neu khong ap dung han muc';
  555. COMMENT ON COLUMN GAME_REWARD_LOG.STATUS IS 'Trang thai reward: 0 NEW, 1 PROCESSING, 2 SUCCESS, 3 FAILED, 4 CANCELLED';
  556. COMMENT ON COLUMN GAME_REWARD_LOG.EXTERNAL_TRANS_ID IS 'Ma giao dich he thong ngoai khi tra reward';
  557. COMMENT ON COLUMN GAME_REWARD_LOG.REQUEST_TIME IS 'Thoi diem bat dau goi tra reward';
  558. COMMENT ON COLUMN GAME_REWARD_LOG.RESPONSE_TIME IS 'Thoi diem nhan ket qua tra reward';
  559. COMMENT ON COLUMN GAME_REWARD_LOG.RESPONSE_CODE IS 'Ma ket qua tra reward';
  560. COMMENT ON COLUMN GAME_REWARD_LOG.RESPONSE_MESSAGE IS 'Noi dung ket qua tra reward';
  561. COMMENT ON COLUMN GAME_REWARD_LOG.RETRY_COUNT IS 'So lan retry tra reward';
  562. COMMENT ON COLUMN GAME_REWARD_LOG.CREATED_TIME IS 'Thoi diem tao ban ghi';
  563. COMMENT ON COLUMN GAME_REWARD_LOG.UPDATED_TIME IS 'Thoi diem cap nhat gan nhat';
  564. --------------------------------------------------------
  565. -- GAME_MONTHLY_RANKING
  566. --------------------------------------------------------
  567. CREATE TABLE GAME_MONTHLY_RANKING
  568. (
  569. RANKING_ID NUMBER(18,0) NOT NULL,
  570. MONTH_KEY NUMBER(6,0) NOT NULL,
  571. MSISDN VARCHAR2(20 BYTE) NOT NULL,
  572. USER_ID NUMBER(18,0),
  573. TOTAL_SCORE NUMBER(12,0) DEFAULT 0 NOT NULL,
  574. TOTAL_PLAY NUMBER(12,0) DEFAULT 0 NOT NULL,
  575. MAX_LEVEL_REACHED NUMBER(3,0) DEFAULT 0 NOT NULL,
  576. BEST_MODE_ID NUMBER(10,0),
  577. RANK_NO NUMBER(12,0),
  578. TICKET_COUNT NUMBER(10,0) DEFAULT 0 NOT NULL,
  579. IS_ELIGIBLE NUMBER(1,0) DEFAULT 0 NOT NULL,
  580. LAST_CALC_TIME DATE,
  581. CREATED_TIME DATE DEFAULT SYSDATE NOT NULL,
  582. UPDATED_TIME DATE,
  583. CONSTRAINT PK_GAME_MONTHLY_RANKING PRIMARY KEY (RANKING_ID),
  584. CONSTRAINT UK_GMR_MONTH_MSISDN UNIQUE (MONTH_KEY, MSISDN),
  585. CONSTRAINT FK_GMR_BEST_MODE FOREIGN KEY (BEST_MODE_ID) REFERENCES GAME_MODE (MODE_ID),
  586. CONSTRAINT CK_GMR_MONTH_KEY CHECK (MONTH_KEY BETWEEN 200001 AND 299912),
  587. CONSTRAINT CK_GMR_TOTALS CHECK (TOTAL_SCORE >= 0 AND TOTAL_PLAY >= 0 AND MAX_LEVEL_REACHED BETWEEN 0 AND 50 AND TICKET_COUNT >= 0),
  588. CONSTRAINT CK_GMR_IS_ELIGIBLE CHECK (IS_ELIGIBLE IN (0, 1))
  589. );
  590. CREATE INDEX IDX_GMR_MONTH_RANK ON GAME_MONTHLY_RANKING (MONTH_KEY, RANK_NO);
  591. CREATE INDEX IDX_GMR_MONTH_SCORE ON GAME_MONTHLY_RANKING (MONTH_KEY, TOTAL_SCORE);
  592. CREATE INDEX IDX_GMR_ELIGIBLE ON GAME_MONTHLY_RANKING (MONTH_KEY, IS_ELIGIBLE, TICKET_COUNT);
  593. COMMENT ON TABLE GAME_MONTHLY_RANKING IS 'Snapshot xep hang va dieu kien quay thuong theo thang';
  594. COMMENT ON COLUMN GAME_MONTHLY_RANKING.RANKING_ID IS 'Khoa chinh ranking thang';
  595. COMMENT ON COLUMN GAME_MONTHLY_RANKING.MONTH_KEY IS 'Thang ranking dang YYYYMM';
  596. COMMENT ON COLUMN GAME_MONTHLY_RANKING.MSISDN IS 'So thue bao duoc xep hang';
  597. COMMENT ON COLUMN GAME_MONTHLY_RANKING.USER_ID IS 'ID user tu ACCOUNT_USER neu co';
  598. COMMENT ON COLUMN GAME_MONTHLY_RANKING.TOTAL_SCORE IS 'Tong score trong thang';
  599. COMMENT ON COLUMN GAME_MONTHLY_RANKING.TOTAL_PLAY IS 'Tong so session choi trong thang';
  600. COMMENT ON COLUMN GAME_MONTHLY_RANKING.MAX_LEVEL_REACHED IS 'Level cao nhat dat duoc trong thang';
  601. COMMENT ON COLUMN GAME_MONTHLY_RANKING.BEST_MODE_ID IS 'Mode tot nhat cua user trong thang';
  602. COMMENT ON COLUMN GAME_MONTHLY_RANKING.RANK_NO IS 'Thu hang trong thang';
  603. COMMENT ON COLUMN GAME_MONTHLY_RANKING.TICKET_COUNT IS 'So ticket quay thuong theo tong score';
  604. COMMENT ON COLUMN GAME_MONTHLY_RANKING.IS_ELIGIBLE IS 'Du dieu kien quay thuong thang hay khong';
  605. COMMENT ON COLUMN GAME_MONTHLY_RANKING.LAST_CALC_TIME IS 'Thoi diem tinh ranking gan nhat';
  606. COMMENT ON COLUMN GAME_MONTHLY_RANKING.CREATED_TIME IS 'Thoi diem tao ban ghi';
  607. COMMENT ON COLUMN GAME_MONTHLY_RANKING.UPDATED_TIME IS 'Thoi diem cap nhat gan nhat';
  608. --------------------------------------------------------
  609. -- GAME_MONTHLY_TICKET_RULE
  610. --------------------------------------------------------
  611. CREATE TABLE GAME_MONTHLY_TICKET_RULE
  612. (
  613. TICKET_RULE_ID NUMBER(10,0) NOT NULL,
  614. MIN_SCORE NUMBER(12,0) NOT NULL,
  615. MAX_SCORE NUMBER(12,0),
  616. TICKET_COUNT NUMBER(10,0) NOT NULL,
  617. STATUS NUMBER(1,0) DEFAULT 1 NOT NULL,
  618. CREATED_TIME DATE DEFAULT SYSDATE NOT NULL,
  619. UPDATED_TIME DATE,
  620. CONSTRAINT PK_GAME_MONTHLY_TICKET_RULE PRIMARY KEY (TICKET_RULE_ID),
  621. CONSTRAINT CK_GMTR_SCORE CHECK (MIN_SCORE >= 0 AND (MAX_SCORE IS NULL OR MAX_SCORE >= MIN_SCORE)),
  622. CONSTRAINT CK_GMTR_TICKET CHECK (TICKET_COUNT >= 0),
  623. CONSTRAINT CK_GMTR_STATUS CHECK (STATUS IN (0, 1))
  624. );
  625. CREATE INDEX IDX_GMTR_SCORE_RANGE ON GAME_MONTHLY_TICKET_RULE (MIN_SCORE, MAX_SCORE, STATUS);
  626. COMMENT ON TABLE GAME_MONTHLY_TICKET_RULE IS 'Cau hinh so ticket theo tong score thang';
  627. COMMENT ON COLUMN GAME_MONTHLY_TICKET_RULE.TICKET_RULE_ID IS 'Khoa chinh rule ticket';
  628. COMMENT ON COLUMN GAME_MONTHLY_TICKET_RULE.MIN_SCORE IS 'Diem toi thieu de ap dung rule';
  629. COMMENT ON COLUMN GAME_MONTHLY_TICKET_RULE.MAX_SCORE IS 'Diem toi da de ap dung rule, null la khong gioi han tren';
  630. COMMENT ON COLUMN GAME_MONTHLY_TICKET_RULE.TICKET_COUNT IS 'So ticket duoc cap';
  631. COMMENT ON COLUMN GAME_MONTHLY_TICKET_RULE.STATUS IS 'Trang thai rule: 1 hieu luc, 0 khong hieu luc';
  632. COMMENT ON COLUMN GAME_MONTHLY_TICKET_RULE.CREATED_TIME IS 'Thoi diem tao ban ghi';
  633. COMMENT ON COLUMN GAME_MONTHLY_TICKET_RULE.UPDATED_TIME IS 'Thoi diem cap nhat gan nhat';
  634. --------------------------------------------------------
  635. -- GAME_MONTHLY_PRIZE_CONFIG
  636. --------------------------------------------------------
  637. CREATE TABLE GAME_MONTHLY_PRIZE_CONFIG
  638. (
  639. PRIZE_CONFIG_ID NUMBER(10,0) NOT NULL,
  640. PRIZE_CODE VARCHAR2(30 BYTE) NOT NULL,
  641. PRIZE_NAME NVARCHAR2(200) NOT NULL,
  642. PRIZE_VALUE NUMBER(18,2) NOT NULL,
  643. PRIZE_UNIT VARCHAR2(20 BYTE) DEFAULT 'MMK' NOT NULL,
  644. QUANTITY NUMBER(10,0) NOT NULL,
  645. DISPLAY_ORDER NUMBER(5,0) DEFAULT 0 NOT NULL,
  646. STATUS NUMBER(1,0) DEFAULT 1 NOT NULL,
  647. CREATED_TIME DATE DEFAULT SYSDATE NOT NULL,
  648. UPDATED_TIME DATE,
  649. CONSTRAINT PK_GAME_MONTHLY_PRIZE_CONFIG PRIMARY KEY (PRIZE_CONFIG_ID),
  650. CONSTRAINT UK_GMPC_PRIZE_CODE UNIQUE (PRIZE_CODE),
  651. CONSTRAINT CK_GMPC_VALUE CHECK (PRIZE_VALUE >= 0),
  652. CONSTRAINT CK_GMPC_QUANTITY CHECK (QUANTITY > 0),
  653. CONSTRAINT CK_GMPC_STATUS CHECK (STATUS IN (0, 1))
  654. );
  655. CREATE INDEX IDX_GMPC_STATUS_ORDER ON GAME_MONTHLY_PRIZE_CONFIG (STATUS, DISPLAY_ORDER);
  656. COMMENT ON TABLE GAME_MONTHLY_PRIZE_CONFIG IS 'Cau hinh giai thuong quay thang';
  657. COMMENT ON COLUMN GAME_MONTHLY_PRIZE_CONFIG.PRIZE_CONFIG_ID IS 'Khoa chinh cau hinh giai';
  658. COMMENT ON COLUMN GAME_MONTHLY_PRIZE_CONFIG.PRIZE_CODE IS 'Ma giai: FIRST, SECOND, THIRD';
  659. COMMENT ON COLUMN GAME_MONTHLY_PRIZE_CONFIG.PRIZE_NAME IS 'Ten giai hien thi';
  660. COMMENT ON COLUMN GAME_MONTHLY_PRIZE_CONFIG.PRIZE_VALUE IS 'Gia tri giai thuong';
  661. COMMENT ON COLUMN GAME_MONTHLY_PRIZE_CONFIG.PRIZE_UNIT IS 'Don vi giai thuong, vi du MMK';
  662. COMMENT ON COLUMN GAME_MONTHLY_PRIZE_CONFIG.QUANTITY IS 'So luong nguoi trung giai nay moi thang';
  663. COMMENT ON COLUMN GAME_MONTHLY_PRIZE_CONFIG.DISPLAY_ORDER IS 'Thu tu xu ly/hien thi giai';
  664. COMMENT ON COLUMN GAME_MONTHLY_PRIZE_CONFIG.STATUS IS 'Trang thai cau hinh: 1 hieu luc, 0 khong hieu luc';
  665. COMMENT ON COLUMN GAME_MONTHLY_PRIZE_CONFIG.CREATED_TIME IS 'Thoi diem tao ban ghi';
  666. COMMENT ON COLUMN GAME_MONTHLY_PRIZE_CONFIG.UPDATED_TIME IS 'Thoi diem cap nhat gan nhat';
  667. --------------------------------------------------------
  668. -- GAME_MONTHLY_DRAW
  669. --------------------------------------------------------
  670. CREATE TABLE GAME_MONTHLY_DRAW
  671. (
  672. DRAW_ID NUMBER(18,0) NOT NULL,
  673. MONTH_KEY NUMBER(6,0) NOT NULL,
  674. DRAW_TIME DATE,
  675. STATUS NUMBER(2,0) DEFAULT 0 NOT NULL,
  676. TOTAL_ELIGIBLE NUMBER(12,0) DEFAULT 0 NOT NULL,
  677. TOTAL_TICKET NUMBER(12,0) DEFAULT 0 NOT NULL,
  678. CREATED_TIME DATE DEFAULT SYSDATE NOT NULL,
  679. UPDATED_TIME DATE,
  680. CONSTRAINT PK_GAME_MONTHLY_DRAW PRIMARY KEY (DRAW_ID),
  681. CONSTRAINT UK_GMD_MONTH UNIQUE (MONTH_KEY),
  682. CONSTRAINT CK_GMD_MONTH_KEY CHECK (MONTH_KEY BETWEEN 200001 AND 299912),
  683. CONSTRAINT CK_GMD_STATUS CHECK (STATUS IN (0, 1, 2, 3, 4)),
  684. CONSTRAINT CK_GMD_TOTAL CHECK (TOTAL_ELIGIBLE >= 0 AND TOTAL_TICKET >= 0)
  685. );
  686. CREATE INDEX IDX_GMD_STATUS ON GAME_MONTHLY_DRAW (STATUS, MONTH_KEY);
  687. COMMENT ON TABLE GAME_MONTHLY_DRAW IS 'Dot quay thuong thang';
  688. COMMENT ON COLUMN GAME_MONTHLY_DRAW.DRAW_ID IS 'Khoa chinh dot quay';
  689. COMMENT ON COLUMN GAME_MONTHLY_DRAW.MONTH_KEY IS 'Thang duoc quay thuong dang YYYYMM';
  690. COMMENT ON COLUMN GAME_MONTHLY_DRAW.DRAW_TIME IS 'Thoi diem thuc hien quay';
  691. COMMENT ON COLUMN GAME_MONTHLY_DRAW.STATUS IS 'Trang thai draw: 0 NEW, 1 LOCKED, 2 DRAWING, 3 COMPLETED, 4 CANCELLED';
  692. COMMENT ON COLUMN GAME_MONTHLY_DRAW.TOTAL_ELIGIBLE IS 'Tong so user du dieu kien quay';
  693. COMMENT ON COLUMN GAME_MONTHLY_DRAW.TOTAL_TICKET IS 'Tong so ticket trong dot quay';
  694. COMMENT ON COLUMN GAME_MONTHLY_DRAW.CREATED_TIME IS 'Thoi diem tao ban ghi';
  695. COMMENT ON COLUMN GAME_MONTHLY_DRAW.UPDATED_TIME IS 'Thoi diem cap nhat gan nhat';
  696. --------------------------------------------------------
  697. -- GAME_MONTHLY_DRAW_TICKET
  698. --------------------------------------------------------
  699. CREATE TABLE GAME_MONTHLY_DRAW_TICKET
  700. (
  701. TICKET_ID NUMBER(18,0) NOT NULL,
  702. DRAW_ID NUMBER(18,0) NOT NULL,
  703. MONTH_KEY NUMBER(6,0) NOT NULL,
  704. MSISDN VARCHAR2(20 BYTE) NOT NULL,
  705. TICKET_NO NUMBER(12,0) NOT NULL,
  706. TOTAL_SCORE NUMBER(12,0) NOT NULL,
  707. CREATED_TIME DATE DEFAULT SYSDATE NOT NULL,
  708. CONSTRAINT PK_GAME_MONTHLY_DRAW_TICKET PRIMARY KEY (TICKET_ID),
  709. CONSTRAINT UK_GMDT_TICKET UNIQUE (DRAW_ID, TICKET_NO),
  710. CONSTRAINT FK_GMDT_DRAW FOREIGN KEY (DRAW_ID) REFERENCES GAME_MONTHLY_DRAW (DRAW_ID),
  711. CONSTRAINT CK_GMDT_MONTH_KEY CHECK (MONTH_KEY BETWEEN 200001 AND 299912),
  712. CONSTRAINT CK_GMDT_TICKET_NO CHECK (TICKET_NO > 0),
  713. CONSTRAINT CK_GMDT_TOTAL_SCORE CHECK (TOTAL_SCORE >= 0)
  714. );
  715. CREATE INDEX IDX_GMDT_MONTH_MSISDN ON GAME_MONTHLY_DRAW_TICKET (MONTH_KEY, MSISDN);
  716. CREATE INDEX IDX_GMDT_DRAW_MSISDN ON GAME_MONTHLY_DRAW_TICKET (DRAW_ID, MSISDN);
  717. COMMENT ON TABLE GAME_MONTHLY_DRAW_TICKET IS 'Ticket quay thuong thang cua user';
  718. COMMENT ON COLUMN GAME_MONTHLY_DRAW_TICKET.TICKET_ID IS 'Khoa chinh ticket';
  719. COMMENT ON COLUMN GAME_MONTHLY_DRAW_TICKET.DRAW_ID IS 'Dot quay thuong chua ticket';
  720. COMMENT ON COLUMN GAME_MONTHLY_DRAW_TICKET.MONTH_KEY IS 'Thang cua ticket dang YYYYMM';
  721. COMMENT ON COLUMN GAME_MONTHLY_DRAW_TICKET.MSISDN IS 'So thue bao so huu ticket';
  722. COMMENT ON COLUMN GAME_MONTHLY_DRAW_TICKET.TICKET_NO IS 'So thu tu ticket trong dot quay';
  723. COMMENT ON COLUMN GAME_MONTHLY_DRAW_TICKET.TOTAL_SCORE IS 'Tong score thang tai thoi diem sinh ticket';
  724. COMMENT ON COLUMN GAME_MONTHLY_DRAW_TICKET.CREATED_TIME IS 'Thoi diem tao ticket';
  725. --------------------------------------------------------
  726. -- GAME_MONTHLY_WINNER
  727. --------------------------------------------------------
  728. CREATE TABLE GAME_MONTHLY_WINNER
  729. (
  730. WINNER_ID NUMBER(18,0) NOT NULL,
  731. DRAW_ID NUMBER(18,0) NOT NULL,
  732. MONTH_KEY NUMBER(6,0) NOT NULL,
  733. MSISDN VARCHAR2(20 BYTE) NOT NULL,
  734. TICKET_ID NUMBER(18,0),
  735. PRIZE_CODE VARCHAR2(30 BYTE) NOT NULL,
  736. PRIZE_NAME NVARCHAR2(200) NOT NULL,
  737. PRIZE_VALUE NUMBER(18,2) NOT NULL,
  738. PRIZE_UNIT VARCHAR2(20 BYTE) DEFAULT 'MMK' NOT NULL,
  739. STATUS NUMBER(2,0) DEFAULT 0 NOT NULL,
  740. ANNOUNCE_TIME DATE,
  741. PAID_TIME DATE,
  742. RESPONSE_CODE VARCHAR2(50 BYTE),
  743. RESPONSE_MESSAGE VARCHAR2(500 BYTE),
  744. CREATED_TIME DATE DEFAULT SYSDATE NOT NULL,
  745. UPDATED_TIME DATE,
  746. CONSTRAINT PK_GAME_MONTHLY_WINNER PRIMARY KEY (WINNER_ID),
  747. CONSTRAINT UK_GMW_DRAW_PRIZE_MSISDN UNIQUE (DRAW_ID, PRIZE_CODE, MSISDN),
  748. CONSTRAINT FK_GMW_DRAW FOREIGN KEY (DRAW_ID) REFERENCES GAME_MONTHLY_DRAW (DRAW_ID),
  749. CONSTRAINT FK_GMW_TICKET FOREIGN KEY (TICKET_ID) REFERENCES GAME_MONTHLY_DRAW_TICKET (TICKET_ID),
  750. CONSTRAINT CK_GMW_MONTH_KEY CHECK (MONTH_KEY BETWEEN 200001 AND 299912),
  751. CONSTRAINT CK_GMW_PRIZE_VALUE CHECK (PRIZE_VALUE >= 0),
  752. CONSTRAINT CK_GMW_STATUS CHECK (STATUS IN (0, 1, 2, 3, 4))
  753. );
  754. CREATE INDEX IDX_GMW_MSISDN_MONTH ON GAME_MONTHLY_WINNER (MSISDN, MONTH_KEY);
  755. CREATE INDEX IDX_GMW_DRAW_STATUS ON GAME_MONTHLY_WINNER (DRAW_ID, STATUS);
  756. CREATE INDEX IDX_GMW_PRIZE_CODE ON GAME_MONTHLY_WINNER (PRIZE_CODE);
  757. COMMENT ON TABLE GAME_MONTHLY_WINNER IS 'Danh sach user trung thuong thang';
  758. COMMENT ON COLUMN GAME_MONTHLY_WINNER.WINNER_ID IS 'Khoa chinh winner';
  759. COMMENT ON COLUMN GAME_MONTHLY_WINNER.DRAW_ID IS 'Dot quay sinh winner';
  760. COMMENT ON COLUMN GAME_MONTHLY_WINNER.MONTH_KEY IS 'Thang trung thuong dang YYYYMM';
  761. COMMENT ON COLUMN GAME_MONTHLY_WINNER.MSISDN IS 'So thue bao trung thuong';
  762. COMMENT ON COLUMN GAME_MONTHLY_WINNER.TICKET_ID IS 'Ticket trung thuong';
  763. COMMENT ON COLUMN GAME_MONTHLY_WINNER.PRIZE_CODE IS 'Ma giai trung thuong';
  764. COMMENT ON COLUMN GAME_MONTHLY_WINNER.PRIZE_NAME IS 'Ten giai trung thuong';
  765. COMMENT ON COLUMN GAME_MONTHLY_WINNER.PRIZE_VALUE IS 'Gia tri giai trung thuong';
  766. COMMENT ON COLUMN GAME_MONTHLY_WINNER.PRIZE_UNIT IS 'Don vi giai trung thuong';
  767. COMMENT ON COLUMN GAME_MONTHLY_WINNER.STATUS IS 'Trang thai winner: 0 NEW, 1 ANNOUNCED, 2 PAID, 3 FAILED, 4 CANCELLED';
  768. COMMENT ON COLUMN GAME_MONTHLY_WINNER.ANNOUNCE_TIME IS 'Thoi diem cong bo winner';
  769. COMMENT ON COLUMN GAME_MONTHLY_WINNER.PAID_TIME IS 'Thoi diem tra giai';
  770. COMMENT ON COLUMN GAME_MONTHLY_WINNER.RESPONSE_CODE IS 'Ma ket qua tra giai';
  771. COMMENT ON COLUMN GAME_MONTHLY_WINNER.RESPONSE_MESSAGE IS 'Mo ta ket qua tra giai';
  772. COMMENT ON COLUMN GAME_MONTHLY_WINNER.CREATED_TIME IS 'Thoi diem tao ban ghi';
  773. COMMENT ON COLUMN GAME_MONTHLY_WINNER.UPDATED_TIME IS 'Thoi diem cap nhat gan nhat';
  774. --------------------------------------------------------
  775. -- SEED DATA CO BAN
  776. --------------------------------------------------------
  777. INSERT INTO GAME_MODE (MODE_ID, MODE_CODE, MODE_NAME, TIME_LIMIT_SECONDS, DISPLAY_ORDER, STATUS)
  778. VALUES (SEQ_GAME_MODE.NEXTVAL, 'EASY', N'Easy', 150, 1, 1);
  779. INSERT INTO GAME_MODE (MODE_ID, MODE_CODE, MODE_NAME, TIME_LIMIT_SECONDS, DISPLAY_ORDER, STATUS)
  780. VALUES (SEQ_GAME_MODE.NEXTVAL, 'NORMAL', N'Normal', 100, 2, 1);
  781. INSERT INTO GAME_MODE (MODE_ID, MODE_CODE, MODE_NAME, TIME_LIMIT_SECONDS, DISPLAY_ORDER, STATUS)
  782. VALUES (SEQ_GAME_MODE.NEXTVAL, 'HARD', N'Hard', 60, 3, 1);
  783. --------------------------------------------------------
  784. -- SEED LEVEL CONFIG VA REWARD OPTION THEO KICH BAN
  785. --------------------------------------------------------
  786. -- EASY level config: 50 level, milestone tai 5/10/15/.../50.
  787. INSERT INTO GAME_LEVEL_CONFIG
  788. (
  789. LEVEL_CONFIG_ID, MODE_ID, LEVEL_NO, BASE_SCORE, TIME_LIMIT_SECONDS,
  790. IS_MILESTONE, STATUS, CREATED_TIME, UPDATED_TIME
  791. )
  792. SELECT
  793. SEQ_GAME_LEVEL_CONFIG.NEXTVAL, m.MODE_ID, cfg.LEVEL_NO, cfg.BASE_SCORE, 150,
  794. cfg.IS_MILESTONE, 1, SYSDATE, NULL
  795. FROM GAME_MODE m
  796. JOIN
  797. (
  798. SELECT 1 LEVEL_NO, 10 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  799. UNION ALL
  800. SELECT 2 LEVEL_NO, 10 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  801. UNION ALL
  802. SELECT 3 LEVEL_NO, 10 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  803. UNION ALL
  804. SELECT 4 LEVEL_NO, 10 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  805. UNION ALL
  806. SELECT 5 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  807. UNION ALL
  808. SELECT 6 LEVEL_NO, 15 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  809. UNION ALL
  810. SELECT 7 LEVEL_NO, 15 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  811. UNION ALL
  812. SELECT 8 LEVEL_NO, 15 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  813. UNION ALL
  814. SELECT 9 LEVEL_NO, 15 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  815. UNION ALL
  816. SELECT 10 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  817. UNION ALL
  818. SELECT 11 LEVEL_NO, 20 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  819. UNION ALL
  820. SELECT 12 LEVEL_NO, 20 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  821. UNION ALL
  822. SELECT 13 LEVEL_NO, 20 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  823. UNION ALL
  824. SELECT 14 LEVEL_NO, 20 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  825. UNION ALL
  826. SELECT 15 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  827. UNION ALL
  828. SELECT 16 LEVEL_NO, 25 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  829. UNION ALL
  830. SELECT 17 LEVEL_NO, 25 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  831. UNION ALL
  832. SELECT 18 LEVEL_NO, 25 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  833. UNION ALL
  834. SELECT 19 LEVEL_NO, 25 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  835. UNION ALL
  836. SELECT 20 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  837. UNION ALL
  838. SELECT 21 LEVEL_NO, 35 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  839. UNION ALL
  840. SELECT 22 LEVEL_NO, 35 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  841. UNION ALL
  842. SELECT 23 LEVEL_NO, 35 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  843. UNION ALL
  844. SELECT 24 LEVEL_NO, 35 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  845. UNION ALL
  846. SELECT 25 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  847. UNION ALL
  848. SELECT 26 LEVEL_NO, 45 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  849. UNION ALL
  850. SELECT 27 LEVEL_NO, 45 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  851. UNION ALL
  852. SELECT 28 LEVEL_NO, 45 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  853. UNION ALL
  854. SELECT 29 LEVEL_NO, 45 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  855. UNION ALL
  856. SELECT 30 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  857. UNION ALL
  858. SELECT 31 LEVEL_NO, 55 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  859. UNION ALL
  860. SELECT 32 LEVEL_NO, 55 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  861. UNION ALL
  862. SELECT 33 LEVEL_NO, 55 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  863. UNION ALL
  864. SELECT 34 LEVEL_NO, 55 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  865. UNION ALL
  866. SELECT 35 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  867. UNION ALL
  868. SELECT 36 LEVEL_NO, 65 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  869. UNION ALL
  870. SELECT 37 LEVEL_NO, 65 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  871. UNION ALL
  872. SELECT 38 LEVEL_NO, 65 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  873. UNION ALL
  874. SELECT 39 LEVEL_NO, 65 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  875. UNION ALL
  876. SELECT 40 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  877. UNION ALL
  878. SELECT 41 LEVEL_NO, 80 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  879. UNION ALL
  880. SELECT 42 LEVEL_NO, 80 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  881. UNION ALL
  882. SELECT 43 LEVEL_NO, 80 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  883. UNION ALL
  884. SELECT 44 LEVEL_NO, 80 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  885. UNION ALL
  886. SELECT 45 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  887. UNION ALL
  888. SELECT 46 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  889. UNION ALL
  890. SELECT 47 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  891. UNION ALL
  892. SELECT 48 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  893. UNION ALL
  894. SELECT 49 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  895. UNION ALL
  896. SELECT 50 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  897. ) cfg ON 1 = 1
  898. WHERE m.MODE_CODE = 'EASY';
  899. -- EASY reward options theo cac level moc trong kich ban.
  900. INSERT INTO GAME_LEVEL_REWARD_OPTION
  901. (
  902. REWARD_OPTION_ID, MODE_ID, LEVEL_NO, REWARD_TYPE, REWARD_VALUE,
  903. REWARD_UNIT, WEIGHT, IS_DEFAULT, REWARD_DESC, STATUS, CREATED_TIME, UPDATED_TIME
  904. )
  905. SELECT
  906. SEQ_GAME_LEVEL_REWARD_OPTION.NEXTVAL, m.MODE_ID, cfg.LEVEL_NO, cfg.REWARD_TYPE, cfg.REWARD_VALUE,
  907. cfg.REWARD_UNIT, 1, 0, cfg.REWARD_DESC, 1, SYSDATE, NULL
  908. FROM GAME_MODE m
  909. JOIN
  910. (
  911. SELECT 5 LEVEL_NO, 'DATA' REWARD_TYPE, 5 REWARD_VALUE, 'MB' REWARD_UNIT, N'Easy level 5 reward data 5MB' REWARD_DESC FROM DUAL
  912. UNION ALL
  913. SELECT 5 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 3 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Easy level 5 reward loyalty 3 point' REWARD_DESC FROM DUAL
  914. UNION ALL
  915. SELECT 5 LEVEL_NO, 'SCORE' REWARD_TYPE, 20 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Easy level 5 reward score 20 point' REWARD_DESC FROM DUAL
  916. UNION ALL
  917. SELECT 10 LEVEL_NO, 'DATA' REWARD_TYPE, 10 REWARD_VALUE, 'MB' REWARD_UNIT, N'Easy level 10 reward data 10MB' REWARD_DESC FROM DUAL
  918. UNION ALL
  919. SELECT 10 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 5 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Easy level 10 reward loyalty 5 point' REWARD_DESC FROM DUAL
  920. UNION ALL
  921. SELECT 10 LEVEL_NO, 'SCORE' REWARD_TYPE, 40 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Easy level 10 reward score 40 point' REWARD_DESC FROM DUAL
  922. UNION ALL
  923. SELECT 15 LEVEL_NO, 'DATA' REWARD_TYPE, 20 REWARD_VALUE, 'MB' REWARD_UNIT, N'Easy level 15 reward data 20MB' REWARD_DESC FROM DUAL
  924. UNION ALL
  925. SELECT 15 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 10 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Easy level 15 reward loyalty 10 point' REWARD_DESC FROM DUAL
  926. UNION ALL
  927. SELECT 15 LEVEL_NO, 'SCORE' REWARD_TYPE, 70 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Easy level 15 reward score 70 point' REWARD_DESC FROM DUAL
  928. UNION ALL
  929. SELECT 20 LEVEL_NO, 'DATA' REWARD_TYPE, 40 REWARD_VALUE, 'MB' REWARD_UNIT, N'Easy level 20 reward data 40MB' REWARD_DESC FROM DUAL
  930. UNION ALL
  931. SELECT 20 LEVEL_NO, 'SCORE' REWARD_TYPE, 100 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Easy level 20 reward score 100 point' REWARD_DESC FROM DUAL
  932. UNION ALL
  933. SELECT 25 LEVEL_NO, 'DATA' REWARD_TYPE, 70 REWARD_VALUE, 'MB' REWARD_UNIT, N'Easy level 25 reward data 70MB' REWARD_DESC FROM DUAL
  934. UNION ALL
  935. SELECT 25 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 20 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Easy level 25 reward loyalty 20 point' REWARD_DESC FROM DUAL
  936. UNION ALL
  937. SELECT 25 LEVEL_NO, 'SCORE' REWARD_TYPE, 140 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Easy level 25 reward score 140 point' REWARD_DESC FROM DUAL
  938. UNION ALL
  939. SELECT 30 LEVEL_NO, 'DATA' REWARD_TYPE, 100 REWARD_VALUE, 'MB' REWARD_UNIT, N'Easy level 30 reward data 100MB' REWARD_DESC FROM DUAL
  940. UNION ALL
  941. SELECT 30 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 30 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Easy level 30 reward loyalty 30 point' REWARD_DESC FROM DUAL
  942. UNION ALL
  943. SELECT 30 LEVEL_NO, 'SCORE' REWARD_TYPE, 180 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Easy level 30 reward score 180 point' REWARD_DESC FROM DUAL
  944. UNION ALL
  945. SELECT 35 LEVEL_NO, 'DATA' REWARD_TYPE, 120 REWARD_VALUE, 'MB' REWARD_UNIT, N'Easy level 35 reward data 120MB' REWARD_DESC FROM DUAL
  946. UNION ALL
  947. SELECT 35 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 40 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Easy level 35 reward loyalty 40 point' REWARD_DESC FROM DUAL
  948. UNION ALL
  949. SELECT 35 LEVEL_NO, 'SCORE' REWARD_TYPE, 230 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Easy level 35 reward score 230 point' REWARD_DESC FROM DUAL
  950. UNION ALL
  951. SELECT 40 LEVEL_NO, 'DATA' REWARD_TYPE, 150 REWARD_VALUE, 'MB' REWARD_UNIT, N'Easy level 40 reward data 150MB' REWARD_DESC FROM DUAL
  952. UNION ALL
  953. SELECT 40 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 50 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Easy level 40 reward loyalty 50 point' REWARD_DESC FROM DUAL
  954. UNION ALL
  955. SELECT 40 LEVEL_NO, 'SCORE' REWARD_TYPE, 300 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Easy level 40 reward score 300 point' REWARD_DESC FROM DUAL
  956. UNION ALL
  957. SELECT 45 LEVEL_NO, 'DATA' REWARD_TYPE, 180 REWARD_VALUE, 'MB' REWARD_UNIT, N'Easy level 45 reward data 180MB' REWARD_DESC FROM DUAL
  958. UNION ALL
  959. SELECT 45 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 60 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Easy level 45 reward loyalty 60 point' REWARD_DESC FROM DUAL
  960. UNION ALL
  961. SELECT 45 LEVEL_NO, 'SCORE' REWARD_TYPE, 380 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Easy level 45 reward score 380 point' REWARD_DESC FROM DUAL
  962. UNION ALL
  963. SELECT 50 LEVEL_NO, 'DATA' REWARD_TYPE, 250 REWARD_VALUE, 'MB' REWARD_UNIT, N'Easy level 50 reward data 250MB' REWARD_DESC FROM DUAL
  964. UNION ALL
  965. SELECT 50 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 80 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Easy level 50 reward loyalty 80 point' REWARD_DESC FROM DUAL
  966. UNION ALL
  967. SELECT 50 LEVEL_NO, 'SCORE' REWARD_TYPE, 500 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Easy level 50 reward score 500 point' REWARD_DESC FROM DUAL
  968. ) cfg ON 1 = 1
  969. WHERE m.MODE_CODE = 'EASY';
  970. -- NORMAL level config: 50 level, milestone tai 5/10/15/.../50.
  971. INSERT INTO GAME_LEVEL_CONFIG
  972. (
  973. LEVEL_CONFIG_ID, MODE_ID, LEVEL_NO, BASE_SCORE, TIME_LIMIT_SECONDS,
  974. IS_MILESTONE, STATUS, CREATED_TIME, UPDATED_TIME
  975. )
  976. SELECT
  977. SEQ_GAME_LEVEL_CONFIG.NEXTVAL, m.MODE_ID, cfg.LEVEL_NO, cfg.BASE_SCORE, 100,
  978. cfg.IS_MILESTONE, 1, SYSDATE, NULL
  979. FROM GAME_MODE m
  980. JOIN
  981. (
  982. SELECT 1 LEVEL_NO, 20 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  983. UNION ALL
  984. SELECT 2 LEVEL_NO, 20 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  985. UNION ALL
  986. SELECT 3 LEVEL_NO, 20 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  987. UNION ALL
  988. SELECT 4 LEVEL_NO, 20 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  989. UNION ALL
  990. SELECT 5 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  991. UNION ALL
  992. SELECT 6 LEVEL_NO, 25 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  993. UNION ALL
  994. SELECT 7 LEVEL_NO, 25 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  995. UNION ALL
  996. SELECT 8 LEVEL_NO, 25 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  997. UNION ALL
  998. SELECT 9 LEVEL_NO, 25 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  999. UNION ALL
  1000. SELECT 10 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1001. UNION ALL
  1002. SELECT 11 LEVEL_NO, 30 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1003. UNION ALL
  1004. SELECT 12 LEVEL_NO, 30 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1005. UNION ALL
  1006. SELECT 13 LEVEL_NO, 30 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1007. UNION ALL
  1008. SELECT 14 LEVEL_NO, 30 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1009. UNION ALL
  1010. SELECT 15 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1011. UNION ALL
  1012. SELECT 16 LEVEL_NO, 35 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1013. UNION ALL
  1014. SELECT 17 LEVEL_NO, 35 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1015. UNION ALL
  1016. SELECT 18 LEVEL_NO, 35 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1017. UNION ALL
  1018. SELECT 19 LEVEL_NO, 35 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1019. UNION ALL
  1020. SELECT 20 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1021. UNION ALL
  1022. SELECT 21 LEVEL_NO, 40 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1023. UNION ALL
  1024. SELECT 22 LEVEL_NO, 40 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1025. UNION ALL
  1026. SELECT 23 LEVEL_NO, 40 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1027. UNION ALL
  1028. SELECT 24 LEVEL_NO, 40 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1029. UNION ALL
  1030. SELECT 25 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1031. UNION ALL
  1032. SELECT 26 LEVEL_NO, 50 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1033. UNION ALL
  1034. SELECT 27 LEVEL_NO, 50 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1035. UNION ALL
  1036. SELECT 28 LEVEL_NO, 50 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1037. UNION ALL
  1038. SELECT 29 LEVEL_NO, 50 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1039. UNION ALL
  1040. SELECT 30 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1041. UNION ALL
  1042. SELECT 31 LEVEL_NO, 60 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1043. UNION ALL
  1044. SELECT 32 LEVEL_NO, 60 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1045. UNION ALL
  1046. SELECT 33 LEVEL_NO, 60 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1047. UNION ALL
  1048. SELECT 34 LEVEL_NO, 60 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1049. UNION ALL
  1050. SELECT 35 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1051. UNION ALL
  1052. SELECT 36 LEVEL_NO, 70 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1053. UNION ALL
  1054. SELECT 37 LEVEL_NO, 70 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1055. UNION ALL
  1056. SELECT 38 LEVEL_NO, 70 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1057. UNION ALL
  1058. SELECT 39 LEVEL_NO, 70 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1059. UNION ALL
  1060. SELECT 40 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1061. UNION ALL
  1062. SELECT 41 LEVEL_NO, 80 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1063. UNION ALL
  1064. SELECT 42 LEVEL_NO, 80 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1065. UNION ALL
  1066. SELECT 43 LEVEL_NO, 80 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1067. UNION ALL
  1068. SELECT 44 LEVEL_NO, 80 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1069. UNION ALL
  1070. SELECT 45 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1071. UNION ALL
  1072. SELECT 46 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1073. UNION ALL
  1074. SELECT 47 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1075. UNION ALL
  1076. SELECT 48 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1077. UNION ALL
  1078. SELECT 49 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1079. UNION ALL
  1080. SELECT 50 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1081. ) cfg ON 1 = 1
  1082. WHERE m.MODE_CODE = 'NORMAL';
  1083. -- NORMAL reward options theo cac level moc trong kich ban.
  1084. INSERT INTO GAME_LEVEL_REWARD_OPTION
  1085. (
  1086. REWARD_OPTION_ID, MODE_ID, LEVEL_NO, REWARD_TYPE, REWARD_VALUE,
  1087. REWARD_UNIT, WEIGHT, IS_DEFAULT, REWARD_DESC, STATUS, CREATED_TIME, UPDATED_TIME
  1088. )
  1089. SELECT
  1090. SEQ_GAME_LEVEL_REWARD_OPTION.NEXTVAL, m.MODE_ID, cfg.LEVEL_NO, cfg.REWARD_TYPE, cfg.REWARD_VALUE,
  1091. cfg.REWARD_UNIT, 1, 0, cfg.REWARD_DESC, 1, SYSDATE, NULL
  1092. FROM GAME_MODE m
  1093. JOIN
  1094. (
  1095. SELECT 5 LEVEL_NO, 'DATA' REWARD_TYPE, 20 REWARD_VALUE, 'MB' REWARD_UNIT, N'Normal level 5 reward data 20MB' REWARD_DESC FROM DUAL
  1096. UNION ALL
  1097. SELECT 5 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 6 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Normal level 5 reward loyalty 6 point' REWARD_DESC FROM DUAL
  1098. UNION ALL
  1099. SELECT 5 LEVEL_NO, 'SCORE' REWARD_TYPE, 70 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Normal level 5 reward score 70 point' REWARD_DESC FROM DUAL
  1100. UNION ALL
  1101. SELECT 10 LEVEL_NO, 'DATA' REWARD_TYPE, 40 REWARD_VALUE, 'MB' REWARD_UNIT, N'Normal level 10 reward data 40MB' REWARD_DESC FROM DUAL
  1102. UNION ALL
  1103. SELECT 10 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 12 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Normal level 10 reward loyalty 12 point' REWARD_DESC FROM DUAL
  1104. UNION ALL
  1105. SELECT 10 LEVEL_NO, 'SCORE' REWARD_TYPE, 130 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Normal level 10 reward score 130 point' REWARD_DESC FROM DUAL
  1106. UNION ALL
  1107. SELECT 15 LEVEL_NO, 'DATA' REWARD_TYPE, 80 REWARD_VALUE, 'MB' REWARD_UNIT, N'Normal level 15 reward data 80MB' REWARD_DESC FROM DUAL
  1108. UNION ALL
  1109. SELECT 15 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 18 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Normal level 15 reward loyalty 18 point' REWARD_DESC FROM DUAL
  1110. UNION ALL
  1111. SELECT 15 LEVEL_NO, 'SCORE' REWARD_TYPE, 190 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Normal level 15 reward score 190 point' REWARD_DESC FROM DUAL
  1112. UNION ALL
  1113. SELECT 20 LEVEL_NO, 'DATA' REWARD_TYPE, 140 REWARD_VALUE, 'MB' REWARD_UNIT, N'Normal level 20 reward data 140MB' REWARD_DESC FROM DUAL
  1114. UNION ALL
  1115. SELECT 20 LEVEL_NO, 'SCORE' REWARD_TYPE, 260 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Normal level 20 reward score 260 point' REWARD_DESC FROM DUAL
  1116. UNION ALL
  1117. SELECT 25 LEVEL_NO, 'DATA' REWARD_TYPE, 180 REWARD_VALUE, 'MB' REWARD_UNIT, N'Normal level 25 reward data 180MB' REWARD_DESC FROM DUAL
  1118. UNION ALL
  1119. SELECT 25 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 30 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Normal level 25 reward loyalty 30 point' REWARD_DESC FROM DUAL
  1120. UNION ALL
  1121. SELECT 25 LEVEL_NO, 'SCORE' REWARD_TYPE, 320 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Normal level 25 reward score 320 point' REWARD_DESC FROM DUAL
  1122. UNION ALL
  1123. SELECT 30 LEVEL_NO, 'DATA' REWARD_TYPE, 220 REWARD_VALUE, 'MB' REWARD_UNIT, N'Normal level 30 reward data 220MB' REWARD_DESC FROM DUAL
  1124. UNION ALL
  1125. SELECT 30 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 40 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Normal level 30 reward loyalty 40 point' REWARD_DESC FROM DUAL
  1126. UNION ALL
  1127. SELECT 30 LEVEL_NO, 'SCORE' REWARD_TYPE, 380 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Normal level 30 reward score 380 point' REWARD_DESC FROM DUAL
  1128. UNION ALL
  1129. SELECT 35 LEVEL_NO, 'DATA' REWARD_TYPE, 260 REWARD_VALUE, 'MB' REWARD_UNIT, N'Normal level 35 reward data 260MB' REWARD_DESC FROM DUAL
  1130. UNION ALL
  1131. SELECT 35 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 60 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Normal level 35 reward loyalty 60 point' REWARD_DESC FROM DUAL
  1132. UNION ALL
  1133. SELECT 35 LEVEL_NO, 'SCORE' REWARD_TYPE, 450 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Normal level 35 reward score 450 point' REWARD_DESC FROM DUAL
  1134. UNION ALL
  1135. SELECT 40 LEVEL_NO, 'DATA' REWARD_TYPE, 300 REWARD_VALUE, 'MB' REWARD_UNIT, N'Normal level 40 reward data 300MB' REWARD_DESC FROM DUAL
  1136. UNION ALL
  1137. SELECT 40 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 70 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Normal level 40 reward loyalty 70 point' REWARD_DESC FROM DUAL
  1138. UNION ALL
  1139. SELECT 40 LEVEL_NO, 'SCORE' REWARD_TYPE, 520 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Normal level 40 reward score 520 point' REWARD_DESC FROM DUAL
  1140. UNION ALL
  1141. SELECT 45 LEVEL_NO, 'DATA' REWARD_TYPE, 350 REWARD_VALUE, 'MB' REWARD_UNIT, N'Normal level 45 reward data 350MB' REWARD_DESC FROM DUAL
  1142. UNION ALL
  1143. SELECT 45 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 80 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Normal level 45 reward loyalty 80 point' REWARD_DESC FROM DUAL
  1144. UNION ALL
  1145. SELECT 45 LEVEL_NO, 'SCORE' REWARD_TYPE, 600 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Normal level 45 reward score 600 point' REWARD_DESC FROM DUAL
  1146. UNION ALL
  1147. SELECT 50 LEVEL_NO, 'DATA' REWARD_TYPE, 450 REWARD_VALUE, 'MB' REWARD_UNIT, N'Normal level 50 reward data 450MB' REWARD_DESC FROM DUAL
  1148. UNION ALL
  1149. SELECT 50 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 100 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Normal level 50 reward loyalty 100 point' REWARD_DESC FROM DUAL
  1150. UNION ALL
  1151. SELECT 50 LEVEL_NO, 'SCORE' REWARD_TYPE, 700 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Normal level 50 reward score 700 point' REWARD_DESC FROM DUAL
  1152. ) cfg ON 1 = 1
  1153. WHERE m.MODE_CODE = 'NORMAL';
  1154. -- HARD level config: 50 level, milestone tai 5/10/15/.../50.
  1155. INSERT INTO GAME_LEVEL_CONFIG
  1156. (
  1157. LEVEL_CONFIG_ID, MODE_ID, LEVEL_NO, BASE_SCORE, TIME_LIMIT_SECONDS,
  1158. IS_MILESTONE, STATUS, CREATED_TIME, UPDATED_TIME
  1159. )
  1160. SELECT
  1161. SEQ_GAME_LEVEL_CONFIG.NEXTVAL, m.MODE_ID, cfg.LEVEL_NO, cfg.BASE_SCORE, 60,
  1162. cfg.IS_MILESTONE, 1, SYSDATE, NULL
  1163. FROM GAME_MODE m
  1164. JOIN
  1165. (
  1166. SELECT 1 LEVEL_NO, 40 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1167. UNION ALL
  1168. SELECT 2 LEVEL_NO, 40 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1169. UNION ALL
  1170. SELECT 3 LEVEL_NO, 40 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1171. UNION ALL
  1172. SELECT 4 LEVEL_NO, 40 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1173. UNION ALL
  1174. SELECT 5 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1175. UNION ALL
  1176. SELECT 6 LEVEL_NO, 50 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1177. UNION ALL
  1178. SELECT 7 LEVEL_NO, 50 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1179. UNION ALL
  1180. SELECT 8 LEVEL_NO, 50 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1181. UNION ALL
  1182. SELECT 9 LEVEL_NO, 50 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1183. UNION ALL
  1184. SELECT 10 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1185. UNION ALL
  1186. SELECT 11 LEVEL_NO, 60 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1187. UNION ALL
  1188. SELECT 12 LEVEL_NO, 60 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1189. UNION ALL
  1190. SELECT 13 LEVEL_NO, 60 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1191. UNION ALL
  1192. SELECT 14 LEVEL_NO, 60 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1193. UNION ALL
  1194. SELECT 15 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1195. UNION ALL
  1196. SELECT 16 LEVEL_NO, 70 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1197. UNION ALL
  1198. SELECT 17 LEVEL_NO, 70 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1199. UNION ALL
  1200. SELECT 18 LEVEL_NO, 70 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1201. UNION ALL
  1202. SELECT 19 LEVEL_NO, 70 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1203. UNION ALL
  1204. SELECT 20 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1205. UNION ALL
  1206. SELECT 21 LEVEL_NO, 85 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1207. UNION ALL
  1208. SELECT 22 LEVEL_NO, 85 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1209. UNION ALL
  1210. SELECT 23 LEVEL_NO, 85 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1211. UNION ALL
  1212. SELECT 24 LEVEL_NO, 85 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1213. UNION ALL
  1214. SELECT 25 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1215. UNION ALL
  1216. SELECT 26 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1217. UNION ALL
  1218. SELECT 27 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1219. UNION ALL
  1220. SELECT 28 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1221. UNION ALL
  1222. SELECT 29 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1223. UNION ALL
  1224. SELECT 30 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1225. UNION ALL
  1226. SELECT 31 LEVEL_NO, 120 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1227. UNION ALL
  1228. SELECT 32 LEVEL_NO, 120 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1229. UNION ALL
  1230. SELECT 33 LEVEL_NO, 120 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1231. UNION ALL
  1232. SELECT 34 LEVEL_NO, 120 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1233. UNION ALL
  1234. SELECT 35 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1235. UNION ALL
  1236. SELECT 36 LEVEL_NO, 140 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1237. UNION ALL
  1238. SELECT 37 LEVEL_NO, 140 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1239. UNION ALL
  1240. SELECT 38 LEVEL_NO, 140 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1241. UNION ALL
  1242. SELECT 39 LEVEL_NO, 140 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1243. UNION ALL
  1244. SELECT 40 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1245. UNION ALL
  1246. SELECT 41 LEVEL_NO, 160 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1247. UNION ALL
  1248. SELECT 42 LEVEL_NO, 160 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1249. UNION ALL
  1250. SELECT 43 LEVEL_NO, 160 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1251. UNION ALL
  1252. SELECT 44 LEVEL_NO, 160 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1253. UNION ALL
  1254. SELECT 45 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1255. UNION ALL
  1256. SELECT 46 LEVEL_NO, 180 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1257. UNION ALL
  1258. SELECT 47 LEVEL_NO, 180 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1259. UNION ALL
  1260. SELECT 48 LEVEL_NO, 180 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1261. UNION ALL
  1262. SELECT 49 LEVEL_NO, 180 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1263. UNION ALL
  1264. SELECT 50 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1265. ) cfg ON 1 = 1
  1266. WHERE m.MODE_CODE = 'HARD';
  1267. -- HARD reward options theo cac level moc trong kich ban.
  1268. INSERT INTO GAME_LEVEL_REWARD_OPTION
  1269. (
  1270. REWARD_OPTION_ID, MODE_ID, LEVEL_NO, REWARD_TYPE, REWARD_VALUE,
  1271. REWARD_UNIT, WEIGHT, IS_DEFAULT, REWARD_DESC, STATUS, CREATED_TIME, UPDATED_TIME
  1272. )
  1273. SELECT
  1274. SEQ_GAME_LEVEL_REWARD_OPTION.NEXTVAL, m.MODE_ID, cfg.LEVEL_NO, cfg.REWARD_TYPE, cfg.REWARD_VALUE,
  1275. cfg.REWARD_UNIT, 1, 0, cfg.REWARD_DESC, 1, SYSDATE, NULL
  1276. FROM GAME_MODE m
  1277. JOIN
  1278. (
  1279. SELECT 5 LEVEL_NO, 'DATA' REWARD_TYPE, 40 REWARD_VALUE, 'MB' REWARD_UNIT, N'Hard level 5 reward data 40MB' REWARD_DESC FROM DUAL
  1280. UNION ALL
  1281. SELECT 5 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 10 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Hard level 5 reward loyalty 10 point' REWARD_DESC FROM DUAL
  1282. UNION ALL
  1283. SELECT 5 LEVEL_NO, 'SCORE' REWARD_TYPE, 100 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Hard level 5 reward score 100 point' REWARD_DESC FROM DUAL
  1284. UNION ALL
  1285. SELECT 10 LEVEL_NO, 'DATA' REWARD_TYPE, 80 REWARD_VALUE, 'MB' REWARD_UNIT, N'Hard level 10 reward data 80MB' REWARD_DESC FROM DUAL
  1286. UNION ALL
  1287. SELECT 10 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 20 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Hard level 10 reward loyalty 20 point' REWARD_DESC FROM DUAL
  1288. UNION ALL
  1289. SELECT 10 LEVEL_NO, 'SCORE' REWARD_TYPE, 200 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Hard level 10 reward score 200 point' REWARD_DESC FROM DUAL
  1290. UNION ALL
  1291. SELECT 15 LEVEL_NO, 'DATA' REWARD_TYPE, 140 REWARD_VALUE, 'MB' REWARD_UNIT, N'Hard level 15 reward data 140MB' REWARD_DESC FROM DUAL
  1292. UNION ALL
  1293. SELECT 15 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 30 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Hard level 15 reward loyalty 30 point' REWARD_DESC FROM DUAL
  1294. UNION ALL
  1295. SELECT 15 LEVEL_NO, 'SCORE' REWARD_TYPE, 300 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Hard level 15 reward score 300 point' REWARD_DESC FROM DUAL
  1296. UNION ALL
  1297. SELECT 20 LEVEL_NO, 'DATA' REWARD_TYPE, 220 REWARD_VALUE, 'MB' REWARD_UNIT, N'Hard level 20 reward data 220MB' REWARD_DESC FROM DUAL
  1298. UNION ALL
  1299. SELECT 20 LEVEL_NO, 'SCORE' REWARD_TYPE, 400 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Hard level 20 reward score 400 point' REWARD_DESC FROM DUAL
  1300. UNION ALL
  1301. SELECT 25 LEVEL_NO, 'DATA' REWARD_TYPE, 300 REWARD_VALUE, 'MB' REWARD_UNIT, N'Hard level 25 reward data 300MB' REWARD_DESC FROM DUAL
  1302. UNION ALL
  1303. SELECT 25 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 50 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Hard level 25 reward loyalty 50 point' REWARD_DESC FROM DUAL
  1304. UNION ALL
  1305. SELECT 25 LEVEL_NO, 'SCORE' REWARD_TYPE, 500 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Hard level 25 reward score 500 point' REWARD_DESC FROM DUAL
  1306. UNION ALL
  1307. SELECT 30 LEVEL_NO, 'DATA' REWARD_TYPE, 380 REWARD_VALUE, 'MB' REWARD_UNIT, N'Hard level 30 reward data 380MB' REWARD_DESC FROM DUAL
  1308. UNION ALL
  1309. SELECT 30 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 70 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Hard level 30 reward loyalty 70 point' REWARD_DESC FROM DUAL
  1310. UNION ALL
  1311. SELECT 30 LEVEL_NO, 'SCORE' REWARD_TYPE, 600 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Hard level 30 reward score 600 point' REWARD_DESC FROM DUAL
  1312. UNION ALL
  1313. SELECT 35 LEVEL_NO, 'DATA' REWARD_TYPE, 450 REWARD_VALUE, 'MB' REWARD_UNIT, N'Hard level 35 reward data 450MB' REWARD_DESC FROM DUAL
  1314. UNION ALL
  1315. SELECT 35 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 90 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Hard level 35 reward loyalty 90 point' REWARD_DESC FROM DUAL
  1316. UNION ALL
  1317. SELECT 35 LEVEL_NO, 'SCORE' REWARD_TYPE, 700 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Hard level 35 reward score 700 point' REWARD_DESC FROM DUAL
  1318. UNION ALL
  1319. SELECT 40 LEVEL_NO, 'DATA' REWARD_TYPE, 520 REWARD_VALUE, 'MB' REWARD_UNIT, N'Hard level 40 reward data 520MB' REWARD_DESC FROM DUAL
  1320. UNION ALL
  1321. SELECT 40 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 110 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Hard level 40 reward loyalty 110 point' REWARD_DESC FROM DUAL
  1322. UNION ALL
  1323. SELECT 40 LEVEL_NO, 'SCORE' REWARD_TYPE, 800 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Hard level 40 reward score 800 point' REWARD_DESC FROM DUAL
  1324. UNION ALL
  1325. SELECT 45 LEVEL_NO, 'DATA' REWARD_TYPE, 600 REWARD_VALUE, 'MB' REWARD_UNIT, N'Hard level 45 reward data 600MB' REWARD_DESC FROM DUAL
  1326. UNION ALL
  1327. SELECT 45 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 130 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Hard level 45 reward loyalty 130 point' REWARD_DESC FROM DUAL
  1328. UNION ALL
  1329. SELECT 45 LEVEL_NO, 'SCORE' REWARD_TYPE, 900 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Hard level 45 reward score 900 point' REWARD_DESC FROM DUAL
  1330. UNION ALL
  1331. SELECT 50 LEVEL_NO, 'DATA' REWARD_TYPE, 750 REWARD_VALUE, 'MB' REWARD_UNIT, N'Hard level 50 reward data 750MB' REWARD_DESC FROM DUAL
  1332. UNION ALL
  1333. SELECT 50 LEVEL_NO, 'LOYALTY' REWARD_TYPE, 150 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Hard level 50 reward loyalty 150 point' REWARD_DESC FROM DUAL
  1334. UNION ALL
  1335. SELECT 50 LEVEL_NO, 'SCORE' REWARD_TYPE, 1000 REWARD_VALUE, 'POINT' REWARD_UNIT, N'Hard level 50 reward score 1000 point' REWARD_DESC FROM DUAL
  1336. ) cfg ON 1 = 1
  1337. WHERE m.MODE_CODE = 'HARD';
  1338. INSERT INTO GAME_MONTHLY_TICKET_RULE (TICKET_RULE_ID, MIN_SCORE, MAX_SCORE, TICKET_COUNT, STATUS)
  1339. VALUES (SEQ_GAME_MONTHLY_TICKET_RULE.NEXTVAL, 5000, 5999, 1, 1);
  1340. INSERT INTO GAME_MONTHLY_TICKET_RULE (TICKET_RULE_ID, MIN_SCORE, MAX_SCORE, TICKET_COUNT, STATUS)
  1341. VALUES (SEQ_GAME_MONTHLY_TICKET_RULE.NEXTVAL, 6000, 6999, 2, 1);
  1342. INSERT INTO GAME_MONTHLY_TICKET_RULE (TICKET_RULE_ID, MIN_SCORE, MAX_SCORE, TICKET_COUNT, STATUS)
  1343. VALUES (SEQ_GAME_MONTHLY_TICKET_RULE.NEXTVAL, 7000, 7999, 3, 1);
  1344. INSERT INTO GAME_MONTHLY_TICKET_RULE (TICKET_RULE_ID, MIN_SCORE, MAX_SCORE, TICKET_COUNT, STATUS)
  1345. VALUES (SEQ_GAME_MONTHLY_TICKET_RULE.NEXTVAL, 8000, 8999, 5, 1);
  1346. INSERT INTO GAME_MONTHLY_TICKET_RULE (TICKET_RULE_ID, MIN_SCORE, MAX_SCORE, TICKET_COUNT, STATUS)
  1347. VALUES (SEQ_GAME_MONTHLY_TICKET_RULE.NEXTVAL, 9000, 9999, 7, 1);
  1348. INSERT INTO GAME_MONTHLY_TICKET_RULE (TICKET_RULE_ID, MIN_SCORE, MAX_SCORE, TICKET_COUNT, STATUS)
  1349. VALUES (SEQ_GAME_MONTHLY_TICKET_RULE.NEXTVAL, 10000, NULL, 10, 1);
  1350. INSERT INTO GAME_MONTHLY_PRIZE_CONFIG (PRIZE_CONFIG_ID, PRIZE_CODE, PRIZE_NAME, PRIZE_VALUE, PRIZE_UNIT, QUANTITY, DISPLAY_ORDER, STATUS)
  1351. VALUES (SEQ_GAME_MONTHLY_PRIZE_CONFIG.NEXTVAL, 'FIRST', N'First Prize', 2000000, 'MMK', 1, 1, 1);
  1352. INSERT INTO GAME_MONTHLY_PRIZE_CONFIG (PRIZE_CONFIG_ID, PRIZE_CODE, PRIZE_NAME, PRIZE_VALUE, PRIZE_UNIT, QUANTITY, DISPLAY_ORDER, STATUS)
  1353. VALUES (SEQ_GAME_MONTHLY_PRIZE_CONFIG.NEXTVAL, 'SECOND', N'Second Prize', 500000, 'MMK', 1, 2, 1);
  1354. INSERT INTO GAME_MONTHLY_PRIZE_CONFIG (PRIZE_CONFIG_ID, PRIZE_CODE, PRIZE_NAME, PRIZE_VALUE, PRIZE_UNIT, QUANTITY, DISPLAY_ORDER, STATUS)
  1355. VALUES (SEQ_GAME_MONTHLY_PRIZE_CONFIG.NEXTVAL, 'THIRD', N'Third Prize', 200000, 'MMK', 2, 3, 1);
  1356. --------------------------------------------------------
  1357. -- SAMPLE REWARD LIMIT CONFIG
  1358. -- Bo comment va thay gia tri han muc theo doanh thu/ngan sach thuc te.
  1359. --------------------------------------------------------
  1360. -- Gioi han tong data tra thuong trong ngay, ap dung moi mode/moi level.
  1361. -- INSERT INTO GAME_REWARD_LIMIT_CONFIG
  1362. -- (
  1363. -- LIMIT_CONFIG_ID, LIMIT_CODE, LIMIT_NAME, PERIOD_TYPE, REWARD_TYPE, REWARD_UNIT,
  1364. -- MODE_ID, LEVEL_NO, MAX_TOTAL_VALUE, MAX_TOTAL_COUNT, PRIORITY, EXCEED_ACTION, STATUS
  1365. -- )
  1366. -- VALUES
  1367. -- (
  1368. -- SEQ_GAME_REWARD_LIMIT_CONFIG.NEXTVAL, 'DAILY_DATA_MB_ALL', N'Daily data MB limit all game',
  1369. -- 'DAILY', 'DATA', 'MB', NULL, NULL, 100000, NULL, 10, 'BLOCK', 1
  1370. -- );
  1371. -- Gioi han tong money tra thuong trong ngay, ap dung moi mode/moi level.
  1372. -- INSERT INTO GAME_REWARD_LIMIT_CONFIG
  1373. -- (
  1374. -- LIMIT_CONFIG_ID, LIMIT_CODE, LIMIT_NAME, PERIOD_TYPE, REWARD_TYPE, REWARD_UNIT,
  1375. -- MODE_ID, LEVEL_NO, MAX_TOTAL_VALUE, MAX_TOTAL_COUNT, PRIORITY, EXCEED_ACTION, STATUS
  1376. -- )
  1377. -- VALUES
  1378. -- (
  1379. -- SEQ_GAME_REWARD_LIMIT_CONFIG.NEXTVAL, 'DAILY_MONEY_MMK_ALL', N'Daily money MMK limit all game',
  1380. -- 'DAILY', 'MONEY', 'MMK', NULL, NULL, 5000000, NULL, 10, 'BLOCK', 1
  1381. -- );
  1382. -- Gioi han so lan trung MONEY trong ngay, khong gioi han tong gia tri.
  1383. -- INSERT INTO GAME_REWARD_LIMIT_CONFIG
  1384. -- (
  1385. -- LIMIT_CONFIG_ID, LIMIT_CODE, LIMIT_NAME, PERIOD_TYPE, REWARD_TYPE, REWARD_UNIT,
  1386. -- MODE_ID, LEVEL_NO, MAX_TOTAL_VALUE, MAX_TOTAL_COUNT, PRIORITY, EXCEED_ACTION, STATUS
  1387. -- )
  1388. -- VALUES
  1389. -- (
  1390. -- SEQ_GAME_REWARD_LIMIT_CONFIG.NEXTVAL, 'DAILY_MONEY_COUNT_ALL', N'Daily money reward count limit',
  1391. -- 'DAILY', 'MONEY', 'MMK', NULL, NULL, NULL, 100, 5, 'BLOCK', 1
  1392. -- );
  1393. COMMIT;
  1394. --------------------------------------------------------
  1395. -- END OF FILE
  1396. --------------------------------------------------------