| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- <?php
- namespace Modules\AgentApi\Controllers;
- use App\Jobs\AppPackJob;
- use App\Models\Mysql\PackModel;
- use App\Repositories\AgentRepository;
- use App\Repositories\AppRepository;
- use App\Repositories\ChannelRepository;
- use Illuminate\Support\Facades\Validator;
- class AppController extends BaseController
- {
- /**
- * app列表
- *
- * @param AppRepository $appRepo
- * @return mixed
- */
- public function lists(AppRepository $appRepo, AgentRepository $agentRepo)
- {
- $accountInfo = $this->getCurrentAgent();
- //获取代理应用uid
- $appUidData = $agentRepo->findBy('uid', $accountInfo['uid'], ['own_app_uids']);
- $appUids = explode(',', $appUidData->own_app_uids);
- $appData = $appRepo->getAgentApp($appUids);
- return json_success($appData);
- }
- public function pack()
- {
- $inputData = $this->getJsonData();
- $rules = [
- 'uid' => 'required|string',
- ];
- $validator = Validator::make($inputData, $rules);
- if ($validator->fails()) {
- // 如果有错误(可能是多个信息),这里只取第一个错误信息返回.
- return json_fail($validator->errors()->first());
- }
- // 查找渠道开始打包
- /**
- * 获取渠道app
- * @var ChannelRepository $channRepo
- */
- $channelRepo = app(ChannelRepository::class);
- $channelData = $channelRepo->getAppChannel($inputData['uid']);
- $packArray =[
- 'agent_uid'=>$channelData->agent_uid,
- 'channel_code'=>$channelData->uid,
- 'mom_app_name'=>$channelData->app->name,
- 'mom_app_uid'=>$channelData->app->uid,
- 'mom_app_id'=>$channelData->app->app_id,
- 'android_or_ios'=>1,
- 'mom_app_download'=>$channelData->app->android_url,
- 'mom_app_version'=>$channelData->app->android_version,
- ];
- $packCreateData = $packArray;
- // 数据库格式
- unset($packCreateData['mom_app_download']);
- $packCreateData['app_download'] = '';
- $packCreateData['status'] = 3;// 打包中
- // 写入数据库
- $packModel = (new PackModel())->where('channel_code',$inputData['uid'])->count();
- if ($packModel){
- if (!PackModel::query()->where('channel_code',$inputData['uid'])->update($packCreateData)){
- return json_success([],'打包失败请重试');
- }
- }else{
- if (!PackModel::query()->create($packCreateData)){
- return json_success([],'打包失败请重试');
- }
- }
- // 打包
- dispatch(new AppPackJob($packArray))->onQueue('app_pack');
- return json_success([],'开始打包,稍等1-2分钟');
- }
- }
|