Article.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. <?php
  2. namespace app\admin\controller\store;
  3. use app\common\controller\AdminController;
  4. use app\http\IResponse;
  5. class Article extends AdminController
  6. {
  7. public function index()
  8. {
  9. $where = [];
  10. //组合搜索
  11. !empty(input('title')) && $where[]
  12. = ['title', 'like', '%' . input('title') . '%'];
  13. !empty(input('category_id')) && $where[]
  14. = ['category_id', 'eq', input('category_id')];
  15. $banners = model('common/Article');
  16. return IResponse::paginate($banners->where($where)->with(['category'])
  17. ->paginate(input('limit'),false));
  18. }
  19. public function save()
  20. {
  21. // 数据校验
  22. $params = $this->request->param();
  23. $valid = $this->validate($params, [
  24. 'category_id|所属分类' => 'require',
  25. 'title|文章标题' => 'require',
  26. 'content|文章内容' => 'require',
  27. ]);
  28. // 错误返回
  29. (true !== $valid) && IResponse::failure($valid);
  30. // 保存数据
  31. $articleId = model("common/Article")->storeBy($params);
  32. return $articleId ? IResponse::success([],'新增文章成功'):
  33. IResponse::failure('新增文章异常');
  34. }
  35. public function update($id)
  36. {
  37. // 数据校验
  38. $params = $this->request->param();
  39. // 查询
  40. $banner = model('common/Article')->findBy($id);
  41. // 是否更改状态操作
  42. if (isset($params['status']) && $params['status'] != '') {
  43. $valid = $this->validate($params, [
  44. 'status|轮播图状态' => 'require|integer'
  45. ]);
  46. }else {
  47. // 数据校验
  48. $valid = $this->validate($params, [
  49. 'category_id|所属分类' => 'require',
  50. 'title|文章标题' => 'require',
  51. 'content|文章内容' => 'require',
  52. ]);
  53. }
  54. // 错误返回
  55. (true !== $valid) && IResponse::failure($valid);
  56. // 更新信息
  57. $banner->updateBy($id, $params);
  58. return IResponse::success('更新文章信息成功');
  59. }
  60. /**
  61. * 删除
  62. *
  63. * @param $id
  64. * @return \think\response\Json
  65. */
  66. public function delete($id)
  67. {
  68. model('common/Article')->deleteBy($id);
  69. return IResponse::success([],'删除成功');
  70. }
  71. public function categories()
  72. {
  73. $where = [];
  74. //组合搜索
  75. $user = model('common/ArticleCategory');
  76. return IResponse::paginate($user->where($where)
  77. ->paginate(input('limit'),false));
  78. }
  79. /**
  80. * 新增分类
  81. *
  82. * @return mixed
  83. */
  84. public function category()
  85. {
  86. // 接收数据
  87. $params = $this->request->param();
  88. // 数据校验
  89. $valid = $this->validate($params,[
  90. 'name|文章分类' => 'require|unique:ArticleCategory',
  91. ],[
  92. 'email.unique' => '重复分类名称!'
  93. ]);
  94. (true !== $valid) && IResponse::failure($valid);
  95. // 保存数据
  96. $goodsId = model('common/ArticleCategory')->storeBy($params);
  97. return $goodsId ? IResponse::success([],'新增文章分类成功'):
  98. IResponse::failure('新增文章分类异常');
  99. }
  100. /**
  101. * 更新分类
  102. *
  103. * @return mixed
  104. */
  105. public function updateCategory($id)
  106. {
  107. // 接收数据
  108. $params = $this->request->param();
  109. // 查询
  110. $goods = model('common/ArticleCategory')->findBy($id);
  111. // 是否更改状态操作
  112. if (isset($params['status']) && $params['status'] != '') {
  113. $valid = $this->validate($params, [
  114. 'status|配置状态' => 'require|integer'
  115. ]);
  116. }else {
  117. // 数据校验
  118. $valid = $this->validate($params,[
  119. 'name|文章分类' => 'require',
  120. ]);
  121. }
  122. // 错误返回
  123. (true !== $valid) && IResponse::failure($valid);
  124. // 更新用户信息
  125. $goods->updateBy($id, $params);
  126. return IResponse::success('更新分类信息成功');
  127. }
  128. /**
  129. * 删除分类
  130. * @param $id
  131. *
  132. * @return mixed
  133. */
  134. public function deleteCategory($id)
  135. {
  136. model('common/ArticleCategory')->deleteBy($id);
  137. return IResponse::success([],'删除分类成功');
  138. }
  139. }