From a9ae0ede08ce07f750b830295ecf03b978317af0 Mon Sep 17 00:00:00 2001
From: lewis <604446095@qq.com>
Date: Mon, 17 Mar 2025 15:04:40 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=87=BA=E5=BA=93?=
 =?UTF-8?q?=E5=8D=95=E5=95=86=E5=93=81=E8=AF=A6=E6=83=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../WarehouseProductLogic.php                 | 21 ++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/app/admin/logic/warehouse_product/WarehouseProductLogic.php b/app/admin/logic/warehouse_product/WarehouseProductLogic.php
index a652d465f..3518ad791 100644
--- a/app/admin/logic/warehouse_product/WarehouseProductLogic.php
+++ b/app/admin/logic/warehouse_product/WarehouseProductLogic.php
@@ -255,6 +255,7 @@ class WarehouseProductLogic extends BaseLogic
                     $datas['expiration_date'] = strtotime($params['expiration_date']);
                 }
                 $res->save($datas);
+                self::updateWarehouseOrder($res['oid']);
             }
             Db::commit();
             return $res;
@@ -281,6 +282,7 @@ class WarehouseProductLogic extends BaseLogic
                 $productNum = -$res['nums'];
                 self::updateWarehouseProduct($res, $storageNum, $productNum);
                 $res->delete();
+                self::updateWarehouseOrder($res['oid']);
                 $types = $res['financial_pm'] == 1 ? ProductSourceLinkInfo::TypeIn : ProductSourceLinkInfo::TypeOut;
                 ProductSourceLinkInfoLogic::deleteByLinkId($res['id'], $types);
                 Db::commit();
@@ -347,6 +349,7 @@ class WarehouseProductLogic extends BaseLogic
                 }
 
                 $warehouseProduct->save($datas);
+                self::updateWarehouseOrder($warehouseProduct['oid']);
             }
             Db::commit();
         } catch (\Throwable $th) {
@@ -478,14 +481,26 @@ class WarehouseProductLogic extends BaseLogic
         WarehouseProduct::where('id',$warehouseProduct['id'])->update($update);
         SqlChannelLog('WarehouseProduct', $warehouseProduct['id'], $productNum, $productNum > 0 ? 1 : -1, Request()->url());
 
-        $find = WarehouseProduct::where('oid', $warehouseProduct['oid'])->field('sum(nums) as nums,sum(total_price) as total_price')->find();
+        self::updateStoreStorage2($warehouseProduct, $productNum);
+    }
+
+    /**
+     * 更新订单数量和总价
+     * @param $oid
+     * @return void
+     * @throws DataNotFoundException
+     * @throws DbException
+     * @throws ModelNotFoundException
+     */
+    public static function updateWarehouseOrder($oid)
+    {
+        $find = WarehouseProduct::where('oid', $oid)->field('sum(nums) as nums,sum(total_price) as total_price')->find();
         if ($find) {
-            WarehouseOrder::where('id', $warehouseProduct['oid'])->update([
+            WarehouseOrder::where('id', $oid)->update([
                 'nums' => $find['nums'],
                 'total_price' => $find['total_price']
             ]);
         }
-        self::updateStoreStorage2($warehouseProduct, $productNum);
     }
 
     /**

From 6475df1d71cd49a3c382fc74fdf477c9b94d5fd9 Mon Sep 17 00:00:00 2001
From: lewis <604446095@qq.com>
Date: Mon, 17 Mar 2025 15:33:03 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9B=BE=E7=89=87?=
 =?UTF-8?q?=E5=AD=97=E6=AE=B5=E7=9A=84=E9=94=99=E8=AF=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/common/model/BaseModel.php | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/app/common/model/BaseModel.php b/app/common/model/BaseModel.php
index abc9c72c8..fe0323bd1 100644
--- a/app/common/model/BaseModel.php
+++ b/app/common/model/BaseModel.php
@@ -18,7 +18,7 @@ class BaseModel extends Model
      */
     public function getImageAttr($value)
     {
-        return trim($value) ? FileService::getFileUrl($value) : '';
+        return empty($value) ? '' : (trim($value) ? FileService::getFileUrl($value) : '');
     }
 
     /**
@@ -30,7 +30,7 @@ class BaseModel extends Model
      */
     public function setImageAttr($value)
     {
-        return trim($value) ? FileService::setFileUrl($value) : '';
+        return empty($value) ? '' : (trim($value) ? FileService::setFileUrl($value) : '');
     }
 
     /**