config service for show liman price

This commit is contained in:
2026-05-24 19:22:09 +03:30
parent d684290848
commit 81d4aa8926
3 changed files with 30 additions and 22 deletions
@@ -9,6 +9,7 @@ use App\Models\Cnt;
use App\Models\Setting;
use App\Models\ConfigStatic;
use App\Models\Customer;
use App\Services\LimanService;
use App\Models\Price;
use App\Models\PriceCandle;
use App\Models\PriceTrigger;
@@ -211,16 +212,15 @@ class ReportController extends Controller
CURLOPT_TCP_FASTOPEN => 1,
]
])
->withToken(Cnt::where('key', 'liman')->value('value'))
->withToken(Setting::where('key', 'liman_token')->value('value'))
->get('http://212.23.201.173/server/customer/product/list')
->json();
if ((isset($liman['message']) && $liman['message'] == 'no authorised') || $liman == null) {
$cnt = new Cnt();
$cnt->liman_login();
$newToken = app(LimanService::class)->liman_login();
$liman = Http::timeout(2)
->withToken(Cnt::where('key', 'liman')->value('value'))
$liman = Http::timeout(7)
->withToken($newToken)
->get('http://212.23.201.173/server/customer/product/list')
->json();
}
+7 -7
View File
@@ -2,17 +2,17 @@
namespace App\Services;
use Illuminate\Support\Facades\Http;
use League\Flysystem\Config;
use App\Models\Setting;
class ConfigService
{
public static function Config($name)
public function Config($name)
{
return Setting::where('key',$name)->first()->value ?? false;
return Setting::where('key', $name)->value('value') ?? false;
}
public static function UpdateConfig($name,$value)
public function UpdateConfig($name, $value)
{
return Setting::where('key',$name)->update(['value'=>$value]);
return Setting::where('key', $name)->update(['value' => $value]);
}
}
}
+18 -10
View File
@@ -3,23 +3,31 @@
namespace App\Services;
use Illuminate\Support\Facades\Http;
use League\Flysystem\Config;
use app\services\ConfigService;
class LimanService
{
public function liman_login(){
$mobile = app(ConfigService::class)->Config('liman_mobile');
$password = app(ConfigService::class)->Config('liman_password');
public function liman_login()
{
$config = app(ConfigService::class);
$liman = Http::post('http://212.23.201.173/server/auth/login', [
'mobile' => $mobile,//شماره اکانت اپلیکیشن هنزا تو لیمان ایدی 1377
$mobile = $config->Config('liman_mobile');
$password = $config->Config('liman_password');
$liman = Http::timeout(10)->post('http://212.23.201.173/server/auth/login', [
'mobile' => $mobile,
'password' => $password,
'provider' => 'customer',
'type_app' => 'client',
])->json();
app(ConfigService::class)->UpdateConfig('liman_token', $liman['token']);
return $liman['access_token'];
$token = $liman['access_token'] ?? $liman['token'] ?? null;
if (!$token) {
throw new \Exception('Liman login failed: ' . json_encode($liman, JSON_UNESCAPED_UNICODE));
}
$config->UpdateConfig('liman_token', $token);
return $token;
}
}
}