Membercard.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <?php
  2. /**
  3. * Index.php
  4. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  5. * =========================================================
  6. * Copy right 2015-2025 杭州牛之云科技有限公司, 保留所有权利。
  7. * ----------------------------------------------
  8. * 官方网址: https://www.niushop.com
  9. * =========================================================
  10. * @author : niuteam
  11. * @date : 2022.8.8
  12. * @version : v5.0.0.1
  13. */
  14. namespace addon\supermember\api\controller;
  15. use addon\supermember\model\Config;
  16. use app\api\controller\BaseApi;
  17. use app\model\goods\Goods;
  18. use app\model\member\MemberLevel;
  19. use addon\supermember\model\MemberCard as MemberCardModel;
  20. /**
  21. * 会员卡
  22. * @package app\api\controller
  23. */
  24. class Membercard extends BaseApi
  25. {
  26. /**
  27. * 列表信息
  28. */
  29. public function lists()
  30. {
  31. $member_level_model = new MemberLevel();
  32. $condition = [
  33. [ 'site_id', '=', $this->site_id ],
  34. [ 'level_type', '=', 1 ],
  35. [ 'status', '=', 1 ]
  36. ];
  37. $field = 'level_id,level_name,remark,consume_discount,is_free_shipping,point_feedback,send_point,send_balance,send_coupon,charge_rule,charge_type,bg_color,level_text_color,level_picture';
  38. $member_level_list = $member_level_model->getMemberLevelList($condition, $field, 'is_recommend desc,level_id desc');
  39. return $this->response($member_level_list);
  40. }
  41. /**
  42. * 获取会员卡信息
  43. */
  44. public function info()
  45. {
  46. $level_id = $this->params[ 'level_id' ] ?? 0;
  47. $member_level_model = new MemberLevel();
  48. $condition = [
  49. [ 'site_id', '=', $this->site_id ],
  50. [ 'level_type', '=', 1 ],
  51. [ 'level_id', '=', $level_id ]
  52. ];
  53. $field = 'level_id,level_name,consume_discount,is_free_shipping,point_feedback,send_point,send_balance,send_coupon';
  54. $data = $member_level_model->getMemberLevelInfo($condition, $field);
  55. return $this->response($data);
  56. }
  57. /**
  58. * 查询推荐卡
  59. * @param int $id
  60. * @return false|string
  61. */
  62. public function recommendCard($id = 0)
  63. {
  64. $sku_id = $this->params[ 'sku_id' ] ?? 0;
  65. if (!empty($id)) {
  66. $sku_id = $id;
  67. }
  68. $card_model = new MemberCardModel();
  69. $data = $card_model->getRecommendMemberCard($this->site_id);
  70. if (!empty($data[ 'data' ]) && !empty($sku_id)) {
  71. $goods_model = new Goods();
  72. $price_data = $goods_model->getMemberCardGoodsPrice($sku_id, $data[ 'data' ][ 'level_id' ]);
  73. $data[ 'data' ][ 'member_price' ] = $price_data[ 'data' ][ 'price' ];
  74. }
  75. return $this->response($data);
  76. }
  77. /**
  78. * 获取推荐会员卡
  79. * @return false|string
  80. */
  81. public function firstCard()
  82. {
  83. $sku_id = $this->params[ 'sku_id' ] ?? 0;
  84. $member_level_model = new MemberLevel();
  85. $condition = [
  86. [ 'site_id', '=', $this->site_id ],
  87. [ 'level_type', '=', 1 ],
  88. [ 'status', '=', 1 ],
  89. [ 'is_recommend', '=', 1 ]
  90. ];
  91. $field = 'level_id,level_name,consume_discount,is_free_shipping,point_feedback,send_point,send_balance,send_coupon';
  92. $data = $member_level_model->getMemberLevelInfo($condition, $field);
  93. if (empty($data[ 'data' ])) {
  94. unset($condition[ 3 ]);
  95. $data = $member_level_model->getFirstMemberLevel($condition, $field, 'consume_discount asc');
  96. }
  97. return $this->response($data);
  98. }
  99. /**
  100. * 开卡协议
  101. */
  102. public function agreement()
  103. {
  104. $config = new Config();
  105. $data = $config->getMemberCardDocument($this->site_id);
  106. return $this->response($data);
  107. }
  108. }