ShowPromotion.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * =========================================================
  9. */
  10. namespace addon\pointcash\event;
  11. use addon\pointcash\model\Config;
  12. /**
  13. * 活动展示
  14. */
  15. class ShowPromotion
  16. {
  17. /**
  18. * 活动展示
  19. * @param array $params
  20. * @return array
  21. */
  22. public function handle($params = [])
  23. {
  24. $data = [
  25. 'admin' => [
  26. ],
  27. 'shop' => [
  28. [
  29. //插件名称
  30. 'name' => 'pointcash',
  31. //展示分类(根据平台端设置,admin(平台营销),shop:店铺营销,member:会员营销, tool:应用工具)
  32. 'show_type' => 'shop',
  33. //展示主题
  34. 'title' => '积分抵现',
  35. //展示介绍
  36. 'description' => '下单时积分抵扣现金',
  37. //展示图标
  38. 'icon' => 'addon/pointcash/icon.png',
  39. //跳转链接
  40. 'url' => 'pointcash://shop/config/index',
  41. 'summary' => $this->summary($params)
  42. ],
  43. ],
  44. ];
  45. return $data;
  46. }
  47. /**
  48. * 营销活动概况
  49. * @param $params
  50. * @return array
  51. */
  52. private function summary($params)
  53. {
  54. if (empty($params)) {
  55. return [];
  56. }
  57. if (isset($params[ 'count' ]) || isset($params[ 'summary' ])) $config = ( new Config() )->getPointCashConfig($params[ 'site_id' ])[ 'data' ];
  58. //获取活动数量
  59. if (isset($params[ 'count' ])) {
  60. return [
  61. 'count' => $config[ 'is_use' ]
  62. ];
  63. }
  64. //获取活动概况,需要获取开始时间与结束时间
  65. if (isset($params[ 'summary' ])) {
  66. $value = $config[ 'value' ];
  67. return [
  68. 'unlimited_time' => [
  69. 'status' => $config[ 'is_use' ],
  70. 'detail' => empty($value[ 'cash_rate' ]) ? '未配置活动' : $value[ 'cash_rate' ] . '积分可抵1元',
  71. 'switch_type' => empty($value[ 'cash_rate' ]) ? 'jump' : 'switch',
  72. 'config_key' => 'POINTCASH_CONFIG'
  73. ]
  74. ];
  75. }
  76. }
  77. }