Commit fdf9c617 by 杨树贤

优化流程

parent b039f905
......@@ -6,9 +6,10 @@ namespace App\Http\Services;
use App\Model\LogModel;
use App\Model\SupplierAddressModel;
use App\Model\SupplierAttachmentsModel;
use App\Model\SupplierChannelModel;
use App\Model\SupplierContactModel;
use Illuminate\Support\Facades\Log;
use App\Model\SupplierAttachmentsModel;
use http\Exception\InvalidArgumentException;
class SupplierAddressService
......@@ -70,18 +71,11 @@ class SupplierAddressService
}
//更新一体化的地址库
public function updateUnitedAddress($supplierId, $supplierAddress, $shippingAddress, $returnAddress)
public function updateUnitedAddress($oldSupplier, $supplierAddress, $shippingAddress, $returnAddress)
{
//先找出原始地址数据,然后比对
$supplier = SupplierChannelModel::where('supplier_id', $supplierId)->select([
'supplier_id',
'supplier_code',
'supplier_name',
'supplier_address',
'create_name',
'create_uid',
])->first()->toArray();
$supplier = $oldSupplier;
$oldSupplierAddress = $supplier['supplier_address'];
$supplierId = $supplier['supplier_id'];
//收发货地址
$addressData = SupplierAddressModel::where('supplier_id', $supplierId)->select(['info_id', 'address', 'address_type', 'supplier_id'])
->get()->toArray();
......@@ -135,13 +129,12 @@ class SupplierAddressService
'create_name' => $supplier['create_name'],
'address_data' => $changedAddress,
];
$url = config('website.UnitedDataDomain') . '/sync/Address/updateAddress';
$result = curl($url, $params);
$result = json_decode($result, true);
\Log::error($result);
Log::error($result);
if (array_get($result, 'code') != 0) {
\Log::error('更新一体化地址库失败 : ' . json_encode($result));
Log::error('更新一体化地址库失败 : ' . json_encode($result));
}
}
......
......@@ -87,7 +87,7 @@ class SupplierService
$isDirectApply = request()->get('direct_apply');
//走事务
$supplierId = DB::connection('web')->transaction(function () use ($channel, $model, $oldSupplier, &$needAudit, $isDirectApply) {
$supplierId = DB::connection('web')->transaction(function () use ($channel, $model, $oldSupplier, &$needAudit, $isDirectApply, &$address) {
//是否直接申请审核,如果是直接申请审核,那就变成待审核
// $isDirectApply 已经从外部传入
......@@ -282,11 +282,9 @@ class SupplierService
$channel['system_tags'] = trim(implode(',', $channel['system_tags']), ',');
$supplierAddressService = new SupplierAddressService();
//校验是否需要同步修改地址给一体化
$supplierAddressService->updateUnitedAddress($supplierId, $channel['supplier_address'], $address['shipping_address'], $address['return_address']);
$model->where('supplier_id', $supplierId)->update($channel);
$supplierAddressService = new SupplierAddressService();
//保存地址
$supplierAddressService->saveAddress($address);
......@@ -384,6 +382,10 @@ class SupplierService
//但是供应商还没有插入db的时候,可能会提前广播到,导致没法操作供应商的状态(因为供应商都还没有生成)
if (empty($channel['supplier_id'])) {
(new CompanyService())->checkSupplierCompanyAndAddress($supplierId);
} else {
$supplierAddressService = new SupplierAddressService();
//校验是否需要同步修改地址给一体化
$supplierAddressService->updateUnitedAddress($oldSupplier, $channel['supplier_address'], $address['shipping_address'], $address['return_address']);
}
$contentChange = true;
......@@ -432,16 +434,7 @@ class SupplierService
//注意: 如果是更新供应商并且 $isDirectApply = true, 已经在事务内处理了审核中心调用,这里不需要再处理
if ($isAudit && array_get($oldSupplier, 'status') == SupplierChannelModel::STATUS_PASSED && !$needAudit && !empty($channel['supplier_id'])) {
//什么都不需要操作
} else if ($isAudit && $newSupplier['is_entity'] != 0 && !($isDirectApply && !empty($channel['supplier_id']))) {
// 排除更新供应商并直接申请审核的情况(已在事务内处理)
$auditData[] = [
'supplier_id' => $supplierId,
//供应商类型为临时供应商,才会去存申请理由
'apply_audit_reason' => $channel['supplier_type'] == 2 ? request()->input('apply_audit_reason') : '',
];
$this->batchApplyInReviewSupplier($auditData);
}
return $supplierId;
}
......
......@@ -365,7 +365,6 @@ class SyncSupplierService
}
$status = $isEntity ? SupplierChannelModel::STATUS_DISABLE : ($preStatus == SupplierChannelModel::STATUS_BLOCK ? SupplierChannelModel::STATUS_IN_REVIEW : $preStatus);
if ($isEntityResult == SupplierChannelModel::IS_ENTITY_NEED_CONFIRM) {
$status = SupplierChannelModel::STATUS_DISABLE;
}
......
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 sign in to comment