Demo.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. use think\Db;
  5. use app\common\library\Uploadvideo;
  6. use app\utils\RedisKeyEnum;
  7. use app\utils\RedisUtil;
  8. /**
  9. * 示例接口
  10. */
  11. class Demo extends Api
  12. {
  13. //如果$noNeedLogin为空表示所有接口都需要登录才能请求
  14. //如果$noNeedRight为空表示所有接口都需要验证权限才能请求
  15. //如果接口已经设置无需登录,那也就无需鉴权了
  16. //
  17. // 无需登录的接口,*表示全部
  18. protected $noNeedLogin = ['*'];
  19. // 无需鉴权的接口,*表示全部
  20. protected $noNeedRight = ['test2'];
  21. /**
  22. * 测试方法
  23. *
  24. * @ApiTitle (测试名称)
  25. * @ApiSummary (测试描述信息)
  26. * @ApiMethod (POST)
  27. * @ApiRoute (/api/demo/test/id/{id}/name/{name})
  28. * @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
  29. * @ApiParams (name="id", type="integer", required=true, description="会员ID")
  30. * @ApiParams (name="name", type="string", required=true, description="用户名")
  31. * @ApiParams (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据")
  32. * @ApiReturnParams (name="code", type="integer", required=true, sample="0")
  33. * @ApiReturnParams (name="msg", type="string", required=true, sample="返回成功")
  34. * @ApiReturnParams (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据返回")
  35. * @ApiReturn ({
  36. 'code':'1',
  37. 'msg':'返回成功'
  38. })
  39. */
  40. public function test222(){
  41. $user_id = 2;
  42. $bind_jigou_id = 2;
  43. //机构得分记录
  44. $map = [
  45. 'user_id' => $user_id,
  46. 'is_right' => 1,
  47. 'jigou_id' => ['neq',$bind_jigou_id],
  48. ];
  49. $jigou = Db::name('user_question_log')->where($map)->column('jigou_id');
  50. if(empty($jigou)){
  51. return true;
  52. }
  53. dump($jigou);
  54. $jigou_data = array_count_values($jigou);
  55. dump($jigou_data);
  56. exit;
  57. //老机构减分。循环不会太多次
  58. foreach($jigou_data as $jigou_id => $times){
  59. Db::table('vote_jigou')->where(['id' => $jigou_id])->decrement(['score'=>$times]);
  60. }
  61. //新机构加分
  62. Db::table('vote_jigou')->where(['id' => $bind_jigou_id])->increment('score',count($jigou));
  63. //用户答题记录,都改成现在的机构id
  64. Db::table('user_question_log')->where(['user_id' => $user_id])->update(['jigou_id'=>$bind_jigou_id]);
  65. // Db::commit();
  66. Db::rollBack();
  67. echo '结束了';
  68. return;
  69. }
  70. public function test()
  71. {
  72. $params = [
  73. 'video_file' => '/uploads/20241101/b472251c04af8842b14f6c15a57fca9b.mp4',
  74. 'title' => '测试',
  75. ];
  76. $full_filepath = config('upload.cdnurl').$params['video_file'];
  77. $uploadvideo = new Uploadvideo();
  78. $res = $uploadvideo->testUploadWebVideo($full_filepath,$params['title']);
  79. $params['vodid'] = $res;
  80. }
  81. //因后缀问题被拒了
  82. public function test33()
  83. {
  84. $params = [
  85. 'video_file' => 'C:\Windows\Temp\php4F8B.tmp',
  86. 'title' => '测试'.rand(10,99),
  87. ];
  88. $full_filepath = $params['video_file'];
  89. $uploadvideo = new Uploadvideo();
  90. $res = $uploadvideo->testUploadLocalVideo($full_filepath,$params['title']);
  91. $params['vodid'] = $res;
  92. }
  93. /**
  94. * 无需登录的接口
  95. *
  96. */
  97. public function test1()
  98. {
  99. RedisUtil::getInstance('test'.date('Y-m-d'))->incrby_expire(3,86400);
  100. }
  101. /**
  102. * 需要登录的接口
  103. *
  104. */
  105. public function test2()
  106. {
  107. $data = [
  108. [
  109. 'id' => 1,
  110. 'answer' => 'A',
  111. ],
  112. [
  113. 'id' => 2,
  114. 'answer' => 'B',
  115. ],
  116. ];
  117. echo json_encode($data);
  118. }
  119. /**
  120. * 需要登录且需要验证有相应组的权限
  121. *
  122. */
  123. public function test3()
  124. {
  125. $this->success('返回成功', ['action' => 'test3']);
  126. }
  127. //一次注册15w用户
  128. public function testreg(){
  129. exit;
  130. $mobile_s = 19000100000;
  131. $mobile_e = 19000250000;
  132. $user = [];
  133. for($i=$mobile_s;$i<=$mobile_e;$i++){
  134. $user[] = $this->register($i);
  135. }
  136. Db::name('user')->insertAll($user);
  137. }
  138. public function register($mobile = '')
  139. {
  140. $ip = '127.0.0.1';
  141. $time = 1731554772;
  142. $data = [
  143. 'mobile' => $mobile,
  144. 'avatar' => '/uploads/20241105/47eb7f0430d48a73346b1630692e20ae.png',
  145. 'nickname' => $mobile,
  146. 'bind_jigou_id' => 1,
  147. 'bind_jigou_times' => 1,
  148. ];
  149. $params = array_merge($data, [
  150. 'jointime' => $time,
  151. 'joinip' => $ip,
  152. 'logintime' => $time,
  153. 'loginip' => $ip,
  154. 'prevtime' => $time,
  155. 'createtime' => $time,
  156. 'updatetime' => $time,
  157. 'status' => 1
  158. ]);
  159. return $params;
  160. }
  161. }