| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- <?php
- namespace plugin\saiadmin\app\controller\user;
- use plugin\saiadmin\app\logic\user\UserComplaintLogic;
- use plugin\saiadmin\basic\BaseController;
- use plugin\saiadmin\service\Permission;
- use support\Request;
- use support\Response;
- /** 微信支付用户投诉控制器。 */
- class UserComplaintController extends BaseController
- {
- public function __construct()
- {
- $this->logic = new UserComplaintLogic();
- parent::__construct();
- }
- #[Permission('用户投诉配置选项', 'core:user:complaint:configs')]
- public function configs(Request $request): Response
- {
- return $this->success($this->logic->configOptions());
- }
- #[Permission('用户投诉列表', 'core:user:complaint:index')]
- public function index(Request $request): Response
- {
- return $this->success($this->logic->indexList($request->more([
- ['config_id', 0], ['start_date', ''], ['end_date', ''],
- ])));
- }
- #[Permission('用户投诉详情', 'core:user:complaint:read')]
- public function read(Request $request): Response
- {
- return $this->success($this->logic->detail(
- (int) $request->input('config_id', 0),
- (string) $request->input('complaint_id', '')
- ));
- }
- #[Permission('用户投诉协商记录', 'core:user:complaint:history')]
- public function history(Request $request): Response
- {
- return $this->success($this->logic->history(
- (int) $request->input('config_id', 0),
- (string) $request->input('complaint_id', '')
- ));
- }
- #[Permission('回复用户投诉', 'core:user:complaint:reply')]
- public function reply(Request $request): Response
- {
- $this->logic->reply($this->body($request));
- return $this->success('回复成功');
- }
- #[Permission('完结用户投诉', 'core:user:complaint:complete')]
- public function complete(Request $request): Response
- {
- $this->logic->complete($this->body($request));
- return $this->success('投诉已完结');
- }
- private function body(Request $request): array
- {
- $data = $request->post();
- if ($data === []) {
- $json = json_decode($request->rawBody(), true);
- return is_array($json) ? $json : [];
- }
- return $data;
- }
- }
|