| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- <?php
- namespace app\queue\redis;
- use app\extra\dyLife\data\BaseData;
- use app\model\saas\SaasCategory;
- use Webman\RedisQueue\Consumer;
- class SyncCategory implements Consumer
- {
- /**
- * 消费队列名
- * @var string
- */
- public string $queue = "sync-category";
- /**
- * 连接配置
- * @var string
- */
- public string $connection = "default";
- public function consume($data): bool
- {
- echo getDateFull()."==执行同步分类\n";
- $result = (new BaseData)->config(['appid' => $data['appid'],'secret' => $data['secret']])->token()->getStoreCategoryData($data['account']);
- if (empty($result['category_tree_infos'])) return true;
- $model = (new SaasCategory);
- $categoryData = extractNodesClean($result['category_tree_infos']);
- foreach ($categoryData as $key=>$val) {
- $category = $model->where("category_id",$val["category_id"])->findOrEmpty();
- if ($category->isEmpty()) {
- echo "分类入库=={$val['level']}=={$val['name']}\n";
- $state = $category->strict(false)->insertGetId($val);
- echo "入库状态==={$state}\n";
- }
- }
- return true;
- }
- }
|