| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- <?php
- namespace app\controller\merchant;
- use app\extra\basic\Base;
- use app\extra\tools\LifeWeb;
- use app\middleware\AuthMiddleware;
- use app\model\saas\SaasStar;
- use app\service\saas\StarService;
- use DI\Attribute\Inject;
- use LinFly\Annotation\Attributes\Route\Controller;
- use LinFly\Annotation\Attributes\Route\GetMapping;
- use LinFly\Annotation\Attributes\Route\Middleware;
- use LinFly\Annotation\Attributes\Route\PostMapping;
- use support\Request;
- use support\Response;
- use yzh52521\EasyHttp\Http;
- #[Controller("/api/merchant/star"),Middleware(AuthMiddleware::class)]
- class Star extends Base
- {
- #[Inject]
- protected StarService $service;
- #[Inject]
- protected SaasStar $model;
- #[GetMapping('list')]
- public function getDataList(Request $request): Response
- {
- try {
- $param = $request->all();
- $param['poi_id'] = $request->user['store_id'];
- $data = $this->service->setModel()->getList($param);
- return successTrans(100010,pageFormat($data),200);
- } catch (\Throwable $th) {
- return error($th->getMessage());
- }
- }
- #[PostMapping('save')]
- public function getStarData(Request $request): Response
- {
- try {
- [$state,$msg] = $this->checkDeposit($request->user['store_id']);
- if (!$state) return error($msg);
- $param = $this->_valid([
- "name.require" => trans("empty.require"),
- "status.require" => trans("empty.status"),
- ],$request->method());
- if (!is_array($param)) return error($param);
- $param['poi_id'] = $request->user['store_id'];
- $star = $this->model->where(['poi_id' => $param['poi_id'],'unique_id' => $param['name']])->findOrEmpty();
- if (!$star->isEmpty()) return error("达人已绑定,请勿重复操作");
- [$state,$starData] = (new LifeWeb)->token()->getStarData($param['name']);
- if (!$state) return error($starData);
- unset($param['name']);
- $param['nick_name'] = removeEmoji2($starData['nick_name']);
- $param['show_nickname'] = emojiToUnicode($starData['nick_name']);
- $param['gender'] = $starData['gender'];
- $param['unique_id'] = $starData['unique_id'];
- $param['avatar_url'] = $starData['avatar_url'];
- $param['city_name'] = $starData['city_name'];
- $param['uid'] = $starData['uid'];
- $param['fans_count'] = $starData['fans_count'];
- $param['fans_tag_list'] = json_encode($starData['fans_tag_list']);
- $param['local_fans_count'] = $starData['local_fans_count'];
- $param['talent_level_display'] = $starData['talent_display_info']['talent_level_display']['statistice_value']['value']??'';
- $param['talent_item_level_display'] = $starData['talent_display_info']['talent_item_level_display']['statistice_value']['value']??'';
- $param['talent_live_level_display'] = $starData['talent_display_info']['talent_live_level_display']['statistice_value']['value']??'';
- $param['content_level_display'] = $starData['talent_display_info']['content_level_display']['statistice_value']['value']??'';
- $param['credit_score_display'] = $starData['talent_display_info']['credit_score_display']['statistice_value']['value']??'';
- $param['rank_display'] = $starData['talent_display_info']['rank_display']['statistice_value']['digit_value']??'';
- $param['aweme_url'] = $starData['aweme_url'];
- $status = $star->insertGetId($param);
- if (!$status) return errorTrans('error.data');
- return successTrans('success.data');
- } catch (\Throwable $throwable) {
- return error($throwable->getMessage());
- }
- }
- #[PostMapping('update')]
- public function updateStar(Request $request): Response
- {
- try {
- $param = $this->_valid([
- "id.require" => trans("empty.require"),
- ],$request->method());
- if (!is_array($param)) return error($param);
- $data = $this->model->where("id",$param["id"])->findOrEmpty();
- if ($data->isEmpty()) return errorTrans("empty.data");
- if ($data['poi_id'] <> $request->user['store_id'] && $request->user['is_super'] == 0) return errorTrans("empty.data");
- [$state,$starData] = (new LifeWeb)->token()->getStarData($data['unique_id']);
- if (!$state) return error($starData);
- $state = $data->save([
- 'nick_name' => removeEmoji2($starData['nick_name']),
- 'show_nickname' => emojiToUnicode($starData['nick_name']),
- 'gender' => $starData['gender'],
- 'avatar_url' => $starData['avatar_url'],
- 'city_name' => $starData['city_name'],
- 'fans_count' => $starData['fans_count'],
- 'fans_tag_list' => json_encode($starData['fans_tag_list']),
- 'local_fans_count'=> $starData['local_fans_count'],
- 'talent_level_display' => $starData['talent_display_info']['talent_level_display']['statistice_value']['value']??'',
- 'talent_item_level_display' => $starData['talent_display_info']['talent_item_level_display']['statistice_value']['value']??'',
- 'talent_live_level_display' => $starData['talent_display_info']['talent_live_level_display']['statistice_value']['value']??'',
- 'content_level_display' => $starData['talent_display_info']['content_level_display']['statistice_value']['value']??'',
- 'credit_score_display' => $starData['talent_display_info']['credit_score_display']['statistice_value']['value']??'',
- 'rank_display' => $starData['talent_display_info']['rank_display']['statistice_value']['digit_value']??'',
- ]);
- if (!$state) return errorTrans('error.data');
- return successTrans('success.data');
- } catch (\Throwable $throwable) {
- return error($throwable->getMessage());
- }
- }
- /**
- * 删除达人
- * @param Request $request
- * @return Response
- */
- #[PostMapping('del')]
- public function delStarData(Request $request): Response
- {
- try {
- $param = $this->_valid([
- "id.require" => trans("empty.require"),
- ],$request->method());
- if (!is_array($param)) return error($param);
- $data = $this->model->where("id",$param["id"])->findOrEmpty();
- if ($data->isEmpty()) return errorTrans("empty.data");
- if ($data['poi_id'] <> $request->user['store_id']) return errorTrans("empty.data");
- $state = $data->delete();
- if (!$state) return errorTrans("error.data");
- return successTrans("success.data");
- } catch (\Throwable $throwable) {
- return error($throwable->getMessage());
- }
- }
- }
|