AdvertiserController.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. <?php
  2. /**
  3. * 广告主申请
  4. */
  5. namespace app\admin\controller;
  6. use cmf\controller\AdminBaseController;
  7. use think\facade\Db;
  8. use think\db\Query;
  9. class AdvertiserController extends AdminbaseController {
  10. protected function getStatus($k=''){
  11. $status=array(
  12. '0'=>'待审核',
  13. '1'=>'通过',
  14. '-1'=>'拒绝',
  15. );
  16. if($k===''){
  17. return $status;
  18. }
  19. return isset($status[$k])?$status[$k]:'';
  20. }
  21. /*广告主申请列表*/
  22. public function index(){
  23. $p = $this->request->param('p');
  24. if(!$p){
  25. $p=1;
  26. }
  27. $lists = Db::name('user_advertiser')
  28. ->where(function (Query $query) {
  29. $data = $this->request->param();
  30. $keyword=isset($data['keyword']) ? $data['keyword']: '';
  31. if (!empty($keyword)) {
  32. $query->where('username', 'like', "%$keyword%");
  33. }
  34. $keyword1=isset($data['keyword1']) ? $data['keyword1']: '';
  35. if (!empty($keyword1)) {
  36. $query->where('mobile', 'like', "%$keyword1%");
  37. }
  38. $keyword2=isset($data['keyword2']) ? $data['keyword2']: '';
  39. if (!empty($keyword2)) {
  40. $userlist =Db::name("user")->field("id")
  41. ->where("user_nickname like '%".$keyword2."%'")
  42. ->select();
  43. $strids="";
  44. foreach($userlist as $ku=>$vu){
  45. if($strids==""){
  46. $strids=$vu['id'];
  47. }else{
  48. $strids.=",".$vu['id'];
  49. }
  50. }
  51. $query->where('uid', 'in', $strids);
  52. }
  53. })
  54. ->order("addtime DESC")
  55. ->paginate(20);
  56. $lists->each(function($v,$k){
  57. $userinfo=getUserInfo($v['uid']);
  58. if(!$userinfo){
  59. $userinfo=array(
  60. 'user_nickname'=>'已删除'
  61. );
  62. }
  63. $v['userinfo']=$userinfo;
  64. $v['addtime']=date('Y-m-d H:i:s',$v['addtime']);
  65. if($v['uptime']>0){
  66. $v['uptime']=date('Y-m-d H:i:s',$v['uptime']);
  67. }else{
  68. $v['uptime']='--';
  69. }
  70. return $v;
  71. });
  72. //分页-->筛选条件参数
  73. $data = $this->request->param();
  74. $lists->appends($data);
  75. // 获取分页显示
  76. $page = $lists->render();
  77. $this->assign('lists', $lists);
  78. $this->assign("page", $page);
  79. $this->assign("p",$p);
  80. $this->assign("status", $this->getStatus());
  81. return $this->fetch();
  82. }
  83. //通过
  84. public function setpass(){
  85. $id = $this->request->param('id');
  86. if(!$id){
  87. $this->error("视频信息加载失败");
  88. }
  89. $status=$this->request->param('status');
  90. $data=array(
  91. 'uptime'=>time(),
  92. 'status'=>$status
  93. );
  94. $result=Db::name("user_advertiser")->where("id={$id}")->update($data);
  95. if($result!==false){
  96. $this->success("审核成功");
  97. }else{
  98. $this->error("审核失败");
  99. }
  100. return $this->fetch();
  101. }
  102. //拒绝
  103. public function setstatus(){
  104. $id = $this->request->param('id');
  105. if(!$id){
  106. $this->error("视频信息加载失败");
  107. }
  108. $status=$this->request->param('status');
  109. $reason=$this->request->param('reason');
  110. $data=array(
  111. 'uptime'=>time(),
  112. 'status'=>$status,
  113. 'reason'=>$reason
  114. );
  115. $result=Db::name("user_advertiser")->where("id={$id}")->update($data);
  116. $rs=array('code'=>0,'msg'=>'','info'=>array());
  117. if($result!==false){
  118. $advertiser_info=Db::name("user_advertiser")->where("id={$id}")->find();
  119. $uid=$advertiser_info['uid'];
  120. //向系统通知表中写入数据
  121. $baseMsg='您于'.date("Y-m-d H:i:s",$advertiser_info['addtime']).'申请的广告主被管理员审核失败';
  122. if($reason!=''){
  123. $msg=$baseMsg.',原因:'.$reason;
  124. }else{
  125. $msg=$baseMsg;
  126. }
  127. $text="广告主审核失败提醒";
  128. $result1=addSysytemInfo($uid,$text,$msg);
  129. if($result1!==false){
  130. //发送腾讯云IM
  131. txMessageIM($text,$uid);
  132. }
  133. //将广告视频下架
  134. Db::name("user_video")->where(['uid'=>$uid,'status'=>1,'is_userad'=>1,'isdel'=>0])->update(['isdel'=>1]);
  135. $rs['msg']='审核完成';
  136. }else{
  137. $rs['code']=1001;
  138. $rs['msg']='审核失败';
  139. }
  140. echo json_encode($rs);
  141. }
  142. }