修复了多个类中的逻辑问题

- 在BeforehandOrderThreeLists和BeforehandOrderTwoLists类中,添加了判断条件,以防止在outbound_id或warehousing_id为0时执行无效的数据库查询
- 在BeforehandOrderLogic类中,为订单详情添加了order_type字段,以支持不同类型的订单
- 在BeforehandOrderCartInfoLogic类中,修复了一键入库功能的逻辑错误,确保只有在bhoid参数有效时才执行后续操作
This commit is contained in:
mkm 2024-10-09 16:35:46 +08:00
parent 7f43276720
commit 02ada622ef
4 changed files with 22 additions and 7 deletions

View File

@ -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;
}
}
}

View File

@ -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;
}
}
}

View File

@ -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'];

View File

@ -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');