diff --git a/app/data/controller/base/Upgrade.php b/app/data/controller/base/Upgrade.php index 8c4de2b37..0879ecd58 100644 --- a/app/data/controller/base/Upgrade.php +++ b/app/data/controller/base/Upgrade.php @@ -27,20 +27,6 @@ class Upgrade extends Controller BaseUserUpgrade::mQuery()->order('number asc')->layTable(); } - /** - * 数据列表处理 - * @param array $data - */ - protected function _page_filter(array &$data) - { - foreach ($data as &$vo) { - $vo['rebate_rule'] = str2arr($vo['rebate_rule']); - foreach ($vo['rebate_rule'] as &$v) { - $v = RebateService::instance()->name($v); - } - } - } - /** * 添加用户等级 * @auth true @@ -70,10 +56,8 @@ class Upgrade extends Controller if ($this->request->isGet()) { $this->prizes = RebateService::PRIZES; $vo['number'] = $vo['number'] ?? BaseUserUpgrade::maxNumber(); - $vo['rebate_rule'] = str2arr($vo['rebate_rule'] ?? ''); } else { $vo['utime'] = time(); - $vo['rebate_rule'] = arr2str($vo['rebate_rule'] ?? []); // 用户升级条件开关 $vo['goods_vip_status'] = isset($vo['goods_vip_status']) ? 1 : 0; $vo['teams_users_status'] = isset($vo['teams_users_status']) ? 1 : 0; diff --git a/app/data/model/BaseUserUpgrade.php b/app/data/model/BaseUserUpgrade.php index b139bb03c..2cdb0d5e5 100644 --- a/app/data/model/BaseUserUpgrade.php +++ b/app/data/model/BaseUserUpgrade.php @@ -2,6 +2,7 @@ namespace app\data\model; +use app\data\service\RebateService; use think\admin\Model; /** @@ -34,6 +35,30 @@ class BaseUserUpgrade extends Model return static::mk()->max('number', 0) + 1; } + /** + * 规格化奖励配置 + * @param mixed $value + * @return array + */ + public function getRebateRuleAttr($value): array + { + [$data, $rules] = [[], array_column(RebateService::PRIZES, 'code')]; + foreach (is_string($value) ? str2arr($value, ',', $rules) : [] as $rule) { + $data[$rule] = RebateService::name($rule); + } + return $data; + } + + /** + * 格式化奖励配置 + * @param mixed $value + * @return string + */ + public function setRebateRuleAttr($value): string + { + return is_array($value) ? arr2str($value) : $value; + } + /** * 格式化创建时间 * @param string $value diff --git a/app/data/service/RebateService.php b/app/data/service/RebateService.php index 582b873a6..b7befd9a6 100644 --- a/app/data/service/RebateService.php +++ b/app/data/service/RebateService.php @@ -417,7 +417,7 @@ class RebateService extends Service * @param string $prize * @return string */ - public function name(string $prize): string + public static function name(string $prize): string { return self::PRIZES[$prize]['name'] ?? $prize; } diff --git a/app/data/view/base/upgrade/form.html b/app/data/view/base/upgrade/form.html index 27282d88f..04af488b7 100644 --- a/app/data/view/base/upgrade/form.html +++ b/app/data/view/base/upgrade/form.html @@ -146,7 +146,7 @@