Index.php 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. use app\common\service\RoomService;
  5. use fast\Random;
  6. use think\Collection;
  7. use \think\Log;
  8. use Redis;
  9. use app\common\library\Sms as Smslib;
  10. use app\common\service\TenimService;
  11. use think\Db;
  12. use think\Cache;
  13. /**
  14. * 首页接口
  15. */
  16. class Index extends Api
  17. {
  18. protected $noNeedLogin = ['index','contactus','tcpTest','getAppShare','getWebsiteInfo','getUserCharmRankList',
  19. 'getPartyHotList','searchUsers','getInviteCode','getEdition','getiosEdition','getInviteImg','getWebsiteInfoForMini','getBankList',
  20. 'getSwitch','ageList','starList','bannerList','keyworldconfig','switchenum'];
  21. protected $noNeedRight = ['*'];
  22. /**
  23. * 首页
  24. *
  25. */
  26. /*public function index()
  27. {
  28. // 强制关闭需要退出正在房间的用户
  29. $tenim = new \app\api\controller\Tenim();
  30. $tenim->outMemberFromRoom(4);
  31. $this->success('请求成功');
  32. }*/
  33. /**
  34. * 财富首页
  35. */
  36. public function charmlevel(){
  37. //规则
  38. $rule = config('site.caifulevel_rule');
  39. $new_rule = [];
  40. foreach($rule as $title => $info){
  41. $new_rule[] = [
  42. 'title'=>$title,
  43. 'info'=>$info,
  44. ];
  45. }
  46. }
  47. /**
  48. * 获取主播魅力值排行
  49. */
  50. public function getUserCharmRankList() {
  51. $time = $this->request->request("time",0,"intval"); //时间筛选 1=小时榜,2=今日榜,3=本周榜,4=月榜
  52. if(!in_array($time,[1,2,3,4])) {
  53. $this->error("参数传入错误!");
  54. }
  55. $hour = strtotime(date("Y-m-d H:00:00"));
  56. $today = strtotime(date("Y-m-d 00:00:00"));
  57. $weekend = strtotime('monday this week');
  58. // $weekend = mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y"));
  59. $month = strtotime(date("Y-m-01 00:00:00"));
  60. // 剩余时间
  61. $thistime = time();
  62. switch ($time) {
  63. case 1:
  64. $redtime = 3600-($thistime - $hour);
  65. break;
  66. case 2:
  67. $redtime = 3600*24-($thistime - $today);
  68. break;
  69. case 3:
  70. $redtime = 3600*24*7-($thistime - $weekend);
  71. break;
  72. case 4:
  73. $monthend = mktime(23,59,59,date("m"),date("t"),date("Y"));
  74. $redtime = ($monthend - $month)-($thistime - $month);
  75. break;
  76. }
  77. $timeArr = [1=>$hour,2=>$today,3=>$weekend,4=>$month];
  78. $where = [];
  79. $where["a.createtime"] = ["gt",$timeArr[$time]];
  80. $list = \app\common\model\UserCharmRank::alias("a")
  81. ->field("a.party_id as id,sum(a.charm) as charm,u.avatar,u.nickname,u.gender,u.level,u.is_live")
  82. ->where($where)
  83. ->join("hx_user u","u.id = a.user_id",'LEFT')
  84. // ->join("hx_party p","p.user_id = a.user_id",'LEFT')
  85. ->group("a.user_id")
  86. ->order("charm","desc")
  87. ->limit(100)
  88. ->select();
  89. $data = [];
  90. $data["redtime"] = $redtime;
  91. $data["data"] = $list;
  92. $this->success("获取成功!",$data);
  93. }
  94. /**
  95. * 获取收礼排行
  96. */
  97. public function getUserGiftRank() {
  98. $time = $this->request->request("time",0,"intval"); //时间筛选 1=小时榜,2=今日榜,3=本周榜,4=月榜
  99. if(!in_array($time,[1,2,3,4])) {
  100. $this->error("参数传入错误!");
  101. }
  102. $hour = strtotime(date("Y-m-d H:00:00"));
  103. $today = strtotime(date("Y-m-d 00:00:00"));
  104. $weekend = strtotime('monday this week');
  105. $month = strtotime(date("Y-m-01 00:00:00"));
  106. // 剩余时间
  107. $thistime = time();
  108. switch ($time) {
  109. case 1:
  110. $redtime = 3600-($thistime - $hour);
  111. break;
  112. case 2:
  113. $redtime = 3600*24-($thistime - $today);
  114. break;
  115. case 3:
  116. $redtime = 3600*24*7-($thistime - $weekend);
  117. break;
  118. case 4:
  119. $monthend = mktime(23,59,59,date("m"),date("t"),date("Y"));
  120. $redtime = ($monthend - $month)-($thistime - $month);
  121. break;
  122. }
  123. $timeArr = [1=>$hour,2=>$today,3=>$weekend,4=>$month];
  124. $where = [];
  125. $where["a.createtime"] = ["gt",$timeArr[$time]];
  126. $list = model('GiftUserParty')->alias("a")
  127. ->field("sum(a.value) as total_price,a.user_to_id,u.avatar,u.nickname")
  128. ->where($where)
  129. ->join("hx_user u","u.id = a.user_to_id")
  130. ->group("a.user_to_id")
  131. ->order("total_price","desc")
  132. ->limit(100)
  133. ->select();
  134. $data = [];
  135. $data["redtime"] = $redtime;
  136. $data["data"] = $list;
  137. $this->success("获取成功!",$data);
  138. }
  139. /**
  140. * 获取消费排行
  141. */
  142. public function getUserPayRank() {
  143. $time = $this->request->request("time",0,"intval"); //时间筛选 1=小时榜,2=今日榜,3=本周榜,4=月榜
  144. if(!in_array($time,[1,2,3,4])) {
  145. $this->error("参数传入错误!");
  146. }
  147. $hour = strtotime(date("Y-m-d H:00:00"));
  148. $today = strtotime(date("Y-m-d 00:00:00"));
  149. $weekend = strtotime('monday this week');
  150. $month = strtotime(date("Y-m-01 00:00:00"));
  151. // 剩余时间
  152. $thistime = time();
  153. switch ($time) {
  154. case 1:
  155. $redtime = 3600-($thistime - $hour);
  156. break;
  157. case 2:
  158. $redtime = 3600*24-($thistime - $today);
  159. break;
  160. case 3:
  161. $redtime = 3600*24*7-($thistime - $weekend);
  162. break;
  163. case 4:
  164. $monthend = mktime(23,59,59,date("m"),date("t"),date("Y"));
  165. $redtime = ($monthend - $month)-($thistime - $month);
  166. break;
  167. }
  168. $timeArr = [1=>$hour,2=>$today,3=>$weekend,4=>$month];
  169. $where = [];
  170. $where["a.type"] = ["in",[0,2,3,5,6,13]];//查看wallet.php文件
  171. $where["a.createtime"] = ["gt",$timeArr[$time]];
  172. $list = model('UserJewelLog')->alias("a")
  173. ->field("sum(a.value) as total_price,a.user_id,u.avatar,u.nickname")
  174. ->where($where)
  175. ->join("hx_user u","u.id = a.user_id")
  176. ->group("a.user_id")
  177. ->order("total_price","desc")
  178. ->limit(100)
  179. ->select();
  180. $data = [];
  181. $data["redtime"] = $redtime;
  182. $data["data"] = $list;
  183. $this->success("获取成功!",$data);
  184. }
  185. /**
  186. * 获取派对热度排序
  187. */
  188. public function getPartyHotList() {
  189. // 剩余时间
  190. $thistime = time();
  191. $hour = strtotime(date("Y-m-d H:00:00"));
  192. $redtime = 3600-($thistime - $hour);
  193. $where = [];
  194. $where["a.createtime"] = ["gt",$hour];
  195. $where["p.room_type"] = 1;
  196. $list = \app\common\model\PartyHot::alias("a")
  197. ->field("sum(a.hot) as hot,p.id,u.avatar,p.party_name,p.party_logo")
  198. ->where($where)
  199. ->join("hx_party p","p.id = a.party_id")
  200. ->join("hx_user u","u.id = p.user_id")
  201. ->group("a.party_id")
  202. ->order("hot","desc")
  203. ->limit(100)
  204. ->select();
  205. $data = [];
  206. $data["redtime"] = $redtime;
  207. $data["data"] = $list;
  208. $this->success("获取成功!",$data);
  209. }
  210. /**
  211. * 首页搜索
  212. */
  213. public function searchUsers() {
  214. $search = $this->request->request("search"); //关键词筛选
  215. if(!$search) {
  216. $this->error("请输入搜索内容!");
  217. }
  218. // 搜索派对
  219. global $whereOr;
  220. $where = [];
  221. $whereOr["party_id"] = $search;
  222. $whereOr["party_name"] = ["like","%$search%"];
  223. $where["room_type"] = 1;
  224. $partyList = \app\common\model\Party::field("id,party_logo,party_id,party_name")
  225. ->where($where)
  226. ->where(function ($query) {
  227. global $whereOr;
  228. $query->whereOr($whereOr);
  229. })->order("party_hot","desc")->select();
  230. // 搜索直播间
  231. global $whereOrlive;
  232. $where = [];
  233. $whereOrlive["party_id"] = $search;
  234. $whereOrlive["party_name"] = ["like","%$search%"];
  235. $where["room_type"] = 2;
  236. $liveList = \app\common\model\Party::field("id,party_logo,party_id,party_name")
  237. ->where($where)
  238. ->where(function ($query) {
  239. global $whereOrlive;
  240. $query->whereOr($whereOrlive);
  241. })
  242. ->order("party_hot","desc")->select();
  243. // 相关用户
  244. $where = [];
  245. $where["a.nickname"] = ["like","%$search%"];
  246. $where["a.u_id"] = $search;
  247. $userList = \app\common\model\User::alias("a")->field("id,avatar,nickname,u_id,f.fans")
  248. ->join("hx_view_fans f","f.user_id = a.id","left")
  249. ->order("a.is_online,a.noble,a.level")
  250. ->whereOr($where)->select();
  251. $res = [];
  252. $res["partylist"] = $partyList;
  253. $res["livelist"] = $liveList;
  254. $res["userlist"] = $userList;
  255. $this->success("获取成功!",$res);
  256. }
  257. /**
  258. * 首页搜索
  259. */
  260. public function searchList() {
  261. $search = $this->request->request("search"); //关键词筛选
  262. if(!$search) {
  263. $this->error("请输入搜索内容!");
  264. }
  265. // 搜索房间(派对和直播)
  266. global $whereOr;
  267. $where = [];
  268. $whereOr["party_id"] = $search;
  269. $whereOr["party_name"] = ["like","%$search%"];
  270. //$where['is_online'] = 1;
  271. $where['is_close'] = 0;
  272. $where['status'] = 1;
  273. $partyList = \app\common\model\Party::field("id,room_type,party_logo,party_id,party_name,party_type")
  274. ->where($where)
  275. ->where(function ($query) {
  276. global $whereOr;
  277. $query->whereOr($whereOr);
  278. })->order("party_hot","desc")->select();
  279. $partyList = collection($partyList)->toArray();
  280. if (!empty($partyList)) {//在线信息
  281. $partyListIds = array_column($partyList,'id');
  282. /*$tenimService = new TenimService();
  283. $partyParams = ['party_ids'=>$partyListIds];
  284. $partyRes = $tenimService->getRoomUser($partyParams);*/
  285. /*if ($partyRes['status'] == 1) {
  286. }*/
  287. $roomService = new RoomService();
  288. foreach ($partyList as $pKey => &$pVal) {
  289. // 派对类型
  290. $partyTypeName = "普通房";
  291. if($pVal["party_type"]) {
  292. $partyTypeName = \app\common\model\PartyType::where(["id"=>$pVal["party_type"]])->value("name");
  293. }
  294. $mod = isset($pVal["party_type"])?intval($pVal["party_type"])%5:1;
  295. $pVal["party_type_color"] = $mod == 0?5:$mod;
  296. $pVal["type_name"] = $partyTypeName;
  297. $userDataResult = $roomService->getPartyUserList(['party_id'=>$pVal['id']]);
  298. $userDataRes = isset($userDataResult['data']) ? $userDataResult['data'] : [];
  299. $pVal['member_list'] = isset($userDataRes['member_list']) ? $userDataRes['member_list'] : [];
  300. $pVal['online_num'] = isset($userDataRes['online_num']) ? $userDataRes['online_num'] : [];
  301. }
  302. }
  303. // 家族
  304. $guildWhere['status'] = 1;
  305. $guildWhere['name'] = ["like","%$search%"];
  306. $guildList = model('Guild')->where($guildWhere)->with(['guildmember'=>function($gquery){
  307. $gquery->where(['status'=>1]);
  308. }])->field('id,g_id,name,image')->select();
  309. if (!empty($guildList)) {
  310. $userField = 'id,nickname,avatar';
  311. foreach ($guildList as $gKey => &$gVal) {
  312. $userData =[];
  313. if (isset($gVal['guildmember'])) {
  314. $memberUids = array_column($gVal['guildmember'],'user_id');
  315. $userWhere['is_online'] = 1;
  316. $userWhere['id'] = ['in',$memberUids];
  317. $userData = model('User')->field($userField)->where($userWhere)->select();
  318. }
  319. /*$mod = intval($gKey)%5;
  320. $pVal["party_type_color"] = $mod == 0?5:$mod;*/
  321. $gVal["party_type_color"] = 1;
  322. $gVal["type_name"] = '普通房';
  323. $gVal['member_list'] = $userData;
  324. $gVal['online_num'] = count($userData);
  325. unset($gVal['guildmember']);
  326. }
  327. }
  328. // 相关用户
  329. $where = [];
  330. $where["a.nickname"] = ["like","%$search%"];
  331. $where["a.u_id"] = $search;
  332. $userList = \app\common\model\User::alias("a")->field("id,avatar,nickname,u_id,f.fans")
  333. ->join("hx_view_fans f","f.user_id = a.id","left")
  334. ->order("a.is_online,a.noble,a.level")
  335. ->whereOr($where)->select();
  336. $res = [];
  337. $res["roomlist"] = $partyList;
  338. $res["guildlist"] = $guildList;
  339. $res["userlist"] = $userList;
  340. $this->success("获取成功!",$res);
  341. }
  342. /**
  343. * 获取银行列表
  344. */
  345. public function getBankList() {
  346. $this->success("获取成功!",["banklist"=>\app\common\model\Bank::select()]);
  347. }
  348. /**
  349. * 获取开关配置
  350. */
  351. public function getSwitch() {
  352. $this->success("获取成功!",["switch"=>config("site.switch")]);
  353. }
  354. /**
  355. * 星座列表
  356. * @return void
  357. */
  358. public function starList()
  359. {
  360. try {
  361. $field = 'id,name,image';
  362. $where['status'] = 1;
  363. $result = model('Constellation')->field($field)->where($where)->order('weigh asc')->select();
  364. if (!$result) {
  365. $result = list_domain_image($result,['image']);
  366. }
  367. $this->success('获取成功',$result);
  368. } catch (Exception $e) {
  369. $this->error($e->getMessage());
  370. }
  371. }
  372. //开关设置
  373. public function switchenum(){
  374. $rs = [
  375. 'alipay_switch' => config('site.alipay_switch'), //支付宝支付开关
  376. 'wechat_switch' => config('site.wechat_switch'), //微信支付开关
  377. 'recharge_switch' => config('site.recharge_switch'), //所有充值开关
  378. ];
  379. $this->success('success',$rs);
  380. }
  381. /////////////
  382. public function index(){
  383. echo 'apisuccess';
  384. exit;
  385. }
  386. //附近
  387. public function fujin(){
  388. $where = [
  389. 'user.id' => ['neq',$this->auth->id],
  390. 'user.status' => 1,
  391. 'user.city_id' => $this->auth->city_id,
  392. ];
  393. //排除黑名单的
  394. $where_black = [];
  395. $black_ids = Db::name('user_blacklist')->where(['user_id'=>$this->auth->id])->column('black_user_id');
  396. if(!empty($black_ids)){
  397. $where_black['user.id'] = ['NOTIN',$black_ids];
  398. }
  399. $field = [
  400. 'user.id',
  401. 'user.u_id',
  402. 'user.username',
  403. 'user.nickname',
  404. 'user.avatar',
  405. 'user.gender',
  406. 'user.desc',
  407. 'age.name as age_text',
  408. 'job.name as job_text',
  409. 'area.name as city_text',
  410. '(st_distance(point (' . $this->auth->longitude . ', ' . $this->auth->latitude . '),point(user.longitude,user.latitude))*111195) as distance',
  411. ];
  412. $list = Db::name('user')->alias('user')->field($field)
  413. ->join('age','user.age_id = age.id','LEFT')
  414. ->join('enum_job job','user.job_id = job.id','LEFT')
  415. ->join('shopro_area area','user.city_id = area.id','LEFT')
  416. ->where($where)
  417. ->where($where_black)
  418. ->order('distance asc')
  419. ->autopage()
  420. ->select();
  421. $list = list_domain_image($list,['avatar']);
  422. foreach($list as $key => &$val){
  423. $val['distance'] = bcdiv(intval($val['distance']),1000,1).'km';
  424. $val['is_follow'] = $this->is_follow($this->auth->id,$val['id']);
  425. $val['is_friend'] = $this->is_friend($this->auth->id,$val['id']);
  426. }
  427. $this->success(1,$list);
  428. }
  429. //同城
  430. public function samecity(){
  431. $where = [
  432. 'user.id' => ['neq',$this->auth->id],
  433. 'user.status' => 1,
  434. 'user.city_id' => $this->auth->city_id,
  435. ];
  436. //排除黑名单的
  437. $where_black = [];
  438. $black_ids = Db::name('user_blacklist')->where(['user_id'=>$this->auth->id])->column('black_user_id');
  439. if(!empty($black_ids)){
  440. $where_black['user.id'] = ['NOTIN',$black_ids];
  441. }
  442. $field = [
  443. 'user.id',
  444. 'user.u_id',
  445. 'user.username',
  446. 'user.nickname',
  447. 'user.avatar',
  448. 'user.gender',
  449. 'user.desc',
  450. 'age.name as age_text',
  451. 'job.name as job_text',
  452. 'area.name as city_text',
  453. ];
  454. $list = Db::name('user')->alias('user')->field($field)
  455. ->join('age age','user.age_id = age.id','LEFT')
  456. ->join('enum_job job','user.job_id = job.id','LEFT')
  457. ->join('shopro_area area','user.city_id = area.id','LEFT')
  458. ->where($where)
  459. ->where($where_black)
  460. ->autopage()
  461. ->select();
  462. $list = list_domain_image($list,['avatar']);
  463. $this->success(1,$list);
  464. }
  465. //匹配配置
  466. /*public function pipei_config(){
  467. $result = [
  468. 'index_pipei_switch' => config('site.index_pipei_switch'), //匹配开关
  469. ];
  470. //首页匹配每天每人匹配次数
  471. $user_id = $this->auth->id;
  472. $is_vip = $this->is_vip($this->auth->id);
  473. $times_limit = $is_vip == 1 ? config('site.pipei_oneday_vipuser_times') : config('site.index_pipei_oneday_user_times');
  474. $times_limit_redis = 'pipei_times_limit_'.$user_id;
  475. $user_times = Cache::get($times_limit_redis) ?: 0;
  476. if($times_limit > -1){
  477. $remain_times = $times_limit - $user_times;
  478. if($remain_times < 0){
  479. $remain_times = 0;
  480. }
  481. }else{
  482. $remain_times = -1;
  483. }
  484. $result['remain_times'] = $remain_times;
  485. $this->success(1,$result);
  486. }*/
  487. //匹配
  488. //做防止重复处理,参照荔枝
  489. //做用户在线处理,参照mita,用户不在线,用户语音视频中,用户房间内时,不能被匹配到
  490. public function pipei(){
  491. //首页匹配功能开关
  492. /*$index_pipei_switch = config('site.index_pipei_switch');
  493. if($index_pipei_switch != 1){
  494. $this->error('匹配功能维护中,请稍后再试');
  495. }*/
  496. //缓存,防重复
  497. $user_id = $this->auth->id;
  498. $user_id_redis = 'pipei_repeat_'.$user_id;
  499. $redis_ids = json_decode(Cache::get($user_id_redis),true);
  500. //首页匹配每天每人匹配次数
  501. /*$is_vip = $this->is_vip($this->auth->id);
  502. $times_limit = $is_vip == 1 ? config('site.pipei_oneday_vipuser_times') : config('site.index_pipei_oneday_user_times');
  503. $times_limit_redis = 'pipei_times_limit_'.$user_id;
  504. $user_times = Cache::get($times_limit_redis) ?: 0;
  505. if($times_limit > -1 && $user_times >= $times_limit){
  506. $this->error('今日已超匹配上限'.$times_limit.'次');
  507. }*/
  508. //where
  509. $where = [
  510. 'user.id' => ['neq',$this->auth->id],
  511. 'user.status' => 1,
  512. ];
  513. //性别
  514. $gender = input('gender','all');
  515. if($gender != 'all'){
  516. $where['user.gender'] = $gender;
  517. }
  518. //排除黑名单的
  519. $where_black = [];
  520. $black_ids = Db::name('user_blacklist')->where(['user_id'=>$this->auth->id])->column('black_user_id');
  521. if(!empty($black_ids)){
  522. $where_black['user.id'] = ['NOTIN',$black_ids];
  523. }
  524. //匹配一个
  525. $result = $this->pipei_action($redis_ids,$where,$where_black);
  526. //匹配不到,移除防重复
  527. if(!$result) {
  528. Cache::rm($user_id_redis);
  529. $redis_ids = [];
  530. $result = $this->pipei_action($redis_ids,$where,$where_black);
  531. }
  532. // 追加一个防重复
  533. if($result){
  534. if($redis_ids) {
  535. $redis_ids[] = $result;
  536. } else {
  537. $redis_ids = [$result];
  538. }
  539. Cache::set($user_id_redis,json_encode($redis_ids));
  540. //设置次数
  541. /*$second = strtotime(date('Y-m-d'))+86400 - time();
  542. Cache::set($times_limit_redis,$user_times+1,$second);*/
  543. }else{
  544. Cache::rm($user_id_redis);
  545. }
  546. $this->success(1,$result);
  547. }
  548. private function pipei_action($redis_ids,$where,$where_black){
  549. $where_op = [];
  550. if(!empty($redis_ids)){
  551. $where_op['user.id'] = ['NOTIN',$redis_ids];
  552. }
  553. $result = Db::name('user')->alias('user')
  554. // ->join('user_active active' ,'user.id = active.user_id','LEFT')
  555. ->where($where)
  556. ->where($where_op)
  557. ->where($where_black)
  558. ->orderRaw('rand()')
  559. ->value('user.id');
  560. return $result;
  561. }
  562. public function test(){
  563. //缓存,防重复
  564. $user_id = $this->auth->id;
  565. $user_id_redis = 'pipei_repeat_'.$user_id;
  566. $redis_ids = json_decode(Cache::get($user_id_redis),true);
  567. dump($redis_ids);
  568. $times_limit_redis = 'pipei_times_limit_'.$user_id;
  569. $user_times = Cache::get($times_limit_redis) ?: 0;
  570. dump($user_times);
  571. }
  572. public function testrm(){
  573. $user_id = $this->auth->id;
  574. $user_id_redis = 'pipei_repeat_'.$user_id;
  575. Cache::rm($user_id_redis);
  576. $times_limit_redis = 'pipei_times_limit_'.$user_id;
  577. Cache::rm($times_limit_redis);
  578. }
  579. }