小程序会员权益

This commit is contained in:
2026-04-28 15:29:14 +08:00
parent 370a994ba8
commit 317016f2a8

View File

@@ -63,7 +63,7 @@ class MemberBenefits extends Api
// 查询该入会类型下的所有会员级别(按权重升序) // 查询该入会类型下的所有会员级别(按权重升序)
$levels = $this->level_model $levels = $this->level_model
->field(['id', 'join_config_id', 'benefits_id', 'name', 'image', 'fees', 'content']) ->field(['id', 'join_config_id', 'name', 'image', 'fees', 'content'])
->where('join_config_id', $join_config_id) ->where('join_config_id', $join_config_id)
->where('status', 'normal') ->where('status', 'normal')
->order('weigh', 'asc') ->order('weigh', 'asc')
@@ -71,7 +71,7 @@ class MemberBenefits extends Api
// 查询该入会类型下的所有会员权益(按排序值升序,排除禁用的) // 查询该入会类型下的所有会员权益(按排序值升序,排除禁用的)
$all_benefits = $this->benefits_model $all_benefits = $this->benefits_model
->field(['id', 'join_config_id', 'title', 'image', 'desc']) ->field(['id', 'join_config_id', 'level_id', 'title', 'image', 'desc'])
->where('join_config_id', $join_config_id) ->where('join_config_id', $join_config_id)
->where('disabled', 0) ->where('disabled', 0)
->order('sort', 'asc') ->order('sort', 'asc')
@@ -80,9 +80,6 @@ class MemberBenefits extends Api
// 为每个级别构建完整的权益列表(含 has 标记) // 为每个级别构建完整的权益列表(含 has 标记)
$result_levels = []; $result_levels = [];
foreach ($levels as $level) { foreach ($levels as $level) {
$owned_ids = json_decode($level['benefits_id'], true) ?: [];
$owned_ids = array_map('intval', $owned_ids);
$benefits_with_flag = []; $benefits_with_flag = [];
foreach ($all_benefits as $key => $val) { foreach ($all_benefits as $key => $val) {
$benefits_with_flag[] = [ $benefits_with_flag[] = [
@@ -91,7 +88,7 @@ class MemberBenefits extends Api
'title' => $val['title'], 'title' => $val['title'],
'image' => $val['image'], 'image' => $val['image'],
'desc' => $val['desc'], 'desc' => $val['desc'],
'has' => !empty($owned_ids) && in_array($val['id'], $owned_ids, true), 'has' => $level['id'] == $val['level_id'],
]; ];
} }