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)
|
||||
->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)
|
||||
->order(['id' => 'desc'])
|
||||
->select()->each(function ($item) use($system_store,$order_mark) {
|
||||
@ -140,12 +140,18 @@ class BeforehandOrderCartInfoLists extends BaseAdminDataLists implements ListsSe
|
||||
'bhoid' => '订单id',
|
||||
'store_name' => '商品名称',
|
||||
'system_store' => '门店',
|
||||
'warehouse_stock' => '仓库数量',
|
||||
'cart_num' => '需求数量',
|
||||
'marques' => '型号',
|
||||
'package' => '包装',
|
||||
'top_cate_name' => '分类',
|
||||
'unit_name' => '单位',
|
||||
'gross_weight' => '毛重',
|
||||
'net_weight' => '净重',
|
||||
'warehouse_stock' => '仓库数量',
|
||||
'cart_num' => '需求数量',
|
||||
'price' => '单价',
|
||||
'total_price' => '总价',
|
||||
'after_sales' => '售后',
|
||||
'loss' => '损耗',
|
||||
'mark' => '备注',
|
||||
'order_mark' => '订单备注',
|
||||
|
||||
|
@ -55,11 +55,23 @@ class BeforehandOrderLogic extends BaseLogic
|
||||
$total_price = 0;
|
||||
$uid = $params['uid'] ?? 0;
|
||||
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]['product_id'] = $v['product_id'];
|
||||
$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]['price'] = $v['purchase'];
|
||||
$datas[$k]['package'] = $v['package'];
|
||||
$datas[$k]['total_price'] = $v['total_price'];
|
||||
$datas[$k]['create_time'] = time();
|
||||
$datas[$k]['update_time'] = time();
|
||||
@ -84,9 +96,22 @@ class BeforehandOrderLogic extends BaseLogic
|
||||
'arrival_time' => strtotime($params['arrival_time']),
|
||||
'order_type' => $order_type
|
||||
]);
|
||||
$product_arr=[];
|
||||
foreach ($datas as $k => $v) {
|
||||
$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);
|
||||
Db::commit();
|
||||
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_product_attr_value\StoreProductAttrValue;
|
||||
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_storage\SystemStoreStorage;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
@ -288,18 +289,10 @@ class StoreProductLogic extends BaseLogic
|
||||
public static function detail($params): array
|
||||
{
|
||||
$data = StoreProduct::where('id', $params['id'])->findOrEmpty()->toArray();
|
||||
if ($data) {
|
||||
$data['cate_arr'] = [];
|
||||
$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']];
|
||||
}
|
||||
}
|
||||
if(empty($data)){
|
||||
throw new BusinessException('商品不存在');
|
||||
}
|
||||
$data['unit_name']=StoreProductUnit::where('id', $data['unit'])->value('name');
|
||||
return $data;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user