DedicatedLine.php 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. namespace app\admin\controller;
  3. use app\BaseController;
  4. use app\admin\model\DedicatedLine as DedicatedLineModel;
  5. use app\admin\validate\DedicatedLineValidate;
  6. use Exception;
  7. /**
  8. * 专线设置
  9. */
  10. class DedicatedLine extends BaseController
  11. {
  12. /**
  13. * @api {get} /dedicatedline/list 列表
  14. */
  15. function list()
  16. {
  17. try {
  18. $params = $this->request->param();
  19. $page = $params['page'] ?? 1;
  20. $limit = $params['limit'] ?? 15;
  21. $language_code = $params['language_code'] ?? $this->lang;
  22. $query = DedicatedLineModel::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(['count' => $count, 'list' => $list]);
  35. }
  36. //新增/编辑
  37. public function update()
  38. {
  39. try {
  40. $params = (new DedicatedLineValidate)->post()->goCheck('edit');
  41. $id = $params['id'] ?? 0;
  42. $language_code = $params['language_code'] ?? $this->lang;
  43. $exists = DedicatedLineModel::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. $dedicatedLine = new DedicatedLineModel();
  51. } else {
  52. $dedicatedLine = DedicatedLineModel::where('id', $id)->find();
  53. if (!$dedicatedLine) {
  54. return $this->error('专线不存在');
  55. }
  56. }
  57. $dedicatedLine->name = $params['name'];
  58. $dedicatedLine->keyword = $params['keyword'] ?? '';
  59. $dedicatedLine->is_rec = $params['is_rec'] ?? 0;
  60. $dedicatedLine->weight = $params['weight'];
  61. $dedicatedLine->language_code = $language_code;
  62. $dedicatedLine->save();
  63. } catch (Exception $e) {
  64. return $this->error($e->getMessage());
  65. }
  66. return $this->success([], '操作成功');
  67. }
  68. //删除
  69. public function delete()
  70. {
  71. try {
  72. $params = (new DedicatedLineValidate)->goCheck('id');
  73. $info = DedicatedLineModel::where('id', $params['id'])->find();
  74. if (!$info) {
  75. return $this->error('专线不存在');
  76. }
  77. $info->delete();
  78. } catch (Exception $e) {
  79. return $this->error($e->getMessage());
  80. }
  81. return $this->success([],'删除成功');
  82. }
  83. }