| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- <?php
- /**
- * 用户反馈控制器
- */
- declare(strict_types=1);
- namespace Modules\Manage\Controllers;
- use App\Model\FeedbackModel;
- use App\Repositories\FeedbackRepository;
- use Carbon\Carbon;
- use Hyperf\Validation\Contract\ValidatorFactoryInterface;
- class FeedbackController extends BaseController
- {
- /**
- * 反馈列表
- * @param FeedbackRepository $feedbackRepository
- * @return mixed
- */
- public function list(
- ValidatorFactoryInterface $validatorFactory,
- FeedbackRepository $feedbackRepository
- ) {
- $inputData = $this->getJsonData();
- $rules = [
- 'name' => 'string',
- 'code' => 'string',
- 'content' => 'string',
- 'status' => 'numeric',
- 'page' => 'required|numeric',
- 'page_size' => 'required|numeric',
- 'user_id' => 'string',
- ];
- $validator = $validatorFactory->make($inputData, $rules);
- if ($validator->fails()) {
- // 如果有错误(可能是多个信息),这里只取第一个错误信息返回.
- return json_fail($validator->errors()->first());
- }
- return json_success($feedbackRepository->getAdminList($inputData));
- }
- /**
- * 对话列表
- * @param FeedbackRepository $feedbackRepository
- * @return mixed
- */
- public function talkList(
- ValidatorFactoryInterface $validatorFactory,
- FeedbackRepository $feedbackRepository
- ) {
- $inputData = $this->getJsonData();
- $rules = [
- 'code' => 'required|string',
- 'page' => 'required|numeric',
- 'page_size' => 'required|numeric',
- ];
- $validator = $validatorFactory->make($inputData, $rules);
- if ($validator->fails()) {
- // 如果有错误(可能是多个信息),这里只取第一个错误信息返回.
- return json_fail($validator->errors()->first());
- }
- $result = $feedbackRepository
- ->getTalkList(
- $inputData['code'],
- (int)$inputData['page'],
- (int)$inputData['page_size']
- );
- return json_success($result);
- }
- /**
- * 回复反馈
- */
- public function reply(
- ValidatorFactoryInterface $validatorFactory,
- FeedbackRepository $feedbackRepository
- ) {
- $inputData = $this->getJsonData();
- $rules = [
- 'uid' => 'required|string',
- 'type' => 'required|numeric',
- 'content' => 'required|string',
- ];
- $validator = $validatorFactory->make($inputData, $rules);
- if ($validator->fails()) {
- // 如果有错误(可能是多个信息),这里只取第一个错误信息返回.
- return json_fail($validator->errors()->first());
- }
- $item = FeedbackModel::query()->where('uid', $inputData['uid'])->first();
- if (empty($item)) {
- return json_fail('数据不存在!');
- }
- $managerInfo = $this->getCurrentManagerInfo();
- $inputData['rid'] = $managerInfo['manager_id'];
- $create = $feedbackRepository->feedbackReply($inputData);
- return json_success($create);
- }
- /**
- * 标记状态
- */
- public function status(ValidatorFactoryInterface $validatorFactory)
- {
- $inputData = $this->getJsonData();
- $rules = [
- 'code' => 'required|string',
- ];
- $validator = $validatorFactory->make($inputData, $rules);
- if ($validator->fails()) {
- // 如果有错误(可能是多个信息),这里只取第一个错误信息返回.
- return json_fail($validator->errors()->first());
- }
- $item = FeedbackModel::query()->where('uid', $inputData['code'])
- ->update(['status' => 1]);
- return json_success($item);
- }
- }
|