getAllData([ ['uid', '=', $this->mid] ], 'id,name'); return sendSuccessArray([ 'category_list' => $category_list ]); } /** * 提交意见反馈 * @param int $category_id 分类ID * @param string $content 内容 * @param array $image_path 图片 * @param string $mobile_phone 手机号 * @param string $linkman 联系人 * @date 2022-12-20 */ public function insertFeedback($category_id, $content, $image_path, $mobile_phone, $linkman) { $category_model = new FeedbackCategory(); $feedback_model = new \app\feedback\model\Feedback(); $category = $category_model->getOneData([ ['id', '=', $category_id] ], 'id,name'); if (!$category) { return sendErrorArray(3001, '反馈类型不存在'); } $feedback_data = [ 'uid' => $this->mid, 'user_id' => $this->userId, 'category_id' => $category['id'], 'category_name' => $category['name'], 'linkman' => $linkman, 'mobile_phone' => $mobile_phone, 'content' => $content, 'image_path' => $image_path, 'status' => 1 ]; $res = $feedback_model->dataUpdate($feedback_data); if (!$res) { return sendErrorArray(3002, '反馈失败'); } return sendSuccessArray([], '反馈成功'); } /** * 反馈记录列表 * @param int $page 第X页 * @date 2022-12-20 */ public function listFeedback($page) { $feedback_model = new \app\feedback\model\Feedback(); $where = [ ['user_id', '=', $this->userId], ['is_user_delete', '=', 0] ]; $field = 'id,content,status,category_name,linkman,mobile_phone,create_time'; $list = $feedback_model->listFeedbackWithPage($where, $page, $field); return sendSuccessArray([ 'list' => $list ]); } /** * 反馈记录删除 * @param int $feedback_id 意见反馈ID * @date 2022-12-20 */ public function deleteFeedback($feedback_id) { $feedback_model = new \app\feedback\model\Feedback(); $feedback = $feedback_model->getOneData([ ['id', '=', $feedback_id], ['is_user_delete', '=', 0] ]); if (!$feedback) { return sendErrorArray(3001, '反馈意见不存在'); } $update_data = [ 'id' => $feedback_id, 'is_user_delete' => 1, 'user_delete_time' => time() ]; $res = $feedback_model->dataUpdate($update_data); if (!$res) { return sendErrorArray(3002, '删除失败'); } return sendSuccessArray([], '删除成功'); } /** * 反馈意见详情 * @param int $feedback_id 意见反馈ID * @date 2022-12-20 */ public function getFeedback($feedback_id) { $feedback_model = new \app\feedback\model\Feedback(); $feedback_reply_model = new FeedbackReply(); // 查找详情 $field = 'id,category_name,linkman,mobile_phone,content,image_path,is_reply,create_time,status'; $detail = $feedback_model->getOneData([ ['id', '=', $feedback_id], ['is_user_delete', '=', 0] ], $field); if (empty($detail)) { return sendErrorArray(3001, '反馈意见不存在'); } // 图片展示格式转化为前端组件可展示样式 if ($detail['image_path']) { $image_path = []; foreach ($detail['image_path'] as $v) { $image_path[] = [ 'type' => 1, 'image_url' => $v ]; } $detail['image_path'] = $image_path; } $detail['show_create_time'] = date('Y.m.d H:i', strtotime($detail['create_time'])); $detail['status_text'] = $detail->status_text; unset($detail['create_time']); // 全部回复 $where = [ ['feedback_id', '=', $feedback_id] ]; $field = 'id,content,img_url,create_time'; $reply_list = $feedback_reply_model->listFeedbackReply($where, $field); $reply_list = empty($reply_list) ? [] : $reply_list; foreach ($reply_list as $k=>$v){ $img = []; foreach ($v['img_url'] as $v) { $img[] = [ 'type' => 1, 'image_url' => $v ]; } $reply_list[$k]['img_url'] = $img; } return sendSuccessArray([ // 数据 'feedback' => $detail, // 回复列表 'reply_list' => $reply_list ]); } }