LotteryEvents.class.php 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532
  1. <?php
  2. namespace Cas\Dao;
  3. use KIF\Dao\DBAgileDev;
  4. /**
  5. *
  6. * 活动表
  7. *
  8. * @author lihuanchun@qq.com
  9. *
  10. */
  11. class LotteryEvents extends DBAgileDev {
  12. protected $tableName = 'lottery_events';
  13. /**
  14. * 数据库里的真实字段
  15. * @var array
  16. */
  17. protected $other_field = array(
  18. 'events_name',
  19. 'begin_time',
  20. 'end_time',
  21. 'platform_ids',
  22. 'operator_uid',
  23. 'list_display',
  24. 'display', // 是否显示
  25. 'type',// 活动类型 转盘 ... ...
  26. 'del' // 是否被删除
  27. );
  28. /**
  29. * EVENT_DISPLAY_SHOW 发布
  30. * @var int
  31. */
  32. const EVENT_DISPLAY_SHOW = 1;
  33. /**
  34. * EVENT_DISPLAY_HIDE 停用
  35. * @var int
  36. */
  37. const EVENT_DISPLAY_HIDE = 0;
  38. /**
  39. * EVENT_DISPLAY_UNFINISHED 未设置完成
  40. * @var int
  41. */
  42. const EVENT_DISPLAY_UNFINISHED = 2;
  43. public static $display= array(
  44. self::EVENT_DISPLAY_SHOW => array(
  45. 'desc' => '发布',
  46. 'kw' => 'EVENT_DISPLAY_SHOW',
  47. ),
  48. self::EVENT_DISPLAY_HIDE => array(
  49. 'desc' => '停用',
  50. 'kw' => 'EVENT_DISPLAY_HIDE',
  51. ),
  52. self::EVENT_DISPLAY_UNFINISHED => array(
  53. 'desc' => '未设置完成',
  54. 'kw' => 'EVENT_DISPLAY_UNFINISHED',
  55. ),
  56. );
  57. /**
  58. * 活动发布状态
  59. * @return array
  60. */
  61. public static function getDisplay() {
  62. return self::$display;
  63. }
  64. /**
  65. * LIST_DISPLAY_HIDE 列表中隐藏
  66. * @var int
  67. */
  68. const LIST_DISPLAY_HIDE = 0;
  69. /**
  70. * LIST_DISPLAY_SHOW 列表中显示
  71. * @var int
  72. */
  73. const LIST_DISPLAY_SHOW = 1;
  74. public static $listDisplay= array(
  75. self::LIST_DISPLAY_HIDE => array(
  76. 'desc' => '不出现',
  77. 'kw' => 'LIST_DISPLAY_HIDE',
  78. ),
  79. self::LIST_DISPLAY_SHOW => array(
  80. 'desc' => '出现',
  81. 'kw' => 'LIST_DISPLAY_SHOW',
  82. )
  83. );
  84. /**
  85. * 活动列表中显示状态
  86. * @return array
  87. */
  88. public static function getListDisplay() {
  89. return self::$listDisplay;
  90. }
  91. /**
  92. * NOT_DEL 未删除
  93. * @var int
  94. */
  95. const NOT_DEL = 1;
  96. /**
  97. * IS_NOT_DEL 已删除
  98. * @var int
  99. */
  100. const IS_DEL = 2;
  101. public static $del= array(
  102. self::NOT_DEL => array(
  103. 'desc' => '未删除',
  104. 'kw' => 'NOT_DEL',
  105. ),
  106. self::IS_DEL => array(
  107. 'desc' => '已删除',
  108. 'kw' => 'IS_DEL',
  109. )
  110. );
  111. /**
  112. * 获取活动是否被管理员删除状态
  113. * @return array
  114. */
  115. public static function getDel() {
  116. return self::$del;
  117. }
  118. /**
  119. * EVENT_AUTHORIZE_TRUE 需要登录
  120. * @var int
  121. */
  122. const EVENT_AUTHORIZE_TRUE = 1;
  123. /**
  124. * EVENT_AUTHORIZE_FALSE 不需要登录
  125. * @var int
  126. */
  127. const EVENT_AUTHORIZE_FALSE = 0;
  128. public static $authorize= array(
  129. self::EVENT_AUTHORIZE_TRUE => array(
  130. 'desc' => '需要登录',
  131. 'kw' => 'EVENT_AUTHORIZE_TRUE',
  132. ),
  133. self::EVENT_AUTHORIZE_FALSE => array(
  134. 'desc' => '不需要登录',
  135. 'kw' => 'EVENT_AUTHORIZE_FALSE',
  136. ),
  137. );
  138. /**
  139. * 是否需要登录
  140. * @return array
  141. */
  142. public static function getAuthorize() {
  143. return self::$authorize;
  144. }
  145. /**
  146. * MUSIC_POSITION_LEFT 左上角
  147. * @var int
  148. */
  149. const MUSIC_POSITION_LEFT = 0;
  150. /**
  151. * MUSIC_POSITION_RIGHT 右上角
  152. * @var int
  153. */
  154. const MUSIC_POSITION_RIGHT = 1;
  155. public static $musicPosition = array(
  156. self::MUSIC_POSITION_LEFT=> array(
  157. 'desc' => '左上角',
  158. 'kw' => 'MUSIC_POSITION_LEFT',
  159. ),
  160. self::MUSIC_POSITION_RIGHT=> array(
  161. 'desc' => '右上角',
  162. 'kw' => 'MUSIC_POSITION_RIGHT',
  163. ),
  164. );
  165. /**
  166. * 音乐图标位置
  167. * @return array
  168. */
  169. public static function getMusicPosition() {
  170. return self::$musicPosition;
  171. }
  172. /**
  173. * TYPE_EVENTS_NULL 未设置
  174. * @var int
  175. */
  176. const TYPE_EVENTS_NULL = 0;
  177. /**
  178. * TYPE_EVENTS_TURNTABLE 转盘
  179. * @var int
  180. */
  181. const TYPE_EVENTS_TURNTABLE = 1;
  182. /**
  183. * TYPE_EVENTS_SCRATCH 刮刮卡
  184. * @var int
  185. */
  186. const TYPE_EVENTS_SCRATCH = 2;
  187. /**
  188. * TYPE_EVENTS_LETTERS 收集字母
  189. * @var int
  190. */
  191. const TYPE_EVENTS_LETTERS = 3;
  192. /**
  193. * TYPE_EVENTS_TRY 试用
  194. * @var int
  195. */
  196. const TYPE_EVENTS_TRY = 4;
  197. /**
  198. * TYPE_EVENTS_VOTE 投票
  199. * @var int
  200. */
  201. const TYPE_EVENTS_VOTE = 5;
  202. /**
  203. * TYPE_EVENTS_INVITATION 邀请函
  204. * @var int
  205. */
  206. const TYPE_EVENTS_INVITATION = 6;
  207. /**
  208. * TYPE_EVENTS_CODE 领券
  209. * @var int
  210. */
  211. const TYPE_EVENTS_CODE = 7;
  212. /**
  213. * TYPE_EVENTS_OTHER 其他
  214. * @var int
  215. */
  216. const TYPE_EVENTS_OTHER = 8;
  217. /**
  218. * TYPE_EVENTS_ARTICLE 文章
  219. * @var int
  220. */
  221. const TYPE_EVENTS_ARTICLE = 9;
  222. /**
  223. * TYPE_EVENTS_CUT_SCREEN 切屏专题
  224. * @var int
  225. */
  226. const TYPE_EVENTS_CUT_SCREEN = 10;
  227. /**
  228. * TYPE_EVENTS_SURVEY 问卷调查
  229. * @var int
  230. */
  231. const TYPE_EVENTS_SURVEY = 11;
  232. public static $type = array(
  233. // self::TYPE_EVENTS_NULL => array(
  234. // 'desc' => '未设置',
  235. // 'kw' => 'TYPE_EVENTS_NULL',
  236. // ),
  237. self::TYPE_EVENTS_TURNTABLE => array(
  238. 'desc' => '抽奖',
  239. 'kw' => 'TYPE_EVENTS_TURNTABLE',
  240. 'lottery' => true,
  241. 'restrictions' => true,
  242. 'pageRoutine' => true,
  243. 'c' => 'EventsTurntable',
  244. ),
  245. // self::TYPE_EVENTS_SCRATCH => array(
  246. // 'desc' => '刮刮卡',
  247. // 'kw' => 'TYPE_EVENTS_SCRATCH',
  248. // 'lottery' => true,
  249. // 'restrictions' => true,
  250. // 'pageRoutine' => true,
  251. // 'c' => 'EventsScratch',
  252. // ),
  253. // self::TYPE_EVENTS_LETTERS => array(
  254. // 'desc' => '收集字母',
  255. // 'kw' => 'TYPE_EVENTS_LETTERS',
  256. // 'lottery' => true,
  257. // 'restrictions' => true,
  258. // 'pageRoutine' => true,
  259. // 'c' => 'EventsLetters',
  260. // ),
  261. self::TYPE_EVENTS_TRY => array(
  262. 'desc' => '试用',
  263. 'kw' => 'TYPE_EVENTS_TRY',
  264. 'form' => true,
  265. 'restrictions' => true,
  266. 'pageRoutine' => true,
  267. 'c' => 'EventsTry',
  268. ),
  269. self::TYPE_EVENTS_VOTE => array(
  270. 'desc' => '投票',
  271. 'kw' => 'TYPE_EVENTS_VOTE',
  272. 'vote' => true,
  273. 'restrictions' => true,
  274. 'pageRoutine' => true,
  275. 'c' => 'EventsVote',
  276. ),
  277. self::TYPE_EVENTS_INVITATION => array(
  278. 'desc' => '邀请函',
  279. 'kw' => 'TYPE_EVENTS_INVITATION',
  280. 'form' => true,
  281. 'restrictions' => true,
  282. 'pageRoutine' => true,
  283. 'c' => 'EventsInvitation',
  284. ),
  285. self::TYPE_EVENTS_CODE => array(
  286. 'desc' => '优惠券',
  287. 'kw' => 'TYPE_EVENTS_CODE',
  288. 'form' => true,
  289. 'code' => true,
  290. 'restrictions' => true,
  291. 'pageRoutine' => true,
  292. 'c' => 'EventsCode',
  293. ),
  294. self::TYPE_EVENTS_ARTICLE => array(
  295. 'desc' => '文章',
  296. 'kw' => 'TYPE_EVENTS_ARTICLE',
  297. 'article' =>true,
  298. 'c' => 'EventsArticle',
  299. ),
  300. self::TYPE_EVENTS_CUT_SCREEN => array(
  301. 'desc' => '切屏专题',
  302. 'kw' => 'TYPE_EVENTS_CUT_SCREEN',
  303. 'cut_screen' => true,
  304. 'c' => 'EventsCutScreen',
  305. ),
  306. self::TYPE_EVENTS_OTHER => array(
  307. 'desc' => '链接',
  308. 'kw' => 'TYPE_EVENTS_OTHER',
  309. 'jumpUrl' => true,
  310. 'c' => 'EventsOther',
  311. ),
  312. self::TYPE_EVENTS_SURVEY => array(
  313. 'desc' => '问卷调查',
  314. 'kw' => 'TYPE_EVENTS_SURVEY',
  315. 'form' => true,
  316. 'restrictions' => true,
  317. 'pageRoutine' => true,
  318. 'c' => 'EventsSurvey',
  319. ),
  320. );
  321. /**
  322. * 获取活动路由规则
  323. */
  324. static public function getEventRoute(){
  325. return array(
  326. 'a' => 'EventsTurntable',
  327. 'b' => 'EventsScratch',
  328. 'c' => 'EventsTry',
  329. 'd' => 'EventsVote',
  330. 'e' => 'EventsInvitation',
  331. 'f' => 'EventsCode',
  332. 'g' => 'EventsArticle',
  333. 'h' => 'EventsCutScreen',
  334. 'y' => 'EventsOther',
  335. 'z' => 'EventsSurvey'
  336. );
  337. }
  338. /**
  339. * 活动 大类型 配置
  340. *
  341. * @retrun array
  342. */
  343. public function getBigTypeConfig(){
  344. return array(
  345. 'H5' => array(
  346. self::TYPE_EVENTS_ARTICLE,
  347. ),
  348. 'Event' => array(
  349. self::TYPE_EVENTS_TURNTABLE,
  350. // self::TYPE_EVENTS_SCRATCH,
  351. self::TYPE_EVENTS_TRY,
  352. self::TYPE_EVENTS_SURVEY,
  353. self::TYPE_EVENTS_VOTE,
  354. self::TYPE_EVENTS_INVITATION,
  355. self::TYPE_EVENTS_CODE
  356. ),
  357. 'Article' => array(
  358. self::TYPE_EVENTS_CUT_SCREEN,
  359. )
  360. );
  361. }
  362. public function getBigType($type) {
  363. $bigTypes = self::getBigTypeConfig();
  364. if (!$bigTypes) {
  365. return false;
  366. }
  367. foreach ($bigTypes as $bigType => $tmpTypes) {
  368. if (!in_array($type, $tmpTypes)) {
  369. continue;
  370. }
  371. return $bigType;
  372. }
  373. return false;
  374. }
  375. /**
  376. * 获取活动类型
  377. * @return array
  378. */
  379. public static function getType() {
  380. return self::$type;
  381. }
  382. /**
  383. * [领券活动] 是否是二维码输出 [是]
  384. */
  385. const TWO_DIMENSIONAL_CODE_TRUE = 1;
  386. /**
  387. * [领券活动] 是否是二维码输出 [否]
  388. */
  389. const TWO_DIMENSIONAL_CODE_FALSE = 2;
  390. public static $twoDimensionalCodeType= array(
  391. self::TWO_DIMENSIONAL_CODE_TRUE => array(
  392. 'desc' => '是',
  393. 'kw' => 'TWO_DIMENSIONAL_CODE_TRUE',
  394. ),
  395. self::TWO_DIMENSIONAL_CODE_FALSE => array(
  396. 'desc' => '否',
  397. 'kw' => 'TWO_DIMENSIONAL_CODE_FALSE',
  398. ),
  399. );
  400. /**
  401. * 获取 [领券活动] 是否是二维码输出 类型
  402. * @return array
  403. */
  404. public static function getTwoDimensionalCodeType() {
  405. return self::$twoDimensionalCodeType;
  406. }
  407. /**
  408. * EVENT_VOTE_TEXT [投票活动] 文字类型
  409. * @var int
  410. */
  411. const EVENT_VOTE_TEXT = 1;
  412. /**
  413. * EVENT_VOTE_IMG [投票活动]图文类型
  414. * @var int
  415. */
  416. const EVENT_VOTE_IMG = 2;
  417. public static $voteType= array(
  418. self::EVENT_VOTE_TEXT => array(
  419. 'desc' => '文字类型',
  420. 'kw' => 'EVENT_VOTE_TEXT',
  421. ),
  422. self::EVENT_VOTE_IMG => array(
  423. 'desc' => '图文类型',
  424. 'kw' => 'EVENT_VOTE_IMG',
  425. ),
  426. );
  427. /**
  428. * 获取 [投票活动]类型
  429. * @return array
  430. */
  431. public static function getVoteType() {
  432. return self::$voteType;
  433. }
  434. /**
  435. * DELIVERY_FALSE [未发货]
  436. * @var int
  437. */
  438. const DELIVERY_FALSE = 1;
  439. /**
  440. * DELIVERY_TRUE [已经发货]
  441. * @var int
  442. */
  443. const DELIVERY_TRUE = 2;
  444. public static $deliveryType= array(
  445. self::DELIVERY_FALSE => array(
  446. 'desc' => '未发货',
  447. 'kw' => 'DELIVERY_FALSE',
  448. ),
  449. self::DELIVERY_TRUE => array(
  450. 'desc' => '已经发货',
  451. 'kw' => 'DELIVERY_TRUE',
  452. ),
  453. );
  454. /**
  455. * 获取 发货状态
  456. * @return array
  457. */
  458. public static function getDeliveryType() {
  459. return self::$deliveryType;
  460. }
  461. }