Commit f477dea9 authored by hangjun83's avatar hangjun83

药明康德

parent 28426dfe
<?php <?php
namespace App\Export; namespace App\ImportExport;
use App\Services\SysLogService; use App\Services\SysLogService;
use App\Support\Facades\SimpleLogs;
use Maatwebsite\Excel\Facades\Excel; use Maatwebsite\Excel\Facades\Excel;
use Maatwebsite\Excel\Excel as BaseExcel; use Maatwebsite\Excel\Excel as BaseExcel;
...@@ -26,14 +27,23 @@ class BaseExport ...@@ -26,14 +27,23 @@ class BaseExport
public function storeExcel($excelContent, $filePath, $diskType = null){ public function storeExcel($excelContent, $filePath, $diskType = null){
if($diskType == null){ if($diskType == null){
$diskType = config('filesystem.default'); $diskType = config('filesystems.default');
} }
$result = Excel::store($excelContent,$filePath,$diskType, $this->expand); try{
$logContent = [ if(Excel::store($excelContent,$filePath,$diskType, $this->expand)){
'filePath' => $filePath, $logContent = [
'diskType' => $diskType, 'filePath' => $filePath,
'datetime' => time() 'diskType' => $diskType,
]; 'datetime' => time()
app(SysLogService::class)->addOperationLogs($logContent); ];
SimpleLogs::writeLog($logContent,__CLASS__.':storeExcel');
return true;
}
return false;
}catch(\Throwable $exception){
SimpleLogs::writeLog($exception->getMessage(),__CLASS__.':storeExcel', 'error');
throw $exception;
}
} }
} }
<?php <?php
namespace App\Export\WuxiLab\Models; namespace App\ImportExport\WuxiLab\Models;
use Maatwebsite\Excel\Concerns\FromArray; use Maatwebsite\Excel\Concerns\FromArray;
use Maatwebsite\Excel\Concerns\ShouldAutoSize; use Maatwebsite\Excel\Concerns\ShouldAutoSize;
...@@ -32,7 +32,7 @@ class WuxiLabPackagesExportModel implements FromArray,WithHeadings, ShouldAutoSi ...@@ -32,7 +32,7 @@ class WuxiLabPackagesExportModel implements FromArray,WithHeadings, ShouldAutoSi
array_push($exportRows,['','','','','','','','','','','','','','','','','','','']); array_push($exportRows,['','','','','','','','','','','','','','','','','','','']);
foreach($rows as $key => $row){ foreach($rows as $key => $row){
array_push($exportRows,[ array_push($exportRows,[
$row['r_code'], '', $row['p_pack'].'/'.$row['p_pack_unit'], $row['p_stock'] == 0 ? '0' : $row['p_stock'], 'CN-SH', $row['p_price'], '0.5', $row['r_code'], '', $row['p_pack'].''.$row['p_pack_unit'], $row['p_stock'] == 0 ? '0' : $row['p_stock'], 'CN-SH', $row['p_price'], '0.5',
'RMB', 'CN', $row['p_price'] * 0.5 'RMB', 'CN', $row['p_price'] * 0.5
]); ]);
} }
......
<?php <?php
namespace App\Export\WuxiLab\Models; namespace App\ImportExport\WuxiLab\Models;
use Maatwebsite\Excel\Concerns\FromArray; use Maatwebsite\Excel\Concerns\FromArray;
use Maatwebsite\Excel\Concerns\ShouldAutoSize; use Maatwebsite\Excel\Concerns\ShouldAutoSize;
......
<?php <?php
namespace App\Export\WuxiLab\Models; namespace App\ImportExport\WuxiLab\Models;
use Maatwebsite\Excel\Concerns\FromArray; use Maatwebsite\Excel\Concerns\FromArray;
use Maatwebsite\Excel\Concerns\ShouldAutoSize; use Maatwebsite\Excel\Concerns\ShouldAutoSize;
......
<?php <?php
namespace App\Export\WuxiLab; namespace App\ImportExport\WuxiLab;
use App\Export\BaseExport; use App\ImportExport\BaseExport;
use App\Export\WuxiLab\Models\WuxiLabPackagesExportModel; use App\ImportExport\WuxiLab\Models\WuxiLabPackagesExportModel;
use App\Export\WuxiLab\Models\WuxiLabProductsExportModel; use App\ImportExport\WuxiLab\Models\WuxiLabProductsExportModel;
use App\Export\WuxiLab\Models\WuxiLabStocksExportModel; use App\ImportExport\WuxiLab\Models\WuxiLabStocksExportModel;
class WuxiLabExport extends BaseExport class WuxiLabExport extends BaseExport
{ {
...@@ -21,7 +21,7 @@ class WuxiLabExport extends BaseExport ...@@ -21,7 +21,7 @@ class WuxiLabExport extends BaseExport
public function getSavePath($fileName) public function getSavePath($fileName)
{ {
if($this->filePath == ''){ if($this->filePath == ''){
$this->filePath = config('filesystem.default').'/public/Excel/'; $this->filePath = config('filesystems.default.root').'public/Excel/';
} }
return $this->filePath.date('Ymd',time()).'/'.$fileName; return $this->filePath.date('Ymd',time()).'/'.$fileName;
} }
...@@ -36,32 +36,30 @@ class WuxiLabExport extends BaseExport ...@@ -36,32 +36,30 @@ class WuxiLabExport extends BaseExport
* @param $saveContent * @param $saveContent
* @param null $model * @param null $model
*/ */
public function saveExcel($saveContent,$model = null) public function saveExcel($saveContent,$model = 'product')
{ {
if($model == null){ if(!is_array($model) && $model == null){
$model = $this->defaultExportModel; throw new \Exception('excel 文档生成错误,无法找到对应生成类型!');
} }
if(!is_array($model) && $model != null){ $export = null;
$model = explode(',',$model); switch($model){
case 'product' :
$export = new WuxiLabProductsExportModel($saveContent['rawList']);
break;
case 'package' :
$export = new WuxiLabPackagesExportModel($saveContent['packageList']);
break;
case 'stock' :
$export = new WuxiLabStocksExportModel($saveContent['packageList']);
break;
} }
$savePath = $this->getSavePath(
foreach($model as $m){ $this->getFileName($model)
switch($m){ );
case 'product' : $result = $this->storeExcel($export,$savePath);
$export = new WuxiLabProductsExportModel($saveContent['rawList']); if($result){
break; return $savePath;
case 'package' :
$export = new WuxiLabPackagesExportModel($saveContent['packageList']);
break;
case 'stock' :
$export = new WuxiLabStocksExportModel($saveContent['packageList']);
break;
}
$savePath = $this->getSavePath(
$this->getFileName($m)
);
$this->storeExcel($export,$savePath);
} }
} }
} }
...@@ -47,6 +47,9 @@ class WuxiLabJob extends Job ...@@ -47,6 +47,9 @@ class WuxiLabJob extends Job
case 'batchUpdateProduct' : case 'batchUpdateProduct' :
$service->batchUpdateProducts(); $service->batchUpdateProducts();
break; break;
case 'test' :
$service->test($this->params);
break;
default: default:
} }
} }
......
...@@ -54,6 +54,19 @@ class RhawnRawRepositoryEloquent extends BaseRepository implements RhawnRawRepos ...@@ -54,6 +54,19 @@ class RhawnRawRepositoryEloquent extends BaseRepository implements RhawnRawRepos
return $rawList->toArray(); return $rawList->toArray();
} }
public function getRawProductsThroughtCode($rawCode)
{
$raw = RhawnRaw::query()
->join('chemicals', 'chemicals.c_id','raw.c_id');
if(!is_array($rawCode)){
$raw->where('r_code',$rawCode);
}else{
$raw->whereIn('r_code',!is_array($rawCode));
}
$rawList = $raw->get();
return $rawList->toArray();
}
public function getProductPackage($rawProductIds) public function getProductPackage($rawProductIds)
{ {
$packagesList = RhawnProducts::query() $packagesList = RhawnProducts::query()
......
...@@ -15,31 +15,6 @@ use Prettus\Validator\Contracts\ValidatorInterface; ...@@ -15,31 +15,6 @@ use Prettus\Validator\Contracts\ValidatorInterface;
*/ */
class ThirdApiPlatformRepositoryEloquent extends BaseRepository implements ThirdApiPlatformRepository class ThirdApiPlatformRepositoryEloquent extends BaseRepository implements ThirdApiPlatformRepository
{ {
protected $fieldSearchable = [
'platform_name', 'platform_title',
];
/**
* 定义validator的检索规则
* @var \string[][]
*/
public $rules = [
ValidatorInterface::RULE_CREATE => [
'platform_name' => 'required',
'platform_title' => 'required',
'platform_type' => 'required',
'platform_token' => 'required',
'platform_status' => 'required',
],
ValidatorInterface::RULE_UPDATE => [
'platform_name' => 'required',
'platform_title' => 'required',
'platform_type' => 'required',
'platform_token' => 'required',
'platform_status' => 'required',
]
];
/** /**
* Specify Model class name. * Specify Model class name.
* *
......
...@@ -362,7 +362,7 @@ class ZhenkhApiService extends PlatformAbstractService ...@@ -362,7 +362,7 @@ class ZhenkhApiService extends PlatformAbstractService
protected function requestError($response) protected function requestError($response)
{ {
SimpleLogs::writeLog($response->getMessage(), 'api error', 'error'); SimpleLogs::writeLog($response->getMessage(), 'Zhenkh api error', 'error');
throw $response; throw $response;
} }
......
...@@ -112,6 +112,6 @@ abstract class PlatformAbstractService ...@@ -112,6 +112,6 @@ abstract class PlatformAbstractService
public function removePlatformDataEntries($dataKey) public function removePlatformDataEntries($dataKey)
{ {
return $this->dataEntriesService->removeEntriesValues($dataKey); return $this->dataEntriesService->removeEntriesValues($this->getPlatformInfo('id'),$dataKey);
} }
} }
This diff is collapsed.
...@@ -12,7 +12,7 @@ trait HttpClientHelpers ...@@ -12,7 +12,7 @@ trait HttpClientHelpers
{ {
$options = []; $options = [];
$options['headers']['User-Agent'] = $this->randomUserAgent(); $options['headers']['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.71 Safari/537.1 LBBROWSER';
$options['debug'] = env('API_DEBUG'); $options['debug'] = env('API_DEBUG');
return $options; return $options;
...@@ -44,6 +44,39 @@ trait HttpClientHelpers ...@@ -44,6 +44,39 @@ trait HttpClientHelpers
return $this->clientRequest('post', $uri, $options); return $this->clientRequest('post', $uri, $options);
} }
public function getMultipartPostClient($uri, $paramsBody = [], $auth = null, $header = null)
{
$options = [
'headers' => []
];
$paramsOptions = [];
foreach($paramsBody as $key => $params){
if($key != 'file'){
array_push($paramsOptions,[
'name' => $key,
'contents' => $params
]);
}else{
array_push($paramsOptions,[
'name' => 'file',
'filename' => $params['name'],
'contents' => $params['contents']
]);
}
}
$options['multipart'] = $paramsOptions;
if($auth && is_array($auth)){
$options['auth'] = $auth;
}
if(!is_null($header)){
$options['headers'] = array_merge($options['headers'],$header);
}
return $this->clientRequest('post', $uri, $options);
}
protected function clientRequest($requestType, $uri,$options) protected function clientRequest($requestType, $uri,$options)
{ {
$requestOptions = $this->getDefaultOptions(); $requestOptions = $this->getDefaultOptions();
......
...@@ -3,14 +3,13 @@ ...@@ -3,14 +3,13 @@
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Spatie\Permission\Models\Role;
class ThridApiPlatformSeeder extends Seeder class ThridApiPlatformSeeder extends Seeder
{ {
use \App\Support\Traits\Helpers; use \App\Support\Traits\Helpers;
protected $thirdapiplatform = [ protected $thirdapiplatform = [
/*[ [
'platform_name' => 'integle', 'platform_name' => 'integle',
'platform_title' => 'integle', 'platform_title' => 'integle',
'platform_url' => 'http://suppliers.integle.com', 'platform_url' => 'http://suppliers.integle.com',
...@@ -31,8 +30,8 @@ class ThridApiPlatformSeeder extends Seeder ...@@ -31,8 +30,8 @@ class ThridApiPlatformSeeder extends Seeder
'platform_type' => 'third', 'platform_type' => 'third',
'platform_status' => '1', 'platform_status' => '1',
'platform_token' => '', 'platform_token' => '',
],*/ ],
/*[ [
'platform_name' => 'bide', 'platform_name' => 'bide',
'platform_title' => 'bide', 'platform_title' => 'bide',
'platform_url' => 'http://220.248.71.110:9000', 'platform_url' => 'http://220.248.71.110:9000',
...@@ -42,8 +41,8 @@ class ThridApiPlatformSeeder extends Seeder ...@@ -42,8 +41,8 @@ class ThridApiPlatformSeeder extends Seeder
'platform_type' => 'third', 'platform_type' => 'third',
'platform_status' => '1', 'platform_status' => '1',
'platform_token' => '', 'platform_token' => '',
],*/ ],
/*[ [
'platform_name' => 'bjs', 'platform_name' => 'bjs',
'platform_title' => 'bjs', 'platform_title' => 'bjs',
'platform_url' => 'http://220.248.71.110:9000', 'platform_url' => 'http://220.248.71.110:9000',
...@@ -53,7 +52,7 @@ class ThridApiPlatformSeeder extends Seeder ...@@ -53,7 +52,7 @@ class ThridApiPlatformSeeder extends Seeder
'platform_type' => 'third', 'platform_type' => 'third',
'platform_status' => '1', 'platform_status' => '1',
'platform_token' => '', 'platform_token' => '',
],*/ ],
[ [
'platform_name' => 'zkh', 'platform_name' => 'zkh',
'platform_title' => '震坤行', 'platform_title' => '震坤行',
...@@ -89,7 +88,10 @@ class ThridApiPlatformSeeder extends Seeder ...@@ -89,7 +88,10 @@ class ThridApiPlatformSeeder extends Seeder
'username' => '790087059@qq.com', 'username' => '790087059@qq.com',
'password' => 'YXH1992xb', 'password' => 'YXH1992xb',
'auth' => 'dGVzdDEyMzpwYXNzNDU2', 'auth' => 'dGVzdDEyMzpwYXNzNDU2',
'batchNums' => '500' 'batchNums' => '500',
'companyId' => '6789',
'adminUrl' => 'https://www.uploadcatalog.com',
'excelCreateLimit' => 100
]); ]);
break; break;
case "bide" : case "bide" :
...@@ -121,7 +123,7 @@ class ThridApiPlatformSeeder extends Seeder ...@@ -121,7 +123,7 @@ class ThridApiPlatformSeeder extends Seeder
$platform['created_at'] = date('Y-m-d H:i:s',time()); $platform['created_at'] = date('Y-m-d H:i:s',time());
$platform['updated_at'] = date('Y-m-d H:i:s',time()); $platform['updated_at'] = date('Y-m-d H:i:s',time());
$thirdApiPlatformRepo->updateOrCreate($platform); $thirdApiPlatformRepo->updateOrCreate(['platform_name' => $platform['platform_name']],$platform);
} }
DB::commit(); DB::commit();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment