| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- <?php
- namespace addons\ValetOrder\common\service;
- use addons\ValetOrder\common\enums\ValetOrderEnum;
- use addons\ValetOrder\common\models\ValetOrderGoods;
- use common\enums\StatusEnum;
- use Yii;
- class GoodsService
- {
- public function save(array $params)
- {
- // 后台页面组件展示
- if ($params['type'] == 'show_component') {
- return [
- 'component' => 'com-valet-order-goods',
- 'path' => Yii::$app->basePath . '/../addons/ValetOrder/backend/views/components',
- ];
- } else {
- if (empty($params['setting'][ValetOrderEnum::ADDONS_NAME])) return true;
- $post = $params['setting'][ValetOrderEnum::ADDONS_NAME];
- $post['mall_id'] = $params['mall_id'];
- $mall_id = $params['mall_id'];
- $goods_id = $params['goods_id'];
- $status = $post['status'];
- $model = ValetOrderGoods::getOne([
- ['mall_id' => $mall_id],
- ['goods_id' => $goods_id]
- ]);
- if (empty($model)) {
- $model = new ValetOrderGoods();
- $model->mall_id = $mall_id;
- $model->goods_id = $goods_id;
- }
- $model->status = $status;
- if (!$model->save()) return $model->getErrorMessage();
- return true;
- }
- }
- /**
- * @param int $mall_id
- * @param int $goods_id
- * @return mixed|null
- */
- public function detail(int $mall_id, int $goods_id)
- {
- return ValetOrderGoods::getOne([
- ['mall_id' => $mall_id],
- ['goods_id' => $goods_id]
- ]);
- }
- /**
- * @param array $params
- * @return array
- */
- public function globalDetail(array $params)
- {
- // 判断插件是否开启状态
- $params['goods'][ValetOrderEnum::ORDER_IS_VALET_KEY] = StatusEnum::DISABLED;
- if (!empty(\Yii::$app->services->setting->addons->get($params['mall_id'], ValetOrderEnum::ADDONS_NAME, 'basic.is_enable'))) {
- $params['goods'][ValetOrderEnum::ORDER_IS_VALET_KEY] = ValetOrderGoods::getOne([
- ['goods_id' => $params['goods']['id']],
- ['status' => StatusEnum::ENABLED]
- ], true, [], null, 'id') ? StatusEnum::ENABLED : StatusEnum::DISABLED;
- // 返回代客下单配置
- $config = Yii::$app->services->setting->addons->get($params['mall_id'], ValetOrderEnum::ADDONS_NAME, 'basic');
- $params['goods']['addons_config'][ValetOrderEnum::ADDONS_NAME] = [
- 'is_show_valet_order_btn' => (new SettingService())->getIsShowValetOrderBtn($params['mall_id'], $params['user']->level ?? 0, $config), // 当前等级是否允许代客下单
- ];
- }
- return $params;
- }
- }
|