ddl_game_kitty_fall.sql 82 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484
  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 UK_GMW_DRAW_MSISDN UNIQUE (DRAW_ID, MSISDN),
  749. CONSTRAINT FK_GMW_DRAW FOREIGN KEY (DRAW_ID) REFERENCES GAME_MONTHLY_DRAW (DRAW_ID),
  750. CONSTRAINT FK_GMW_TICKET FOREIGN KEY (TICKET_ID) REFERENCES GAME_MONTHLY_DRAW_TICKET (TICKET_ID),
  751. CONSTRAINT CK_GMW_MONTH_KEY CHECK (MONTH_KEY BETWEEN 200001 AND 299912),
  752. CONSTRAINT CK_GMW_PRIZE_VALUE CHECK (PRIZE_VALUE >= 0),
  753. CONSTRAINT CK_GMW_STATUS CHECK (STATUS IN (0, 1, 2, 3, 4))
  754. );
  755. CREATE INDEX IDX_GMW_MSISDN_MONTH ON GAME_MONTHLY_WINNER (MSISDN, MONTH_KEY);
  756. CREATE INDEX IDX_GMW_DRAW_STATUS ON GAME_MONTHLY_WINNER (DRAW_ID, STATUS);
  757. CREATE INDEX IDX_GMW_PRIZE_CODE ON GAME_MONTHLY_WINNER (PRIZE_CODE);
  758. COMMENT ON TABLE GAME_MONTHLY_WINNER IS 'Danh sach user trung thuong thang';
  759. COMMENT ON COLUMN GAME_MONTHLY_WINNER.WINNER_ID IS 'Khoa chinh winner';
  760. COMMENT ON COLUMN GAME_MONTHLY_WINNER.DRAW_ID IS 'Dot quay sinh winner';
  761. COMMENT ON COLUMN GAME_MONTHLY_WINNER.MONTH_KEY IS 'Thang trung thuong dang YYYYMM';
  762. COMMENT ON COLUMN GAME_MONTHLY_WINNER.MSISDN IS 'So thue bao trung thuong';
  763. COMMENT ON COLUMN GAME_MONTHLY_WINNER.TICKET_ID IS 'Ticket trung thuong';
  764. COMMENT ON COLUMN GAME_MONTHLY_WINNER.PRIZE_CODE IS 'Ma giai trung thuong';
  765. COMMENT ON COLUMN GAME_MONTHLY_WINNER.PRIZE_NAME IS 'Ten giai trung thuong';
  766. COMMENT ON COLUMN GAME_MONTHLY_WINNER.PRIZE_VALUE IS 'Gia tri giai trung thuong';
  767. COMMENT ON COLUMN GAME_MONTHLY_WINNER.PRIZE_UNIT IS 'Don vi giai trung thuong';
  768. COMMENT ON COLUMN GAME_MONTHLY_WINNER.STATUS IS 'Trang thai winner: 0 NEW, 1 ANNOUNCED, 2 PAID, 3 FAILED, 4 CANCELLED';
  769. COMMENT ON COLUMN GAME_MONTHLY_WINNER.ANNOUNCE_TIME IS 'Thoi diem cong bo winner';
  770. COMMENT ON COLUMN GAME_MONTHLY_WINNER.PAID_TIME IS 'Thoi diem tra giai';
  771. COMMENT ON COLUMN GAME_MONTHLY_WINNER.RESPONSE_CODE IS 'Ma ket qua tra giai';
  772. COMMENT ON COLUMN GAME_MONTHLY_WINNER.RESPONSE_MESSAGE IS 'Mo ta ket qua tra giai';
  773. COMMENT ON COLUMN GAME_MONTHLY_WINNER.CREATED_TIME IS 'Thoi diem tao ban ghi';
  774. COMMENT ON COLUMN GAME_MONTHLY_WINNER.UPDATED_TIME IS 'Thoi diem cap nhat gan nhat';
  775. --------------------------------------------------------
  776. -- SEED DATA CO BAN
  777. --------------------------------------------------------
  778. INSERT INTO GAME_MODE (MODE_ID, MODE_CODE, MODE_NAME, TIME_LIMIT_SECONDS, DISPLAY_ORDER, STATUS)
  779. VALUES (SEQ_GAME_MODE.NEXTVAL, 'EASY', N'Easy', 150, 1, 1);
  780. INSERT INTO GAME_MODE (MODE_ID, MODE_CODE, MODE_NAME, TIME_LIMIT_SECONDS, DISPLAY_ORDER, STATUS)
  781. VALUES (SEQ_GAME_MODE.NEXTVAL, 'NORMAL', N'Normal', 100, 2, 1);
  782. INSERT INTO GAME_MODE (MODE_ID, MODE_CODE, MODE_NAME, TIME_LIMIT_SECONDS, DISPLAY_ORDER, STATUS)
  783. VALUES (SEQ_GAME_MODE.NEXTVAL, 'HARD', N'Hard', 60, 3, 1);
  784. --------------------------------------------------------
  785. -- SEED LEVEL CONFIG VA REWARD OPTION THEO KICH BAN
  786. --------------------------------------------------------
  787. -- EASY level config: 50 level, milestone tai 5/10/15/.../50.
  788. INSERT INTO GAME_LEVEL_CONFIG
  789. (
  790. LEVEL_CONFIG_ID, MODE_ID, LEVEL_NO, BASE_SCORE, TIME_LIMIT_SECONDS,
  791. IS_MILESTONE, STATUS, CREATED_TIME, UPDATED_TIME
  792. )
  793. SELECT
  794. SEQ_GAME_LEVEL_CONFIG.NEXTVAL, m.MODE_ID, cfg.LEVEL_NO, cfg.BASE_SCORE, 150,
  795. cfg.IS_MILESTONE, 1, SYSDATE, NULL
  796. FROM GAME_MODE m
  797. JOIN
  798. (
  799. SELECT 1 LEVEL_NO, 10 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  800. UNION ALL
  801. SELECT 2 LEVEL_NO, 10 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  802. UNION ALL
  803. SELECT 3 LEVEL_NO, 10 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  804. UNION ALL
  805. SELECT 4 LEVEL_NO, 10 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  806. UNION ALL
  807. SELECT 5 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  808. UNION ALL
  809. SELECT 6 LEVEL_NO, 15 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  810. UNION ALL
  811. SELECT 7 LEVEL_NO, 15 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  812. UNION ALL
  813. SELECT 8 LEVEL_NO, 15 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  814. UNION ALL
  815. SELECT 9 LEVEL_NO, 15 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  816. UNION ALL
  817. SELECT 10 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  818. UNION ALL
  819. SELECT 11 LEVEL_NO, 20 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  820. UNION ALL
  821. SELECT 12 LEVEL_NO, 20 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  822. UNION ALL
  823. SELECT 13 LEVEL_NO, 20 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  824. UNION ALL
  825. SELECT 14 LEVEL_NO, 20 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  826. UNION ALL
  827. SELECT 15 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  828. UNION ALL
  829. SELECT 16 LEVEL_NO, 25 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  830. UNION ALL
  831. SELECT 17 LEVEL_NO, 25 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  832. UNION ALL
  833. SELECT 18 LEVEL_NO, 25 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  834. UNION ALL
  835. SELECT 19 LEVEL_NO, 25 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  836. UNION ALL
  837. SELECT 20 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  838. UNION ALL
  839. SELECT 21 LEVEL_NO, 35 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  840. UNION ALL
  841. SELECT 22 LEVEL_NO, 35 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  842. UNION ALL
  843. SELECT 23 LEVEL_NO, 35 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  844. UNION ALL
  845. SELECT 24 LEVEL_NO, 35 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  846. UNION ALL
  847. SELECT 25 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  848. UNION ALL
  849. SELECT 26 LEVEL_NO, 45 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  850. UNION ALL
  851. SELECT 27 LEVEL_NO, 45 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  852. UNION ALL
  853. SELECT 28 LEVEL_NO, 45 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  854. UNION ALL
  855. SELECT 29 LEVEL_NO, 45 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  856. UNION ALL
  857. SELECT 30 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  858. UNION ALL
  859. SELECT 31 LEVEL_NO, 55 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  860. UNION ALL
  861. SELECT 32 LEVEL_NO, 55 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  862. UNION ALL
  863. SELECT 33 LEVEL_NO, 55 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  864. UNION ALL
  865. SELECT 34 LEVEL_NO, 55 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  866. UNION ALL
  867. SELECT 35 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  868. UNION ALL
  869. SELECT 36 LEVEL_NO, 65 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  870. UNION ALL
  871. SELECT 37 LEVEL_NO, 65 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  872. UNION ALL
  873. SELECT 38 LEVEL_NO, 65 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  874. UNION ALL
  875. SELECT 39 LEVEL_NO, 65 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  876. UNION ALL
  877. SELECT 40 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  878. UNION ALL
  879. SELECT 41 LEVEL_NO, 80 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  880. UNION ALL
  881. SELECT 42 LEVEL_NO, 80 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  882. UNION ALL
  883. SELECT 43 LEVEL_NO, 80 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  884. UNION ALL
  885. SELECT 44 LEVEL_NO, 80 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  886. UNION ALL
  887. SELECT 45 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  888. UNION ALL
  889. SELECT 46 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  890. UNION ALL
  891. SELECT 47 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  892. UNION ALL
  893. SELECT 48 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  894. UNION ALL
  895. SELECT 49 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  896. UNION ALL
  897. SELECT 50 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  898. ) cfg ON 1 = 1
  899. WHERE m.MODE_CODE = 'EASY';
  900. -- EASY reward options theo cac level moc trong kich ban.
  901. INSERT INTO GAME_LEVEL_REWARD_OPTION
  902. (
  903. REWARD_OPTION_ID, MODE_ID, LEVEL_NO, REWARD_TYPE, REWARD_VALUE,
  904. REWARD_UNIT, WEIGHT, IS_DEFAULT, REWARD_DESC, STATUS, CREATED_TIME, UPDATED_TIME
  905. )
  906. SELECT
  907. SEQ_GAME_LEVEL_REWARD_OPTION.NEXTVAL, m.MODE_ID, cfg.LEVEL_NO, cfg.REWARD_TYPE, cfg.REWARD_VALUE,
  908. cfg.REWARD_UNIT, 1, 0, cfg.REWARD_DESC, 1, SYSDATE, NULL
  909. FROM GAME_MODE m
  910. JOIN
  911. (
  912. SELECT 5 LEVEL_NO, 'DATA' REWARD_TYPE, 5 REWARD_VALUE, 'MB' REWARD_UNIT, N'Easy level 5 reward data 5MB' REWARD_DESC FROM DUAL
  913. UNION ALL
  914. 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
  915. UNION ALL
  916. 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
  917. UNION ALL
  918. SELECT 10 LEVEL_NO, 'DATA' REWARD_TYPE, 10 REWARD_VALUE, 'MB' REWARD_UNIT, N'Easy level 10 reward data 10MB' REWARD_DESC FROM DUAL
  919. UNION ALL
  920. 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
  921. UNION ALL
  922. 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
  923. UNION ALL
  924. SELECT 15 LEVEL_NO, 'DATA' REWARD_TYPE, 20 REWARD_VALUE, 'MB' REWARD_UNIT, N'Easy level 15 reward data 20MB' REWARD_DESC FROM DUAL
  925. UNION ALL
  926. 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
  927. UNION ALL
  928. 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
  929. UNION ALL
  930. SELECT 20 LEVEL_NO, 'DATA' REWARD_TYPE, 40 REWARD_VALUE, 'MB' REWARD_UNIT, N'Easy level 20 reward data 40MB' REWARD_DESC FROM DUAL
  931. UNION ALL
  932. 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
  933. UNION ALL
  934. SELECT 25 LEVEL_NO, 'DATA' REWARD_TYPE, 70 REWARD_VALUE, 'MB' REWARD_UNIT, N'Easy level 25 reward data 70MB' REWARD_DESC FROM DUAL
  935. UNION ALL
  936. 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
  937. UNION ALL
  938. 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
  939. UNION ALL
  940. SELECT 30 LEVEL_NO, 'DATA' REWARD_TYPE, 100 REWARD_VALUE, 'MB' REWARD_UNIT, N'Easy level 30 reward data 100MB' REWARD_DESC FROM DUAL
  941. UNION ALL
  942. 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
  943. UNION ALL
  944. 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
  945. UNION ALL
  946. SELECT 35 LEVEL_NO, 'DATA' REWARD_TYPE, 120 REWARD_VALUE, 'MB' REWARD_UNIT, N'Easy level 35 reward data 120MB' REWARD_DESC FROM DUAL
  947. UNION ALL
  948. 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
  949. UNION ALL
  950. 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
  951. UNION ALL
  952. SELECT 40 LEVEL_NO, 'DATA' REWARD_TYPE, 150 REWARD_VALUE, 'MB' REWARD_UNIT, N'Easy level 40 reward data 150MB' REWARD_DESC FROM DUAL
  953. UNION ALL
  954. 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
  955. UNION ALL
  956. 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
  957. UNION ALL
  958. SELECT 45 LEVEL_NO, 'DATA' REWARD_TYPE, 180 REWARD_VALUE, 'MB' REWARD_UNIT, N'Easy level 45 reward data 180MB' REWARD_DESC FROM DUAL
  959. UNION ALL
  960. 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
  961. UNION ALL
  962. 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
  963. UNION ALL
  964. SELECT 50 LEVEL_NO, 'DATA' REWARD_TYPE, 250 REWARD_VALUE, 'MB' REWARD_UNIT, N'Easy level 50 reward data 250MB' REWARD_DESC FROM DUAL
  965. UNION ALL
  966. 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
  967. UNION ALL
  968. 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
  969. ) cfg ON 1 = 1
  970. WHERE m.MODE_CODE = 'EASY';
  971. -- NORMAL level config: 50 level, milestone tai 5/10/15/.../50.
  972. INSERT INTO GAME_LEVEL_CONFIG
  973. (
  974. LEVEL_CONFIG_ID, MODE_ID, LEVEL_NO, BASE_SCORE, TIME_LIMIT_SECONDS,
  975. IS_MILESTONE, STATUS, CREATED_TIME, UPDATED_TIME
  976. )
  977. SELECT
  978. SEQ_GAME_LEVEL_CONFIG.NEXTVAL, m.MODE_ID, cfg.LEVEL_NO, cfg.BASE_SCORE, 100,
  979. cfg.IS_MILESTONE, 1, SYSDATE, NULL
  980. FROM GAME_MODE m
  981. JOIN
  982. (
  983. SELECT 1 LEVEL_NO, 20 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  984. UNION ALL
  985. SELECT 2 LEVEL_NO, 20 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  986. UNION ALL
  987. SELECT 3 LEVEL_NO, 20 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  988. UNION ALL
  989. SELECT 4 LEVEL_NO, 20 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  990. UNION ALL
  991. SELECT 5 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  992. UNION ALL
  993. SELECT 6 LEVEL_NO, 25 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  994. UNION ALL
  995. SELECT 7 LEVEL_NO, 25 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  996. UNION ALL
  997. SELECT 8 LEVEL_NO, 25 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  998. UNION ALL
  999. SELECT 9 LEVEL_NO, 25 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1000. UNION ALL
  1001. SELECT 10 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1002. UNION ALL
  1003. SELECT 11 LEVEL_NO, 30 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1004. UNION ALL
  1005. SELECT 12 LEVEL_NO, 30 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1006. UNION ALL
  1007. SELECT 13 LEVEL_NO, 30 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1008. UNION ALL
  1009. SELECT 14 LEVEL_NO, 30 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1010. UNION ALL
  1011. SELECT 15 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1012. UNION ALL
  1013. SELECT 16 LEVEL_NO, 35 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1014. UNION ALL
  1015. SELECT 17 LEVEL_NO, 35 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1016. UNION ALL
  1017. SELECT 18 LEVEL_NO, 35 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1018. UNION ALL
  1019. SELECT 19 LEVEL_NO, 35 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1020. UNION ALL
  1021. SELECT 20 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1022. UNION ALL
  1023. SELECT 21 LEVEL_NO, 40 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1024. UNION ALL
  1025. SELECT 22 LEVEL_NO, 40 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1026. UNION ALL
  1027. SELECT 23 LEVEL_NO, 40 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1028. UNION ALL
  1029. SELECT 24 LEVEL_NO, 40 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1030. UNION ALL
  1031. SELECT 25 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1032. UNION ALL
  1033. SELECT 26 LEVEL_NO, 50 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1034. UNION ALL
  1035. SELECT 27 LEVEL_NO, 50 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1036. UNION ALL
  1037. SELECT 28 LEVEL_NO, 50 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1038. UNION ALL
  1039. SELECT 29 LEVEL_NO, 50 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1040. UNION ALL
  1041. SELECT 30 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1042. UNION ALL
  1043. SELECT 31 LEVEL_NO, 60 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1044. UNION ALL
  1045. SELECT 32 LEVEL_NO, 60 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1046. UNION ALL
  1047. SELECT 33 LEVEL_NO, 60 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1048. UNION ALL
  1049. SELECT 34 LEVEL_NO, 60 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1050. UNION ALL
  1051. SELECT 35 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1052. UNION ALL
  1053. SELECT 36 LEVEL_NO, 70 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1054. UNION ALL
  1055. SELECT 37 LEVEL_NO, 70 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1056. UNION ALL
  1057. SELECT 38 LEVEL_NO, 70 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1058. UNION ALL
  1059. SELECT 39 LEVEL_NO, 70 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1060. UNION ALL
  1061. SELECT 40 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1062. UNION ALL
  1063. SELECT 41 LEVEL_NO, 80 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1064. UNION ALL
  1065. SELECT 42 LEVEL_NO, 80 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1066. UNION ALL
  1067. SELECT 43 LEVEL_NO, 80 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1068. UNION ALL
  1069. SELECT 44 LEVEL_NO, 80 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1070. UNION ALL
  1071. SELECT 45 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1072. UNION ALL
  1073. SELECT 46 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1074. UNION ALL
  1075. SELECT 47 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1076. UNION ALL
  1077. SELECT 48 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1078. UNION ALL
  1079. SELECT 49 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1080. UNION ALL
  1081. SELECT 50 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1082. ) cfg ON 1 = 1
  1083. WHERE m.MODE_CODE = 'NORMAL';
  1084. -- NORMAL reward options theo cac level moc trong kich ban.
  1085. INSERT INTO GAME_LEVEL_REWARD_OPTION
  1086. (
  1087. REWARD_OPTION_ID, MODE_ID, LEVEL_NO, REWARD_TYPE, REWARD_VALUE,
  1088. REWARD_UNIT, WEIGHT, IS_DEFAULT, REWARD_DESC, STATUS, CREATED_TIME, UPDATED_TIME
  1089. )
  1090. SELECT
  1091. SEQ_GAME_LEVEL_REWARD_OPTION.NEXTVAL, m.MODE_ID, cfg.LEVEL_NO, cfg.REWARD_TYPE, cfg.REWARD_VALUE,
  1092. cfg.REWARD_UNIT, 1, 0, cfg.REWARD_DESC, 1, SYSDATE, NULL
  1093. FROM GAME_MODE m
  1094. JOIN
  1095. (
  1096. SELECT 5 LEVEL_NO, 'DATA' REWARD_TYPE, 20 REWARD_VALUE, 'MB' REWARD_UNIT, N'Normal level 5 reward data 20MB' REWARD_DESC FROM DUAL
  1097. UNION ALL
  1098. 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
  1099. UNION ALL
  1100. 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
  1101. UNION ALL
  1102. SELECT 10 LEVEL_NO, 'DATA' REWARD_TYPE, 40 REWARD_VALUE, 'MB' REWARD_UNIT, N'Normal level 10 reward data 40MB' REWARD_DESC FROM DUAL
  1103. UNION ALL
  1104. 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
  1105. UNION ALL
  1106. 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
  1107. UNION ALL
  1108. SELECT 15 LEVEL_NO, 'DATA' REWARD_TYPE, 80 REWARD_VALUE, 'MB' REWARD_UNIT, N'Normal level 15 reward data 80MB' REWARD_DESC FROM DUAL
  1109. UNION ALL
  1110. 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
  1111. UNION ALL
  1112. 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
  1113. UNION ALL
  1114. SELECT 20 LEVEL_NO, 'DATA' REWARD_TYPE, 140 REWARD_VALUE, 'MB' REWARD_UNIT, N'Normal level 20 reward data 140MB' REWARD_DESC FROM DUAL
  1115. UNION ALL
  1116. 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
  1117. UNION ALL
  1118. SELECT 25 LEVEL_NO, 'DATA' REWARD_TYPE, 180 REWARD_VALUE, 'MB' REWARD_UNIT, N'Normal level 25 reward data 180MB' REWARD_DESC FROM DUAL
  1119. UNION ALL
  1120. 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
  1121. UNION ALL
  1122. 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
  1123. UNION ALL
  1124. SELECT 30 LEVEL_NO, 'DATA' REWARD_TYPE, 220 REWARD_VALUE, 'MB' REWARD_UNIT, N'Normal level 30 reward data 220MB' REWARD_DESC FROM DUAL
  1125. UNION ALL
  1126. 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
  1127. UNION ALL
  1128. 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
  1129. UNION ALL
  1130. SELECT 35 LEVEL_NO, 'DATA' REWARD_TYPE, 260 REWARD_VALUE, 'MB' REWARD_UNIT, N'Normal level 35 reward data 260MB' REWARD_DESC FROM DUAL
  1131. UNION ALL
  1132. 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
  1133. UNION ALL
  1134. 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
  1135. UNION ALL
  1136. SELECT 40 LEVEL_NO, 'DATA' REWARD_TYPE, 300 REWARD_VALUE, 'MB' REWARD_UNIT, N'Normal level 40 reward data 300MB' REWARD_DESC FROM DUAL
  1137. UNION ALL
  1138. 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
  1139. UNION ALL
  1140. 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
  1141. UNION ALL
  1142. SELECT 45 LEVEL_NO, 'DATA' REWARD_TYPE, 350 REWARD_VALUE, 'MB' REWARD_UNIT, N'Normal level 45 reward data 350MB' REWARD_DESC FROM DUAL
  1143. UNION ALL
  1144. 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
  1145. UNION ALL
  1146. 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
  1147. UNION ALL
  1148. SELECT 50 LEVEL_NO, 'DATA' REWARD_TYPE, 450 REWARD_VALUE, 'MB' REWARD_UNIT, N'Normal level 50 reward data 450MB' REWARD_DESC FROM DUAL
  1149. UNION ALL
  1150. 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
  1151. UNION ALL
  1152. 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
  1153. ) cfg ON 1 = 1
  1154. WHERE m.MODE_CODE = 'NORMAL';
  1155. -- HARD level config: 50 level, milestone tai 5/10/15/.../50.
  1156. INSERT INTO GAME_LEVEL_CONFIG
  1157. (
  1158. LEVEL_CONFIG_ID, MODE_ID, LEVEL_NO, BASE_SCORE, TIME_LIMIT_SECONDS,
  1159. IS_MILESTONE, STATUS, CREATED_TIME, UPDATED_TIME
  1160. )
  1161. SELECT
  1162. SEQ_GAME_LEVEL_CONFIG.NEXTVAL, m.MODE_ID, cfg.LEVEL_NO, cfg.BASE_SCORE, 60,
  1163. cfg.IS_MILESTONE, 1, SYSDATE, NULL
  1164. FROM GAME_MODE m
  1165. JOIN
  1166. (
  1167. SELECT 1 LEVEL_NO, 40 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1168. UNION ALL
  1169. SELECT 2 LEVEL_NO, 40 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1170. UNION ALL
  1171. SELECT 3 LEVEL_NO, 40 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1172. UNION ALL
  1173. SELECT 4 LEVEL_NO, 40 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1174. UNION ALL
  1175. SELECT 5 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1176. UNION ALL
  1177. SELECT 6 LEVEL_NO, 50 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1178. UNION ALL
  1179. SELECT 7 LEVEL_NO, 50 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1180. UNION ALL
  1181. SELECT 8 LEVEL_NO, 50 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1182. UNION ALL
  1183. SELECT 9 LEVEL_NO, 50 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1184. UNION ALL
  1185. SELECT 10 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1186. UNION ALL
  1187. SELECT 11 LEVEL_NO, 60 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1188. UNION ALL
  1189. SELECT 12 LEVEL_NO, 60 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1190. UNION ALL
  1191. SELECT 13 LEVEL_NO, 60 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1192. UNION ALL
  1193. SELECT 14 LEVEL_NO, 60 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1194. UNION ALL
  1195. SELECT 15 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1196. UNION ALL
  1197. SELECT 16 LEVEL_NO, 70 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1198. UNION ALL
  1199. SELECT 17 LEVEL_NO, 70 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1200. UNION ALL
  1201. SELECT 18 LEVEL_NO, 70 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1202. UNION ALL
  1203. SELECT 19 LEVEL_NO, 70 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1204. UNION ALL
  1205. SELECT 20 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1206. UNION ALL
  1207. SELECT 21 LEVEL_NO, 85 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1208. UNION ALL
  1209. SELECT 22 LEVEL_NO, 85 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1210. UNION ALL
  1211. SELECT 23 LEVEL_NO, 85 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1212. UNION ALL
  1213. SELECT 24 LEVEL_NO, 85 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1214. UNION ALL
  1215. SELECT 25 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1216. UNION ALL
  1217. SELECT 26 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1218. UNION ALL
  1219. SELECT 27 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1220. UNION ALL
  1221. SELECT 28 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1222. UNION ALL
  1223. SELECT 29 LEVEL_NO, 100 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1224. UNION ALL
  1225. SELECT 30 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1226. UNION ALL
  1227. SELECT 31 LEVEL_NO, 120 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1228. UNION ALL
  1229. SELECT 32 LEVEL_NO, 120 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1230. UNION ALL
  1231. SELECT 33 LEVEL_NO, 120 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1232. UNION ALL
  1233. SELECT 34 LEVEL_NO, 120 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1234. UNION ALL
  1235. SELECT 35 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1236. UNION ALL
  1237. SELECT 36 LEVEL_NO, 140 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1238. UNION ALL
  1239. SELECT 37 LEVEL_NO, 140 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1240. UNION ALL
  1241. SELECT 38 LEVEL_NO, 140 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1242. UNION ALL
  1243. SELECT 39 LEVEL_NO, 140 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1244. UNION ALL
  1245. SELECT 40 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1246. UNION ALL
  1247. SELECT 41 LEVEL_NO, 160 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1248. UNION ALL
  1249. SELECT 42 LEVEL_NO, 160 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1250. UNION ALL
  1251. SELECT 43 LEVEL_NO, 160 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1252. UNION ALL
  1253. SELECT 44 LEVEL_NO, 160 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1254. UNION ALL
  1255. SELECT 45 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1256. UNION ALL
  1257. SELECT 46 LEVEL_NO, 180 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1258. UNION ALL
  1259. SELECT 47 LEVEL_NO, 180 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1260. UNION ALL
  1261. SELECT 48 LEVEL_NO, 180 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1262. UNION ALL
  1263. SELECT 49 LEVEL_NO, 180 BASE_SCORE, 0 IS_MILESTONE FROM DUAL
  1264. UNION ALL
  1265. SELECT 50 LEVEL_NO, 0 BASE_SCORE, 1 IS_MILESTONE FROM DUAL
  1266. ) cfg ON 1 = 1
  1267. WHERE m.MODE_CODE = 'HARD';
  1268. -- HARD reward options theo cac level moc trong kich ban.
  1269. INSERT INTO GAME_LEVEL_REWARD_OPTION
  1270. (
  1271. REWARD_OPTION_ID, MODE_ID, LEVEL_NO, REWARD_TYPE, REWARD_VALUE,
  1272. REWARD_UNIT, WEIGHT, IS_DEFAULT, REWARD_DESC, STATUS, CREATED_TIME, UPDATED_TIME
  1273. )
  1274. SELECT
  1275. SEQ_GAME_LEVEL_REWARD_OPTION.NEXTVAL, m.MODE_ID, cfg.LEVEL_NO, cfg.REWARD_TYPE, cfg.REWARD_VALUE,
  1276. cfg.REWARD_UNIT, 1, 0, cfg.REWARD_DESC, 1, SYSDATE, NULL
  1277. FROM GAME_MODE m
  1278. JOIN
  1279. (
  1280. SELECT 5 LEVEL_NO, 'DATA' REWARD_TYPE, 40 REWARD_VALUE, 'MB' REWARD_UNIT, N'Hard level 5 reward data 40MB' REWARD_DESC FROM DUAL
  1281. UNION ALL
  1282. 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
  1283. UNION ALL
  1284. 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
  1285. UNION ALL
  1286. SELECT 10 LEVEL_NO, 'DATA' REWARD_TYPE, 80 REWARD_VALUE, 'MB' REWARD_UNIT, N'Hard level 10 reward data 80MB' REWARD_DESC FROM DUAL
  1287. UNION ALL
  1288. 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
  1289. UNION ALL
  1290. 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
  1291. UNION ALL
  1292. SELECT 15 LEVEL_NO, 'DATA' REWARD_TYPE, 140 REWARD_VALUE, 'MB' REWARD_UNIT, N'Hard level 15 reward data 140MB' REWARD_DESC FROM DUAL
  1293. UNION ALL
  1294. 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
  1295. UNION ALL
  1296. 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
  1297. UNION ALL
  1298. SELECT 20 LEVEL_NO, 'DATA' REWARD_TYPE, 220 REWARD_VALUE, 'MB' REWARD_UNIT, N'Hard level 20 reward data 220MB' REWARD_DESC FROM DUAL
  1299. UNION ALL
  1300. 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
  1301. UNION ALL
  1302. SELECT 25 LEVEL_NO, 'DATA' REWARD_TYPE, 300 REWARD_VALUE, 'MB' REWARD_UNIT, N'Hard level 25 reward data 300MB' REWARD_DESC FROM DUAL
  1303. UNION ALL
  1304. 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
  1305. UNION ALL
  1306. 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
  1307. UNION ALL
  1308. SELECT 30 LEVEL_NO, 'DATA' REWARD_TYPE, 380 REWARD_VALUE, 'MB' REWARD_UNIT, N'Hard level 30 reward data 380MB' REWARD_DESC FROM DUAL
  1309. UNION ALL
  1310. 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
  1311. UNION ALL
  1312. 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
  1313. UNION ALL
  1314. SELECT 35 LEVEL_NO, 'DATA' REWARD_TYPE, 450 REWARD_VALUE, 'MB' REWARD_UNIT, N'Hard level 35 reward data 450MB' REWARD_DESC FROM DUAL
  1315. UNION ALL
  1316. 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
  1317. UNION ALL
  1318. 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
  1319. UNION ALL
  1320. SELECT 40 LEVEL_NO, 'DATA' REWARD_TYPE, 520 REWARD_VALUE, 'MB' REWARD_UNIT, N'Hard level 40 reward data 520MB' REWARD_DESC FROM DUAL
  1321. UNION ALL
  1322. 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
  1323. UNION ALL
  1324. 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
  1325. UNION ALL
  1326. SELECT 45 LEVEL_NO, 'DATA' REWARD_TYPE, 600 REWARD_VALUE, 'MB' REWARD_UNIT, N'Hard level 45 reward data 600MB' REWARD_DESC FROM DUAL
  1327. UNION ALL
  1328. 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
  1329. UNION ALL
  1330. 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
  1331. UNION ALL
  1332. SELECT 50 LEVEL_NO, 'DATA' REWARD_TYPE, 750 REWARD_VALUE, 'MB' REWARD_UNIT, N'Hard level 50 reward data 750MB' REWARD_DESC FROM DUAL
  1333. UNION ALL
  1334. 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
  1335. UNION ALL
  1336. 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
  1337. ) cfg ON 1 = 1
  1338. WHERE m.MODE_CODE = 'HARD';
  1339. INSERT INTO GAME_MONTHLY_TICKET_RULE (TICKET_RULE_ID, MIN_SCORE, MAX_SCORE, TICKET_COUNT, STATUS)
  1340. VALUES (SEQ_GAME_MONTHLY_TICKET_RULE.NEXTVAL, 5000, 5999, 1, 1);
  1341. INSERT INTO GAME_MONTHLY_TICKET_RULE (TICKET_RULE_ID, MIN_SCORE, MAX_SCORE, TICKET_COUNT, STATUS)
  1342. VALUES (SEQ_GAME_MONTHLY_TICKET_RULE.NEXTVAL, 6000, 6999, 2, 1);
  1343. INSERT INTO GAME_MONTHLY_TICKET_RULE (TICKET_RULE_ID, MIN_SCORE, MAX_SCORE, TICKET_COUNT, STATUS)
  1344. VALUES (SEQ_GAME_MONTHLY_TICKET_RULE.NEXTVAL, 7000, 7999, 3, 1);
  1345. INSERT INTO GAME_MONTHLY_TICKET_RULE (TICKET_RULE_ID, MIN_SCORE, MAX_SCORE, TICKET_COUNT, STATUS)
  1346. VALUES (SEQ_GAME_MONTHLY_TICKET_RULE.NEXTVAL, 8000, 8999, 5, 1);
  1347. INSERT INTO GAME_MONTHLY_TICKET_RULE (TICKET_RULE_ID, MIN_SCORE, MAX_SCORE, TICKET_COUNT, STATUS)
  1348. VALUES (SEQ_GAME_MONTHLY_TICKET_RULE.NEXTVAL, 9000, 9999, 7, 1);
  1349. INSERT INTO GAME_MONTHLY_TICKET_RULE (TICKET_RULE_ID, MIN_SCORE, MAX_SCORE, TICKET_COUNT, STATUS)
  1350. VALUES (SEQ_GAME_MONTHLY_TICKET_RULE.NEXTVAL, 10000, NULL, 10, 1);
  1351. INSERT INTO GAME_MONTHLY_PRIZE_CONFIG (PRIZE_CONFIG_ID, PRIZE_CODE, PRIZE_NAME, PRIZE_VALUE, PRIZE_UNIT, QUANTITY, DISPLAY_ORDER, STATUS)
  1352. VALUES (SEQ_GAME_MONTHLY_PRIZE_CONFIG.NEXTVAL, 'FIRST', N'First Prize', 2000000, 'MMK', 1, 1, 1);
  1353. INSERT INTO GAME_MONTHLY_PRIZE_CONFIG (PRIZE_CONFIG_ID, PRIZE_CODE, PRIZE_NAME, PRIZE_VALUE, PRIZE_UNIT, QUANTITY, DISPLAY_ORDER, STATUS)
  1354. VALUES (SEQ_GAME_MONTHLY_PRIZE_CONFIG.NEXTVAL, 'SECOND', N'Second Prize', 500000, 'MMK', 1, 2, 1);
  1355. INSERT INTO GAME_MONTHLY_PRIZE_CONFIG (PRIZE_CONFIG_ID, PRIZE_CODE, PRIZE_NAME, PRIZE_VALUE, PRIZE_UNIT, QUANTITY, DISPLAY_ORDER, STATUS)
  1356. VALUES (SEQ_GAME_MONTHLY_PRIZE_CONFIG.NEXTVAL, 'THIRD', N'Third Prize', 200000, 'MMK', 2, 3, 1);
  1357. --------------------------------------------------------
  1358. -- SAMPLE REWARD LIMIT CONFIG
  1359. -- Bo comment va thay gia tri han muc theo doanh thu/ngan sach thuc te.
  1360. --------------------------------------------------------
  1361. -- Gioi han tong data tra thuong trong ngay, ap dung moi mode/moi level.
  1362. -- INSERT INTO GAME_REWARD_LIMIT_CONFIG
  1363. -- (
  1364. -- LIMIT_CONFIG_ID, LIMIT_CODE, LIMIT_NAME, PERIOD_TYPE, REWARD_TYPE, REWARD_UNIT,
  1365. -- MODE_ID, LEVEL_NO, MAX_TOTAL_VALUE, MAX_TOTAL_COUNT, PRIORITY, EXCEED_ACTION, STATUS
  1366. -- )
  1367. -- VALUES
  1368. -- (
  1369. -- SEQ_GAME_REWARD_LIMIT_CONFIG.NEXTVAL, 'DAILY_DATA_MB_ALL', N'Daily data MB limit all game',
  1370. -- 'DAILY', 'DATA', 'MB', NULL, NULL, 100000, NULL, 10, 'BLOCK', 1
  1371. -- );
  1372. -- Gioi han tong money tra thuong trong ngay, ap dung moi mode/moi level.
  1373. -- INSERT INTO GAME_REWARD_LIMIT_CONFIG
  1374. -- (
  1375. -- LIMIT_CONFIG_ID, LIMIT_CODE, LIMIT_NAME, PERIOD_TYPE, REWARD_TYPE, REWARD_UNIT,
  1376. -- MODE_ID, LEVEL_NO, MAX_TOTAL_VALUE, MAX_TOTAL_COUNT, PRIORITY, EXCEED_ACTION, STATUS
  1377. -- )
  1378. -- VALUES
  1379. -- (
  1380. -- SEQ_GAME_REWARD_LIMIT_CONFIG.NEXTVAL, 'DAILY_MONEY_MMK_ALL', N'Daily money MMK limit all game',
  1381. -- 'DAILY', 'MONEY', 'MMK', NULL, NULL, 5000000, NULL, 10, 'BLOCK', 1
  1382. -- );
  1383. -- Gioi han so lan trung MONEY trong ngay, khong gioi han tong gia tri.
  1384. -- INSERT INTO GAME_REWARD_LIMIT_CONFIG
  1385. -- (
  1386. -- LIMIT_CONFIG_ID, LIMIT_CODE, LIMIT_NAME, PERIOD_TYPE, REWARD_TYPE, REWARD_UNIT,
  1387. -- MODE_ID, LEVEL_NO, MAX_TOTAL_VALUE, MAX_TOTAL_COUNT, PRIORITY, EXCEED_ACTION, STATUS
  1388. -- )
  1389. -- VALUES
  1390. -- (
  1391. -- SEQ_GAME_REWARD_LIMIT_CONFIG.NEXTVAL, 'DAILY_MONEY_COUNT_ALL', N'Daily money reward count limit',
  1392. -- 'DAILY', 'MONEY', 'MMK', NULL, NULL, NULL, 100, 5, 'BLOCK', 1
  1393. -- );
  1394. COMMIT;
  1395. --------------------------------------------------------
  1396. -- END OF FILE
  1397. --------------------------------------------------------