| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Titan 名字就是密码
- * Date: 2019/12/12
- * Time: 10:25
- */
- namespace app\index\controller;
- use think\Controller;
- use think\Db;
- use think\Request;
- class Message extends Controller
- {
- public function zanCount(Request $request)
- {
- $status = $request->param("status");
- $p_id = $request->param("p_id");
- $g_id = $request->param("g_id");
- $no = $request->param("no");
- $openid = $request->param("openid");
- if($status == 1){
- $data = ["g_id"=>$g_id,"p_id"=>$p_id,"openid"=>$openid,"no"=>$no];
- $find = Db::name("zan")->where(["g_id"=>$g_id,"p_id"=>$p_id,"openid"=>$openid,"no"=>$no])->find();
- if(!$find){
- $zan = Db::name("zan")->insert($data);
- if($zan > 0){
- $update = Db::name("messages")->where(["g_id"=>$g_id,"p_id"=>$p_id,"no"=>$no])->inc("zanCounts")->update();
- if($update >0){
- return json(["result"=>1,"msg"=>"点赞成功"]);
- }else{
- return json(["result"=>0,"msg"=>"点赞失败"]);
- }
- }else{
- return json(["result"=>0,"msg"=>"点赞失败"]);
- }
- }else{
- return json(["result"=>0,"msg"=>"点赞失败"]);
- }
- }else{
- $delete = Db::name("zan")->where(["g_id"=>$g_id,"no"=>$no,"p_id"=>$p_id,"openid"=>$openid])->delete();
- if($delete >0 ){
- $update = Db::name("messages")->where(["g_id"=>$g_id,"p_id"=>$p_id,"no"=>$no])->dec("zanCounts")->update();
- if($update >0){
- return json(['result'=>1,"msg"=>"取消点赞成功"]);
- }else{
- return json(['result'=>0,"msg"=>"取消点赞失败"]);
- }
- }else{
- return json(["result"=>0,"msg"=>"取消点赞失败"]);
- }
- }
- }
- public function topMessages(Request $request)
- {
- $id = $request->param("id");
- $type = $request->param("type");
- if($type == 1){
- $result = Db::name("messages")->where(["p_id"=>$id])->update(["isTop"=>1]);
- if($result >0 ){
- return json(["result"=>1,"msg"=>"置顶成功"]);
- }else{
- return json(['result'=>0,"msg"=>"置顶失败"]);
- }
- }else{
- $res = Db::name("messages")->where(["p_id"=>$id])->update(["isTop"=>0]);
- if($res >0 ){
- return json(["result"=>1,"msg"=>"取消置顶成功"]);
- }else{
- return json(['result'=>0,"msg"=>"取消置顶失败"]);
- }
- }
- }
- public function chooseDeleteMessage(Request $request)
- {
- $id = $request->param("id");
- $type = $request->param("type");
- if($type == 1){
- $update = Db::name("messages")->where(["p_id"=>$id])->update(["isCheck"=>1]);
- if($update >0){
- return json(["result"=>1,"msg"=>"精选成功"]);
- }else{
- return json(["result"=>0,"msg"=>"精选失败"]);
- }
- }elseif ($type == 0){
- $messgeDelete = Db::name("messages")->where(["p_id"=>$id])->delete();
- if($messgeDelete > 0){
- $zanDelete = Db::name("zan")->where(["p_id"=>$id])->delete();
- if($zanDelete >=0 ){
- return json(["result"=>1,"msg"=>"已删除留言"]);
- }else{
- return json(["result"=>0,"删除留言失败"]);
- }
- }else{
- return json(["result"=>0,"删除留言失败"]);
- }
- }else{
- $update = Db::name("messages")->where(["p_id"=>$id])->update(["isCheck"=>0]);
- if($update >0){
- return json(["result"=>1,"msg"=>"已取消为精选留言"]);
- }else{
- return json(["result"=>0,"msg"=>"取消精选留言失败"]);
- }
- }
- }
- public function authorReply(Request $request)
- {
- $id = $request->param("id");
- $replyContent = $request->param("replyContent");
- $isCheckChoess = $request->param("isCheckChoess");
- if($isCheckChoess == 1){
- $update = Db::name("messages")->where(["p_id"=>$id])->update(["isCheck"=>1]);
- if($update >0){
- return json(["result"=>1,"msg"=>"精选成功"]);
- }else{
- return json(["result"=>0,"msg"=>"精选失败"]);
- }
- }else{
- $replyUpdate = Db::name("messages")->where(["p_id"=>$id])->update(["authorMesContent"=>$replyContent]);
- if($replyUpdate > 0){
- return json(['result'=>1,"msg"=>"回复成功","replyContent"=>$replyContent]);
- }else{
- return json(['result'=>0,"msg"=>"回复失败","replyContent"=>$replyContent]);
- }
- }
- }
- /**
- *
- * @param Request $request
- */
- public function messagesModel(Request $request)
- {
- $p_id = $request->param("p_id");
- $title = $request->param("title");
- $message = $request->param("message");
- $repleyMes = $request->param("replyMes");
- $page = $request->param("page");
- $upformid = $request->param("formid");
- $g_id = $request->param("g_id");
- $list = Db::name("messages")->field(["fromid","openid"])->where(["p_id"=>$p_id])->find();
- $update = Db::name("gonginfo")->where('id',$g_id)->update(["fromid"=>$upformid]);
- $token = (new AccessToken())->getAccessToken();
- if($list){
- $data = ["keyword1"=>["value"=>$repleyMes],"keyword2"=>["value"=>"作者"],"keyword3"=>["value"=>$message],"keyword4"=>
- ["value"=>$title]
- ];
- $modelData = ["touser"=>$list["openid"],"template_id","page"=>$page,"form_id"=>$list['fromid'],"data"=>$data];
- $url = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=" .$token;
- $this->http($url,$modelData,"POST");
- }
- }
- public function realyMessagesList(Request $request)
- {
- $ischeckmessage = $request->param("ischeckmessage");
- if($ischeckmessage == 1){
- $g_id = $request->param("g_id");
- $no = $request->param("no");
- $openid = $request->param("openid");
- $sql = "select * from messages where no = $no and isCheck = 1 and g_id = $g_id ORDER BY messages.istop DESC ";
- $list = Db::query($sql);
- $zan = Db::name("zan")->where(["no"=>$no,"g_id"=>$g_id,"openid"=>$openid])->column("p_id");
- foreach ($list as $key=>$value){
- if(count($zan) > 0 ){
- if(in_array($value['p_id'],$zan)){
- $list[$key]['iszan'] = 1;
- }else{
- $list[$key]['iszan'] = 0;
- }
- }else{
- $list[$key]['iszan'] = 0;
- }
- }
- return json(["result"=>1,"msg"=>"获取公开留言成功","content"=>$list]);
- }else{
- $g_id = $request->param("id");
- $no = $request->param("no");
- $list = Db::name("messages")->where(["no"=>$no,"g_id"=>$g_id])->select();
- if(count($list)>0){
- return json(["result"=>1,"count"=>count($list),"content"=>$list]);
- }
- }
- }
- public function userDeleteMessage(Request $request)
- {
- $no = $request->param("no");
- $username = $request->param("username");
- $title = $request->param("title");
- $messages = $request->param("messages");
- $deletesql = "delete from messages where no = $no and username ='$username' and title ='$title' and userMesContent = '$messages'";
- $result = Db::query($deletesql);
- }
- public function submit(Request $request)
- {
- $g_id = $request->param("g_id");
- $no = $request->param('no');
- $username = $request->param("username");
- $title = $request->param("title");
- $headimage = $request->param("avatarUrl");
- $messages = $request->param("messages");
- $openid = $request->param("openid");
- $ischeck = $request->param("ischeck");
- $fromid = $request->param("form_id");
- //$token = $request->param("token");
- $data = ['g_id'=>$g_id,"no"=>$no,"username"=>$username,"title"=>$title,"headimage"=>$headimage,
- "userMesContent"=>$messages,"isCheck"=>$ischeck,"openid"=>$openid,"fromid"=>$fromid
- ];
- $result = Db::name("messages")->insert($data);
- if($result >0){
- return json(["result"=>1,"message"=>$messages]);
- }else{
- return json(["result"=>0,"msg"=>"提交失败"]);
- }
- }
- public function userModel(Request $request)
- {
- $title = $request->param("title");
- $message = $request->param("message");
- $page = $request->param("page");
- $g_id = $request->param("g_id");
- $username = $request->param("username");
- $result = Db::name("gonginfo")->field(["fromid","openid"])->where(["id"=>$g_id])->find();
- $data = ["keyword1"=>["value"=>$message],//留言内容
- "keyword2"=>["value"=>$username],//留言人
- "keyword3"=>["value"=>$title]//文章类型
- ];
- $modelData = ["touser"=>$result['openid'],"template_id"=>"","page"=>$page,"form_id"=>$result["fromid"],"data"=>$data];
- $token = (new AccessToken())->getAccessToken();
- $url = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=".$token;
- $res = $this->http($url,$modelData,"POST");
- }
- public function http($url, $params, $method = 'GET', $header = array(), $timeout = 5)
- {
- // POST 提交方式的传入 $set_params 必须是字符串形式
- $opts = array(
- CURLOPT_TIMEOUT => $timeout,
- CURLOPT_RETURNTRANSFER => 1,
- CURLOPT_SSL_VERIFYPEER => false,
- CURLOPT_SSL_VERIFYHOST => false,
- CURLOPT_HTTPHEADER => $header
- );
- /* 根据请求类型设置特定参数 */
- switch (strtoupper($method)) {
- case 'GET':
- $opts[CURLOPT_URL] = $url . '?' . http_build_query($params);
- break;
- case 'POST':
- $params = http_build_query($params);
- $opts[CURLOPT_URL] = $url;
- $opts[CURLOPT_POST] = 1;
- $opts[CURLOPT_POSTFIELDS] = $params;
- break;
- case 'DELETE':
- $opts[CURLOPT_URL] = $url;
- $opts[CURLOPT_HTTPHEADER] = array("X-HTTP-Method-Override: DELETE");
- $opts[CURLOPT_CUSTOMREQUEST] = 'DELETE';
- $opts[CURLOPT_POSTFIELDS] = $params;
- break;
- case 'PUT':
- $opts[CURLOPT_URL] = $url;
- $opts[CURLOPT_POST] = 0;
- $opts[CURLOPT_CUSTOMREQUEST] = 'PUT';
- $opts[CURLOPT_POSTFIELDS] = $params;
- break;
- default:
- throw new Exception('不支持的请求方式!');
- }
- /* 初始化并执行curl请求 */
- $ch = curl_init();
- curl_setopt_array($ch, $opts);
- $data = curl_exec($ch);
- $error = curl_error($ch);
- return $data;
- }
- }
|