ShoppingCartService.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace addons\StarChain\common\services;
  3. use addons\StarChain\common\enums\StarChainEnum;
  4. class ShoppingCartService
  5. {
  6. public function cartListAppendFields($params)
  7. {
  8. $data = $params['data'];
  9. if (empty($data)) return $data;
  10. $mall_id = $params['mall_id'];
  11. $config = (new SettingService(['mall_id' => $mall_id]))->getSetting();
  12. if (empty($config['is_enable_shopping_cart_settle'])) return $data;
  13. $source_list = [];
  14. foreach ($data as $k => $v) {
  15. $list = $v['list'];
  16. foreach ($list as $lk => $item) {
  17. if ($item['goods_source'] == StarChainEnum::PLUGIN_SIGN) {
  18. // 需要加一个
  19. $source_list[] = $item;
  20. unset($list[$lk]);
  21. }
  22. }
  23. if (!empty($list)) {
  24. $data[$k]['list'] = $list;
  25. } else {
  26. unset($data[$k]);
  27. }
  28. }
  29. if (!empty($source_list)) {
  30. $data[] = [
  31. 'id' => StarChainEnum::PLUGIN_SIGN,
  32. 'mch_name' => $config['shopping_cart_mall_name'],
  33. 'mch_pic' => $config['shopping_cart_mall_logo'],
  34. 'list' => $source_list
  35. ];
  36. }
  37. return $data;
  38. }
  39. }