Question.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. <?php
  2. namespace app\admin\controller;
  3. use think\facade\Session;
  4. use app\admin\BaseController;
  5. use app\common\model\Question as QuestionModel;
  6. use app\common\model\QuestionCate as QuestionCateModel;
  7. class Question extends BaseController
  8. {
  9. // 删除
  10. public function delQuestion()
  11. {
  12. $idarr = input('idarr/a');
  13. QuestionModel::whereIn('id',$idarr)->delete();
  14. exit(json_encode(array(
  15. 'code' => 0,
  16. 'msg' => ""
  17. )));
  18. }
  19. // 编辑&添加
  20. public function editQuestion()
  21. {
  22. $id = input('id/d');
  23. if (empty($id)){
  24. QuestionModel::create([
  25. 'cateid' => input('cateid/d'),
  26. 'title' => input('title/s'),
  27. 'details' => input('details/s'),
  28. 'priority' => input('priority/d'),
  29. 'createtime' => input('createtime/s'),
  30. 'status' => input('status/d')==1 ? 1 : 2,
  31. 'volume' => input('volume/d')
  32. ]);
  33. }else{
  34. QuestionModel::update([
  35. 'id' => $id,
  36. 'cateid' => input('cateid/d'),
  37. 'title' => input('title/s'),
  38. 'details' => input('details/s'),
  39. 'priority' => input('priority/d'),
  40. 'createtime' => input('createtime/s'),
  41. 'status' => input('status/d')==1 ? 1 : 2,
  42. 'volume' => input('volume/d')
  43. ]);
  44. }
  45. exit(json_encode(array(
  46. 'code' => 0
  47. )));
  48. }
  49. // 常见问题
  50. public function questionList()
  51. {
  52. $catelist = QuestionCateModel::order(['priority'=>'desc','id'=>'desc'])->select();;
  53. return view('artapp/question/questionlist',[
  54. 'catelist' => $catelist
  55. ]);
  56. }
  57. public function questionForm()
  58. {
  59. $catelist = QuestionCateModel::order(['priority'=>'desc','id'=>'desc'])->select();
  60. $id = input('id/d, 0');
  61. $question = QuestionModel::findOrEmpty($id);
  62. if ($question->isEmpty()){
  63. $question['atype'] = 1;
  64. }
  65. return view('artapp/question/questionform',[
  66. 'catelist' => $catelist,
  67. 'question' => $question
  68. ]);
  69. }
  70. public function fieldQuestion()
  71. {
  72. $id = input('id/d',0);
  73. $info = QuestionModel::findOrEmpty($id);
  74. if ($info->isEmpty()){
  75. exit(json_encode(array(
  76. 'code' => 1,
  77. 'msg' => "信息不存在"
  78. )));
  79. }else{
  80. $info->save([
  81. input('field/s') => input('value/s', "")
  82. ]);
  83. }
  84. exit(json_encode(array(
  85. 'code' => 0
  86. )));
  87. }
  88. public function listQuestion()
  89. {
  90. $limit = input('limit');
  91. $page = input('page');
  92. $map = array();
  93. $keywords = input('keywords/s');
  94. if (!empty($keywords)){
  95. $map[] =['title', 'like', '%'.$keywords.'%'];
  96. }
  97. $cateid = input('cateid/d');
  98. if (!empty($cateid)){
  99. $map[] = ['cateid', '=', $cateid];
  100. }
  101. $status = input('status/d');
  102. if (!empty($status)){
  103. $map[] = ['status', '=', $status];
  104. }
  105. $list = QuestionModel::with('questionCate')->where($map)->order(['priority'=>'desc','id'=>'desc'])->limit($limit)->page($page)->append(['status_text'])->select();
  106. $count = QuestionModel::where($map)->count();
  107. if ($count==0){
  108. exit(json_encode(array(
  109. 'code' => 1,
  110. 'msg' => "未查询到数据"
  111. )));
  112. }
  113. exit(json_encode(array(
  114. 'code' => 0,
  115. 'msg' => "",
  116. 'count' => $count,
  117. 'data' => $list
  118. )));
  119. }
  120. // 分类
  121. public function cateList()
  122. {
  123. return view('artapp/question/catelist');
  124. }
  125. public function cateForm()
  126. {
  127. $id = input('id/d, 0');
  128. $cate = QuestionCateModel::findOrEmpty($id);
  129. return view('artapp/question/cateform',[
  130. 'cate' => $cate
  131. ]);
  132. }
  133. public function listCate()
  134. {
  135. $limit = input('limit');
  136. $page = input('page');
  137. $list = QuestionCateModel::order(['priority'=>'desc','id'=>'desc'])->limit($limit)->page($page)->append(['status_text'])->select();
  138. $count = QuestionCateModel::count();
  139. if ($count==0){
  140. exit(json_encode(array(
  141. 'code' => 1,
  142. 'msg' => "未查询到数据"
  143. )));
  144. }
  145. exit(json_encode(array(
  146. 'code' => 0,
  147. 'msg' => "",
  148. 'count' => $count,
  149. 'data' => $list
  150. )));
  151. }
  152. public function fieldCate()
  153. {
  154. $id = input('id/d');
  155. $cate = QuestionCateModel::find($id);
  156. if ($cate==null){
  157. exit(json_encode(array(
  158. 'code' => 1,
  159. 'msg' => "分类信息不存在"
  160. )));
  161. }else{
  162. $cate->save([
  163. input('field/s') => input('value/s', "")
  164. ]);
  165. }
  166. exit(json_encode(array(
  167. 'code' => 0
  168. )));
  169. }
  170. public function editCate()
  171. {
  172. $id = input('id/d');
  173. if (empty($id)){
  174. $cate = QuestionCateModel::create([
  175. 'title' => input('title/s'),
  176. 'status' => input('status/d')==1 ? 1 : 2,
  177. 'priority' => input('priority/d')
  178. ]);
  179. }else{
  180. $cate = QuestionCateModel::find($id);
  181. $cate->save([
  182. 'title' => input('title/s'),
  183. 'status' => input('status/d')==1 ? 1 : 2,
  184. 'priority' => input('priority/d')
  185. ]);
  186. }
  187. exit(json_encode(array(
  188. 'code' => 0
  189. )));
  190. }
  191. public function delCate()
  192. {
  193. $id = input('id/d');
  194. QuestionCateModel::where('id',$id)->delete();
  195. exit(json_encode(array(
  196. 'code' => 0,
  197. 'msg' => ""
  198. )));
  199. }
  200. }