feat(beforehand_order): 优化订单逻辑和商品详情
- 在订单列表中添加更多商品属性字段 - 完善订单逻辑,增加商品属性保存 - 优化商品详情接口,添加单位名称 - 移除商品分类冗余代码
This commit is contained in:
parent
34b9cd8061
commit
97e0704cec
@ -71,7 +71,7 @@ class BeforehandOrderCartInfoLists extends BaseAdminDataLists implements ListsSe
|
|||||||
}
|
}
|
||||||
|
|
||||||
$list = BeforehandOrderCartInfo::where($this->searchWhere)
|
$list = BeforehandOrderCartInfo::where($this->searchWhere)
|
||||||
->field(['id', 'bhoid', 'uid', 'is_buyer', 'buyer_uid', 'product_id', 'attr_value_id', 'purchase', 'price', 'total_price', 'cart_num', 'mark'])
|
->field(['id', 'bhoid','package','store_info','marques','gross_weight','net_weight','accept_num','after_sales','loss', 'uid', 'is_buyer', 'buyer_uid', 'product_id', 'attr_value_id', 'purchase', 'price', 'total_price', 'cart_num', 'mark'])
|
||||||
->limit($this->limitOffset, $this->limitLength)
|
->limit($this->limitOffset, $this->limitLength)
|
||||||
->order(['id' => 'desc'])
|
->order(['id' => 'desc'])
|
||||||
->select()->each(function ($item) use($system_store,$order_mark) {
|
->select()->each(function ($item) use($system_store,$order_mark) {
|
||||||
@ -140,12 +140,18 @@ class BeforehandOrderCartInfoLists extends BaseAdminDataLists implements ListsSe
|
|||||||
'bhoid' => '订单id',
|
'bhoid' => '订单id',
|
||||||
'store_name' => '商品名称',
|
'store_name' => '商品名称',
|
||||||
'system_store' => '门店',
|
'system_store' => '门店',
|
||||||
'warehouse_stock' => '仓库数量',
|
'marques' => '型号',
|
||||||
'cart_num' => '需求数量',
|
'package' => '包装',
|
||||||
'top_cate_name' => '分类',
|
'top_cate_name' => '分类',
|
||||||
'unit_name' => '单位',
|
'unit_name' => '单位',
|
||||||
|
'gross_weight' => '毛重',
|
||||||
|
'net_weight' => '净重',
|
||||||
|
'warehouse_stock' => '仓库数量',
|
||||||
|
'cart_num' => '需求数量',
|
||||||
'price' => '单价',
|
'price' => '单价',
|
||||||
'total_price' => '总价',
|
'total_price' => '总价',
|
||||||
|
'after_sales' => '售后',
|
||||||
|
'loss' => '损耗',
|
||||||
'mark' => '备注',
|
'mark' => '备注',
|
||||||
'order_mark' => '订单备注',
|
'order_mark' => '订单备注',
|
||||||
|
|
||||||
|
@ -55,11 +55,23 @@ class BeforehandOrderLogic extends BaseLogic
|
|||||||
$total_price = 0;
|
$total_price = 0;
|
||||||
$uid = $params['uid'] ?? 0;
|
$uid = $params['uid'] ?? 0;
|
||||||
foreach ($params['product_arr'] as $k => $v) {
|
foreach ($params['product_arr'] as $k => $v) {
|
||||||
|
if($v['product_id']<=0){
|
||||||
|
unset($params['product_arr'][$k]);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
$datas[$k]['mark'] = $v['mark'] ?? '';
|
$datas[$k]['mark'] = $v['mark'] ?? '';
|
||||||
$datas[$k]['product_id'] = $v['product_id'];
|
$datas[$k]['product_id'] = $v['product_id'];
|
||||||
$datas[$k]['uid'] = $uid;
|
$datas[$k]['uid'] = $uid;
|
||||||
|
$datas[$k]['marques'] = $v['marques'];
|
||||||
|
$datas[$k]['store_info'] = $v['store_info'];
|
||||||
|
$datas[$k]['after_sales'] = $v['after_sales'];
|
||||||
|
$datas[$k]['loss'] = $v['loss'];
|
||||||
|
$datas[$k]['unit'] = $v['unit'];
|
||||||
|
$datas[$k]['gross_weight'] = $v['gross_weight'];
|
||||||
|
$datas[$k]['net_weight'] = $v['net_weight'];
|
||||||
$datas[$k]['cart_num'] = $v['nums'];
|
$datas[$k]['cart_num'] = $v['nums'];
|
||||||
$datas[$k]['price'] = $v['purchase'];
|
$datas[$k]['price'] = $v['purchase'];
|
||||||
|
$datas[$k]['package'] = $v['package'];
|
||||||
$datas[$k]['total_price'] = $v['total_price'];
|
$datas[$k]['total_price'] = $v['total_price'];
|
||||||
$datas[$k]['create_time'] = time();
|
$datas[$k]['create_time'] = time();
|
||||||
$datas[$k]['update_time'] = time();
|
$datas[$k]['update_time'] = time();
|
||||||
@ -84,9 +96,22 @@ class BeforehandOrderLogic extends BaseLogic
|
|||||||
'arrival_time' => strtotime($params['arrival_time']),
|
'arrival_time' => strtotime($params['arrival_time']),
|
||||||
'order_type' => $order_type
|
'order_type' => $order_type
|
||||||
]);
|
]);
|
||||||
|
$product_arr=[];
|
||||||
foreach ($datas as $k => $v) {
|
foreach ($datas as $k => $v) {
|
||||||
$datas[$k]['bhoid'] = $order['id'];
|
$datas[$k]['bhoid'] = $order['id'];
|
||||||
|
|
||||||
|
$data['id']=$v['product_id'];
|
||||||
|
$data['marques']=$v['marques'];
|
||||||
|
$data['store_info']=$v['store_info'];
|
||||||
|
$data['after_sales']=$v['after_sales'];
|
||||||
|
$data['package']=$v['package'];
|
||||||
|
$data['loss']=$v['loss'];
|
||||||
|
$data['gross_weight']=$v['gross_weight'];
|
||||||
|
$data['net_weight']=$v['net_weight'];
|
||||||
|
$data['mark']=$v['mark'];
|
||||||
|
$product_arr[]=$data;
|
||||||
}
|
}
|
||||||
|
(new StoreProduct())->saveAll($product_arr);
|
||||||
(new BeforehandOrderCartInfo())->saveAll($datas);
|
(new BeforehandOrderCartInfo())->saveAll($datas);
|
||||||
Db::commit();
|
Db::commit();
|
||||||
return true;
|
return true;
|
||||||
|
@ -11,6 +11,7 @@ use app\common\model\store_branch_product_exchange\StoreBranchProductExchange;
|
|||||||
use app\common\model\store_category\StoreCategory;
|
use app\common\model\store_category\StoreCategory;
|
||||||
use app\common\model\store_product_attr_value\StoreProductAttrValue;
|
use app\common\model\store_product_attr_value\StoreProductAttrValue;
|
||||||
use app\common\model\store_product_cate\StoreProductCate;
|
use app\common\model\store_product_cate\StoreProductCate;
|
||||||
|
use app\common\model\store_product_unit\StoreProductUnit;
|
||||||
use app\common\model\system_store\SystemStore;
|
use app\common\model\system_store\SystemStore;
|
||||||
use app\common\model\system_store_storage\SystemStoreStorage;
|
use app\common\model\system_store_storage\SystemStoreStorage;
|
||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
@ -288,18 +289,10 @@ class StoreProductLogic extends BaseLogic
|
|||||||
public static function detail($params): array
|
public static function detail($params): array
|
||||||
{
|
{
|
||||||
$data = StoreProduct::where('id', $params['id'])->findOrEmpty()->toArray();
|
$data = StoreProduct::where('id', $params['id'])->findOrEmpty()->toArray();
|
||||||
if ($data) {
|
if(empty($data)){
|
||||||
$data['cate_arr'] = [];
|
throw new BusinessException('商品不存在');
|
||||||
$id_1 = StoreCategory::where('id', $data['cate_id'])->value('pid');
|
|
||||||
if ($id_1) {
|
|
||||||
$id_2 = StoreCategory::where('id', $id_1)->value('pid');
|
|
||||||
if ($id_2 == 0) {
|
|
||||||
$data['cate_arr'] = [$id_1, $data['cate_id']];
|
|
||||||
} else {
|
|
||||||
$data['cate_arr'] = [$id_2, $id_1, $data['cate_id']];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
$data['unit_name']=StoreProductUnit::where('id', $data['unit'])->value('name');
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user