123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- <?php
- namespace app\api\controller;
- use app\common\controller\Api;
- use think\Db;
- use app\common\library\Uploadvideo;
- use app\utils\RedisKeyEnum;
- use app\utils\RedisUtil;
- /**
- * 示例接口
- */
- class Demo extends Api
- {
- //如果$noNeedLogin为空表示所有接口都需要登录才能请求
- //如果$noNeedRight为空表示所有接口都需要验证权限才能请求
- //如果接口已经设置无需登录,那也就无需鉴权了
- //
- // 无需登录的接口,*表示全部
- protected $noNeedLogin = ['*'];
- // 无需鉴权的接口,*表示全部
- protected $noNeedRight = ['test2'];
- /**
- * 测试方法
- *
- * @ApiTitle (测试名称)
- * @ApiSummary (测试描述信息)
- * @ApiMethod (POST)
- * @ApiRoute (/api/demo/test/id/{id}/name/{name})
- * @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
- * @ApiParams (name="id", type="integer", required=true, description="会员ID")
- * @ApiParams (name="name", type="string", required=true, description="用户名")
- * @ApiParams (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据")
- * @ApiReturnParams (name="code", type="integer", required=true, sample="0")
- * @ApiReturnParams (name="msg", type="string", required=true, sample="返回成功")
- * @ApiReturnParams (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据返回")
- * @ApiReturn ({
- 'code':'1',
- 'msg':'返回成功'
- })
- */
- public function test222(){
- $user_id = 2;
- $bind_jigou_id = 2;
- //机构得分记录
- $map = [
- 'user_id' => $user_id,
- 'is_right' => 1,
- 'jigou_id' => ['neq',$bind_jigou_id],
- ];
- $jigou = Db::name('user_question_log')->where($map)->column('jigou_id');
- if(empty($jigou)){
- return true;
- }
- dump($jigou);
- $jigou_data = array_count_values($jigou);
- dump($jigou_data);
- exit;
- //老机构减分。循环不会太多次
- foreach($jigou_data as $jigou_id => $times){
- Db::table('vote_jigou')->where(['id' => $jigou_id])->decrement(['score'=>$times]);
- }
- //新机构加分
- Db::table('vote_jigou')->where(['id' => $bind_jigou_id])->increment('score',count($jigou));
- //用户答题记录,都改成现在的机构id
- Db::table('user_question_log')->where(['user_id' => $user_id])->update(['jigou_id'=>$bind_jigou_id]);
- // Db::commit();
- Db::rollBack();
- echo '结束了';
- return;
- }
- public function test()
- {
- $params = [
- 'video_file' => '/uploads/20241101/b472251c04af8842b14f6c15a57fca9b.mp4',
- 'title' => '测试',
- ];
- $full_filepath = config('upload.cdnurl').$params['video_file'];
- $uploadvideo = new Uploadvideo();
- $res = $uploadvideo->testUploadWebVideo($full_filepath,$params['title']);
- $params['vodid'] = $res;
- }
- //因后缀问题被拒了
- public function test33()
- {
- $params = [
- 'video_file' => 'C:\Windows\Temp\php4F8B.tmp',
- 'title' => '测试'.rand(10,99),
- ];
- $full_filepath = $params['video_file'];
- $uploadvideo = new Uploadvideo();
- $res = $uploadvideo->testUploadLocalVideo($full_filepath,$params['title']);
- $params['vodid'] = $res;
- }
- /**
- * 无需登录的接口
- *
- */
- public function test1()
- {
- RedisUtil::getInstance('test'.date('Y-m-d'))->incrby_expire(3,86400);
- }
- /**
- * 需要登录的接口
- *
- */
- public function test2()
- {
- $data = [
- [
- 'id' => 1,
- 'answer' => 'A',
- ],
- [
- 'id' => 2,
- 'answer' => 'B',
- ],
- ];
- echo json_encode($data);
- }
- /**
- * 需要登录且需要验证有相应组的权限
- *
- */
- public function test3()
- {
- $this->success('返回成功', ['action' => 'test3']);
- }
- //一次注册15w用户
- public function testreg(){
- exit;
- $mobile_s = 19000100000;
- $mobile_e = 19000250000;
- $user = [];
- for($i=$mobile_s;$i<=$mobile_e;$i++){
- $user[] = $this->register($i);
- }
- Db::name('user')->insertAll($user);
- }
- public function register($mobile = '')
- {
- $ip = '127.0.0.1';
- $time = 1731554772;
- $data = [
- 'mobile' => $mobile,
- 'avatar' => '/uploads/20241105/47eb7f0430d48a73346b1630692e20ae.png',
- 'nickname' => $mobile,
- 'bind_jigou_id' => 1,
- 'bind_jigou_times' => 1,
- ];
- $params = array_merge($data, [
- 'jointime' => $time,
- 'joinip' => $ip,
- 'logintime' => $time,
- 'loginip' => $ip,
- 'prevtime' => $time,
- 'createtime' => $time,
- 'updatetime' => $time,
- 'status' => 1
- ]);
- return $params;
- }
- }
|