FeedbackController.php 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request as Req;
  5. use Request;
  6. /**
  7. *
  8. */
  9. class FeedbackController extends Controller {
  10. function index() {
  11. # code...
  12. }
  13. /**
  14. *用户反馈信息
  15. * [Colse description]
  16. */
  17. function feedbacks(Req $req) {
  18. $request=array();
  19. $request['account']=isset($req->account)?trim($req->account):null;
  20. $request['type'] = isset($req->type) ? trim($req->type) : null;
  21. $request['content'] = isset($req->content) ? trim($req->content) : null;
  22. $request['reply'] = isset($req->reply) ? trim($req->reply) : null;
  23. $request['status'] = isset($req->status) ? trim($req->status) : null;
  24. $request['startime'] = isset($req->startime) ? trim($req->startime) : null;
  25. $request['endtime'] = isset($req->endtime) ? trim($req->endtime) : null;
  26. $dt = \App\Lib\DataTable\DataTable::init();
  27. $dt->setDataSource('/admin/Feedback/feedback');
  28. $dt->setLang('user');
  29. $dt->addColsFields('account_name', array('templet' => '#userdetail', 'width' => 130, 'sort' => false));
  30. $dt->addColsFields('type', array('width' => 110, 'sort' => false));
  31. $dt->addColsFields('content', array('sort' => false));
  32. $dt->addColsFields('submit_time', array('width' => 180));
  33. $dt->addColsFields('status', array('width' => 110, 'sort' => false));
  34. $dt->addColsFields('reply', array('sort' => false));
  35. $dt->enableCheckBox();
  36. if (checkRriv('/admin/Feedback/Edit')) {
  37. $dt->setToolBar(array('edit'),array('width' => 100));
  38. }
  39. return view('admin.feedback/feedbacks', $dt->render($request));
  40. }
  41. /**
  42. * 用户反馈内容
  43. * 'feedback description'
  44. * @return 'type' 'description'
  45. */
  46. function feedback() {
  47. $page = Request::has('page') ? Request::get('page') : '';
  48. $list = Request::has('limit') ? Request::get('limit') : '';
  49. $account = Request::has('account') ? Request::get('account') : '';
  50. $type = Request::has('type') ? Request::get('type') : '';
  51. $content = Request::has('content') ? Request::get('content') : '';
  52. $reply = Request::has('reply') ? Request::get('reply') : '';
  53. $status = Request::has('status') ? Request::get('status') : '';
  54. $startime = Request::get('startime') ? Request::get('startime').' 00:00:00' : '';
  55. $endtime = Request::get('endtime') ? Request::get('endtime').' 23:59:59' : '';
  56. $sureblur = Request::has('sureblur') ? Request::get('sureblur') : '';
  57. $where = array();
  58. if (!empty($account)) {
  59. if (empty($sureblur) || $sureblur == '模糊') {
  60. $where[] = array('account_name', 'like', '%' . $account . '%');
  61. } else {
  62. $where[] = array('account_name', '=', $account);
  63. }
  64. }
  65. if (!empty($type)) {
  66. $where[] = array('type', '=', $type);
  67. }
  68. if (!empty($content)) {
  69. $where[] = array('content', 'like', '%' . $content . '%');
  70. }
  71. if (!empty($reply)) {
  72. $where[] = array('reply', 'like', '%' . $reply . '%');
  73. }
  74. if (!empty($status)) {
  75. if ($status == 2) {
  76. $where[] = array('status', '=', '0');
  77. } else {
  78. $where[] = array('status', '=', $status);
  79. }
  80. }
  81. if (!empty($startime)) {
  82. $startime = date('Y-m-d H:i:s', strtotime($startime));
  83. $where[] = array('submit_time', '>=', $startime);
  84. }
  85. if (!empty($endtime)) {
  86. $endtime = date('Y-m-d H:i:s', strtotime($endtime));
  87. $where[] = array('submit_time', '<=', $endtime);
  88. }
  89. $db = new \App\Models\Feedback;
  90. $data = $db->feedback($list, $page, $where);
  91. if (!($data < 0)) {
  92. $langinfo = trans('status.feedback.status');
  93. foreach ($data['data'] as $k => $v) {
  94. $data['data'][$k]['status'] = ($v['status'] == 0) ? $langinfo[2] : $langinfo[$v['status']];
  95. }
  96. }
  97. return \App\Lib\DataTable\DataTable::init()->toJson($data['data'], $data['total']);
  98. }
  99. //显示用户详情
  100. function View(Req $req) {
  101. $account = !empty($req->account) ? $req->account : '';
  102. if (empty($account)) {
  103. abort(404);
  104. }
  105. $u_db = new \App\Models\Account();
  106. $u_details = new \App\Models\Account_detailed();
  107. $bank = new \App\Models\Account_bank();
  108. $data = $u_db::where('account', $account)->first();
  109. if (!$data) {
  110. abort(404);
  111. }
  112. $data = $data->toArray();
  113. $data_details = $u_details->getInfoBy($data['identity']);
  114. $data_details['account'] = $data['account'];
  115. $bank_data = $bank->getInfoByUid($data['identity']);
  116. $data_details['bank_name'] = isset($bank_data['bank_name']) ? $bank_data['bank_name'] : '';
  117. $data_details['bank_address'] = isset($bank_data['bank_address']) ? $bank_data['bank_address'] : '';
  118. $data_details['bank_number'] = isset($bank_data['bank_number']) ? $bank_data['bank_number'] : '';
  119. $data_details['register_time'] = isset($data_details['register_time']) ? $data_details['register_time'] : '';
  120. $data_details['register_ip'] = isset($data_details['register_ip']) ? $data_details['register_ip'] : '';
  121. $data_details['last_ip'] = isset($data_details['last_ip']) ? $data_details['last_ip'] : '';
  122. $data_details['cash'] = isset($data_details['cash']) ? $data_details['cash'] : '';
  123. $data_details['email'] = isset($data_details['email']) ? $data_details['email'] : '';
  124. $data_details['name'] = isset($data_details['name']) ? $data_details['name'] : '';
  125. unset($data_details['password']);
  126. return view('admin.feedback/view', ['data' => $data_details]);
  127. }
  128. //修改会员信息
  129. function Edit(Req $req) {
  130. $id = $req->id;
  131. if (intval($id) < 1) {
  132. abort(404);
  133. }
  134. $db = new \App\Models\Feedback();
  135. if (!$req->isMethod('post')) {
  136. $data = $db->getCloseOne($id);
  137. if (!$data) {
  138. return responseToJson($data);
  139. }
  140. return view('admin.feedback/edit', ['data' => $data]);
  141. } else {
  142. $data['status'] = '1';
  143. $data['reply'] = $req->input('reply');
  144. $res = $db->updateOne($data, $id);
  145. return responseToJson($res);
  146. }
  147. }
  148. /**
  149. * 批量删除
  150. * [delete description]
  151. * @return [type] [description]
  152. */
  153. function delete(Req $req) {
  154. $id = $req->input('id');
  155. if (empty($id)) {
  156. return responseToJson(-2001); //id������
  157. }
  158. $ids = explode(',', $id);
  159. if (!is_array($ids) && intval($ids) < 0) {
  160. return responseToJson(-2002); //id����
  161. }
  162. if (is_array($ids) && count($ids) > 0) {
  163. foreach ($ids as $k => $v) {
  164. if (intval($v) < 1) {
  165. unset($ids[$k]);
  166. }
  167. }
  168. }
  169. $rows = \App\Models\Feedback::whereIn('id', $ids)->delete();
  170. if (!$rows) {
  171. return responseToJson(-2003); //id����
  172. }
  173. return responseToJson(1, trans('menu.delete_success')); //id����
  174. }
  175. }