LotteryEventsTypeTry.class.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?php
  2. namespace Cas\Module;
  3. use KIF\Verify;
  4. use Cas\Dao\LotteryEvents;
  5. use KIF\Core\Config;
  6. use Cas\Dao\LotteryPrize;
  7. use KIF\Cache\Memcached;
  8. use KIF\Dao\SqlHelper;
  9. use Cas\Dao\LotteryPrizeVirtualData;
  10. use Cas\Dao\LotteryData;
  11. use Cas\Module\LotteryLog;
  12. use Cas\Dao\LotteryEventsLog as DLog;
  13. use Cas\Module\Lottery;
  14. use Cas\Dao\LotteryEventsLetters;
  15. use Cas\Dao\LotteryEventsUserLetters;
  16. use Cas\Dao\LotteryEventsUserPrizeData;
  17. use KIF\Data\ResultWrapper;
  18. use KIF\Core\Request;
  19. use Cas\Dao\LotteryEventsVote;
  20. use Cas\Dao\LotteryEventsVoteUserLog;
  21. use Cas\Dao\LotteryEventsTry;
  22. use Cas\Dao\LotteryUserExpress;
  23. use KIF\Dao\AbstractDao;
  24. /**
  25. *
  26. * 试用 [模型]
  27. *
  28. * @author lihuanchun
  29. */
  30. class LotteryEventsTypeTry {
  31. private $uid;
  32. private $events_id;
  33. private $objMlottery;
  34. private $objMLotteryLog;
  35. private $thisTime;
  36. private $objMLotteryEventsLimitations;
  37. private $objDLotteryEventsTry;
  38. private $objDLotteryUserExpress;
  39. public function __construct($uid=null , $events_id=null ) {
  40. $this->uid = $uid;
  41. $this->events_id = $events_id;
  42. $this->objMlottery = new Lottery();
  43. $this->objMLotteryLog = new LotteryLog($uid,$events_id);
  44. $this->thisTime = time();
  45. $this->objMLotteryEventsLimitations = new LotteryEventsLimitations();
  46. $this->objDLotteryEventsTry = new LotteryEventsTry();
  47. $this->objDLotteryUserExpress = new LotteryUserExpress();
  48. }
  49. /**
  50. * 获取当前“试用”信息
  51. */
  52. public function getEventsData(){
  53. return $this->objMlottery->getOneLotteryEvents($this->events_id);
  54. }
  55. /**
  56. * 申请试用
  57. */
  58. public function userTry(){
  59. $eventsData = $this->objMlottery->getOneLotteryEvents($this->events_id);
  60. # 活动是否开始
  61. if($this->thisTime < $eventsData['begin_time'] || $this->thisTime > $eventsData['end_time']){
  62. return ResultWrapper::fail('当前活动未开始');
  63. }
  64. # 活动的 用户行为限制
  65. if(!$this->objMLotteryEventsLimitations->ckEventRestrictions($this->uid,Request::ip(), $this->events_id)){
  66. return ResultWrapper::fail('您已提交过申请');
  67. }
  68. # 记录参与日志
  69. $other = array(
  70. 'postData' => $_POST,
  71. 'getData' => $_GET
  72. );
  73. $this->objMLotteryLog ->addLog(DLog::LOG_TYPE_PARTICIPATION, $other);
  74. return ResultWrapper::success('ok');
  75. }
  76. /**
  77. * 记录行为
  78. */
  79. public function setLimitations(){
  80. $this->objMLotteryEventsLimitations->setUserEventNum($this->uid, $this->events_id); // 记录用户参与UID(天)
  81. $this->objMLotteryEventsLimitations->setIpEventNum(Request::ip(), $this->events_id);// 记录用户参与IP(天)
  82. $this->objMLotteryEventsLimitations->setUserParticipationNum($this->uid, $this->events_id); // 记录用户参与次数
  83. # 记录"参与成功"日志
  84. $other = array();
  85. $this->objMLotteryLog ->addLog(DLog::LOG_TYPE_PARTICIPATION_TRUE, $other);
  86. # 记录"用户参与" other 表单内容
  87. $other = array(
  88. '表单内容:' => join(',', $_POST)
  89. );
  90. $this->objMLotteryLog ->addUserParticipateLog($other);
  91. }
  92. }