mirror of
https://gitee.com/zoujingli/ThinkAdmin.git
synced 2025-05-22 22:59:14 +08:00
修改用户等级配置
This commit is contained in:
parent
b765e011a2
commit
57fa2645dc
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -146,7 +146,7 @@
|
||||
<fieldset class="layui-form-item">
|
||||
<legend><span class="layui-badge layui-bg-cyan">奖利规则</span></legend>
|
||||
<div class="notselect relative">
|
||||
{foreach $prizes as $prize}{if isset($vo.rebate_rule) && is_array($vo.rebate_rule) && in_array($prize.code, $vo.rebate_rule)}
|
||||
{foreach $prizes as $prize}{if isset($vo.rebate_rule) && is_array($vo.rebate_rule) && isset($vo.rebate_rule[$prize.code])}
|
||||
<label class="think-checkbox"><input lay-ignore name="rebate_rule[]" type="checkbox" value="{$prize.code}" checked> {$prize.name}</label>
|
||||
{else}
|
||||
<label class="think-checkbox"><input lay-ignore name="rebate_rule[]" type="checkbox" value="{$prize.code}"> {$prize.name}</label>
|
||||
|
@ -72,7 +72,7 @@
|
||||
},
|
||||
{
|
||||
field: 'rebate_rule', title: '奖利规则', align: 'center', minWidth: 100, templet: function (d) {
|
||||
return (d.html = ''), (d.rebate_rule || []).forEach(function (rule) {
|
||||
return (d.html = ''), layui.each(d.rebate_rule || {}, function (k, rule) {
|
||||
d.html += laytpl('<span class="layui-badge layui-bg-gray">{{d.v}}</span>').render({v: rule});
|
||||
}), d.html || '-';
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user