ComplaintItem.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php
  2. namespace app\admin\controller;
  3. use app\BaseController;
  4. use Exception;
  5. use app\admin\model\ComplaintItem as ComplaintItemModel;
  6. use app\admin\validate\ComplaintItemValidate;
  7. /**
  8. * 投诉项
  9. */
  10. class ComplaintItem extends BaseController
  11. {
  12. /**
  13. * @api {get} /complaintitem/list 列表
  14. */
  15. function list()
  16. {
  17. try {
  18. $params = $this->request->param();
  19. $page = isset($params['page']) ? intval($params['page']) : 1;
  20. $limit = isset($params['limit']) ? intval($params['limit']) : 15;
  21. $language_code = $params['language_code'] ?? $this->lang;
  22. $query = ComplaintItemModel::where('language_code', $language_code);
  23. if (!empty($params['name'])) {
  24. $query = $query->where('name', 'like', '%'.$params['name'].'%');
  25. }
  26. $count = $query->count();
  27. $list = $query->order('weight','desc')
  28. ->limit($limit)
  29. ->page($page)
  30. ->select();
  31. } catch (Exception $e) {
  32. return $this->error($e->getMessage());
  33. }
  34. return $this->success(['levelList' => ComplaintItemModel::levelList(true), 'count' => $count, 'list' => $list]);
  35. }
  36. //新增/编辑
  37. public function update()
  38. {
  39. try {
  40. $params = (new ComplaintItemValidate)->post()->goCheck('edit');
  41. $id = $params['id'] ?? 0;
  42. $language_code = $params['language_code'] ?? $this->lang;
  43. $exists = ComplaintItemModel::where('name', $params['name'])->where('language_code', $language_code)->find();
  44. if ($exists ) {
  45. if (!$id || $id != $exists->id) {
  46. return $this->error('投诉项已存在');
  47. }
  48. }
  49. if (empty($params['id'])) {
  50. $complaintItem = new ComplaintItemModel();
  51. } else {
  52. $complaintItem = ComplaintItemModel::where('id', $id)->find();
  53. if (!$complaintItem) {
  54. return $this->error('投诉项不存在');
  55. }
  56. }
  57. $complaintItem->name = $params['name'];
  58. $complaintItem->level = $params['level'];
  59. $complaintItem->weight = $params['weight'];
  60. $complaintItem->language_code = $language_code;
  61. $complaintItem->save();
  62. } catch (Exception $e) {
  63. return $this->error($e->getMessage());
  64. }
  65. return $this->success([], '操作成功');
  66. }
  67. //删除
  68. public function delete()
  69. {
  70. try {
  71. $params = $params = (new ComplaintItemValidate)->goCheck('id');
  72. $info = ComplaintItemModel::where('id', $params['id'])->find();
  73. if (!$info) {
  74. return $this->error('投诉项不存在');
  75. }
  76. $info->delete();
  77. } catch (Exception $e) {
  78. return $this->error($e->getMessage());
  79. }
  80. return $this->success([],'删除成功');
  81. }
  82. }