LotteryEvents.class.php 10 KB

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