| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <?php
- namespace common\globals\goods;
- use common\logic\common\AddonsLimit;
- use common\globals\BaseGlobal;
- /**
- *
- */
- class AppendFieldsGoodsData extends BaseGlobal
- {
- /**
- * @Description: 向商品数据中添加额外的字段
- * @Author: zsan
- * @DateTime 2023-02-14 20:55:53
- * @param array $invokes
- * @param array $params
- * @return array
- */
- public function appendFields2GoodsData($invokes, $params = [])
- {
- if (!isset($params['data'])) return [];
- if (!isset($params['source'])) return $params['data'];
- foreach ($invokes as $invoke) {
- // 检查是否安装插件
- if (AddonsLimit::goodsModel($invoke['addons_name'], $params['mall_id']) == false) continue;
- if(class_exists($invoke['class']) && method_exists($invoke['class'],$invoke['method'])){
- $list = $this->invoke($invoke['class'], $invoke['method'], $params);
- if (!empty($list) && is_array($list)) {
- switch ($params['source']) {
- case 'list':
- $params['data'] = $list;
- break;
- case 'detail':
- $params['data'] = array_merge($params['data'], $list);
- break;
- default:
- break;
- }
- }
- }
-
- }
- return $params['data'];
- }
- /**
- * 验证调用结果
- * @param mixed $return
- * @return boolean
- */
- protected function validateFieldsResult($return = null): bool
- {
- return true;
- }
- }
|