SettingService.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace addons\Community\common\service;
  3. use addons\Community\common\enums\CommunityEnum;
  4. use Yii;
  5. class SettingService
  6. {
  7. /**
  8. * 获取配置信息
  9. * @desc
  10. *
  11. * @param int $mall_id
  12. * @return array
  13. */
  14. public function get(int $mall_id): array
  15. {
  16. return Yii::$app->services->setting->addons->get($mall_id, CommunityEnum::ADDONS_NAME, 'basic') ?? [];
  17. }
  18. /**
  19. * 获取具体配置项对应值
  20. */
  21. public function getFieldSetting($mall_id, $field, $is_array = false)
  22. {
  23. $setting = $this->get($mall_id);
  24. return $setting[$field] ?? ($is_array ? [] : 0);
  25. }
  26. /**
  27. * 设置配置信息
  28. * @desc
  29. *
  30. * @param int $mall_id
  31. * @param array $data
  32. *
  33. * @return bool
  34. */
  35. public function save(int $mall_id, array $data): bool
  36. {
  37. return Yii::$app->services->setting->addons->set($mall_id, CommunityEnum::ADDONS_NAME, ['basic' => $data]);
  38. }
  39. /**
  40. * 是否启用自提免运费
  41. * @param int $mall_id
  42. * @return bool
  43. */
  44. public function isForceFreeShipping(int $mall_id)
  45. {
  46. return !empty(Yii::$app->services->setting->addons->get($mall_id, CommunityEnum::ADDONS_NAME, 'basic.is_force_free_shipping'));
  47. }
  48. }