修复了多个类中的逻辑问题
- 在BeforehandOrderThreeLists和BeforehandOrderTwoLists类中,添加了判断条件,以防止在outbound_id或warehousing_id为0时执行无效的数据库查询 - 在BeforehandOrderLogic类中,为订单详情添加了order_type字段,以支持不同类型的订单 - 在BeforehandOrderCartInfoLogic类中,修复了一键入库功能的逻辑错误,确保只有在bhoid参数有效时才执行后续操作
This commit is contained in:
parent
7f43276720
commit
02ada622ef
@ -18,7 +18,7 @@ use app\common\model\warehouse_product\WarehouseProduct;
|
||||
*/
|
||||
class BeforehandOrderThreeLists extends BaseAdminDataLists implements ListsSearchInterface
|
||||
{
|
||||
|
||||
public $outbound_id;
|
||||
|
||||
/**
|
||||
* @notes 设置搜索条件
|
||||
@ -48,6 +48,7 @@ class BeforehandOrderThreeLists extends BaseAdminDataLists implements ListsSearc
|
||||
if(empty($outbound_id)){
|
||||
return [];
|
||||
}
|
||||
$this->outbound_id=$outbound_id;
|
||||
$this->searchWhere[]=['oid','=',$outbound_id];
|
||||
$this->searchWhere[]=['financial_pm','=',0];
|
||||
return WarehouseProduct::where($this->searchWhere)->select()
|
||||
@ -79,7 +80,11 @@ class BeforehandOrderThreeLists extends BaseAdminDataLists implements ListsSearc
|
||||
*/
|
||||
public function count(): int
|
||||
{
|
||||
if($this->outbound_id>0){
|
||||
return WarehouseProduct::where($this->searchWhere)->count();
|
||||
}else{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -19,7 +19,7 @@ use app\common\model\warehouse_product\WarehouseProduct;
|
||||
class BeforehandOrderTwoLists extends BaseAdminDataLists implements ListsSearchInterface
|
||||
{
|
||||
|
||||
|
||||
public $warehousing_id;
|
||||
/**
|
||||
* @notes 设置搜索条件
|
||||
* @return \string[][]
|
||||
@ -48,6 +48,7 @@ class BeforehandOrderTwoLists extends BaseAdminDataLists implements ListsSearchI
|
||||
if(empty($warehousing_id)){
|
||||
return [];
|
||||
}
|
||||
$this->warehousing_id=$warehousing_id;
|
||||
$this->searchWhere[]=['oid','=',$warehousing_id];
|
||||
$this->searchWhere[]=['financial_pm','=',1];
|
||||
return WarehouseProduct::where($this->searchWhere)->select()
|
||||
@ -79,7 +80,11 @@ class BeforehandOrderTwoLists extends BaseAdminDataLists implements ListsSearchI
|
||||
*/
|
||||
public function count(): int
|
||||
{
|
||||
if($this->warehousing_id>0){
|
||||
return WarehouseProduct::where($this->searchWhere)->count();
|
||||
}else{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -41,6 +41,7 @@ class BeforehandOrderLogic extends BaseLogic
|
||||
$total_price = 0;
|
||||
$uid = $params['uid'] ?? 0;
|
||||
foreach ($params['product_arr'] as $k => $v) {
|
||||
$datas[$k]['mark'] = $v['mark']??'';
|
||||
$datas[$k]['product_id'] = $v['product_id'];
|
||||
$datas[$k]['uid'] = $uid;
|
||||
$datas[$k]['cart_num'] = $v['nums'];
|
||||
@ -61,7 +62,8 @@ class BeforehandOrderLogic extends BaseLogic
|
||||
'pay_type' => 0,
|
||||
'deduction_price' => 0,
|
||||
'paid' => 0,
|
||||
'mark' => $params['mark'] ?? ''
|
||||
'mark' => $params['mark'] ?? '',
|
||||
'order_type' => $params['order_type'] ?? 0
|
||||
]);
|
||||
foreach ($datas as $k => $v) {
|
||||
$datas[$k]['bhoid'] = $order['id'];
|
||||
|
@ -97,8 +97,8 @@ class BeforehandOrderCartInfoLogic extends BaseLogic
|
||||
Db::startTrans();
|
||||
try {
|
||||
BeforehandOrderCartInfo::where('id', $params['id'])->update([
|
||||
'price' => $params['purchase'],
|
||||
'total_price' => $params['total_price'],
|
||||
'price' => $params['purchases'],
|
||||
'total_price' => bcmul($params['purchases'],$params['nums'],2),
|
||||
'cart_num' => $params['nums'],
|
||||
]);
|
||||
$bhoid = $params['bhoid'];
|
||||
@ -117,6 +117,9 @@ class BeforehandOrderCartInfoLogic extends BaseLogic
|
||||
*/
|
||||
public static function oneClickStorage($params)
|
||||
{
|
||||
if($params['bhoid']<=0){
|
||||
throw new BusinessException('参数错误');
|
||||
}
|
||||
$count = PurchaseProductOffer::where(['order_id' => $params['bhoid'], 'is_storage' => 0, 'buyer_nums' => 0])->count('id');
|
||||
$warehousing_id = BeforehandOrder::where('id', $params['bhoid'])->value('warehousing_id');
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user