binbinyouli 5 лет назад
Родитель
Сommit
be0933707b

+ 2 - 2
app/weixin/service/Member.php

@@ -230,9 +230,9 @@ class Member
             // 更新状态
             //Complain::where(['id'=> $cid])->update(['status'=> 2]);
             //Db::startTrans();
-            // 冻结被举报用户
+            // 冻结被举报用户,2021,加多一个字段,顺便放入冻结选项
             $freezing = isset($info['remark'])? $info['remark'] : '被人举报';
-            $result1=MemberModel::where(['id'=> $cuid,'user_type'=> 2])->update(['user_status'=> 0,'freezing'=> $freezing]);
+            $result1=MemberModel::where(['id'=> $cuid,'user_type'=> 2])->update(['user_status'=> 0,'freezing'=> $freezing,'freezing_choose'=>$info['freezing_choose']]);
 
             // 奖励入账
            $result2= MemberModel::where(['id' => $userId])->update(['redheart' => moneyFormat($redheart + $awardNum), 'updated_at' => date('Y-m-d H:i:s')]);

+ 1 - 2
public/themes/admin_simpleboot3/user/admin_index/ban.html

@@ -27,8 +27,7 @@
             <div class="col-sm-offset-2 col-sm-10">
                 <input type="hidden" name="id" value="{$id}" />
                 <button type="submit" class="btn btn-primary js-ajax-submit" onclick="return condtion()">冻结</button>
-              <!--   <a class="btn btn-default" href="{:url('/User/admin_index/index',['history'=> 1])}">{:lang('BACK')}</a> -->
-                <!--<a class="btn btn-default" href="javascript:history.back(-1);">{:lang('BACK')}</a>-->
+           
             </div>
         </div>
     </form>

+ 77 - 0
public/themes/admin_simpleboot3/user/admin_index/bant.html

@@ -0,0 +1,77 @@
+<include file="public@header" />
+</head>
+<body>
+<div class="wrap">
+   
+    <form method="post" class="form-horizontal js-ajax-form margin-top-20" action="">
+
+      <input type = "hidden" id="uid" value="{$uid}">
+      <input type = "hidden" id="c_uid" value="{$c_uid}">
+       <div class="form-group">
+            <label for="input-user_login" class="col-sm-2 control-label"><span class="form-required">*</span>冻结原因选项</label>
+            <div class="col-md-6 col-sm-10">
+                  <select class="form-control" name="freezing_choose" id="freezing_choose" style="float:left;">
+                    <option value="none">--请选择--</option>
+                    <option value="1" >头像及资料违规</option>
+                    <option value="2" >用户投诉实锤违规</option>
+                    <option value="3" >封号拉黑、违规</option>
+                </select>
+            </div>
+        </div>
+
+   <!--      <div class="form-group">
+            <label for="input-user_login" class="col-sm-2 control-label"><span class="form-required">*</span>冻结备注</label>
+            <div class="col-md-6 col-sm-10">
+                  <textarea class="form-control" name="freezing" style="height: 94px;" id="freezing" ></textarea>
+            </div>
+        </div> -->
+
+         <div class="form-group">
+            <div class="col-sm-offset-2 col-sm-10">
+                <input type="hidden" name="id" value="{$id}" />
+                <button type="submit" class="btn btn-primary js-ajax-submit" onclick="return condtion()">冻结</button>
+           
+            </div>
+        </div>
+    </form>
+</div>
+<link href="__STATIC__/js/city/layui/css/layui.css" rel="stylesheet" />
+
+<script src="__STATIC__/js/city/layui/layui.js" type="text/javascript"></script>
+<script src="__STATIC__/js/admin.js"></script>
+<script type="text/javascript">
+    function condtion(){
+
+        if($('#freezing_choose').val()=='none'){alert('请选择冻结原因选项!');return false;}
+        // if($('#freezing').val()==''){alert('冻结备注不能为空!');return false;}
+       //var freezing = $('#freezing').val();
+        if(confirm('确定要冻结吗?')){
+             $.ajax({ 
+
+                url: "{:url('/User/admin_index/bant',array('dobant'=>1,'id'=>$id))}",
+                data:{uid:$('#uid').val(),cuid:$('#c_uid').val(),freezing:$('#freezing').val(),freezing_choose:$('#freezing_choose').val()},
+                success: function(data){
+                    console.log(data);
+                    if(data==1){
+
+                      alert('冻结成功!');
+
+                  }else{
+                      alert('冻结失败!');
+                  }
+                      var index = parent.layer.getFrameIndex(window.name);
+                            parent.layer.close(index);
+
+                }
+
+              });
+           return true;
+        }else{
+           return false;         
+        }
+
+        
+    }
+</script>
+</body>
+</html>

+ 35 - 8
public/themes/admin_simpleboot3/user/admin_index/complain.html

