Quellcode durchsuchen

修复:ErrorTrait引发的报错

Yahoo vor 4 Jahren
Ursprung
Commit
35f507c6a2

+ 11 - 30
app/api/model/Order.php

@@ -31,7 +31,7 @@ use app\common\enum\order\DeliveryType as DeliveryTypeEnum;
 use app\common\enum\order\ReceiptStatus as ReceiptStatusEnum;
 use app\common\enum\order\DeliveryStatus as DeliveryStatusEnum;
 use app\common\library\helper;
-use app\common\exception\BaseException;
+use cores\exception\BaseException;
 
 /**
  * 订单模型
@@ -54,7 +54,7 @@ class Order extends OrderModel
      * @param string $orderNo 订单号
      * @return null|static
      */
-    public static function getPayDetail(string $orderNo)
+    public static function getPayDetail(string $orderNo): ?Order
     {
         return self::detail(['order_no' => $orderNo, 'pay_status' => PayStatusEnum::PENDING, 'is_delete' => 0], ['goods', 'user']);
     }
@@ -64,7 +64,7 @@ class Order extends OrderModel
      * @param int $payType
      * @return bool
      */
-    public function onPay(int $payType = OrderPayTypeEnum::WECHAT)
+    public function onPay(int $payType = OrderPayTypeEnum::WECHAT): bool
     {
         // 判断订单状态
         $orderSource = OrderSourceFactory::getFactory($this['order_source']);
@@ -89,7 +89,7 @@ class Order extends OrderModel
      * @throws \think\db\exception\DbException
      * @throws \think\db\exception\ModelNotFoundException
      */
-    public function onOrderPayment(self $order, int $payType)
+    public function onOrderPayment(self $order, int $payType): array
     {
         if ($payType == OrderPayTypeEnum::WECHAT) {
             return $this->onPaymentByWechat($order);
@@ -106,7 +106,7 @@ class Order extends OrderModel
      * @throws \think\db\exception\DbException
      * @throws \think\db\exception\ModelNotFoundException
      */
-    protected function onPaymentByWechat(self $order)
+    protected function onPaymentByWechat(self $order): array
     {
         return PaymentService::wechat(
             $order['order_id'],
@@ -154,7 +154,7 @@ class Order extends OrderModel
      * @param string $orderNo 订单号
      * @return bool
      */
-    public function onPaymentByBalance(string $orderNo)
+    public function onPaymentByBalance(string $orderNo): bool
     {
         // 获取订单详情
         $service = new OrderPaySuccesService($orderNo);
@@ -173,7 +173,7 @@ class Order extends OrderModel
      * @throws BaseException
      * @throws \think\db\exception\DbException
      */
-    public function getList($type = 'all')
+    public function getList(string $type = 'all'): \think\Paginator
     {
         // 筛选条件
         $filter = [];
@@ -266,7 +266,7 @@ class Order extends OrderModel
      * @return int
      * @throws BaseException
      */
-    public function getCount($type = 'all')
+    public function getCount(string $type = 'all')
     {
         // 筛选条件
         $filter = [];
@@ -332,7 +332,7 @@ class Order extends OrderModel
      * @return Order|array|null
      * @throws BaseException
      */
-    public static function getDetail(int $orderId, $with = [])
+    public static function getDetail(int $orderId, array $with = [])
     {
         // 查询订单记录
         $order = static::detail([
@@ -351,7 +351,7 @@ class Order extends OrderModel
      * @throws \think\db\exception\DbException
      * @throws \think\db\exception\ModelNotFoundException
      */
-    private static function isAllowRefund(self $order)
+    private static function isAllowRefund(self $order): bool
     {
         // 必须是已发货的订单
         if ($order['delivery_status'] != DeliveryStatusEnum::DELIVERED) {
@@ -378,7 +378,7 @@ class Order extends OrderModel
      * @return array
      * @throws BaseException
      */
-    public function getTodoCounts()
+    public function getTodoCounts(): array
     {
         return [
             'payment' => $this->getCount('payment'),
@@ -386,23 +386,4 @@ class Order extends OrderModel
             'received' => $this->getCount('received')
         ];
     }
-
-    /**
-     * 设置错误信息
-     * @param $error
-     */
-    protected function setError($error)
-    {
-        empty($this->error) && $this->error = $error;
-    }
-
-    /**
-     * 是否存在错误
-     * @return bool
-     */
-    public function hasError()
-    {
-        return !empty($this->error);
-    }
-
 }

+ 56 - 95
app/api/service/order/Checkout.php

@@ -52,9 +52,6 @@ class Checkout extends BaseService
     // 订单结算商品列表
     private $goodsList = [];
 
-    // 错误信息
-    protected $error;
-
     /**
      * 订单结算api参数
      * @var array
@@ -110,7 +107,7 @@ class Checkout extends BaseService
      * @param $param
      * @return array
      */
-    public function setParam($param)
+    public function setParam($param): array
     {
         $this->param = array_merge($this->param, $param);
         return $this->getParam();
@@ -120,7 +117,7 @@ class Checkout extends BaseService
      * 获取结算台请求的参数
      * @return array
      */
-    public function getParam()
+    public function getParam(): array
     {
         return $this->param;
     }
@@ -130,7 +127,7 @@ class Checkout extends BaseService
      * @param $data
      * @return $this
      */
-    public function setCheckoutRule($data)
+    public function setCheckoutRule($data): Checkout
     {
         $this->checkoutRule = array_merge($this->checkoutRule, $data);
         return $this;
@@ -141,7 +138,7 @@ class Checkout extends BaseService
      * @param $data
      * @return $this
      */
-    public function setOrderSource($data)
+    public function setOrderSource($data): Checkout
     {
         $this->orderSource = array_merge($this->orderSource, $data);
         return $this;
@@ -155,8 +152,9 @@ class Checkout extends BaseService
      * @throws \think\db\exception\DataNotFoundException
      * @throws \think\db\exception\DbException
      * @throws \think\db\exception\ModelNotFoundException
+     * @throws \cores\exception\BaseException
      */
-    public function onCheckout($goodsList)
+    public function onCheckout($goodsList): array
     {
         // 订单确认-立即购买
         $this->goodsList = $goodsList;
@@ -170,8 +168,9 @@ class Checkout extends BaseService
      * @throws \think\db\exception\DataNotFoundException
      * @throws \think\db\exception\DbException
      * @throws \think\db\exception\ModelNotFoundException
+     * @throws \cores\exception\BaseException
      */
-    private function checkout()
+    private function checkout(): array
     {
         // 整理订单数据
         $this->orderData = $this->getOrderData();
@@ -216,12 +215,12 @@ class Checkout extends BaseService
 
     /**
      * 计算订单可用积分抵扣
-     * @return bool
+     * @return void
      * @throws \think\db\exception\DataNotFoundException
      * @throws \think\db\exception\DbException
      * @throws \think\db\exception\ModelNotFoundException
      */
-    private function setOrderPoints()
+    private function setOrderPoints(): void
     {
         // 设置默认的商品积分抵扣信息
         $this->setDefaultGoodsPoints();
@@ -229,11 +228,11 @@ class Checkout extends BaseService
         $setting = SettingModel::getItem('points');
         // 条件:后台开启下单使用积分抵扣
         if (!$setting['is_shopping_discount'] || !$this->checkoutRule['isUsePoints']) {
-            return false;
+            return;
         }
         // 条件:订单金额满足[?]元
         if (helper::bccomp($setting['discount']['full_order_price'], $this->orderData['orderTotalPrice']) === 1) {
-            return false;
+            return;
         }
         // 计算订单商品最多可抵扣的积分数量
         $this->setOrderGoodsMaxPointsNum();
@@ -242,7 +241,7 @@ class Checkout extends BaseService
         // 实际可抵扣的积分数量
         $actualPointsNum = min($maxPointsNumCount, $this->user['points']);
         if ($actualPointsNum < 1) {
-            return false;
+            return;
         }
         // 计算订单商品实际抵扣的积分数量和金额
         $GoodsDeduct = new PointsDeductService($this->goodsList);
@@ -254,17 +253,16 @@ class Checkout extends BaseService
         $this->orderData['pointsNum'] = $actualPointsNum;
         // 允许积分抵扣
         $this->orderData['isAllowPoints'] = true;
-        return true;
     }
 
     /**
      * 计算订单商品最多可抵扣的积分数量
-     * @return bool
+     * @return void
      * @throws \think\db\exception\DataNotFoundException
      * @throws \think\db\exception\DbException
      * @throws \think\db\exception\ModelNotFoundException
      */
-    private function setOrderGoodsMaxPointsNum()
+    private function setOrderGoodsMaxPointsNum(): void
     {
         // 积分设置
         $setting = SettingModel::getItem('points');
@@ -279,14 +277,13 @@ class Checkout extends BaseService
             // 最多可抵扣的积分数量
             $goods['max_points_num'] = helper::bcdiv($maxPointsMoney, $setting['discount']['discount_ratio'], 0);
         }
-        return true;
     }
 
     /**
      * 设置默认的商品积分抵扣信息
-     * @return bool
+     * @return void
      */
-    private function setDefaultGoodsPoints()
+    private function setDefaultGoodsPoints(): void
     {
         foreach ($this->goodsList as &$goods) {
             // 最多可抵扣的积分数量
@@ -296,7 +293,6 @@ class Checkout extends BaseService
             // 实际抵扣的金额
             $goods['points_money'] = 0.00;
         }
-        return true;
     }
 
     /**
@@ -306,7 +302,7 @@ class Checkout extends BaseService
      * @throws \think\db\exception\DbException
      * @throws \think\db\exception\ModelNotFoundException
      */
-    private function getOrderData()
+    private function getOrderData(): array
     {
         // 系统支持的配送方式 (后台设置)
         $deliveryType = SettingModel::getItem(SettingEnum::DELIVERY)['delivery_type'];
@@ -343,7 +339,7 @@ class Checkout extends BaseService
      * @throws \think\db\exception\DbException
      * @throws \think\db\exception\ModelNotFoundException
      */
-    private function getSetting()
+    private function getSetting(): array
     {
         // 系统支持的配送方式 (后台设置)
         $deliveryType = SettingModel::getItem(SettingEnum::DELIVERY)['delivery_type'];
@@ -373,16 +369,15 @@ class Checkout extends BaseService
         // 当前用户可用的优惠券列表
         $couponList = UserCouponModel::getUserCouponList($this->user['user_id'], $orderTotalPrice);
         // 判断当前优惠券是否满足订单使用条件 (优惠券适用范围)
-        $couponList = UserCouponModel::couponListApplyRange($couponList, $orderGoodsIds);
-        return $couponList;
+        return UserCouponModel::couponListApplyRange($couponList, $orderGoodsIds);
 
     }
 
     /**
      * 验证订单商品的状态
-     * @return bool
+     * @return void
      */
-    private function validateGoodsList()
+    private function validateGoodsList(): void
     {
         $Checkout = CheckoutFactory::getFactory(
             $this->user,
@@ -391,7 +386,6 @@ class Checkout extends BaseService
         );
         $status = $Checkout->validateGoodsList();
         $status == false && $this->setError($Checkout->getError());
-        return $status;
     }
 
     /**
@@ -416,12 +410,12 @@ class Checkout extends BaseService
 
     /**
      * 计算订单积分赠送数量
-     * @return bool
+     * @return void
      * @throws \think\db\exception\DataNotFoundException
      * @throws \think\db\exception\DbException
      * @throws \think\db\exception\ModelNotFoundException
      */
-    private function setOrderPointsBonus()
+    private function setOrderPointsBonus(): void
     {
         // 初始化商品积分赠送数量
         foreach ($this->goodsList as &$goods) {
@@ -431,7 +425,7 @@ class Checkout extends BaseService
         $setting = SettingModel::getItem('points');
         // 条件:后台开启开启购物送积分
         if (!$setting['is_shopping_gift']) {
-            return false;
+            return;
         }
         // 设置商品积分赠送数量
         foreach ($this->goodsList as &$goods) {
@@ -442,14 +436,13 @@ class Checkout extends BaseService
         }
         //  订单积分赠送数量
         $this->orderData['pointsBonus'] = helper::getArrayColumnSum($this->goodsList, 'points_bonus');
-        return true;
     }
 
     /**
      * 计算订单商品的实际付款金额
-     * @return bool
+     * @return void
      */
-    private function setOrderGoodsPayPrice()
+    private function setOrderGoodsPayPrice(): void
     {
         // 商品总价 - 优惠抵扣
         foreach ($this->goodsList as &$goods) {
@@ -461,14 +454,13 @@ class Checkout extends BaseService
             }
             $goods['total_pay_price'] = helper::number2($value);
         }
-        return true;
     }
 
     /**
      * 设置订单商品会员折扣价
-     * @return bool
+     * @return void
      */
-    private function setOrderGoodsGradeMoney()
+    private function setOrderGoodsGradeMoney(): void
     {
         // 设置默认数据
         helper::setDataAttribute($this->goodsList, [
@@ -484,14 +476,14 @@ class Checkout extends BaseService
 
         // 是否开启会员等级折扣
         if (!$this->checkoutRule['isUserGrade']) {
-            return false;
+            return;
         }
         // 会员等级状态
         if (!(
             $this->user['grade_id'] > 0 && !empty($this->user['grade'])
             && !$this->user['grade']['is_delete'] && $this->user['grade']['status']
         )) {
-            return false;
+            return;
         }
         // 计算抵扣金额
         foreach ($this->goodsList as &$goods) {
@@ -519,17 +511,16 @@ class Checkout extends BaseService
                 ], false);
             }
         }
-        return true;
     }
 
     /**
      * 设置订单优惠券抵扣信息
      * @param array $couponList 当前用户可用的优惠券列表
      * @param int $couponId 当前选择的优惠券id
-     * @return bool
-     * @throws BaseException
+     * @return void
+     * @throws \cores\exception\BaseException
      */
-    private function setOrderCouponMoney(array $couponList, int $couponId)
+    private function setOrderCouponMoney(array $couponList, int $couponId): void
     {
         // 设置默认数据:订单信息
         helper::setDataAttribute($this->orderData, [
@@ -542,7 +533,7 @@ class Checkout extends BaseService
         ], true);
         // 验证选择的优惠券ID是否合法
         if (!$this->verifyOrderCouponId($couponId, $couponList)) {
-            return false;
+            return;
         }
         // 获取优惠券信息
         $couponInfo = $this->getCouponInfo($couponId, $couponList);
@@ -557,17 +548,16 @@ class Checkout extends BaseService
         // 记录订单优惠券信息
         $this->orderData['couponId'] = $couponId;
         $this->orderData['couponMoney'] = helper::number2($CouponMoney->getActualReducedMoney() / 100);
-        return true;
     }
 
     /**
      * 验证用户选择的优惠券ID是否合法
-     * @param $couponId
+     * @param int $couponId
      * @param $couponList
      * @return bool
-     * @throws BaseException
+     * @throws \cores\exception\BaseException
      */
-    private function verifyOrderCouponId($couponId, $couponList)
+    private function verifyOrderCouponId(int $couponId, $couponList): bool
     {
         // 是否开启优惠券折扣
         if (!$this->checkoutRule['isCoupon']) {
@@ -602,12 +592,12 @@ class Checkout extends BaseService
 
     /**
      * 订单配送-快递配送
-     * @return bool
+     * @return void
      * @throws \think\db\exception\DataNotFoundException
      * @throws \think\db\exception\DbException
      * @throws \think\db\exception\ModelNotFoundException
      */
-    private function setOrderExpress()
+    private function setOrderExpress(): void
     {
         // 设置默认数据:配送费用
         helper::setDataAttribute($this->goodsList, [
@@ -626,7 +616,6 @@ class Checkout extends BaseService
         // 订单总运费金额
         $this->orderData['isIntraRegion'] = $isIntraRegion;
         $this->orderData['expressPrice'] = $ExpressService->getDeliveryFee();
-        return true;
     }
 
     /**
@@ -634,7 +623,7 @@ class Checkout extends BaseService
      * @param array $order 订单信息
      * @return bool
      */
-    public function createOrder(array $order)
+    public function createOrder(array $order): bool
     {
         // 表单验证
         if (!$this->validateOrderForm($order)) {
@@ -659,7 +648,7 @@ class Checkout extends BaseService
      * @throws BaseException
      * @throws \Exception
      */
-    private function createOrderEvent($order)
+    private function createOrderEvent($order): bool
     {
         // 新增订单记录
         $status = $this->add($order, $this->param['remark']);
@@ -691,7 +680,7 @@ class Checkout extends BaseService
      * @throws \think\db\exception\DbException
      * @throws \think\db\exception\ModelNotFoundException
      */
-    public function onOrderPayment()
+    public function onOrderPayment(): array
     {
         return PaymentService::orderPayment($this->model, $this->param['payType']);
     }
@@ -701,7 +690,7 @@ class Checkout extends BaseService
      * @param array $order 订单信息
      * @return bool
      */
-    private function validateOrderForm(array $order)
+    private function validateOrderForm(array $order): bool
     {
         if ($order['delivery'] == DeliveryTypeEnum::EXPRESS) {
             if (empty($order['address'])) {
@@ -724,7 +713,7 @@ class Checkout extends BaseService
      * @param $order
      * @return bool
      */
-    private function isExistPointsDeduction($order)
+    private function isExistPointsDeduction($order): bool
     {
         return $order['isAllowPoints'] && $order['isUsePoints'];
     }
@@ -733,9 +722,9 @@ class Checkout extends BaseService
      * 新增订单记录
      * @param $order
      * @param string $remark
-     * @return false|int
+     * @return bool|false
      */
-    private function add($order, $remark = '')
+    private function add($order, string $remark = ''): bool
     {
         // 当前订单是否存在和使用积分抵扣
         $isExistPointsDeduction = $this->isExistPointsDeduction($order);
@@ -770,9 +759,9 @@ class Checkout extends BaseService
     /**
      * 保存订单商品信息
      * @param $order
-     * @return int
+     * @return void
      */
-    private function saveOrderGoods($order)
+    private function saveOrderGoods($order): void
     {
         // 当前订单是否存在和使用积分抵扣
         $isExistPointsDeduction = $this->isExistPointsDeduction($order);
@@ -812,27 +801,27 @@ class Checkout extends BaseService
             $item['goods_source_id'] = isset($goods['goods_source_id']) ? $goods['goods_source_id'] : 0;
             $goodsList[] = $item;
         }
-        return $this->model->goods()->saveAll($goodsList) !== false;
+        $this->model->goods()->saveAll($goodsList) !== false;
     }
 
     /**
      * 更新商品库存 (针对下单减库存的商品)
      * @param $order
-     * @return mixed
+     * @return void
      */
-    private function updateGoodsStockNum($order)
+    private function updateGoodsStockNum($order): void
     {
-        return StockFactory::getFactory($this->model['order_source'])->updateGoodsStock($order['goodsList']);
+        StockFactory::getFactory($this->model['order_source'])->updateGoodsStock($order['goodsList']);
     }
 
     /**
      * 记录收货地址
      * @param $address
-     * @return false|\think\Model
+     * @return void
      */
-    private function saveOrderAddress($address)
+    private function saveOrderAddress($address): void
     {
-        return $this->model->address()->save([
+        $this->model->address()->save([
             'user_id' => $this->user['user_id'],
             'store_id' => $this->storeId,
             'name' => $address['name'],
@@ -843,32 +832,4 @@ class Checkout extends BaseService
             'detail' => $address['detail'],
         ]);
     }
-
-    /**
-     * 设置错误信息
-     * @param $error
-     */
-    protected function setError($error)
-    {
-        empty($this->error) && $this->error = $error;
-    }
-
-    /**
-     * 获取错误信息
-     * @return mixed
-     */
-    public function getError()
-    {
-        return $this->error ?: '';
-    }
-
-    /**
-     * 是否存在错误
-     * @return bool
-     */
-    public function hasError()
-    {
-        return !empty($this->error);
-    }
-
 }

+ 17 - 16
app/common/library/storage/engine/Basics.php

@@ -12,9 +12,11 @@ declare (strict_types=1);
 
 namespace app\common\library\storage\engine;
 
-use app\common\exception\BaseException;
+use Exception;
 use think\facade\Request;
 use think\file\UploadedFile;
+use cores\traits\ErrorTrait;
+use app\common\exception\BaseException;
 
 /**
  * 存储引擎抽象类
@@ -23,6 +25,8 @@ use think\file\UploadedFile;
  */
 abstract class Basics
 {
+    use ErrorTrait;
+
     // 当前存储引擎
     protected $storage;
 
@@ -42,9 +46,6 @@ abstract class Basics
     // 保存的根文件夹名称
     protected $rootDirName;
 
-    // 错误信息
-    protected $error;
-
     /**
      * 构造函数
      * Server constructor.
@@ -61,14 +62,14 @@ abstract class Basics
      * 设置上传的文件信息 (外部用户上传)
      * @param string $name
      * @return $this
-     * @throws BaseException
+     * @throws \cores\exception\BaseException
      */
-    public function setUploadFile(string $name)
+    public function setUploadFile(string $name): Basics
     {
         // 接收上传的文件
         try {
             $this->file = Request::file($name);
-        } catch (\Exception $e) {
+        } catch (Exception $e) {
             $this->throwFileError($e);
         }
         empty($this->file) && throwError('未找到上传文件的信息');
@@ -77,10 +78,10 @@ abstract class Basics
 
     /**
      * 文件异常处理
-     * @param \Exception $e
-     * @throws BaseException
+     * @param Exception $e
+     * @throws \cores\exception\BaseException
      */
-    private function throwFileError(\Exception $e)
+    private function throwFileError(Exception $e)
     {
         $maxSize = ini_get('upload_max_filesize');
         $myMsg = $e->getCode() === 1 ? "上传的文件超出了服务器最大限制: {$maxSize}" : false;
@@ -91,9 +92,9 @@ abstract class Basics
      * 设置上传的文件信息 (系统内部上传)
      * @param string $filePath 文件路径
      * @return $this
-     * @throws BaseException
+     * @throws \cores\exception\BaseException
      */
-    public function setUploadFileByReal(string $filePath)
+    public function setUploadFileByReal(string $filePath): Basics
     {
         // 接收上传的文件
         $this->file = new UploadedFile($filePath, basename($filePath));
@@ -106,9 +107,9 @@ abstract class Basics
     /**
      * 设置上传文件的验证规则
      * @param string $scene
-     * @return mixed
+     * @return Basics
      */
-    public function setValidationScene(string $scene = '')
+    public function setValidationScene(string $scene = ''): Basics
     {
         $this->validateRuleScene = $scene;
         return $this;
@@ -119,7 +120,7 @@ abstract class Basics
      * @param string $disk
      * @return $this
      */
-    public function setDisk(string $disk)
+    public function setDisk(string $disk): Basics
     {
         $this->disk = $disk;
         return $this;
@@ -131,7 +132,7 @@ abstract class Basics
      * @param string $name
      * @return $this
      */
-    public function setRootDirName(string $name)
+    public function setRootDirName(string $name): Basics
     {
         $this->rootDirName = $name;
         return $this;

+ 3 - 3
app/common/library/storage/engine/Local.php

@@ -26,7 +26,7 @@ class Local extends Basics
      * 上传图片文件
      * @return bool
      */
-    public function upload()
+    public function upload(): bool
     {
         // 验证文件类型
         if (!$this->validate()) {
@@ -64,9 +64,9 @@ class Local extends Basics
     /**
      * 删除文件
      * @param string $filePath
-     * @return bool|mixed
+     * @return bool
      */
-    public function delete(string $filePath)
+    public function delete(string $filePath): bool
     {
         // 文件所在目录
         $realPath = realpath(web_path() . "uploads/{$filePath}");

+ 4 - 5
app/common/library/storage/engine/Qcloud.php

@@ -53,9 +53,9 @@ class Qcloud extends Basics
 
     /**
      * 执行上传
-     * @return bool|mixed
+     * @return bool
      */
-    public function upload()
+    public function upload(): bool
     {
         // 上传文件
         // putObject(上传接口,最大支持上传5G文件)
@@ -75,9 +75,9 @@ class Qcloud extends Basics
     /**
      * 删除文件
      * @param string $filePath
-     * @return bool|mixed
+     * @return bool
      */
-    public function delete(string $filePath)
+    public function delete(string $filePath): bool
     {
         try {
             $result = $this->cosClient->deleteObject(array(
@@ -90,5 +90,4 @@ class Qcloud extends Basics
             return false;
         }
     }
-
 }

+ 14 - 15
app/store/model/Order.php

@@ -201,10 +201,10 @@ class Order extends OrderModel
     /**
      * 确认发货(单独订单)
      * @param $data
-     * @return array|bool|false
+     * @return bool|false
      * @throws \Exception
      */
-    public function delivery($data)
+    public function delivery($data): bool
     {
         // 转义为订单列表
         $orderList = [$this];
@@ -232,7 +232,7 @@ class Order extends OrderModel
      * @param $orderList
      * @return bool
      */
-    private function sendDeliveryMessage($orderList)
+    private function sendDeliveryMessage($orderList): bool
     {
         // 发送消息通知
         foreach ($orderList as $item) {
@@ -246,7 +246,7 @@ class Order extends OrderModel
      * @param $orderList
      * @return bool
      */
-    private function updateToDelivery($orderList)
+    private function updateToDelivery($orderList): bool
     {
         // 整理更新的数据
         $data = [];
@@ -271,7 +271,7 @@ class Order extends OrderModel
      * @param $orderList
      * @return bool
      */
-    private function verifyDelivery($orderList)
+    private function verifyDelivery($orderList): bool
     {
         foreach ($orderList as $order) {
             if (
@@ -291,7 +291,7 @@ class Order extends OrderModel
      * @param array $data
      * @return bool
      */
-    public function updatePrice(array $data)
+    public function updatePrice(array $data): bool
     {
         if ($this['pay_status'] != PayStatusEnum::PENDING) {
             $this->error = '该订单不合法';
@@ -343,7 +343,7 @@ class Order extends OrderModel
      * 将订单记录设置为已删除
      * @return bool
      */
-    public function setDelete()
+    public function setDelete(): bool
     {
         return $this->save(['is_delete' => 1]) !== false;
     }
@@ -352,9 +352,9 @@ class Order extends OrderModel
      * 获取已付款订单总数 (可指定某天)
      * @param null $startDate
      * @param null $endDate
-     * @return int|string
+     * @return int
      */
-    public function getPayOrderTotal($startDate = null, $endDate = null)
+    public function getPayOrderTotal($startDate = null, $endDate = null): int
     {
         $filter = [
             ['pay_status', '=', PayStatusEnum::SUCCESS],
@@ -371,7 +371,7 @@ class Order extends OrderModel
      * 获取未发货订单数量
      * @return int
      */
-    public function getNotDeliveredOrderTotal()
+    public function getNotDeliveredOrderTotal(): int
     {
         $filter = [
             ['pay_status', '=', PayStatusEnum::SUCCESS],
@@ -385,7 +385,7 @@ class Order extends OrderModel
      * 获取未付款订单数量
      * @return int
      */
-    public function getNotPayOrderTotal()
+    public function getNotPayOrderTotal(): int
     {
         $filter = [
             ['pay_status', '=', PayStatusEnum::PENDING],
@@ -399,7 +399,7 @@ class Order extends OrderModel
      * @param array $filter
      * @return int
      */
-    private function getOrderTotal(array $filter = [])
+    private function getOrderTotal(array $filter = []): int
     {
         // 获取订单总数量
         return $this->where($filter)
@@ -411,9 +411,9 @@ class Order extends OrderModel
      * 获取某天的总销售额
      * @param null $startDate
      * @param null $endDate
-     * @return float|int
+     * @return float
      */
-    public function getOrderTotalPrice($startDate = null, $endDate = null)
+    public function getOrderTotalPrice($startDate = null, $endDate = null): float
     {
         // 查询对象
         $query = $this->getNewQuery();
@@ -445,5 +445,4 @@ class Order extends OrderModel
             ->group('user_id')
             ->count();
     }
-
 }

+ 3 - 9
cores/BaseModel.php

@@ -14,6 +14,7 @@ namespace cores;
 
 use think\Model;
 use think\db\Query;
+use cores\traits\ErrorTrait;
 
 /**
  * 模型基类
@@ -22,6 +23,8 @@ use think\db\Query;
  */
 abstract class BaseModel extends Model
 {
+    use ErrorTrait;
+
     // 当前访问的商城ID
     public static $storeId;
 
@@ -217,15 +220,6 @@ abstract class BaseModel extends Model
         return (new static)->where($where)->delete();
     }
 
-    /**
-     * 返回错误信息
-     * @return string
-     */
-    public function getError()
-    {
-        return empty($this->error) ? false : $this->error;
-    }
-
     /**
      * 字段值增长
      * @param array|int|bool $where

+ 3 - 3
cores/traits/ErrorTrait.php

@@ -19,14 +19,14 @@ trait ErrorTrait
      * 错误信息
      * @var string
      */
-    protected $error;
+    protected $error = '';
 
     /**
      * 设置错误信息
-     * @param string|null $error
+     * @param string $error
      * @return bool
      */
-    protected function setError(?string $error = null): bool
+    protected function setError(string $error): bool
     {
         $this->error = $error ?: '未知错误';
         return false;