NoticeController.class.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. namespace Admin\Controller;
  3. use Common\Controller\AdminController;
  4. class NoticeController extends AdminController {
  5. public function __construct(){
  6. parent::__construct();
  7. }
  8. public function index(){
  9. $page = I('get.p','1');
  10. session('page',$page);
  11. $condition = array('is_delete'=>1,'user_id'=>0);
  12. $count = M('Notice')->where($condition)->count();
  13. //分页
  14. $Page = new \Think\Page($count);
  15. $show = $Page->show();
  16. $noticeList = M('Notice')->where($condition)->field()->order('notice_id desc')->limit($Page->firstRow.','.$Page->listRows)->select();
  17. $this->assign('page',$show);
  18. $this->assign('list',$noticeList);
  19. $this->display();
  20. }
  21. public function edit(){
  22. $step = I('step','');
  23. $noticeId = I('notice_id','');
  24. if (empty($step)){
  25. $info = array();
  26. if (!empty($noticeId)){
  27. $info = M('Notice')->where(array('notice_id'=>$noticeId))->find();
  28. }
  29. $this->assign('info',$info);
  30. $this->display();
  31. }else if($step==2){
  32. $userIdArr = array();
  33. $userType = I('user_type','');
  34. $refUserId = I('ref_user_id','');
  35. $refUserId = str_replace(',', ',', $refUserId);
  36. $refUserId = trim($refUserId,',');
  37. if ($userType==2){
  38. if (empty($refUserId)){
  39. $this->error('用户id不能为空');
  40. }
  41. $userIdArr = explode(',', $refUserId);
  42. $userInfo = M('User')->where(array('user_id'=>array('IN',$userIdArr)))->field('user_id')->select();
  43. if (function_exists('array_column')){
  44. $userIdDbArr = array_column($userInfo, 'user_id');
  45. }else{
  46. foreach ($userInfo as $r){
  47. $userIdDbArr[] = $r['user_id'];
  48. }
  49. }
  50. if (count($userIdArr)!=count($userIdDbArr)){
  51. $userIdDiff = array_diff($userIdArr, $userIdDbArr);
  52. $userIdDiffStr = implode(',', $userIdDiff);
  53. $this->error('您输入的“'.$userIdDiffStr.'”未找到相关用户id信息,请仔细核实后提交。');
  54. }
  55. }
  56. $noticeContent = I('notice_content','');
  57. if (mb_strlen($noticeContent,'UTF8')<2 || mb_strlen($noticeContent,'UTF8')>500){
  58. $this->error('通知消息2到500个汉字');
  59. }
  60. if (empty($noticeId)){
  61. if ($userType==2){
  62. M('Notice')->add(array('notice_content'=>$noticeContent,'notice_title'=>'系统消息','ref_user_id'=>$refUserId,'user_id'=>0,'operate_dt'=>time()));
  63. M('User')->where(array('user_id'=>array('IN',$userIdArr),'is_delete'=>1))->setInc('sys_notice');
  64. }else{
  65. M('Notice')->add(array('notice_content'=>$noticeContent,'notice_title'=>'系统消息','user_id'=>0,'operate_dt'=>time()));
  66. M('User')->where(array('is_delete'=>1))->setInc('sys_notice');
  67. }
  68. }else{
  69. M('Notice')->where(array('notice_id'=>$noticeId))->save(array('notice_content'=>$noticeContent));
  70. }
  71. $this->success('通知消息操作成功','/admin/notice/index');
  72. }
  73. }
  74. public function del(){
  75. $noticeId = I('notice_id','');
  76. if (empty($noticeId)){
  77. $this->error("通知消息ID错误",'/admin/notice/index');
  78. }
  79. //M('Notice')->where(array('notice_id'=>$noticeId))->save(array('is_delete'=>2));
  80. M('Notice')->where(array('notice_id'=>$noticeId))->delete();
  81. $this->success('通知消息删除成功','/admin/notice/index');
  82. }
  83. }