@@ -3,10 +3,16 @@
 <body>
 <div class="wrap js-check-wrap">
     <ul class="nav nav-tabs">
-        <li class="active"><a> 举报用户
 
-        </a>
-        </li>
+    <if condition="$Request.action eq 'complain'">
+      <li class="active"><a> 举报用户</a> </li>
+  <else/>
+    <li class="active"><a> 已处理用户</a> </li>
+    </if>
+       
+
+        
+       
     </ul>
 <if condition="$Request.action eq 'custom' || $Request.param.u eq 2 || $Request.param.u eq 4">
     <div class="qrcode">
@@ -259,9 +265,9 @@
                             <case value="1">
                                <span style="color:red">待处理</span>
                             </case>
-                            <case value="2">
+                  <!--           <case value="2">
                               <span style="color:green">已处理</span>
-                            </case>
+                            </case> -->
                             
                         </switch>
 
@@ -269,7 +275,28 @@
                   
                   <td>
                <!--    <a class="btn btn-xs btn-primary" href="{:url('adminIndex/edit',array('id'=>$vo['id']))}">编辑</a> -->
-                    <a class="btn btn-xs btn-warning js-ajax-dialog-btn" style="background-color: #5c0d8e;border-color:#5c0d8e"  href="{:url('adminIndex/tohandle',array('yes'=>1,'ids'=>$vo['id']))}" data-msg="确认处理该用户?">处理</a>
+                  <if condition="$Request.action eq 'complain'">
+
+                        
+
+                         <switch name="vo.user_nicknamet.user_status">
+                            <case value='0'> 
+
+                            <a class="btn btn-xs btn-warning"  style="background-color: #177716;border-color:#177716" disabled>已冻结</a>
+
+                            </case>
+                            <default/>
+                                 <a class="btn btn-xs btn-warning js-ajax-dialog-btn" style="background-color: #5c0d8e;border-color:#5c0d8e"  href="{:url('adminIndex/tohandle',array('yes'=>1,'ids'=>$vo['id']))}" data-msg="确认处理该用户?">处理</a>&nbsp;
+                               <a class="btn btn-xs btn-warning" onclick="getPaike({$vo['id']},{$vo['ids']},{$vo['c_uid']})" >冻结</a>
+                         </switch>
+                   
+                  <else/>            
+
+                      <a class="btn btn-xs btn-warning js-ajax-dialog-btn" style="background-color: #5c0d8e;border-color:#5c0d8e"  href="{:url('adminIndex/unshelf',array('yes'=>1,'ids'=>$vo['id'],'c_uid'=>$vo['c_uid']))}" data-msg="确认下架该用户?">下架</a>&nbsp;
+              
+                    
+                  </if>
+                 
                   </td>
 
                         
@@ -373,8 +400,8 @@
         // });
     }
 
