Campaign.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. <?php
  2. /**
  3. * Created by: PhpStorm
  4. * User: lytian
  5. * Date: 2019/10/31
  6. * Time: 14:44
  7. */
  8. namespace app\api\controller;
  9. use app\common\controller\Api;
  10. use app\common\library\Redis;
  11. use app\main\constants\CampaignConstants;
  12. use app\main\service\MyScene;
  13. use app\common\service\CampaignService;
  14. use app\main\service\UserService;
  15. use think\Request;
  16. class Campaign extends Api
  17. {
  18. public function _initialize()
  19. {
  20. parent::_initialize();
  21. }
  22. /**
  23. * 打卡
  24. */
  25. public function sign()
  26. {
  27. //$myScene1 = MyScene::getInstance(1, 1);
  28. //$result = $myScene1->sign();
  29. //$result = $myScene1->cSign();
  30. $match_id = Request::instance()->param('matchId', 0);
  31. $userInfo = UserService::instance()->getUserInfo();
  32. $myScene = MyScene::getInstance($userInfo->id, $match_id);
  33. $result = $myScene->sign();
  34. $this->success('请求成功', $result);
  35. }
  36. /**
  37. * 补卡
  38. */
  39. public function csign()
  40. {
  41. $match_id = Request::instance()->param('match_id', 0);
  42. $userInfo = UserService::instance()->getUserInfo();
  43. $myScene = MyScene::getInstance($userInfo->id, $match_id);
  44. $result = $myScene->cSign();
  45. $this->success('请求成功', $result);
  46. }
  47. /**
  48. * 报名
  49. * wud
  50. */
  51. public function checkIn(){
  52. $match_id = Request::instance()->param('match_id', 0);
  53. $userInfo = UserService::instance()->getUserInfo();
  54. $args['activeId'] = Request::instance()->param('activeId', 0);
  55. $args['matchDate'] = Request::instance()->param('matchDate', 0);
  56. $args['matchId'] = Request::instance()->param('matchId', 0);
  57. $args['kandian'] = Request::instance()->param('kandian', 0);
  58. $args['readNumber'] = Request::instance()->param('readNumber', 0);
  59. $args['activeName'] = Request::instance()->param('activeName', 0);
  60. $args['realKandian'] = $userInfo->kandian;
  61. $args['nickname'] = $userInfo->nickname;
  62. $args['avatar'] = $userInfo->avatar;
  63. $args['openid'] = $userInfo->openid;
  64. $args['channel_id'] = $userInfo->channel_id;
  65. $key = $userInfo->id.$match_id;
  66. if ( $this->addLock($key) ) {
  67. $result = CampaignService::instance()->checkIn($userInfo->id, $args);
  68. $this->delLock($key);
  69. $this->success('成功',$result);
  70. }else{
  71. $this->success('请勿频繁操作');
  72. }
  73. }
  74. /**
  75. * 领奖
  76. * wud
  77. */
  78. public function getReward(){
  79. $userInfo = UserService::instance()->getUserInfo();
  80. $args['matchId'] = Request::instance()->param('matchId', 0);
  81. $args['matchDate'] = Request::instance()->param('matchDate', 0);
  82. $args['kandian'] = Request::instance()->param('kandian', 0);
  83. $args['activeId'] = Request::instance()->param('activeId', 1);
  84. $key = $userInfo->id.$args['matchId'];
  85. if ( $this->addLock($key) ){
  86. $result = CampaignService::instance()->getReward($userInfo->id, $args);
  87. $this->delLock($key);
  88. $this->success('成功', $result);
  89. }
  90. $this->success('请勿频繁操作');
  91. }
  92. public function awardInit()
  93. {
  94. $date = Request::instance()->param('date', 0);
  95. CampaignService::instance()->awardInit($date);
  96. echo '计算成功';
  97. }
  98. /**
  99. * 加锁
  100. */
  101. public function addLock( $key ){
  102. $key = CampaignConstants::CAMPAIGN_USER_ONLY.$key;
  103. $res = Redis::instance()->setnx( $key, 1 );
  104. if ( $res ){
  105. Redis::instance()->expire( $key,3);
  106. }
  107. return $res;
  108. }
  109. /**
  110. * 解锁
  111. */
  112. public function delLock( $key ){
  113. $key = CampaignConstants::CAMPAIGN_USER_ONLY.$key;
  114. Redis::instance()->del( $key );
  115. return;
  116. }
  117. public function updateUserMatchTest(){
  118. $args['user_id'] = Request::instance()->param('user_id', 0);
  119. $args['match_date'] = Request::instance()->param('match_date', 0);
  120. $args['kandian'] = Request::instance()->param('kandian', 0);
  121. $args['num'] = Request::instance()->param('num', 0);
  122. $args['status'] = Request::instance()->param('status', 0);
  123. $args['is_again'] = Request::instance()->param('is_again', 0);
  124. $args['match_id'] = Request::instance()->param('match_id', 0);
  125. $args['id'] = Request::instance()->param('id', 0);
  126. dump($args);
  127. echo $args['user_id']%512;
  128. if ( !$args['user_id'] || !$args['match_date'] || !$args['kandian'] || !$args['id'] ){
  129. dump('id user_id match_date kandian ----参数不能为空');
  130. exit;
  131. }
  132. $res = CampaignService::instance()->updateUserMatchTest($args);
  133. dump($res);
  134. }
  135. }