| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 | 
							- <?php
 
- namespace app\index\controller;
 
- use think\Controller;
 
- use getusersig\getusersig;
 
- use tencentim\tencentim;
 
- use think\Db;
 
- use think\Cache;
 
- class Plantask extends Controller
 
- {
 
-     //代替公会的人发出第一句话
 
-     public function firstword_send()
 
-     {
 
-         //找出24小时内注册的男人
 
-         $map = [
 
-             'jointime' => ['gt',time()-86400],
 
-             'gender' => 1,
 
-             'gh_id'  => 0,
 
-         ];
 
-         $oneuser = Db::name('user')->where($map)->orderRaw('rand()')->value('id');
 
-         //dump($oneuser);
 
-         //找出公会的人
 
-         $map = [
 
-             'gh_id'  => ['gt',0],
 
-         ];
 
-         $ghuser = Db::name('user')->where($map)->orderRaw('rand()')->value('id');
 
-         //dump($ghuser);
 
-         //随机取出一句话
 
-         $oneword = Db::name('plantask_accost')->orderRaw('rand()')->value('title');
 
-         //dump($oneword);
 
-         //发送出去
 
-         $cache = Cache::connect(['type'=>'Redis']);
 
-         $times = $cache->get('plantask_first_word_'.$oneuser);
 
-         //dump($times);
 
-         if($times === false){
 
-             $times = 0;
 
-         }
 
-         if($times < 5){
 
-             $this->sendMessageToUser('test'.$ghuser,'test'.$oneuser,$oneword);
 
-             $cache->set('plantask_first_word_'.$oneuser, $times + 1);
 
-         }
 
-     }
 
-     //清空没用的redis
 
-     public function firstword_clear(){
 
-         $map = [
 
-             'jointime' => ['between',[time()-172800,time()-86400]],
 
-             'gender' => 1,
 
-             'gh_id'  => 0,
 
-         ];
 
-         $map = [];
 
-         $userlist = Db::name('user')->where($map)->order('id asc')->column('id');
 
-         if(empty($userlist)){
 
-             echo 'empty';
 
-             exit;
 
-         }
 
-         //清除
 
-         $cache = Cache::connect(['type'=>'Redis']);
 
-         foreach($userlist as $key => $val){
 
-             $cache->rm('plantask_first_word_'.$val);
 
-         }
 
-     }
 
-     /**
 
-      * 发送消息给某人-接口调用
 
-      */
 
-     public function sendToUser() {
 
-         $from_user = 'test8';// 发送者
 
-         $to_user = 'test13';// 接收者
 
-         $message = 'hello许犇';// 接收者
 
-         if(!$from_user || !$to_user || !$message) $this->error("参数缺失!");
 
-         $this->sendMessageToUser($from_user,$to_user,$message);
 
-     }
 
-     /**
 
-      * 发送消息给某人
 
-      */
 
- //https://console.tim.qq.com/v4/openim/sendmsg?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json
 
-     public function sendMessageToUser($from_user,$to_user,$message) {
 
- //        $from_user = 54;
 
- //        $to_user = 6;
 
- //        $message = "sdsd";
 
-         $random = rand(10000000,99999999);
 
-         $usersig = $this->usersig("administrator");
 
-         // 获取配置信息
 
-         $config = config("tencent_im");
 
-         $url = "https://console.tim.qq.com/v4/openim/sendmsg";
 
-         $url .= "?sdkappid=".$config["sdkappid"];
 
-         $url .= "&identifier=administrator";
 
-         $url .= "&usersig=".$usersig;
 
-         $url .= "&random=".$random;
 
-         $url .= "&contenttype=json";
 
-         $tencentObj = new tencentim($url);
 
-         $data = [];
 
-         $data["SyncOtherMachine"] = 1;
 
-         $data["From_Account"] = (string)$from_user;
 
-         $data["To_Account"] = (string)$to_user;
 
-         $data["MsgRandom"] = rand(1000000,9999999);
 
-         $data["MsgTimeStamp"] = time();
 
-         $data["MsgBody"][] = [
 
-             "MsgType" => "TIMTextElem",
 
-             "MsgContent" => [
 
-                 "Text"=> $message
 
-             ],
 
-         ];
 
-         $tencentObj->toSend($data);
 
-     }
 
-     /**
 
-      * 获取usersig签名-具体操作
 
-      */
 
-     private function usersig($user_id) {
 
-         // 获取配置信息
 
-         $config = config("tencent_im");
 
-         $usersigObj = new getusersig($config["sdkappid"],$config["key"]);
 
-         $usersig = $usersigObj->genUserSig($user_id);
 
-         return $usersig;
 
-     }
 
- }
 
 
  |