123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- <?php
- namespace App\Services;
- use App\Helpers\ProUtils;
- use App\Helpers\Utils;
- use App\Services\CallApiService;
- use Exception;
- use Illuminate\Support\Facades\Storage;
- class CacheService
- {
- private $callApiService;
- public function __construct(CallApiService $callApiService)
- {
- $this->callApiService = $callApiService;
- }
- public function putTabbedMenuHash()
- {
- $this->actMenu('User');
- $this->actMenu('Main');
- $this->actMenu('Member');
- }
- public function actMenu($type)
- {
- switch ($type) {
- case 'User':
- $menuList = Utils::getMainMenu('all');
- $apiUrl = 'user-menu-act';
- break;
- case 'Main':
- $menuList = Utils::getProMainMenu();
- $apiUrl = 'main-menu-act';
- break;
- case 'Member':
- $menuList = ProUtils::getMainMenu('all');
- $apiUrl = 'member-menu-act';
- break;
- }
- if (! $menuList) {
- return;
- }
- $menuReq = collect($menuList['Page'])->map(function ($menu) use ($type) {
- $resut['Id'] = $menu[$type . 'MenuId'];
- $resut['TabbedMenuHash'] = '';
- if ($type === 'User' || $type === 'Member') {
- $resut['TabbedMenuHash'] = md5($menu['PageUri'] . $menu['ParaName']);
- } else if ($type === 'Main') {
- $resut['TabbedMenuHash'] = md5($menu['PageUri'] . $menu['MenuCode']);
- }
- return $resut;
- })->toArray();
- $response = $this->callApiService->callApi([
- 'url' => $apiUrl,
- 'data' => [
- 'Page' => $menuReq
- ],
- ]);
- if ($this->callApiService->verifyApiError($response)) {
- notify()->error($response['body'], 'Error', 'bottomRight');
- return redirect()->to('/user-logout');
- }
- }
- public function putMainMenu()
- {
- $data = $this->callApiService->callApi([
- 'url' => 'igroup-page',
- 'data' => [
- 'PageVars' => [
- 'Limit' => 9999999,
- 'Offset' => 0
- ]
- ],
- ]);
- if ($data['Page']) {
- $mainMenuList = Utils::formatIgroupMenuList($data['Page'], 'IgroupCode');
- $fullFileUrl = "dabory-footage/basic/igroup.json";
- Storage::put($fullFileUrl, json_encode($mainMenuList));
- }
- }
- public function putEtcBrand()
- {
- $data = $this->callApiService->callApi([
- 'url' => 'etc-page',
- 'data' => [
- 'Query' => "status = '0' and select_name = 'brand'",
- 'PageVars' => [
- 'Limit' => 100000,
- ]
- ]
- ]);
- if ($data['Page']) {
- $fullFileUrl = "dabory-footage/basic/etc/brand.json";
- Storage::put($fullFileUrl, json_encode($data));
- }
- }
- public function putSetup()
- {
- $data = $this->callApiService->callApi([
- 'url' => 'setup-page',
- 'data' => [
- 'PageVars' => [
- 'Limit' => 9999999,
- 'Offset' => 0
- ]
- ],
- ]);
- if ($data['Page']) {
- foreach ($data['Page'] as $setup) {
- $setupCode = $setup['SetupCode'];
- $brandCode = $setup['BrandCode'] ? '-'.$setup['BrandCode'] : $setup['BrandCode'];
- $fullFileUrl = "dabory-footage/basic/setup/$setupCode$brandCode.json";
- Storage::put($fullFileUrl, json_encode($setup));
- }
- }
- }
- public function get($fullFileUrl)
- {
- if (Storage::disk()->exists($fullFileUrl)) {
- return json_decode(Storage::get($fullFileUrl), true);
- }
- return null;
- }
- public function getSetup($setupCode, $brandCode = null)
- {
- $brandCode = $brandCode ? '-'.$brandCode : $brandCode;
- $fullFileUrl = "dabory-footage/basic/setup/$setupCode$brandCode.json";
- if (Storage::disk()->exists($fullFileUrl)) {
- $setup = json_decode(Storage::get($fullFileUrl), true);
- return json_decode($setup['SetupJson'], true);
- }
- return null;
- }
- }
|