Newscate.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <?php
  2. /**
  3. * @copyright Copyright (c) 2017 https://www.sapixx.com All rights reserved.
  4. * @license Licensed (http://www.apache.org/licenses/LICENSE-2.0).
  5. * @author pillar<ltmn@qq.com>
  6. * 栏目管理
  7. */
  8. namespace app\green\controller;
  9. use app\green\model\GreenNews;
  10. use app\green\model\GreenNewsCate;
  11. class Newscate extends Common{
  12. public function initialize() {
  13. parent::initialize();
  14. $this->assign('pathMaps', [['name'=>'文章分类','url'=>url("newscate/index")]]);
  15. }
  16. /**
  17. * 列表
  18. */
  19. public function index(){
  20. $view['lists'] = GreenNewsCate::where(['member_miniapp_id' => $this->member_miniapp_id])->order('sort desc,id desc')->paginate(20);
  21. return view()->assign($view);
  22. }
  23. /**
  24. * 添加
  25. */
  26. public function add(){
  27. if(request()->isAjax()){
  28. $data = [
  29. 'member_miniapp_id' => $this->member_miniapp_id,
  30. 'title' => input('post.title/s'),
  31. 'name' => input('post.name/s'),
  32. 'sort' => input('post.sort/d'),
  33. 'picture' => input('post.picture/s')
  34. ];
  35. $validate = $this->validate($data,'Cate.news');
  36. if(true !== $validate){
  37. return enjson(0,$validate);
  38. }
  39. $result = GreenNewsCate::edit($data);
  40. if($result){
  41. return enjson(200,'操作成功',['url' => url('newscate/index')]);
  42. }else{
  43. return enjson(0,'操作失败');
  44. }
  45. }else{
  46. return view();
  47. }
  48. }
  49. //编辑
  50. public function edit(){
  51. if(request()->isAjax()){
  52. $data = [
  53. 'id' => input('post.id/s'),
  54. 'title' => input('post.title/s'),
  55. 'name' => input('post.name/s'),
  56. 'sort' => input('post.sort/d'),
  57. 'picture' => input('post.picture/s'),
  58. ];
  59. $validate = $this->validate($data,'Cate.news');
  60. if(true !== $validate){
  61. return enjson(0,$validate);
  62. }
  63. $result = GreenNewsCate::edit($data);
  64. if($result){
  65. return enjson(200,'操作成功',['url' => url('newscate/index')]);
  66. }else{
  67. return enjson(0,'操作失败');
  68. }
  69. }else{
  70. $id = input('get.id/d');
  71. $info = GreenNewsCate::get($id);
  72. if(!$info){
  73. $this->error("404 NOT FOUND");
  74. }
  75. $view['info'] = $info;
  76. return view('edit',$view);
  77. }
  78. }
  79. /**
  80. * 排序
  81. */
  82. public function sort(){
  83. if(request()->isAjax()){
  84. $data = [
  85. 'sort' => input('post.sort/d'),
  86. 'id' => input('post.id/d'),
  87. ];
  88. $validate = $this->validate($data,'Cate.sort');
  89. if(true !== $validate){
  90. return enjson(0,$validate);
  91. }
  92. $result = GreenNewsCate::where(['id' => $data['id']])->update(['sort'=>$data['sort']]);
  93. if($result){
  94. return enjson(200,'操作成功');
  95. }else{
  96. return enjson(0,'操作失败');
  97. }
  98. }
  99. }
  100. //删除
  101. public function delete(){
  102. $id = input('get.id/d');
  103. $goods = GreenNews::get(['cate_id' => $id]);
  104. if($goods){
  105. return enjson(403,'删除失败,栏目中还包含内容');
  106. }
  107. $result = GreenNewsCate::where(['id'=>$id,'member_miniapp_id' => $this->member_miniapp_id])->delete();
  108. if($result){
  109. return enjson(200,'操作成功');
  110. }else{
  111. return enjson(403,'操作失败');
  112. }
  113. }
  114. }