MemberLevelService.php 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Niucloud-admin 企业快速开发的saas管理平台
  4. // +----------------------------------------------------------------------
  5. // | 官方网址:https://www.niucloud.com
  6. // +----------------------------------------------------------------------
  7. // | niucloud团队 版权所有 开源版本可自由商用
  8. // +----------------------------------------------------------------------
  9. // | Author: Niucloud Team
  10. // +----------------------------------------------------------------------
  11. namespace app\service\api\member;
  12. use app\dict\member\MemberLevelDict;
  13. use app\model\member\MemberLevel;
  14. use app\service\core\member\CoreMemberService;
  15. use core\base\BaseApiService;
  16. /**
  17. * 会员等级服务层
  18. * @package app\service\api\member
  19. */
  20. class MemberLevelService extends BaseApiService
  21. {
  22. public function __construct()
  23. {
  24. parent::__construct();
  25. }
  26. /**
  27. * 会员等级
  28. * @param array $data
  29. * @return true
  30. */
  31. public function getList(){
  32. $list = (new MemberLevel())->where([ ['site_id', '=', $this->site_id] ])->field('level_id,site_id,level_name,growth,remark,level_benefits,level_gifts')->order('growth asc')->select()->toArray();
  33. $level_style = MemberLevelDict::getStyle();
  34. if (!empty($list)) {
  35. foreach ($list as $k => $item) {
  36. if (!empty($item['level_benefits'])) $list[$k]['level_benefits'] = array_filter(array_map(function ($item){
  37. if ($item['content']) return $item;
  38. }, CoreMemberService::getBenefitsContent($item['site_id'], $item['level_benefits'], 'member_level')));
  39. if (!empty($item['level_gifts'])) $list[$k]['level_gifts'] = CoreMemberService::getGiftContent($item['site_id'], $item['level_gifts'], 'member_level');
  40. $filling = [
  41. 'benefits_one' => [ 'title' => "专属客服", 'desc' => '专业服务', 'icon' => '/static/resource/images/member/benefits/benefits_kefu.png' ],
  42. 'benefits_two' => [ 'title' => "专属徽章", 'desc' => '专属徽章', 'icon' => '/static/resource/images/member/benefits/benefits_badge.png' ],
  43. 'benefits_four' => [ 'title' => "经验累计", 'desc' => '经验累计', 'icon' => '/static/resource/images/member/benefits/benefits_experience.png' ],
  44. 'benefits_three' => [ 'title' => "尊享客服", 'desc' => '尊享客服', 'icon' => '/static/resource/images/member/benefits/benefits_badge.png' ],
  45. ];
  46. $length = empty($item['level_benefits']) ? 0 : count($item['level_benefits']);
  47. if ($length < 4) {
  48. if (empty($item['level_benefits'])) $list[$k]['level_benefits'] = [];
  49. foreach ($filling as $key => $content) {
  50. if (count($list[$k]['level_benefits']) == 4) break;
  51. $list[$k]['level_benefits'][$key] = [
  52. 'content' => $content
  53. ];
  54. }
  55. }
  56. $level_key = $k % 7 + 1;
  57. $list[$k]['level_bg'] = '/static/resource/images/member/level/bg_'. $level_key .'.png';
  58. $list[$k]['member_bg'] = '/static/resource/images/member/level/member_'. $level_key .'.png';
  59. $list[$k]['level_icon'] = '/static/resource/images/member/level/level_icon'. $level_key .'.png';
  60. $list[$k]['level_tag'] = '/static/resource/images/member/level/level_'. $level_key .'.png';
  61. $list[$k]['level_style'] = $level_style['level_'.$level_key] ?? [];
  62. }
  63. }
  64. return $list;
  65. }
  66. }