Ask.php 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  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\bestbao\controller;
  9. use app\bestbao\model\BestbaoAsk;
  10. use app\bestbao\model\BestbaoAskCategory;
  11. class Ask extends Common{
  12. public function initialize(){
  13. parent::initialize();
  14. $this->assign('pathMaps',[['name'=>'知识库','url'=>'javascript:;']]);
  15. }
  16. /**
  17. * 列表
  18. */
  19. public function index(){
  20. $view['lists'] = BestbaoAsk::where(['member_miniapp_id' => $this->member_miniapp_id])->order('is_top desc,sort desc,update_time desc')->paginate(15);
  21. return view()->assign($view);
  22. }
  23. /**
  24. * 添加
  25. */
  26. public function add(){
  27. if(request()->isAjax()){
  28. $param = [
  29. 'is_top' => $this->request->param('is_top/s'),
  30. 'is_ad' => $this->request->param('is_ad/s'),
  31. 'ad_img' => $this->request->param('ad_img/s'),
  32. 'category_id' => $this->request->param('category_id/d'),
  33. 'title' => $this->request->param('title/s'),
  34. 'note' => $this->request->param('note/s'),
  35. 'price' => $this->request->param('price/s'),
  36. 'content' => $this->request->param('content/s'),
  37. 'answer' => $this->request->param('answer/s'),
  38. 'member_miniapp_id' => $this->member_miniapp_id,
  39. 'update_time' => time(),
  40. 'create_time' => time(),
  41. ];
  42. $validate = $this->validate($param,'Ask.add');
  43. if(true !== $validate){
  44. return json(['code'=>0,'msg'=>$validate]);
  45. }
  46. $result = BestbaoAsk::create($param);
  47. if($result){
  48. return enjson(200,'操作成功',['url'=>url('ask/index')]);
  49. }else{
  50. return enjson(0);
  51. }
  52. }else{
  53. $view['category'] = BestbaoAskCategory::where(['member_miniapp_id' => $this->member_miniapp_id])->order('sort desc,id desc')->select();
  54. return view()->assign($view);
  55. }
  56. }
  57. //编辑
  58. public function edit(){
  59. if(request()->isAjax()){
  60. $param = [
  61. 'id' => $this->request->param('id/s'),
  62. 'is_top' => $this->request->param('is_top/s'),
  63. 'is_ad' => $this->request->param('is_ad/s'),
  64. 'ad_img' => $this->request->param('ad_img/s'),
  65. 'category_id' => $this->request->param('category_id/d'),
  66. 'title' => $this->request->param('title/s'),
  67. 'note' => $this->request->param('note/s'),
  68. 'price' => $this->request->param('price/s'),
  69. 'content' => $this->request->param('content/s'),
  70. 'answer' => $this->request->param('answer/s'),
  71. 'member_miniapp_id' => $this->member_miniapp_id,
  72. 'update_time' => time(),
  73. ];
  74. $validate = $this->validate($param,'Ask.edit');
  75. if(true !== $validate){
  76. return json(['code'=>0,'msg'=>$validate]);
  77. }
  78. $result = BestbaoAsk::update($param);
  79. if($result){
  80. return enjson(200,'操作成功',['url'=>url('ask/index')]);
  81. }else{
  82. return enjson(0);
  83. }
  84. }else{
  85. $view['info'] = BestbaoAsk::where(['id' => $this->request->param('id/d'),'member_miniapp_id' => $this->member_miniapp_id])->find();
  86. $view['category'] = BestbaoAskCategory::where(['member_miniapp_id' => $this->member_miniapp_id])->order('sort desc,id desc')->select();
  87. return view()->assign($view);
  88. }
  89. }
  90. /**
  91. * 排序
  92. */
  93. public function sort(){
  94. if(request()->isAjax()){
  95. $data = [
  96. 'sort' => $this->request->param('sort/d'),
  97. 'id' => $this->request->param('id/d'),
  98. ];
  99. $validate = $this->validate($data,'ask.sort');
  100. if(true !== $validate){
  101. return json(['code'=>0,'msg'=>$validate]);
  102. }
  103. $result = BestbaoAsk::update(['sort'=>$data['sort']],['id' => $data['id']]);
  104. if($result){
  105. return enjson(200);
  106. }else{
  107. return enjson(0);
  108. }
  109. }
  110. }
  111. //删除
  112. public function delete(int $id){
  113. $result = BestbaoAsk::destroy($id);
  114. if($result){
  115. return enjson(200);
  116. }else{
  117. return enjson(403,'删除失败');
  118. }
  119. }
  120. /**
  121. * 推荐
  122. * @param integer $id 用户ID
  123. */
  124. public function isAd(int $id){
  125. $result = BestbaoAsk::ad($id);
  126. if(!$result){
  127. return enjson(0,'操作失败');
  128. }else{
  129. return enjson(200,'操作成功');
  130. }
  131. }
  132. /**
  133. * 置顶
  134. * @param integer $id 用户ID
  135. */
  136. public function isTop(int $id){
  137. $result = BestbaoAsk::top($id);
  138. if(!$result){
  139. return enjson(0,'操作失败');
  140. }else{
  141. return enjson(200,'操作成功');
  142. }
  143. }
  144. }