|
|
@@ -1,9 +1,47 @@
|
|
|
-## 问AI的问题:
|
|
|
+- [[#1 问AI的问题:|1 问AI的问题:]]
|
|
|
+ - [[#1 问AI的问题:#1.1 `actionCreateOrder` 方法概览 (app-ghs/controllers/RefundController.php:539-630)|1.1 `actionCreateOrder` 方法概览 (app-ghs/controllers/RefundController.php:539-630)]]
|
|
|
+ - [[#1.1 `actionCreateOrder` 方法概览 (app-ghs/controllers/RefundController.php:539-630)#1.1.1 详细步骤:|1.1.1 详细步骤:]]
|
|
|
+ - [[#1 问AI的问题:#1.2 递归解释内部调用的函数:|1.2 递归解释内部调用的函数:]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.1 `common\components\util` 相关的函数|1.2.1 `common\components\util` 相关的函数]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.2 `Yii::$app->redis->executeCommand()`|1.2.2 `Yii::$app->redis->executeCommand()`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.3 `Yii::$app->db` 和 事务 (`beginTransaction`, `commit`, `rollBack`)|1.2.3 `Yii::$app->db` 和 事务 (`beginTransaction`, `commit`, `rollBack`)]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.4 `Yii::info()`|1.2.4 `Yii::info()`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.5 `bizGhs\order\classes\RefundOrderClass`|1.2.5 `bizGhs\order\classes\RefundOrderClass`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.6 `bizGhs\order\classes\RefundOrderClass` (续)|1.2.6 `bizGhs\order\classes\RefundOrderClass` (续)]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.7 `bizGhs\order\classes\RefundOrderClass` (续)|1.2.7 `bizGhs\order\classes\RefundOrderClass` (续)]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.8 `bizGhs\order\classes\RefundOrderClass` (续)|1.2.8 `bizGhs\order\classes\RefundOrderClass` (续)]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.9 `bizGhs\order\services\OrderService`|1.2.9 `bizGhs\order\services\OrderService`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.10 `bizGhs\order\services\OrderService::refund($id, $post)` (biz-ghs/order/services/OrderService.php:945-1028)|1.2.10 `bizGhs\order\services\OrderService::refund($id, $post)` (biz-ghs/order/services/OrderService.php:945-1028)]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.11 `bizGhs\order\classes\OrderClass::getById($id, true)`|1.2.11 `bizGhs\order\classes\OrderClass::getById($id, true)`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.12 `bizGhs\order\classes\RefundOrderClass::add($data, true)`|1.2.12 `bizGhs\order\classes\RefundOrderClass::add($data, true)`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.13 `bizGhs\order\classes\RefundOrderItemClass::add(...)`|1.2.13 `bizGhs\order\classes\RefundOrderItemClass::add(...)`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.14 `bizGhs\order\services\RefundOrderService`|1.2.14 `bizGhs\order\services\RefundOrderService`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.15 `bizGhs\order\services\RefundOrderService::passRefund($refund)` (biz-ghs/order/services/RefundOrderService.php:36-150)|1.2.15 `bizGhs\order\services\RefundOrderService::passRefund($refund)` (biz-ghs/order/services/RefundOrderService.php:36-150)]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.16 `bizGhs\order\classes\OrderClass::getByCondition($condition, $returnObject = false, $order = false)`|1.2.16 `bizGhs\order\classes\OrderClass::getByCondition($condition, $returnObject = false, $order = false)`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.17 `bizHd\purchase\classes\PurchaseClearClass::getAllByCondition($condition, $order = null, $field, $indexBy = null, $returnObject = false)`|1.2.17 `bizHd\purchase\classes\PurchaseClearClass::getAllByCondition($condition, $order = null, $field, $indexBy = null, $returnObject = false)`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.18 `bizGhs\order\classes\RefundOrderClass::passRefund($refund, $order)`|1.2.18 `bizGhs\order\classes\RefundOrderClass::passRefund($refund, $order)`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.19 `bizHd\cg\classes\CgRefundClass::getById($cgRefundId, true)`|1.2.19 `bizHd\cg\classes\CgRefundClass::getById($cgRefundId, true)`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.20 `bizHd\purchase\classes\PurchaseClass::getById($cgId, true)`|1.2.20 `bizHd\purchase\classes\PurchaseClass::getById($cgId, true)`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.21 `bizHd\cg\classes\CgRefundClass::passRefund($cgRefund, $cg)`|1.2.21 `bizHd\cg\classes\CgRefundClass::passRefund($cgRefund, $cg)`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.22 `bizHd\cg\classes\CgRefundClass::passRefund($cgRefund, $cg)` (biz-hd/cg/classes/CgRefundClass.php:120-368)|1.2.22 `bizHd\cg\classes\CgRefundClass::passRefund($cgRefund, $cg)` (biz-hd/cg/classes/CgRefundClass.php:120-368)]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.23 `common\components\orderSn::getCgRefundSn()`|1.2.23 `common\components\orderSn::getCgRefundSn()`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.24 `bizHd\shop\classes\ShopClass::getLockById($shopId)`|1.2.24 `bizHd\shop\classes\ShopClass::getLockById($shopId)`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.25 `bizHd\shop\classes\MainClass::getLockById($mainId)`|1.2.25 `bizHd\shop\classes\MainClass::getLockById($mainId)`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.26 `bizHd\cg\classes\CgRefundItemClass::getAllByCondition(...)`|1.2.26 `bizHd\cg\classes\CgRefundItemClass::getAllByCondition(...)`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.27 `bizHd\purchase\classes\PurchaseItemClass::getAllByCondition(...)`|1.2.27 `bizHd\purchase\classes\PurchaseItemClass::getAllByCondition(...)`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.28 `bizGhs\product\classes\ProductClass::decreaseStock($productId, $bigNum, $smallNum)`|1.2.28 `bizGhs\product\classes\ProductClass::decreaseStock($productId, $bigNum, $smallNum)`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.29 `bizGhs\product\classes\ProductClass::decreaseStock($productId, $itemNumBundle, $itemNumPiece, $checkStock = false, $addSold = true)` (biz-ghs/product/classes/ProductClass.php:932-979)|1.2.29 `bizGhs\product\classes\ProductClass::decreaseStock($productId, $itemNumBundle, $itemNumPiece, $checkStock = false, $addSold = true)` (biz-ghs/product/classes/ProductClass.php:932-979)]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.30 `bizGhs\stock\classes\StockRecordClass::hdCgApplyRefundAddRecord($recordData)`|1.2.30 `bizGhs\stock\classes\StockRecordClass::hdCgApplyRefundAddRecord($recordData)`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.31 `common\components\dict::getDict($type, $key)`|1.2.31 `common\components\dict::getDict($type, $key)`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.32 `bizHd\ghs\classes\GhsClass::getLockById($ghsId)`|1.2.32 `bizHd\ghs\classes\GhsClass::getLockById($ghsId)`]]
|
|
|
+ - [[#1.2 递归解释内部调用的函数:#1.2.33 `common\components\lakala\Lakala`|1.2.33 `common\components\lakala\Lakala`]]
|
|
|
+
|
|
|
+## 1 问AI的问题:
|
|
|
请帮我理解这个控制器RefundController方法actionCreateOrder,递归到每个执行的函数里头,尽可能都解说到
|
|
|
|
|
|
好的,用户。我将详细解释 `app-ghs/controllers/RefundController.php` 文件中的 `actionCreateOrder` 方法,并尽可能地深入到其中调用的每个函数。
|
|
|
|
|
|
-### `actionCreateOrder` 方法概览 (app-ghs/controllers/RefundController.php:539-630)
|
|
|
+### 1.1 `actionCreateOrder` 方法概览 (app-ghs/controllers/RefundController.php:539-630)
|
|
|
|
|
|
此方法用于处理退款订单的创建和自动审核流程。它是一个权限敏感的操作,通常只允许超级管理员执行。
|
|
|
|
|
|
@@ -16,7 +54,7 @@ public function actionCreateOrder()
|
|
|
}
|
|
|
```
|
|
|
|
|
|
-#### 详细步骤:
|
|
|
+#### 1.1.1 详细步骤:
|
|
|
|
|
|
1. **获取 POST 请求数据**:
|
|
|
```php
|
|
|
@@ -190,11 +228,11 @@ public function actionCreateOrder()
|
|
|
* `Yii::info(...)`: 记录详细的异常信息到日志中,便于调试和问题排查。
|
|
|
* `util::fail('操作失败')`: 返回一个通用的失败信息给客户端。
|
|
|
|
|
|
-### 递归解释内部调用的函数:
|
|
|
+### 1.2 递归解释内部调用的函数:
|
|
|
|
|
|
接下来,我将递归地解释 `actionCreateOrder` 中涉及到的主要内部函数。
|
|
|
|
|
|
-#### 1. `common\components\util` 相关的函数
|
|
|
+#### 1.2.1 `common\components\util` 相关的函数
|
|
|
|
|
|
首先,我们来查找 `util.php` 的位置,它应该在 `common/components/` 目录下。
|
|
|
|
|
|
@@ -236,13 +274,13 @@ Read file: common/components/util.php
|
|
|
* 它创建一个包含 `status` (1 表示成功), `info` (业务数据), `msg` (成功消息,默认为 '操作成功') 的数组。
|
|
|
* 同样,将数组编码为 JSON 字符串并输出,然后终止应用执行。
|
|
|
|
|
|
-#### 2. `Yii::$app->redis->executeCommand()`
|
|
|
+#### 1.2.2 `Yii::$app->redis->executeCommand()`
|
|
|
|
|
|
* **解释**: 这是 Yii2 框架中用于与 Redis 交互的方法。它允许你直接执行 Redis 命令。
|
|
|
* `GET [$cacheKey]`: 从 Redis 中获取指定键的值。
|
|
|
* `SETEX [$cacheKey, 5, 'has']`: 设置一个键的值,并设置过期时间。`SETEX` 命令的参数依次是:键名、过期时间(秒)、键值。在这里,`$cacheKey` 在 5 秒后会自动过期,用于实现简单的防重复提交机制。
|
|
|
|
|
|
-#### 3. `Yii::$app->db` 和 事务 (`beginTransaction`, `commit`, `rollBack`)
|
|
|
+#### 1.2.3 `Yii::$app->db` 和 事务 (`beginTransaction`, `commit`, `rollBack`)
|
|
|
|
|
|
* **解释**: 这是 Yii2 框架中进行数据库操作的方式。
|
|
|
* `Yii::$app->db`: 获取 Yii2 应用配置中定义的数据库连接组件。
|
|
|
@@ -251,12 +289,12 @@ Read file: common/components/util.php
|
|
|
* `$transaction->rollBack()`: 回滚事务。如果在事务过程中发生错误,此方法会撤销事务中所有未提交的修改,使数据库恢复到事务开始前的状态。
|
|
|
* **异常处理**: `try-catch` 块是处理事务的关键。在 `try` 块中执行所有数据库操作,如果发生异常,`catch` 块捕获异常并执行 `rollBack()`,确保数据完整性。
|
|
|
|
|
|
-#### 4. `Yii::info()`
|
|
|
+#### 1.2.4 `Yii::info()`
|
|
|
|
|
|
* **解释**: 这是 Yii2 框架的日志记录方法。
|
|
|
* `Yii::info("退款出错了,报错信息:" . $exception->getMessage())`: 记录一条信息级别的日志。这对于跟踪应用程序的执行流程、调试问题和监控异常非常有用。通常这些日志会被写入到指定的文件或通过其他方式进行存储,以便后续分析。
|
|
|
|
|
|
-#### 5. `bizGhs\order\classes\RefundOrderClass`
|
|
|
+#### 1.2.5 `bizGhs\order\classes\RefundOrderClass`
|
|
|
|
|
|
根据项目架构说明,`RefundOrderClass` 应该位于 `biz-ghs/order/classes/` 目录下。它负责处理与退款订单相关的核心业务逻辑。
|
|
|
|
|
|
@@ -270,7 +308,7 @@ Read file: common/components/util.php
|
|
|
Read file: biz-ghs/order/classes/RefundOrderClass.php
|
|
|
好的,`RefundOrderClass.php` 的内容已获取,我们继续深入。
|
|
|
|
|
|
-#### 5. `bizGhs\order\classes\RefundOrderClass` (续)
|
|
|
+#### 1.2.6 `bizGhs\order\classes\RefundOrderClass` (续)
|
|
|
|
|
|
* **`const REFUND_TYPE_MONEY_GOOD = 1;`**: (biz-ghs/order/classes/RefundOrderClass.php:33)
|
|
|
* **解释**: 这是一个类常量,定义了退款类型 `退款退货` 的值为 `1`。在 `actionCreateOrder` 中,`$refundType == RefundOrderClass::REFUND_TYPE_MONEY_GOOD` 用于判断当前退款是包含退货的花材。
|
|
|
@@ -292,7 +330,7 @@ Read file: biz-ghs/base/classes/BaseClass.php
|
|
|
Read file: common/base/classes/BaseClass.php
|
|
|
好的,我们继续深入。
|
|
|
|
|
|
-#### 5. `bizGhs\order\classes\RefundOrderClass` (续)
|
|
|
+#### 1.2.7 `bizGhs\order\classes\RefundOrderClass` (续)
|
|
|
|
|
|
* **`common\base\classes\BaseClass::getById($id, $returnObject = false)`**: (common/base/classes/BaseClass.php:153-158)
|
|
|
```php
|
|
|
@@ -329,7 +367,7 @@ Read file: biz-ghs/base/models/Base.php
|
|
|
Read file: common/base/models/Base.php
|
|
|
好的,我们继续深入 `common/base/models/Base.php` 中的 `getById` 方法。
|
|
|
|
|
|
-#### 5. `bizGhs\order\classes\RefundOrderClass` (续)
|
|
|
+#### 1.2.8 `bizGhs\order\classes\RefundOrderClass` (续)
|
|
|
|
|
|
* **`common\base\models\Base::getById($id, $returnObject = false)`**: (common/base/models/Base.php:153-158)
|
|
|
```php
|
|
|
@@ -404,7 +442,7 @@ Read file: common/base/models/Base.php
|
|
|
* `$query->andWhere($param)`: 为查询添加后续的 `AND WHERE` 子句。
|
|
|
* 最终返回一个包含了所有查询条件的 `ActiveQuery` 对象,这个对象可以链式调用 `one()`、`all()`、`asArray()` 等方法来执行查询。
|
|
|
|
|
|
-#### 6. `bizGhs\order\services\OrderService`
|
|
|
+#### 1.2.9 `bizGhs\order\services\OrderService`
|
|
|
|
|
|
现在,我们来解释 `OrderService::refund($id, $post)` 方法。根据项目架构说明,`OrderService` 应该位于 `biz-ghs/order/services/` 目录下。
|
|
|
|
|
|
@@ -414,7 +452,7 @@ Read file: common/base/models/Base.php
|
|
|
Read file: biz-ghs/order/services/OrderService.php
|
|
|
好的,我们继续深入 `OrderService::refund($id, $post)` 方法。
|
|
|
|
|
|
-#### 6. `bizGhs\order\services\OrderService::refund($id, $post)` (biz-ghs/order/services/OrderService.php:945-1028)
|
|
|
+#### 1.2.10 `bizGhs\order\services\OrderService::refund($id, $post)` (biz-ghs/order/services/OrderService.php:945-1028)
|
|
|
|
|
|
```php
|
|
|
945:1028:bizGhs/order/services/OrderService.php
|
|
|
@@ -515,23 +553,23 @@ Read file: biz-ghs/order/services/OrderService.php
|
|
|
|
|
|
现在,我们来详细解释 `OrderService::refund` 中可能调用的关键函数和类:
|
|
|
|
|
|
-#### 6.1. `bizGhs\order\classes\OrderClass::getById($id, true)`
|
|
|
+#### 1.2.11 `bizGhs\order\classes\OrderClass::getById($id, true)`
|
|
|
|
|
|
* **解释**: 这与 `RefundOrderClass::getById` 类似。`OrderClass` 应该位于 `biz-ghs/order/classes/` 目录下,并且也继承自 `common\base\classes\BaseClass`。因此,其 `getById` 方法的实际实现仍然会追溯到 `common\base\models\Base::getById`。
|
|
|
* 它将查询 `Order` 模型(对应数据库表可能是 `xhOrder` 或类似命名)。
|
|
|
|
|
|
-#### 6.2. `bizGhs\order\classes\RefundOrderClass::add($data, true)`
|
|
|
+#### 1.2.12 `bizGhs\order\classes\RefundOrderClass::add($data, true)`
|
|
|
|
|
|
* **解释**: 这同样继承自 `common\base\classes\BaseClass::add($data, $returnObject = false)` (common/base/models/Base.php:19-45)。
|
|
|
* 它接收一个 `$data` 数组,用于填充 `RefundOrder` 模型的属性,然后调用模型的 `save()` 方法将数据插入到 `xhRefund` 表中。
|
|
|
* `true` 参数表示会返回新创建的 `RefundOrder` ActiveRecord 实例。
|
|
|
|
|
|
-#### 6.3. `bizGhs\order\classes\RefundOrderItemClass::add(...)`
|
|
|
+#### 1.2.13 `bizGhs\order\classes\RefundOrderItemClass::add(...)`
|
|
|
|
|
|
* **解释**: 类似于 `RefundOrderClass::add`。`RefundOrderItemClass` 应该位于 `biz-ghs/order/classes/` 目录下,它也继承自 `common\base\classes\BaseClass`,并关联 `RefundOrderItem` 模型(对应数据库表可能是 `xhRefundItem` 或类似命名)。
|
|
|
* `add` 方法用于创建退款订单明细记录,将花材的退货数量、单价等信息保存到数据库。
|
|
|
|
|
|
-#### 7. `bizGhs\order\services\RefundOrderService`
|
|
|
+#### 1.2.14 `bizGhs\order\services\RefundOrderService`
|
|
|
|
|
|
现在,我们来解释 `RefundOrderService::passRefund($refundInfo)` 方法。根据项目架构说明,`RefundOrderService` 应该位于 `biz-ghs/order/services/` 目录下。
|
|
|
|
|
|
@@ -541,7 +579,7 @@ Read file: biz-ghs/order/services/OrderService.php
|
|
|
Read file: biz-ghs/order/services/RefundOrderService.php
|
|
|
好的,我们继续深入 `RefundOrderService::passRefund($refund)` 方法。
|
|
|
|
|
|
-#### 7. `bizGhs\order\services\RefundOrderService::passRefund($refund)` (biz-ghs/order/services/RefundOrderService.php:36-150)
|
|
|
+#### 1.2.15 `bizGhs\order\services\RefundOrderService::passRefund($refund)` (biz-ghs/order/services/RefundOrderService.php:36-150)
|
|
|
|
|
|
```php
|
|
|
36:150:bizGhs/order/services/RefundOrderService.php
|
|
|
@@ -753,17 +791,17 @@ Read file: biz-ghs/order/services/RefundOrderService.php
|
|
|
|
|
|
现在,我们来详细解释 `RefundOrderService::passRefund` 中可能调用的关键函数和类:
|
|
|
|
|
|
-#### 7.1. `bizGhs\order\classes\OrderClass::getByCondition($condition, $returnObject = false, $order = false)`
|
|
|
+#### 1.2.16 `bizGhs\order\classes\OrderClass::getByCondition($condition, $returnObject = false, $order = false)`
|
|
|
|
|
|
* **解释**: 这与 `RefundOrderClass::getByCondition` 类似,它最终会通过 `common\base\models\Base::getByCondition` 来执行数据库查询。
|
|
|
* 它将查询 `Order` 模型(对应数据库表可能是 `xhOrder` 或类似命名),并返回符合条件的第一条订单记录。
|
|
|
|
|
|
-#### 7.2. `bizHd\purchase\classes\PurchaseClearClass::getAllByCondition($condition, $order = null, $field, $indexBy = null, $returnObject = false)`
|
|
|
+#### 1.2.17 `bizHd\purchase\classes\PurchaseClearClass::getAllByCondition($condition, $order = null, $field, $indexBy = null, $returnObject = false)`
|
|
|
|
|
|
* **解释**: `PurchaseClearClass` 应该位于 `biz-hd/purchase/classes/` 目录下,它也继承自 `common\base\classes\BaseClass`。因此,其 `getAllByCondition` 方法的实际实现仍然会追溯到 `common\base\models\Base::getAllByCondition`。
|
|
|
* 它将查询 `PurchaseClear` 模型(对应数据库表可能是 `hdPurchaseClear` 或类似命名),用于获取客户的结账单信息。
|
|
|
|
|
|
-#### 7.3. `bizGhs\order\classes\RefundOrderClass::passRefund($refund, $order)`
|
|
|
+#### 1.2.18 `bizGhs\order\classes\RefundOrderClass::passRefund($refund, $order)`
|
|
|
|
|
|
我们之前已经查看过 `RefundOrderClass.php` 文件,现在我们来详细解释其 `passRefund` 方法。
|
|
|
|
|
|
@@ -801,17 +839,17 @@ Read file: biz-ghs/order/services/RefundOrderService.php
|
|
|
* **在线支付退款流程**: 如果是线上支付,会根据支付方式(微信支付或支付宝)处理实际的退款流程,并可能减少门店余额。
|
|
|
* **`ShopClass::saleRefundReduceBalance($main, $shop, $refund, $refundPrice)`**: (将在后续详细解释) 这是门店类中的方法,用于减少门店余额。
|
|
|
|
|
|
-#### 7.4. `bizHd\cg\classes\CgRefundClass::getById($cgRefundId, true)`
|
|
|
+#### 1.2.19 `bizHd\cg\classes\CgRefundClass::getById($cgRefundId, true)`
|
|
|
|
|
|
* **解释**: `CgRefundClass` 应该位于 `biz-hd/cg/classes/` 目录下,它也继承自 `common\base\classes\BaseClass`。因此,其 `getById` 方法的实际实现仍然会追溯到 `common\base\models\Base::getById`。
|
|
|
* 它将查询 `CgRefund` 模型(对应数据库表可能是 `hdCgRefund` 或类似命名),用于获取采购退款单信息。
|
|
|
|
|
|
-#### 7.5. `bizHd\purchase\classes\PurchaseClass::getById($cgId, true)`
|
|
|
+#### 1.2.20 `bizHd\purchase\classes\PurchaseClass::getById($cgId, true)`
|
|
|
|
|
|
* **解释**: `PurchaseClass` 应该位于 `biz-hd/purchase/classes/` 目录下,它也继承自 `common\base\classes\BaseClass`。因此,其 `getById` 方法的实际实现仍然会追溯到 `common\base\models\Base::getById`。
|
|
|
* 它将查询 `Purchase` 模型(对应数据库表可能是 `hdPurchase` 或类似命名),用于获取采购单信息。
|
|
|
|
|
|
-#### 7.6. `bizHd\cg\classes\CgRefundClass::passRefund($cgRefund, $cg)`
|
|
|
+#### 1.2.21 `bizHd\cg\classes\CgRefundClass::passRefund($cgRefund, $cg)`
|
|
|
|
|
|
* **解释**: 这是采购退款单审核通过的核心方法。`CgRefundClass` 中的 `passRefund` 应该会更新采购退款单的状态,并可能回溯更新原始采购单的相关状态,处理供应商的资金、库存等。
|
|
|
* **`CgRefundClass::passRefund($cgRefund, $cg)`**: 我们来查看 `biz-hd/cg/classes/CgRefundClass.php` 文件,深入了解它的 `passRefund` 方法。
|
|
|
@@ -820,7 +858,7 @@ Read file: biz-ghs/order/services/RefundOrderService.php
|
|
|
Read file: biz-hd/cg/classes/CgRefundClass.php
|
|
|
好的,我们继续深入 `CgRefundClass::passRefund($cgRefund, $cg)` 方法。
|
|
|
|
|
|
-#### 7.6. `bizHd\cg\classes\CgRefundClass::passRefund($cgRefund, $cg)` (biz-hd/cg/classes/CgRefundClass.php:120-368)
|
|
|
+#### 1.2.22 `bizHd\cg\classes\CgRefundClass::passRefund($cgRefund, $cg)` (biz-hd/cg/classes/CgRefundClass.php:120-368)
|
|
|
|
|
|
```php
|
|
|
120:368:biz-hd/cg/classes/CgRefundClass.php
|
|
|
@@ -1127,31 +1165,31 @@ Read file: biz-hd/cg/classes/CgRefundClass.php
|
|
|
|
|
|
现在,我们来详细解释 `CgRefundClass::passRefund` 中可能调用的其他关键函数和类:
|
|
|
|
|
|
-#### 8. `common\components\orderSn::getCgRefundSn()`
|
|
|
+#### 1.2.23 `common\components\orderSn::getCgRefundSn()`
|
|
|
|
|
|
* **解释**: 用于生成采购退款单号。它应该位于 `common/components/orderSn.php` 文件中。
|
|
|
|
|
|
-#### 9. `bizHd\shop\classes\ShopClass::getLockById($shopId)`
|
|
|
+#### 1.2.24 `bizHd\shop\classes\ShopClass::getLockById($shopId)`
|
|
|
|
|
|
* **解释**: 这是一个从 `bizHd\shop\classes\ShopClass` 中获取门店信息并加锁的方法。它最终会追溯到 `common\base\models\Base::getLockById`。
|
|
|
* 它将查询 `Shop` 模型(对应数据库表可能是 `hdShop` 或类似命名)。
|
|
|
|
|
|
-#### 10. `bizHd\shop\classes\MainClass::getLockById($mainId)`
|
|
|
+#### 1.2.25 `bizHd\shop\classes\MainClass::getLockById($mainId)`
|
|
|
|
|
|
* **解释**: 这是一个从 `bizHd\shop\classes\MainClass` 中获取主站信息并加锁的方法。它最终会追溯到 `common\base\models\Base::getLockById`。
|
|
|
* 它将查询 `Main` 模型(对应数据库表可能是 `hdMain` 或类似命名)。
|
|
|
|
|
|
-#### 11. `bizHd\cg\classes\CgRefundItemClass::getAllByCondition(...)`
|
|
|
+#### 1.2.26 `bizHd\cg\classes\CgRefundItemClass::getAllByCondition(...)`
|
|
|
|
|
|
* **解释**: 类似于 `RefundOrderItemClass::getAllByCondition`。`CgRefundItemClass` 应该位于 `biz-hd/cg/classes/` 目录下,它也继承自 `common\base\classes\BaseClass`,并关联 `CgRefundItem` 模型(对应数据库表可能是 `hdCgRefundItem` 或类似命名)。
|
|
|
* `getAllByCondition` 方法用于获取采购退款单的所有花材明细记录。
|
|
|
|
|
|
-#### 12. `bizHd\purchase\classes\PurchaseItemClass::getAllByCondition(...)`
|
|
|
+#### 1.2.27 `bizHd\purchase\classes\PurchaseItemClass::getAllByCondition(...)`
|
|
|
|
|
|
* **解释**: 类似于 `OrderItemClass::getAllByCondition`。`PurchaseItemClass` 应该位于 `biz-hd/purchase/classes/` 目录下,它也继承自 `common\base\classes\BaseClass`,并关联 `PurchaseItem` 模型(对应数据库表可能是 `hdPurchaseItem` 或类似命名)。
|
|
|
* `getAllByCondition` 方法用于获取原始采购单的所有花材明细记录。
|
|
|
|
|
|
-#### 13. `bizGhs\product\classes\ProductClass::decreaseStock($productId, $bigNum, $smallNum)`
|
|
|
+#### 1.2.28 `bizGhs\product\classes\ProductClass::decreaseStock($productId, $bigNum, $smallNum)`
|
|
|
|
|
|
* **解释**: 这是 `bizGhs\product\classes\ProductClass` 中的方法,用于减少产品库存。因为它是在 `biz-hd` (零售端) 的 `CgRefundClass` 中被调用,但操作的是 `biz-ghs` (批发端) 的 `ProductClass`,这暗示了批发和零售系统之间存在库存同步或共享的逻辑。
|
|
|
* **`ProductClass::decreaseStock`**: 我们来查找 `biz-ghs/product/classes/ProductClass.php` 文件,查看 `decreaseStock` 的实现。
|
|
|
@@ -1160,7 +1198,7 @@ Read file: biz-hd/cg/classes/CgRefundClass.php
|
|
|
Read file: biz-ghs/product/classes/ProductClass.php
|
|
|
好的,我们继续深入 `ProductClass::decreaseStock($productId, $itemNumBundle, $itemNumPiece, $checkStock = false, $addSold = true)` 方法。
|
|
|
|
|
|
-#### 13. `bizGhs\product\classes\ProductClass::decreaseStock($productId, $itemNumBundle, $itemNumPiece, $checkStock = false, $addSold = true)` (biz-ghs/product/classes/ProductClass.php:932-979)
|
|
|
+#### 1.2.29 `bizGhs\product\classes\ProductClass::decreaseStock($productId, $itemNumBundle, $itemNumPiece, $checkStock = false, $addSold = true)` (biz-ghs/product/classes/ProductClass.php:932-979)
|
|
|
|
|
|
```php
|
|
|
932:979:bizGhs/product/classes/ProductClass.php
|
|
|
@@ -1334,24 +1372,24 @@ Read file: biz-ghs/product/classes/ProductClass.php
|
|
|
|
|
|
现在,我们来详细解释 `ProductClass::decreaseStock` 中可能调用的其他关键函数和类:
|
|
|
|
|
|
-#### 14. `bizGhs\stock\classes\StockRecordClass::hdCgApplyRefundAddRecord($recordData)`
|
|
|
+#### 1.2.30 `bizGhs\stock\classes\StockRecordClass::hdCgApplyRefundAddRecord($recordData)`
|
|
|
|
|
|
* **解释**: 这是 `bizGhs\stock\classes\StockRecordClass` 中的方法,用于记录采购退款导致的库存变动。
|
|
|
* **`StockRecordClass`**: 这个类应该在 `bizGhs/stock/classes/` 目录下。
|
|
|
|
|
|
-#### 15. `common\components\dict::getDict($type, $key)`
|
|
|
+#### 1.2.31 `common\components\dict::getDict($type, $key)`
|
|
|
|
|
|
* **解释**: 这是一个从字典中获取配置值的工具方法。它应该位于 `common/components/dict.php` 文件中。
|
|
|
* `dict::getDict('onlinePay', 'yes')`: 获取在线支付方式中“是”的值。
|
|
|
* `dict::getDict('payWay', 'wxPay')`: 获取支付方式中“微信支付”的值。
|
|
|
* `dict::getDict('payWay', 'alipay')`: 获取支付方式中“支付宝支付”的值。
|
|
|
|
|
|
-#### 16. `bizHd\ghs\classes\GhsClass::getLockById($ghsId)`
|
|
|
+#### 1.2.32 `bizHd\ghs\classes\GhsClass::getLockById($ghsId)`
|
|
|
|
|
|
* **解释**: 这是一个从 `bizHd\ghs\classes\GhsClass` 中获取供货商信息并加锁的方法。它最终会追溯到 `common\base\models\Base::getLockById`。
|
|
|
* 它将查询 `Ghs` 模型(对应数据库表可能是 `hdGhs` 或类似命名)。
|
|
|
|
|
|
-#### 17. `common\components\lakala\Lakala`
|
|
|
+#### 1.2.33 `common\components\lakala\Lakala`
|
|
|
|
|
|
* **解释**: 这是一个拉卡拉支付接口的封装类,用于与拉卡拉支付平台进行交互。
|
|
|
* `new Lakala($params)`: 创建 `Lakala` 类的实例,传入包含 `appid`, `serial_no`, `merchant_no`, `term_no`, `merchantPrivateKeyPath`, `lklCertificatePath` 等参数。
|