-    function getPaike(id){ 
-        var addUrl = "{:url('AdminIndex/ban')}?id="+id;
+    function getPaike(id,uid,cuid){ 
+        var addUrl = "{:url('AdminIndex/bant')}?id="+id+"&uid="+uid+"&cuid="+cuid;
         layer.open({
             type: 2, //1:页面层,2:iframe层,3:加载层,4:tips层。
             title: '条件筛选',

+ 72 - 0
public/themes/admin_simpleboot3/user/admin_index/feedback.html

@@ -0,0 +1,72 @@
+<include file="public@header"/>
+</head>
+<body>
+<div class="wrap js-check-wrap">
+    <ul class="nav nav-tabs">
+        <li class="active"><a href="#">反馈列表</a></li>
+        <!-- <li><a href="{:url('kefu/add')}">添加客服</a></li> -->
+    </ul>
+    <form method="post" class="js-ajax-form margin-top-20" action="{:url('Kefu/index')}">
+        <div class="table-actions">
+     
+        </div>
+        <php>$status=array("1"=>lang('DISPLAY'),"0"=>lang('HIDDEN'));</php>
+        <table class="table table-hover table-bordered table-list">
+            <thead>
+            <tr>
+                <th width="16">
+                <label><input type="checkbox" class="js-check-all" data-direction="x"
+                                             data-checklist="js-check-x"></label></th>
+             
+                <th width="50">ID</th>
+                <th width="90">用户昵称</th>
+                <th>类型</th>
+                <th>反馈内容</th>
+                <th>照片</th>
+                <th>创建时间</th>
+                <th>状态</th>
+                <th>操作</th>
+            </tr>
+            </thead>
+            <tbody>
+            <foreach name="list" item="vo">
+                <tr>
+                    <td><input type="checkbox" class="js-check" data-yid="js-check-y" data-xid="js-check-x" name="ids[]"
+                               value="{$vo.id}">
+                    </td>
+                   
+                    <td>{$vo.id}</td>
+                    <td>{$vo.user_nicknamet.user_nickname}</td>
+                    <php>$advicearray=config('weixin.adviceTypes');</php>
+                    <td>
+                        {$advicearray[$vo.type]}
+                    </td>
+                    <td>{$vo.remark}</td>   
+                    <td><img src="/upload/{$vo.image}" style="width: 80px;height: 50px;"></img></td>
+                    <td>{:date('Y-m-d i:m:s',$vo.created_time)}</td>
+                    
+                    <td>
+                        <switch name="$vo.status">
+                            <case value='1'><font style="color: red">待审核</font></case>
+                            <case value='2'><font style="color: green">已审核</font></case>
+                                
+                        </switch>
+                    </td>
+                    <td>
+                        <a class="btn btn-xs btn-primary" href="{:url('admin_index/feedbackedit',array('id'=>$vo['id']))}">审核</a>
+                    
+                    </td>
+                </tr>
+            </foreach>
+            </tbody>
+        
+        </table>
+            
+            <div class="pagination">{$page}</div>
+
+        
+    </form>
+</div>
+<script src="__STATIC__/js/admin.js"></script>
+</body>
+</html>

+ 210 - 2
vendor/thinkcmf/cmf-app/src/user/controller/AdminIndexController.php

@@ -22,6 +22,7 @@ use app\admin\model\AccountLogModel;
 use app\admin\model\UserModel;
 use app\weixin\service\Member;
 
+
 /**
  * Class AdminIndexController
  * @package app\user\controller
@@ -352,6 +353,65 @@ class AdminIndexController extends AdminBaseController
     }
 
     /**
+     * 本站用户拉黑
+     * @adminMenu(
+     *     'name'   => '本站用户拉黑',
+     *     'parent' => 'index',
+     *     'display'=> false,
+     *     'hasView'=> false,
+     *     'order'  => 10000,
+     *     'icon'   => '',
+     *     'remark' => '本站用户拉黑',
+     *     'param'  => ''
+     * )
+     */
+    public function bant()
+    {
+        $doban=input('dobant');
+        if(isset($doban)){ 
+           $param   = $this->request->param();
+
+        if (isset($param['id'])) {
+          
+            //通过id来获取举报页面
+        // Db::startTrans();
+            $result=Db::name('complain')->where('id',$param['id'])->find(); 
+          
+            // var_dump($result);die;
+            if($result){
+                  $result['freezing_choose']=$param['freezing_choose'];
+                //进行奖励
+                // $result = Db::name("user")->where(["id" => $id, "user_type" => 2])->setField(array('user_status'=>0,'freezing'=>input('freezing'),'freezing_choose'=>input('freezing_choose')));
+                $result=Member::checkComplain($result['uid'],$result);
+
+                if ($result && $param['freezing_choose']==3) {
+
+                     $complain=Db::name('complain')->where('id', 'in', $param['id'])->update(['status' => 2]);
+                    //发送给客户具体冻结的原因。
+                  //  $this->success("会员冻结成功!", "adminIndex/index");
+                   echo 1;die;
+                } else {
+                    //$this->error('会员冻结失败,会员不存在,或者是管理员!');
+                   echo 0;die;
+                }
+            } else {
+                // $this->error('数据传入失败!');
+                    echo 0;die;
+            }
+        }
+
+        }else{
+
+           $this->assign('id',input('id'));
+           $this->assign('uid',input('uid'));
+           $this->assign('c_uid',input('cuid'));
+           return $this->fetch('bant');
+        }
+
+        
+    }
+
+    /**
      * 本站用户启用
      * @adminMenu(
      *     'name'   => '本站用户启用',
@@ -736,6 +796,87 @@ class AdminIndexController extends AdminBaseController
     }
 
     /**
+     * 已处理完的举报用户
+     * 
+     */
+    
+    public function docomplain(){
+
+        $data = $this->request->param();
+        session('search',[
+            'uid' => isset($data['uid'])? intval($data['uid']) : 0,
+            'keyword' => isset($data['keyword'])? trim($data['keyword']) : '',
+        ]);
+        // 添加返回历史修改 by  wesmiler 2020-02-16
+        $history = isset($data['history'])? intval($data['history']) : 0;
+        if($history){
+            $data = session('user_search');
+        }else{
+            session('user_search', $data);
+        }
+
+        // 修改 end
+
+        //var_dump($data);die;
+        $list = Db::name('complain')->field('u.id as ids,u.user_login,u.user_nickname,u.real_name,u.redheart,u.is_tuijian,u.create_time,u.is_heart,u.user_status,u.mobile,u.freezing,u.updated_at,u.last_login_time,c.id,c.type,c.c_uid,
+            c.remark,c.image,c.created_time,c.status')
+            ->alias('c')
+            ->join('user u','u.id=c.uid','left')
+            
+            ->where(function (Query $query) use($data){
+                $query->where('u.user_type', 2);
+                $query->where('u.openid', 'not in','');
+                $query->where('c.status', 2);
+
+                //代表是否付费定制
+                ($this->request->action()=='custom' || $this->request->param('u')==2)?$query->where('u.is_vip', 1):$query->where('u.is_vip', 0);
+
+                //代表是否冻结
+                if($this->request->action()!='userlogout' && $this->request->param('u')!=5){
+                    ($this->request->action()=='userban' || $this->request->param('u')==3)?$query->where('u.user_status', 0):$query->where('u.user_status', 1);
+                }
+
+                //代表是否筛选
+                 ($this->request->action()=='screen' || $this->request->param('u')==4)?$query->where('u.is_screen', 1):$query->where('u.is_screen', 0);
+
+                  //代表是否注销
+                if($this->request->action()!='userban' && $this->request->param('u')!=3){
+                  ($this->request->action()=='userlogout' || $this->request->param('u')==5)?$query->where('u.user_status', -1):$query->where('u.user_status', 1);
+                }
+
+                $this->screenpublic();
+                
+
+
+            })
+
+            //待审核
+            ->order("u.create_time DESC")
+            ->paginate(10,false,['query'=>request()->param()])
+            ->each(function($item,$key){
+                //查询出报名人数,通过活动id
+                $item['user_nicknamet']=Db::name('user')
+                ->where(['id'=> $item['c_uid']])
+                ->field('user_nickname')
+                ->find();
+                ;
+
+                return $item;
+
+            })
+            ;
+
+           // var_dump($data);die;
+       //echo Db::name('user')->getLastSql();die;
+        // 获取分页显示
+        $page = $list->render();
+        $this->assign('list', $list);
+        $this->assign('page', $page);
+         return $this->fetch('complain');
+
+    }
+
+    /**
      * 职位认证
      *
      */
@@ -1621,6 +1762,72 @@ class AdminIndexController extends AdminBaseController
         $this->fetch();
     }
 
+    //下架处理
+    public function unshelf(){
+        $data=$this->request->param();
+        if($data){
+            Db::startTrans();
+            $result1=Db::name('complain')->where("id",$data['ids'])->update(['status'=>1]);
+            if($result1){
+
+                $result2=Db::name('user')->where('id',$data['c_uid'])->update(['user_status'=>1]);
+                if($result2){
+                    Db::commit();
+                    $this->success("下架成功!", url('/user/Admin_index/complain'));
+                }else{
+                    Db::rollback();     
+                     $this->error("下架失败!"); 
+                }
+
+            }else{
+                Db::rollback();
+                 $this->error("下架失败!"); 
+            }
+            
+        }
+        
+    }
+
+    //进行显示反馈显示用户。
+    public function feedback(){
+       
+         $list=Db::name('advices')
+            ->alias('ad')
+            // ->where('status',1)
+            ->order("ad.created_time DESC")
+            ->paginate(10,false,['query'=>request()->param()])
+            ->each(function($item,$key){
+                //查询出被举报名人昵称和状态。
+                $item['user_nicknamet']=Db::name('user')
+                ->where(['id'=> $item['uid']])
+                ->field('user_nickname,user_status')
+                ->find();
+                ;
+
+                return $item;
+
+            })
+            ;
+
+         
+    
+        // 获取分页显示
+        $page = $list->render();
+        $this->assign('list', $list);
+        $this->assign('page', $page);
+       return $this->fetch('feedback');
+    }
+
+    //处理审核
+    public function feedbackedit(){
+        $result=Db::name('advices')->where("id",input('id'))->update(['status'=>2]);
+        if($result){
+            $this->success("审核处理成功!");
+        }else{
+            $this->error("审核处理失败!");
+        }
+    }
+
     //投诉举报页面
     public function complain(){
         $data = $this->request->param();
@@ -1647,6 +1854,7 @@ class AdminIndexController extends AdminBaseController
             ->where(function (Query $query) use($data){
                 $query->where('u.user_type', 2);
                 $query->where('u.openid', 'not in','');
+                $query->where('c.status', 1);
 
                 //代表是否付费定制
                 ($this->request->action()=='custom' || $this->request->param('u')==2)?$query->where('u.is_vip', 1):$query->where('u.is_vip', 0);
@@ -1674,10 +1882,10 @@ class AdminIndexController extends AdminBaseController
             ->order("u.create_time DESC")
             ->paginate(10,false,['query'=>request()->param()])
             ->each(function($item,$key){
-                //查询出报名人数,通过活动id
+                //查询出被举报名人昵称和状态。
                 $item['user_nicknamet']=Db::name('user')
                 ->where(['id'=> $item['c_uid']])
-                ->field('user_nickname')
+                ->field('user_nickname,user_status')
                 ->find();
                 ;