Questions.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <?php
  2. namespace app\admin\controller\qa;
  3. use app\admin\controller\AuthController;
  4. use app\admin\model\activity\Activity as ActivityModel;
  5. use app\Request;
  6. use think\facade\Db;
  7. use crmeb\services\{
  8. UtilService as Util, JsonService as Json
  9. };
  10. use app\admin\model\qa\QaPost;
  11. use crmeb\services\JsonService;
  12. use think\facade\Route as Url;
  13. use crmeb\services\UtilService;
  14. use crmeb\services\FormBuilder as Form;
  15. /**
  16. * 问答管理
  17. * Class WechatNews
  18. * @package app\admin\controller\wechat
  19. */
  20. class Questions extends AuthController
  21. {
  22. public function index()
  23. {
  24. $where = Util::getMore([
  25. ['title', ''],
  26. ['status', ''],
  27. ], $this->request);
  28. $this->assign('where', $where);
  29. $this->assign(QaPost::getAll($where));
  30. return $this->fetch();
  31. }
  32. /**
  33. * 删除图文
  34. * @param $id
  35. * @return \think\response\Json
  36. */
  37. public function delete($id)
  38. {
  39. $res = QaPost::del($id);
  40. if (!$res)
  41. return Json::fail('删除失败,请稍候再试!');
  42. else
  43. return Json::successful('删除成功!');
  44. }
  45. public function fail($id)
  46. {
  47. if (!QaPost::be(['id' => $id, 'status' => 0])) return JsonService::fail('操作记录不存在或状态错误!');
  48. $extract = QaPost::get($id);
  49. if (!$extract) return JsonService::fail('操作记录不存在!');
  50. if ($extract->status == 1) return JsonService::fail('已经通过,错误操作');
  51. if ($extract->status == 2) return JsonService::fail('已被拒绝,请勿重复操作!');
  52. $res = QaPost::changeFail($id);
  53. if ($res) {
  54. return JsonService::successful('操作成功!');
  55. } else {
  56. return JsonService::fail('操作失败!');
  57. }
  58. }
  59. public function succ($id)
  60. {
  61. if (!QaPost::be(['id' => $id, 'status' => 0]))
  62. return JsonService::fail('操作记录不存在或状态错误!');
  63. QaPost::beginTrans();
  64. $extract = QaPost::get($id);
  65. if (!$extract) return JsonService::fail('操作记录不存!');
  66. if ($extract->status == 1) return JsonService::fail('已经通过,错误操作');
  67. if ($extract->status == 2) return JsonService::fail('已被拒绝,请勿重复操作!');
  68. $res = QaPost::changeSuccess($id);
  69. if ($res) {
  70. QaPost::commitTrans();
  71. return JsonService::successful('操作成功!');
  72. } else {
  73. QaPost::rollbackTrans();
  74. return JsonService::fail('操作失败!');
  75. }
  76. }
  77. public function create($id = 0)
  78. {
  79. $this->assign('id', (int)$id);
  80. return $this->fetch();
  81. }
  82. public function get_questions_info(Request $request, $id = 0)
  83. {
  84. $data['questionsInfo'] = [];
  85. if ($id) {
  86. $data['questionsInfo'] = QaPost::get($id);
  87. $data['questionsInfo']['img_list'] = is_string($data['questionsInfo']['img_list']) ? json_decode($data['questionsInfo']['img_list'], true) : [];
  88. }
  89. return JsonService::successful($data);
  90. }
  91. public function save($id)
  92. {
  93. $param = UtilService::postMore([
  94. 'title',
  95. 'img_list',
  96. 'product_title',
  97. 'product_url',
  98. 'content'
  99. ]);
  100. Db::startTrans();
  101. try {
  102. if (count($param['img_list']) < 1) return Json::fail('请上传帖子图片');
  103. $param['img_list'] = json_encode($param['img_list']);
  104. if ($id) {
  105. $param['id'] = $id;
  106. QaPost::update($param);
  107. } else {
  108. $param['add_time'] = time();
  109. $param['type'] = 1;
  110. QaPost::create($param);
  111. }
  112. Db::commit();
  113. JsonService::success($id ? '修改帖子成功' : '添加帖子成功');
  114. } catch (Exception $e) {
  115. Db::rollback();
  116. JsonService::fail($e->getMessage());
  117. }
  118. }
  119. }