| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- <?php
- namespace app\queue\redis;
- use app\extra\tools\XcJob;
- use app\model\star\StarTask;
- use app\model\star\StarTaskUser;
- use Webman\RedisQueue\Consumer;
- /**
- * 同步星川任务达人投稿视频
- */
- class StarAuthor implements Consumer
- {
- public string $queue = "star-author";
- public string $connection = "default";
- public function consume($data): bool
- {
- try {
- $nextPage = 1;$done = 0;$subPage = 1;
- while (is_numeric($nextPage)) {
- $starPage = ($nextPage-1) * 10;
- $resp = (new StarTask)->limit($starPage,10)->select()->toArray();
- if (empty($resp)) {
- echo "==没有任务啦==".getDateFull()."\n";
- $nextPage = null;
- return true;
- }
- while (is_numeric($subPage))
- {
- $taskUser = (new StarTaskUser);
- foreach ($resp as $key=>$val) {
- [$state,$taskResp] = (new XcJob)->token()->getTaskAuthor($val['job_id'],$subPage);
- if (!$state) {
- echo "任务ID:{$val['job_id']}==没有投稿任务啦==".getDateFull()."\n";
- $subPage = null;
- continue;
- }
- foreach ($taskResp as $sk=>$sv) {
- $userData = $taskUser->where(['job_id' => $val['job_id']])->findOrEmpty();
- if ($userData->isEmpty()) {
- $userData->insertGetId([
- "job_id" => $val['job_id'],
- 'nick_name' => removeEmoji2($sv['author_base_info']['nick_name']),
- 'show_nick_name' => emojiToUnicode($sv['author_base_info']['nick_name']),
- "avatar_uri" => $sv['author_base_info']['avatar_uri'],
- "author_id" => $sv['author_base_info']['author_id'],
- "sample_address_str" => $sv['author_base_info']['sample_address_str'],
- "follower" => $sv['author_base_info']['follower'],
- "gender" => $sv['author_base_info']['gender'],
- "sec_uid" => $sv['author_base_info']['sec_uid'],
- "wechat" => $sv['author_base_info']['wechat']??'',
- "author_level" => $sv['author_base_info']['ecom_author_level']??'L0',
- "author_order_status" => $sv['author_order_info']['author_order_status'],
- "invitation_status" => $sv['author_invitaion_info']['invitation_status'],
- "metric_data_num" => $sv['author_select_metric_data']['offline_metric_data']['6001']??0,
- "metric_data_rate" => $sv['author_select_metric_data']['offline_metric_data']['6002']??0,
- "release_item_count" => $sv['author_order_info']['release_item_count'],
- "visible_item_count" => $sv['author_order_info']['visible_item_count'],
- ]);
- echo "任务ID{$val['job_id']},星图ID{$sv['author_base_info']['author_id']}===入库成功!~==>".getDateFull()."\n";
- } else {
- $userData->save([
- 'nick_name' => removeEmoji2($sv['author_base_info']['nick_name']),
- 'show_nick_name' => emojiToUnicode($sv['author_base_info']['nick_name']),
- "avatar_uri" => $sv['author_base_info']['avatar_uri'],
- "follower" => $sv['author_base_info']['follower'],
- "gender" => $sv['author_base_info']['gender'],
- "wechat" => $sv['author_base_info']['wechat']??'',
- "author_level" => $sv['author_base_info']['ecom_author_level']??'L0',
- "author_order_status" => $sv['author_order_info']['author_order_status'],
- "invitation_status" => $sv['author_invitaion_info']['invitation_status'],
- "metric_data_num" => $sv['author_select_metric_data']['offline_metric_data']['6001']??0,
- "metric_data_rate" => $sv['author_select_metric_data']['offline_metric_data']['6002']??0,
- "release_item_count" => $sv['author_order_info']['release_item_count'],
- "visible_item_count" => $sv['author_order_info']['visible_item_count'],
- ]);
- echo "任务ID{$val['job_id']},星图ID{$sv['author_base_info']['author_id']}===更新一下!~==>".getDateFull()."\n";
- }
- }
- }
- $subPage = $subPage+1;
- echo "===当前页码{$nextPage}--{$subPage}==>".getDateFull()."\n";
- }
- $nextPage = $nextPage+1;
- }
- } catch (\Throwable $throwable) {
- echo getDateFull()."==报错啦===".$throwable->getFile()."\n";
- echo getDateFull()."==报错啦===".$throwable->getLine()."\n";
- echo getDateFull()."==报错啦===".$throwable->getMessage()."\n";
- }
- return true;
- }
- }
|