123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- <?php
- namespace Admin\Controller;
- use Common\Controller\AdminController;
- class AlarmController extends AdminController {
- public function __construct(){
- parent::__construct();
- }
-
- public function index(){
- $page = I('get.p','1');
- session('page',$page);
- $condition = array('is_delete'=>1,'notice_flag'=>array('IN','5,6,7'));
- $count = M('Notice')->where($condition)->count();
- //分页
- $Page = new \Think\Page($count);
- $show = $Page->show();
- $noticeList = M('Notice')->where($condition)->field()->order('notice_id desc')->limit($Page->firstRow.','.$Page->listRows)->select();
- foreach($noticeList as $k=>$v){
- $tmp=json_decode($v['extra'],1);
- $wc_id=$tmp['wc_id'];
- $checkinfo = M('words_check')->where(array('wc_id'=>$wc_id))->field('*')->find();
- if($v['notice_flag']==5){
- if($checkinfo['wc_status']==0){
- $noticeList[$k]['status_info']='未处理';
- }elseif($checkinfo['wc_status']==1){
- $noticeList[$k]['status_info']='已通过';
- }else{
- $noticeList[$k]['status_info']='未通过';
- }
- }else{
- $noticeList[$k]['status_info']='';
- }
- $noticeList[$k]['wc_info']=$checkinfo;
- if($v['notice_read']==0){
- $c=session('alarm');
- $c--;
- session('alarm',$c);
- M('Notice')->where(array('notice_id'=>$v['notice_id']))->save(array('notice_read'=>1));
- }
- }
-
- $this->assign('page',$show);
- $this->assign('list',$noticeList);
- $this->display();
- }
-
- public function refuse(){
- $noticeId = I('notice_id','');
- $this->assign('notice_id',$noticeId);
- $this->display();
- }
- public function info(){
- $noticeId = I('notice_id','');
- $wordsKeys = array('n'=>'words_n','pron'=>'words_pron','adj'=>'words_adj','num'=>'words_num','v'=>'words_v','adv'=>'words_adv','art'=>'words_art',
- 'prep'=>'words_prep','conj'=>'words_conj','int'=>'words_int','vt'=>'words_vt','vi'=>'words_vi','other'=>'words_other',);
-
- if (empty($noticeId)){
- $this->error("通知消息ID错误",'/admin/alarm/index');
- }
- $info = M('Notice')->where(array('notice_id'=>$noticeId))->find();
- $tmp=json_decode($info['extra'],1);
- $wc_id=$tmp['wc_id'];
- $checkinfo = M('words_check')->where(array('wc_id'=>$wc_id))->field('*')->find();
- if(!$checkinfo){
- $this->error("审核信息错误",'/admin/alarm/index');
- }
-
- $info = json_decode($checkinfo['wc_json'],1);
-
- $where=array();
- $where['course_id']=$checkinfo['course_id'];
- $where['words_id']=$checkinfo['words_id'];
-
- $info2 = M('Words')->where($where)->field('*')->find();
- if(!$info2){
- $this->error("原课程单词信息获取失败",'/admin/alarm/index');
- }
- $dif=array();
- foreach($info as $k=>$v){
- if(in_array($k,array('id','words_voice1','words_voice2')))continue;
- if($v!=$info2[$k]){
- $dif[]=$k;
- }
- }
-
- if($info['words_img']){
- $arr=explode(',',$info['words_img']);
- $info['words_img1']=$arr[0];
- $info['words_img2']=$arr[1];
- $info['words_img3']=$arr[2];
- }
- $this->assign('info',$info);
- $this->assign('dif',$dif);
- $this->assign('notice_id',$noticeId);
- $this->assign('wordsKeys', $wordsKeys);
- $this->assign('status', $checkinfo['wc_status']);
- $this->assign('wc_content', $checkinfo['wc_content']);
-
- $this->display();
- }
- public function check(){
- $noticeId = I('notice_id','');
- $wc_status= I('wc_status','');
- $wc_content = I('wc_content','');
- if (empty($noticeId)){
- $this->error("通知消息ID错误",'/admin/alarm/index');
- }
- $info = M('Notice')->where(array('notice_id'=>$noticeId))->find();
- $tmp=json_decode($info['extra'],1);
- $wc_id=$tmp['wc_id'];
- $checkinfo = M('words_check')->where(array('wc_id'=>$wc_id))->field('*')->find();
- M('words_check')->where(array('wc_id'=>$wc_id))->save(array('wc_status'=>$wc_status,'wc_content'=>$wc_content));
- $saveData=json_decode($checkinfo['wc_json'],1);
- $courseInfo = M('Course')->where(array('course_id'=>$saveData['course_id'],'is_delete'=>1))->field('course_id,user_id,course_name,course_num,course_status,course_source')->find();
-
- if($wc_status==1){
- if($checkinfo['words_id']){
- M('Words')->where(array('words_id'=>$checkinfo['words_id']))->save($saveData);
- }
- $Content="亲爱的小主,您提交的关于课程《".$courseInfo['course_name']."》的修改,作者已同意修改,并已更新课程内容";
- $temp=array();
- $temp['wc_id']=$checkinfo['wc_id'];
- M('Notice')->add(array('ref_user_id'=>$checkinfo['user_id'],'user_id'=>$this->userId,'notice_flag'=>6,'notice_status'=>1,'notice_type'=>0,'notice_title'=>'课程修改审核通过','notice_content'=>$Content,'operate_dt'=>time(),'extra'=>json_encode($temp)));
- M('User')->where(array('user_id'=>$checkinfo['user_id']))->setInc('sys_notice');
- $data = json_encode(array('type'=>0,'msg'=>$Content,'data'=>array('title'=>"课程修改审核通过",'wc_id'=>$checkinfo['wc_id'],'course_id'=>$saveData['course_id'],'words_id'=>$saveData['words_id'],'content'=>$Content)));
-
- }else{
- $Content="亲爱的小主,您提交的关于课程《".$courseInfo['course_name']."》的修改,作者拒绝修改,拒绝原因:".$wc_content;
- $temp=array();
- $temp['wc_id']=$checkinfo['wc_id'];
- M('Notice')->add(array('ref_user_id'=>$checkinfo['user_id'],'user_id'=>$this->userId,'notice_flag'=>7,'notice_status'=>1,'notice_type'=>0,'notice_title'=>'课程修改审核不通过','notice_content'=>$Content,'operate_dt'=>time(),'extra'=>json_encode($temp)));
- M('User')->where(array('user_id'=>$checkinfo['user_id']))->setInc('sys_notice');
- $data = json_encode(array('type'=>0,'msg'=>$Content,'data'=>array('title'=>"课程修改审核不通过",'wc_id'=>$checkinfo['wc_id'],'course_id'=>$saveData['course_id'],'words_id'=>$saveData['words_id'],'content'=>$Content)));
- }
- $uid=$checkinfo['user_id'];
- $url="http://www.hanlinyuanonline.com/api/choice/push?uid=".$uid."&data=".urlencode(base64_encode(json_encode($data)));
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- $output = curl_exec($ch);
- curl_close($ch);
- $this->success('消息处理成功','/admin/alarm/index');
- }
- }
|