添加:兑换码作废功能

This commit is contained in:
wuhui_zzw 2024-03-09 17:55:00 +08:00
parent 1f95413a62
commit 1310ea97b1
5 changed files with 98 additions and 4 deletions

View File

@ -137,14 +137,14 @@ class VipExchangeCodeRepository extends BaseRepository{
'type' => 'div',
'style' => ['color' => '#999999'],
'domProps' => [
'innerHTML' => '例:输入 15 则ID大于15 小于等于结束ID的兑换码都会激活',
'innerHTML' => '例:输入 15 则ID大于15 小于等于结束ID的兑换码都会进行分配',
]
]),
Elm::number('end_id','结束ID')->required()->appendRule('suffix',[
'type' => 'div',
'style' => ['color' => '#999999'],
'domProps' => [
'innerHTML' => '例:输入 80 则ID小于等于80 大于开始ID的兑换码都会激活',
'innerHTML' => '例:输入 80 则ID小于等于80 大于开始ID的兑换码都会进行分配',
]
]),
Elm::select('mer_id','绑定商户')->options($merList),
@ -242,7 +242,62 @@ class VipExchangeCodeRepository extends BaseRepository{
'staff_id' => $params['staff_id'],
]);
}
/**
* Common: 作废兑换码
* Author: wu-hui
* Time: 2024/03/09 17:21
* @return \FormBuilder\Form
* @throws \FormBuilder\Exception\FormBuilderException
*/
public function cancelFormData($merId){
$formData = [];
if($merId > 0) $url = Route::buildUrl('systemUserVipExchangeCodeCancelInfo')->build();
else $url = Route::buildUrl('systemUserVipExchangeCodeCancelInfo')->build();
$form = Elm::createForm($url);
$rules = [
Elm::number('start_id','开始ID')->required()->appendRule('suffix',[
'type' => 'div',
'style' => ['color' => '#999999'],
'domProps' => [
'innerHTML' => '例:输入 15 则ID大于15 小于等于结束ID的兑换码都会作废',
]
]),
Elm::number('end_id','结束ID')->required()->appendRule('suffix',[
'type' => 'div',
'style' => ['color' => '#999999'],
'domProps' => [
'innerHTML' => '例:输入 80 则ID小于等于80 大于开始ID的兑换码都会作废',
]
]),
];
$form->setRule($rules);
return $form->setTitle( '作废兑换码')->formData($formData);
}
/**
* Common: 作废兑换码
* Author: wu-hui
* Time: 2024/03/09 17:25
* @param $params
* @param $merId
* @return UserVipExchangeCode
*/
public function cancelExchangeCode($params, $merId){
// 是否允许生成兑换码
if($params['end_id'] <= 0) throw new ValidateException('结束id必须大于0');
if($params['end_id'] <= $params['start_id']) throw new ValidateException('结束id必须大于开始id');
return UserVipExchangeCode::where('id','>',$params['start_id'])
->where('id','<=',$params['end_id'])
->where('status','<>', 2)
->when($merId > 0,function($query) use ($merId){
$query->where('mer_id', $merId);
})
->update([
'status' => 3,
]);
}
}

View File

@ -175,6 +175,33 @@ class ExchangeCode extends BaseController{
return app('json')->success($data);
}
/**
* Common: 兑换码作废 - 表单
* Author: wu-hui
* Time: 2024/03/09 17:21
* @return mixed
* @throws \FormBuilder\Exception\FormBuilderException
*/
public function cancelForm(){
$merId = $this->request->merId();
$data = $this->repository->cancelFormData($merId);
return app('json')->success(formToData($data));
}
/**
* Common: 兑换码作废 - 提交表单并且进行处理
* Author: wu-hui
* Time: 2024/03/09 17:25
* @return mixed
*/
public function cancelInfo(){
$merId = $this->request->merId();
$params = $this->request->params(['start_id','end_id']);
$this->repository->cancelExchangeCode($params, $merId);
return app('json')->success('作废成功');
}
}

View File

@ -184,8 +184,9 @@ class Svip extends BaseController
->findOrEmpty()
->toArray();
if(empty($exchangeCodeInfo)) throw new ValidateException('兑换码不存在!');
if($exchangeCodeInfo['status'] == 0) throw new ValidateException('未激活!');
if($exchangeCodeInfo['status'] == 2) throw new ValidateException('已使用!');
if($exchangeCodeInfo['status'] == 0) throw new ValidateException('兑换码未激活!');
if($exchangeCodeInfo['status'] == 2) throw new ValidateException('兑换码已被使用,请勿重复使用!');
if($exchangeCodeInfo['status'] == 3) throw new ValidateException('兑换码已作废!');
// 下单并且使用
$res = $groupDataRepository->getWhere(['group_data_id' => $exchangeCodeInfo['group_data_id'], 'status' => 1]);
if (!$res) throw new ValidateException('会员卡不存在!');

View File

@ -61,6 +61,13 @@ Route::group(function () {
Route::get('activateForm', 'admin.user.ExchangeCode/activateForm')->name('systemUserVipExchangeCodeActivateForm');
// 提交激活表单
Route::post('activateInfo', 'admin.user.ExchangeCode/activateInfo')->name('systemUserVipExchangeCodeActivateInfo');
// 作废表单
Route::get('cancelForm', 'admin.user.ExchangeCode/cancelForm')->name('systemUserVipExchangeCodeCancelForm');
// 提交作废表单
Route::post('cancelInfo', 'admin.user.ExchangeCode/cancelInfo')->name('systemUserVipExchangeCodeCancelInfo');
})->append(['type' => 1])->option([
'_path' => '/user/member/exchangeCode',

View File

@ -100,6 +100,10 @@ Route::group(function () {
Route::post('activateInfo', 'admin.user.ExchangeCode/activateInfo')->name('systemUserVipExchangeCodeActivateInfo');
// 搜索条件对象列表
Route::get('getSearchData', 'admin.user.ExchangeCode/getSearchData')->name('systemUserVipExchangeCodeGetSearchData');
// 作废表单
Route::get('cancelForm', 'admin.user.ExchangeCode/cancelForm')->name('systemUserVipExchangeCodeCancelForm');
// 提交作废表单
Route::post('cancelInfo', 'admin.user.ExchangeCode/cancelInfo')->name('systemUserVipExchangeCodeCancelInfo');
})->append(['type' => 1])->option([
'_path' => '/user/member/exchangeCode',