getJsonData(); $rules = [ 'page' => 'nullable|int', 'page_size' => 'nullable|int', 'status' => 'nullable|int', 'level' => 'nullable|int', 'user_nick' => 'nullable', 'user_code' => 'nullable', 'user_mobile' => 'nullable' ]; $validator = $validatorFactory->make($inputData, $rules); if ($validator->fails()) { // 如果有错误(可能是多个信息),这里只取第一个错误信息返回. return json_fail($validator->errors()->first()); } $page = $inputData['page'] ?? 1; $pageSize = $inputData['page_size'] ?? CommonConstant::PAGE_SIZE; if ($pageSize > 100) { $pageSize = CommonConstant::PAGE_SIZE; } $page = format_page($page); $pageSize = intval($pageSize); $creatorRepo = make(CreatorRepository::class); $params = []; if (isset($inputData['status'])) { $params['status'] = $inputData['status']; } if (isset($inputData['level'])) { $params['level'] = $inputData['level']; } if (!empty($inputData['user_nick'])) { $params['user_nick'] = $inputData['user_nick']; } if (!empty($inputData['user_code'])) { $params['user_code'] = $inputData['user_code']; } if (!empty($inputData['user_mobile'])) { $params['user_mobile'] = $inputData['user_mobile']; } $orderBy = [ ['id', 'DESC'] ]; $lists = $creatorRepo->pushCriteria(new CreatorPagesCriteria($params)) ->pushCriteria(new CommonWithCriteria(['user'])) ->pushCriteria(new CommonLimitCriteria($orderBy)) ->paginate($pageSize, ['*'], $page); $lists = $lists->toArray(); /*if (!empty($lists['data'])) { foreach ($lists['data'] as &$v) { $v['user']['avatar'] = M3u8CacheRepository::getImageUrl($v['user']['avatar']); if ($v['user']['gender'] == 3) { $v['user']['gender'] = 2; } } }*/ return json_success($lists); } /** * 审核状态 * @return mixed */ public function changeStatus() { $validatorFactory = make(ValidatorFactoryInterface::class); $inputData = $this->getJsonData(); $rules = [ 'id' => 'required|int', 'target_status' => 'required|int', 'reject_reason' => 'nullable', // 拒绝原因. ]; $validator = $validatorFactory->make($inputData, $rules); if ($validator->fails()) { // 如果有错误(可能是多个信息),这里只取第一个错误信息返回. return json_fail($validator->errors()->first()); } $creatorRepo = make(CreatorRepository::class); $targetStatus = intval(data_get($inputData, 'target_status', 3)); $obj = $creatorRepo->find($inputData['id']); if (empty($obj)) { return json_fail('对象不存在'); } $rejectReason = data_get($inputData, 'reject_reason', ''); if ($obj->status == $targetStatus) { return json_fail('前后状态无变化'); } $msgSubjct = '恭喜您,原创者审核通过.'; $msgContent = '您现在可以马上上传时视频挣钱了.有收入可以随时提现.'; $obj->reject_reason = ''; $obj->reject_at = null; if ($targetStatus == 2) { $obj->reject_reason = $rejectReason; $obj->reject_at = Carbon::now()->toDateTimeString(); $msgSubjct = '您申请原创者,未通过审核'; $msgContent = '拒绝原因:' . $rejectReason . ', 若有异议,请联系客服!'; } $obj->status = $targetStatus; $saveStatus = $obj->save(); if ($saveStatus) { $msgSetarr = [ 'subject' => $msgSubjct, 'struct_type' => 'text', 'receive_uid' => $obj->user_uid, 'receive_type' => 'user', 'from_uid' => '', 'from_type' => 'sys', 'content' => $msgContent, ]; // TODO 发送站内系统消息, 依赖雏姬的分支 jim_sys_message } return json_success(['result' => 'success']); } public function detail() { $validatorFactory = make(ValidatorFactoryInterface::class); $inputData = $this->getJsonData(); $rules = [ 'user_code' => 'required', ]; $validator = $validatorFactory->make($inputData, $rules); if ($validator->fails()) { // 如果有错误(可能是多个信息),这里只取第一个错误信息返回. return json_fail($validator->errors()->first()); } $creatorRepo = make(CreatorRepository::class); $obj = $creatorRepo->detail($inputData['user_code']); if (empty($obj)) { return json_fail('对象不存在'); } $result = $obj->toArray(); return json_success($result); } }