123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <?php
- namespace App\Distributor\Repositories;
- use App\Models\SmmUserAccount as Model;
- use Carbon\Carbon;
- use Dcat\Admin\Repositories\EloquentRepository;
- class SmmUserAccount extends EloquentRepository
- {
- /**
- * Model.
- *
- * @var string
- */
- protected $eloquentClass = Model::class;
- /**
- * 插入新的社媒账号(仅在找到对应社媒时插入)
- *
- * @param string $mediaName 要查找的社媒名称
- * @param string $accountName 要插入的账号名称
- * @param string $accessToken 访问令牌
- * @return Model|null 新创建的模型实例或null
- */
- public static function createAccountIfMediaExists($mediaName, $accountId,$accountName, $accessToken)
- {
- $model = new Model();
- // 查找匹配的社媒记录
- $mediaRecord = $model->where('title', $mediaName)->first();
- if (!$mediaRecord) {
- return null;
- }
- // 创建新账号并关联父级
- $data = [
- 'account_id' => $accountId,
- 'title' => $accountName,
- 'access_token' => $accessToken,
- 'parent_id' => $mediaRecord->id,
- 'created_at' => Carbon::now(), // 自动生成时间戳
- 'updated_at' => Carbon::now(),
- ];
- return $model->insert($data);
- }
- /*
- * 查出dist_id=0和parent_id=0的账号
- */
- public static function getRootAccounts()
- {
- $model = new Model();
- $accounts = $model->where('dist_id', 0)->where('parent_id', 0)->get();
- return $accounts;
- }
- /*
- * 查找所有用户账号
- */
- public static function getUserAccounts()
- {
- $model = new Model();
- $accounts = $model->where('dist_id','>', 0)->where('parent_id','>',0)->orderBy('parent_id', 'asc')->get();
- return $accounts;
- }
- }
|