增加:会员付费权益支持增加和删除

This commit is contained in:
wuhui_zzw 2024-06-24 09:43:11 +08:00
parent 9009aac90f
commit 8caae2f633
3 changed files with 66 additions and 34 deletions

View File

@ -111,36 +111,64 @@ class MemberinterestsRepository extends BaseRepository
return $this->dao->getSearch(['type' => $type,'status' => 1])->whereIn('interests_id',$ids)->select(); return $this->dao->getSearch(['type' => $type,'status' => 1])->whereIn('interests_id',$ids)->select();
} }
public function svipForm(int $id) public function svipForm(int $id){
{ // 根据是否存在id 判断为添加还是修改
$data = $this->dao->get($id); if($id > 0){
if (!$data) throw new ValidateException('数据不存在'); $data = $this->dao->get($id);
$form = Elm::createForm(Route::buildUrl('systemUserSvipInterestsUpdate', ['id' => $id])->build()); $form = Elm::createForm(Route::buildUrl('systemUserSvipInterestsUpdate', ['id' => $id])->build());
$formData = $data->toArray(); $formData = $data ? $data->toArray() : [];
$rules = [ $rules = [
Elm::select('has_type', '权益名称')->options(function(){ Elm::select('has_type', '权益名称')->options(function(){
foreach (self::INTERESTS_TYPE as $k => $v) { foreach (self::INTERESTS_TYPE as $k => $v) {
$res[] = ['value' => $k, 'label' => $v['label']]; $res[] = ['value' => $k, 'label' => $v['label']];
} }
return $res; return $res ?? [];
})->disabled(true), }),
Elm::input('name', '展示名称')->required(), Elm::input('name', '展示名称')->required(),
Elm::input('info', '权益简介')->required(), Elm::input('info', '权益简介')->required(),
Elm::frameImage('pic', '未开通图标', '/' . config('admin.admin_prefix') . '/setting/uploadPicture?field=pic&type=1') Elm::frameImage('pic', '未开通图标', '/' . config('admin.admin_prefix') . '/setting/uploadPicture?field=pic&type=1')
->value($formData['pic'] ?? '')->required() ->value($formData['pic'] ?? '')->required()
->modal(['modal' => false]) ->modal(['modal' => false])
->width('1000px') ->width('1000px')
->height('600px'), ->height('600px'),
Elm::frameImage('on_pic', '已开通图标', '/' . config('admin.admin_prefix') . '/setting/uploadPicture?field=on_pic&type=1') Elm::frameImage('on_pic', '已开通图标', '/' . config('admin.admin_prefix') . '/setting/uploadPicture?field=on_pic&type=1')
->value($formData['on_pic'] ?? '')->required() ->value($formData['on_pic'] ?? '')->required()
->modal(['modal' => false]) ->modal(['modal' => false])
->width('1000px') ->width('1000px')
->height('600px'), ->height('600px'),
Elm::input('link', '跳转内部链接'), Elm::switches('status', '状态', (int)$data['status'])->activeValue(1)->inactiveValue(0)->inactiveText('隐藏')->activeText('显示'),
]; Elm::input('link', '跳转内部链接'),
$msg = self::INTERESTS_TYPE[$formData['has_type']]['msg']; ];
if ($msg) $rules[] = Elm::number('value',$msg,0); $msg = self::INTERESTS_TYPE[$formData['has_type']]['msg'] ?? '';
$form->setRule($rules); if ($msg) $rules[] = Elm::number('value',$msg,0);
return $form->setTitle('编辑会员权益')->formData($formData); $form->setRule($rules);
return $form->setTitle('编辑会员权益')->formData($formData);
}else{
$form = Elm::createForm(Route::buildUrl('systemUserSvipInterestsCreate')->build());
$rules = [
Elm::select('has_type', '权益名称')->options(function(){
foreach (self::INTERESTS_TYPE as $k => $v) {
$res[] = ['value' => $k, 'label' => $v['label']];
}
return $res;
}),
Elm::input('name', '展示名称')->required(),
Elm::input('info', '权益简介')->required(),
Elm::frameImage('pic', '未开通图标', '/' . config('admin.admin_prefix') . '/setting/uploadPicture?field=pic&type=1')
->required()
->modal(['modal' => false])
->width('1000px')
->height('600px'),
Elm::frameImage('on_pic', '已开通图标', '/' . config('admin.admin_prefix') . '/setting/uploadPicture?field=on_pic&type=1')
->required()
->modal(['modal' => false])
->width('1000px')
->height('600px'),
Elm::switches('status', '状态', 1)->activeValue(1)->inactiveValue(0)->inactiveText('隐藏')->activeText('显示'),
Elm::input('link', '跳转内部链接'),
];
$form->setRule($rules);
return $form->setTitle('编辑会员权益')->formData([]);
}
} }
} }

View File

@ -76,7 +76,7 @@ class MemberInterests extends BaseController
public function checkParams() public function checkParams()
{ {
$data = $this->request->params(['brokerage_level', 'name', 'info', 'pic', 'type',['has_type',0],['link',''],['value',''],['on_pic','']]); $data = $this->request->params(['brokerage_level', 'name', 'info', 'pic', 'type',['has_type',0],['link',''],['value',''],['on_pic',''],['status', 1]]);
if ($data['type'] == $this->repository::TYPE_FREE) { if ($data['type'] == $this->repository::TYPE_FREE) {
if(!$data['name'] || !$data['pic'] || empty($data['brokerage_level'])) if(!$data['name'] || !$data['pic'] || empty($data['brokerage_level']))
throw new ValidateException('请填写正确的权益信息'); throw new ValidateException('请填写正确的权益信息');
@ -94,9 +94,10 @@ class MemberInterests extends BaseController
public function getSvipInterests() public function getSvipInterests()
{ {
[$page, $limit] = $this->getPage();
$where['type'] = $this->repository::TYPE_SVIP; $where['type'] = $this->repository::TYPE_SVIP;
$data = $this->repository->getList($where,1,10); $data = $this->repository->getList($where,$page,$limit);
return app('json')->success($data['list']); return app('json')->success($data);
} }
public function updateSvipForm($id) public function updateSvipForm($id)
{ {

View File

@ -118,6 +118,9 @@ Route::group(function () {
Route::post('update/:id', '/update')->name('systemUserSvipInterestsUpdate')->option([ Route::post('update/:id', '/update')->name('systemUserSvipInterestsUpdate')->option([
'_alias' => '编辑', '_alias' => '编辑',
]); ]);
Route::post('create', '/create')->name('systemUserSvipInterestsCreate')->option([
'_alias' => '添加',
]);
Route::post('status/:id', '/switchWithStatus')->name('systemUserSvipInterestsStatus')->option([ Route::post('status/:id', '/switchWithStatus')->name('systemUserSvipInterestsStatus')->option([
'_alias' => '编辑状态', '_alias' => '编辑状态',
]); ]);