Pushmember.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\admin\controller;
  4. use app\admin\BaseController;
  5. use think\facade\Db;
  6. use think\facade\View;
  7. use think\facade\Session;
  8. use think\App;
  9. use app\admin\model\Pushmessage as PushmessageModel;
  10. class Pushmember{
  11. protected $PushmessageModel;
  12. public function __construct(){
  13. $this->PushmessageModel = new PushmessageModel();
  14. }
  15. public function index(){
  16. if (request()->isAjax()){
  17. $unit_name = get_login_admin('unit_name');
  18. // dump($unit_name);
  19. $where = array();
  20. $list = $this->PushmessageModel::with(['pushmember'])->where($where)->select()->toArray();
  21. for($i = 0;$i < count($list); $i++){
  22. $pushmember = $list[$i]['pushmember'];
  23. if($pushmember == NULL){
  24. $list[$i]['pushmember'] = '无';
  25. continue;
  26. }
  27. for($j = 0; $j < count($pushmember); $j++){
  28. if($pushmember[$j]['unit_name'] == $unit_name){
  29. $member_id = $pushmember[$j]['member_id'];
  30. $pushmember = Db::name('Admin')->where('id', 'in', $member_id)->field('nickname')->select()->toArray();
  31. for($j = 0;$j < count($pushmember);$j++){
  32. $pushmember[$j] = $pushmember[$j]['nickname'];
  33. }
  34. $pushmember = implode(',', $pushmember);
  35. $list[$i]['pushmember'] = $pushmember;
  36. break;
  37. }
  38. if($j == count($pushmember) - 1){
  39. $list[$i]['pushmember'] = '无';
  40. }
  41. }
  42. }
  43. // dump($list);
  44. $user_type = get_login_admin('user_type');
  45. // dump($user_type);
  46. if($user_type >= 0){
  47. foreach($list as $key => $value){
  48. $value['is_who'] = explode(',', $value['is_who']);
  49. if(!in_array($user_type, $value['is_who'])){
  50. unset($list[$key]);
  51. }
  52. // if (strpos($value['is_who'], (string) $user_type) == false) {
  53. // unset($list[$key]);
  54. // }
  55. }
  56. $list = array_values($list);
  57. }
  58. if($user_type == 1){ //业主
  59. foreach ($list as $key => $value){
  60. if($value['title_proprietor'] != NULL){
  61. $list[$key]['title'] = $value['title_proprietor'];
  62. }
  63. }
  64. }else if($user_type == 2){ //公司
  65. foreach ($list as $key => $value){
  66. if($value['title_company'] != NULL){
  67. $list[$key]['title'] = $value['title_company'];
  68. }
  69. // dump($value['title']);
  70. }
  71. }
  72. // dump($list);
  73. return to_assign(0, '', $list);
  74. } else {
  75. return view();
  76. }
  77. }
  78. public function edit(){
  79. $param = get_params();
  80. if(request()->isAjax()){
  81. $memberdata = [
  82. 'message_id' => $param['message_id'],
  83. 'unit_name' => get_login_admin('unit_name'),
  84. 'member_id' => $param['select'],
  85. ];
  86. $data = Db::name('PushMember')->where('message_id', $param['message_id'])->where('unit_name', $memberdata['unit_name'])->find();
  87. if($data != NULL){
  88. Db::name('PushMember')->where('id', $data['id'])->update($memberdata);
  89. }else{
  90. Db::name('PushMember')->strict(false)->insert($memberdata);
  91. }
  92. return to_assign(0, '操作成功');
  93. }else{
  94. // halt($param);
  95. $message_id = $param['id'];
  96. $data = Db::name('PushMessage')->where('id', $message_id)->find();
  97. $pid = $data['pid'];
  98. while($pid != 0){
  99. $pdata = Db::name('PushMessage')->where('id', $pid)->find();
  100. $ptitle = $pdata['title'];
  101. $pid = $pdata['pid'];
  102. $data['title'] = $ptitle . '>>>>>' . $data['title'];
  103. }
  104. $member = Db::name('PushMember')->where('message_id', $message_id)->where('unit_name', get_login_admin('unit_name'))->value('member_id');
  105. if($member != NULL){
  106. $member = explode(',', $member);
  107. $member_data = array();
  108. for($i = 0; $i < count($member); $i++){
  109. $member_data[$i] = Db::name('Admin')->where('id', $member[$i])->find();
  110. }
  111. $member = $member_data;
  112. }
  113. $person = Db::name('Admin')->where('unit_name', get_login_admin('unit_name'))->select()->toArray();
  114. View::assign('data', $data);
  115. View::assign('member', $member);
  116. View::assign('person', $person);
  117. return view();
  118. }
  119. }
  120. }