修复错误
This commit is contained in:
parent
614950f36c
commit
c676680e9a
@ -1134,7 +1134,7 @@ class StoreOrderRepository extends BaseRepository
|
||||
'order_id' => $id,
|
||||
];
|
||||
$ret = $this->dao->getWhere($where);
|
||||
if ($ret['is_virtual']) throw new ValidateException('虚拟商品只能虚拟发货');
|
||||
if ($ret['is_virtual']<98 && $ret['is_virtual']!=0) throw new ValidateException('虚拟商品只能虚拟发货');
|
||||
$cargo = '';
|
||||
$count = 0;
|
||||
foreach ($ret->orderProduct as $item) {
|
||||
@ -2307,4 +2307,138 @@ class StoreOrderRepository extends BaseRepository
|
||||
if (file_exists($arrary['path'])) unlink($arrary['path']);
|
||||
}
|
||||
|
||||
public function setProduct(array $arrary, $merId)
|
||||
{
|
||||
//读取excel
|
||||
$data = SpreadsheetExcelService::instance()->_import($arrary['path'], $arrary['sql'], $arrary['where'], 1);
|
||||
if (!$data) return;
|
||||
unset($data[0]);
|
||||
$mer_cate_id=Db::name('store_category')->where('mer_id',$merId)->where('cate_name','默认分类')->value('store_category_id');
|
||||
if ($mer_cate_id==0){
|
||||
$mer_cate=['pid'=>0,'/'];
|
||||
Db::name('store_category')->insert();
|
||||
}
|
||||
foreach ($data as $datum) {
|
||||
$find=Db::name('store_product')->where('mer_id', $merId)->where('bar_code', $datum['where']['bar_code'])->find();
|
||||
if ($find){
|
||||
Db::name('store_product')->where('product_id', $find['product_id'])->update($datum['value']);
|
||||
}else{
|
||||
$store_category_id=Db::name('store_category')->where('mer_id',0)->where('cate_name',$datum['value']['cate_name'])->value('store_category_id');
|
||||
$datas = [
|
||||
"image" => "https://lihai001.oss-cn-chengdu.aliyuncs.com/def/03d76202301101051502568.png",
|
||||
"slider_image" => [
|
||||
0 => "https://lihai001.oss-cn-chengdu.aliyuncs.com/def/3d80f202301101051438680.png",
|
||||
],
|
||||
"store_name" => $datum['value']['store_name'],
|
||||
"store_info" => $datum['value']['store_name'],
|
||||
"keyword" => $datum['value']['keyword'],
|
||||
"bar_code" => $datum['value']['bar_code'],
|
||||
"guarantee_template_id" => "",
|
||||
"cate_id" => $store_category_id,//要修改
|
||||
"mer_cate_id" => [
|
||||
0 => $mer_cate_id//要修改
|
||||
],
|
||||
"unit_name" => $datum['value']['unit_name'],
|
||||
"sort" => 0,
|
||||
"is_show" => "",
|
||||
"is_good" => 0,
|
||||
"is_gift_bag" => 0,
|
||||
"integral_rate" => -1,
|
||||
"video_link" => "",
|
||||
"temp_id" => "",
|
||||
"content" => "",
|
||||
"spec_type" => 0,
|
||||
"extension_type" => 0,
|
||||
"attr" => [],
|
||||
"mer_labels" => [],
|
||||
"delivery_way" => [
|
||||
0 => "2"
|
||||
],
|
||||
"delivery_free" => 1,
|
||||
"param_temp_id" => [],
|
||||
"extend" => [],
|
||||
"brand_id" => "",
|
||||
"once_max_count" => 0,
|
||||
"once_min_count" => 0,
|
||||
"pay_limit" => 0,
|
||||
"attrValue" => [
|
||||
[
|
||||
"image" => "https://lihai001.oss-cn-chengdu.aliyuncs.com/def/03d76202301101051502568.png",
|
||||
"price" => $datum['value']['price'],
|
||||
"cost" => $datum['value']['price'],
|
||||
"ot_price" => $datum['value']['cost'],
|
||||
"svip_price" => null,
|
||||
"stock" => $datum['value']['stock'],
|
||||
"bar_code" => $datum['value']['bar_code'],
|
||||
"weight" => 0,
|
||||
"volume" => 0,
|
||||
],
|
||||
],
|
||||
"give_coupon_ids" => [],
|
||||
"type" => 50,//供应链商品
|
||||
"svip_price" => 0,
|
||||
"svip_price_type" => 0,
|
||||
"params" => [],
|
||||
"mer_id" => $merId,
|
||||
"status" => 1,
|
||||
"mer_status" => 1,
|
||||
"rate" => 3,
|
||||
];
|
||||
$datum['value']['mer_id']=$merId;
|
||||
Db::name('store_product')->insert($datum['value']);
|
||||
}
|
||||
}
|
||||
halt($data);
|
||||
$import_id = $arrary['import_id'];
|
||||
Db::transaction(function () use ($data, $merId, $import_id) {
|
||||
$result = [];
|
||||
$num = 0;
|
||||
$count = 0;
|
||||
$status = 0;
|
||||
foreach ($data as $datum) {
|
||||
$value = [];
|
||||
$ret = [];
|
||||
if ($datum['where']) {
|
||||
$count = $count + 1;
|
||||
if (empty($datum['value']['delivery_id'])) {
|
||||
$mark = '发货单号为空';
|
||||
} else {
|
||||
$ret = $this->getSearch([])
|
||||
->where('status', 0)
|
||||
->where('paid', 1)
|
||||
->where('order_type', 0)
|
||||
->where('mer_id', $merId)
|
||||
->where($datum['where'])
|
||||
->find();
|
||||
$mark = '数据有误或已发货';
|
||||
}
|
||||
if ($ret) {
|
||||
try {
|
||||
$value = array_merge($datum['value'], ['status' => 1]);
|
||||
$value['delivery_type'] = 1;
|
||||
$this->delivery($ret['order_id'], $merId, $value);
|
||||
|
||||
$status = 1;
|
||||
$mark = '';
|
||||
|
||||
$num = $num + 1;
|
||||
} catch (\Exception $exception) {
|
||||
$mark = $exception->getMessage();
|
||||
}
|
||||
}
|
||||
$datum['where']['mark'] = $mark;
|
||||
$datum['where']['mer_id'] = $merId;
|
||||
$datum['where']['status'] = $status;
|
||||
$datum['where']['import_id'] = $import_id;
|
||||
$result[] = array_merge($datum['where'], $datum['value']);
|
||||
}
|
||||
}
|
||||
// 记录入库操作
|
||||
if (!empty($result)) app()->make(StoreImportDeliveryRepository::class)->insertAll($result);
|
||||
$_status = ($count == $num) ? 1 : (($num < 1) ? -1 : 10);
|
||||
app()->make(StoreImportRepository::class)->update($import_id, ['count' => $count, 'success' => $num, 'status' => $_status]);
|
||||
});
|
||||
if (file_exists($arrary['path'])) unlink($arrary['path']);
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user