QuestionsController.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <?php
  2. namespace app\api\controller\qa;
  3. use app\models\qa\QaFavor;
  4. use app\models\qa\QaReply;
  5. use app\Request;
  6. use app\models\qa\QaPost;
  7. use app\models\user\User;
  8. use crmeb\services\UtilService;
  9. class QuestionsController
  10. {
  11. //提交留言
  12. public function AddQuestions(Request $request)
  13. {
  14. $data = UtilService::postMore([
  15. ['title', ''],
  16. ['content', ''],
  17. ['img_list', ''],
  18. ], $request);
  19. $data['uid'] = $request->uid();
  20. $data['add_time'] = time();
  21. $data['img_list'] = explode(',', $data['img_list']);
  22. if (sizeof($data['img_list']) > 0)
  23. $data['img_list'] = json_encode($data['img_list']);
  24. $res = QaPost::AddQues($data);
  25. // User::postIntegral($request->uid());
  26. if ($res) {
  27. return app('json')->success('成功');
  28. } else {
  29. return app('json')->fail('失败');
  30. }
  31. }
  32. //获取留言列表
  33. public function QutList(Request $request)
  34. {
  35. header('Access-Control-Allow-Origin: *');
  36. $data = UtilService::getMore([
  37. ['id', '0'],
  38. ['page', '0'],
  39. ['limit', '20'],
  40. ['uid', ''],
  41. ['title', ''],
  42. ['type', 0]
  43. ], $request);
  44. $arr = QaPost::QutList($data['id'], $data['page'], $data['limit'], $data['uid'], $data['title'],$data['type']);
  45. if ($arr) {
  46. foreach ($arr as &$value) {
  47. $value['add_time'] = date('Y-m-d H:i:s', $value['add_time']);
  48. //$value['img_list']=substr($value['img_list'],0,strlen($value['img_list'])-1);
  49. // $value['img_list'] = explode(';', $value['img_list']);
  50. $value['img_list'] = json_decode($value['img_list'], true);
  51. if ($value['uid'])
  52. $value['userinfo'] = User::where('uid', $value['uid'])->select()->toArray();
  53. else
  54. $value['userinfo'][0] = [
  55. 'nickname' => '乖乖拼',
  56. 'avatar' => 'https://xipin.liuniu946.com//uploads/attach/2020/04/20200430/5def6d41d665dcb3def43e8f5cde77ff.png'
  57. ];
  58. $value['is_favor'] = QaFavor::be(['qid' => $value['id'], 'uid' => $request->uid(), 'is_del' => 0]) ? 1 : 0; //用户是否点过赞
  59. $value['answer_nums'] = QaReply::where('pid', $value['id'])->where('is_del=0')->count();
  60. }
  61. }
  62. return app('json')->success($arr);
  63. }
  64. /**
  65. * 点赞
  66. * @param Request $request
  67. * @return mixed
  68. */
  69. public function favor(Request $request)
  70. {
  71. $param = UtilService::postMore([
  72. 'id',
  73. ['favor', 1]
  74. ], $request);
  75. $uid = $request->uid();
  76. if (!QaPost::be(['id' => $param['id'], 'is_del' => 0])) {
  77. return app('json')->fail('找不到该帖子');
  78. }
  79. $time = time();
  80. if ($param['favor'] == 1) { //点赞
  81. if (QaFavor::be(['uid' => $uid, 'qid' => $param['id'], 'is_del' => 0])) {
  82. return app('json')->fail('请勿重复点赞');
  83. }
  84. QaFavor::create([
  85. 'qid' => $param['id'],
  86. 'uid' => $uid,
  87. 'add_time' => $time
  88. ]);
  89. QaPost::where("id={$param['id']}")->inc('favor_nums', 1)->update();
  90. } else { //取消点赞
  91. if (!QaFavor::be(['uid' => $uid, 'qid' => $param['id'], 'is_del' => 0])) {
  92. return app('json')->fail('您没有点赞过,无法取消');
  93. }
  94. $id = QaFavor::where("qid={$param['id']} and uid={$uid} and is_del=0")->value('id');
  95. QaFavor::update([
  96. 'id' => $id,
  97. 'is_del' => 1
  98. ]);
  99. QaPost::where("id={$param['id']}")->dec('favor_nums', 1)->update();
  100. }
  101. // QaPost::up
  102. return app('json')->success('操作成功');
  103. }
  104. }