159 lines
6.0 KiB
PHP
159 lines
6.0 KiB
PHP
<?php
|
||
// +----------------------------------------------------------------------
|
||
// | 作者:修缘 联系QQ:278896498 QQ群:1054861244
|
||
// | 声明:未经作者许可,禁止倒卖等商业运营,违者必究
|
||
// | 另接php业务,网站制作、代理后台、gm后台、支付对接等
|
||
// +----------------------------------------------------------------------
|
||
// | 创建时间: 2022/1/5 22:51
|
||
// +----------------------------------------------------------------------
|
||
|
||
|
||
namespace app\admin\controller;
|
||
|
||
|
||
use app\common\model\CdkCode;
|
||
use app\common\model\GameGm;
|
||
use app\common\validate\CdkValidate;
|
||
use think\Request;
|
||
|
||
class CdkController extends Controller
|
||
{
|
||
public function index(Request $request, CdkCode $model)
|
||
{
|
||
$param = $request->param();
|
||
$model = $model->scope('where', $param);
|
||
if (isset($param['export_data']) && $param['export_data'] == 1) {
|
||
$header = ['ID', 'CDK', '类型', '金额', '项目', '数量', '是否使用', '创建时间', '使用时间'];
|
||
$body = [];
|
||
$data = $model->select();
|
||
foreach ($data as $item) {
|
||
$record = [];
|
||
$record['id'] = $item->id;
|
||
$record['cdk_code'] = $item->cdk_code;
|
||
$record['type'] = $item->type_text;
|
||
$record['money'] = $item->money;
|
||
$record['item_name'] = $item->item_name;
|
||
$record['num'] = $item->num;
|
||
$record['status'] = $item->status_text;
|
||
$record['create_time'] = $item->create_time;
|
||
$record['update_time'] = $item->update_time;
|
||
$body[] = $record;
|
||
}
|
||
return $this->exportData($header, $body, 'CDK兑换码-' . date('Y-m-d-H-i-s'));
|
||
}
|
||
$data = $model->paginate($this->admin['per_page'], false, ['query' => $request->get()]);
|
||
$this->assign($request->get());
|
||
$this->assign([
|
||
'data' => $data,
|
||
'page' => $data->render(),
|
||
'total' => $data->total(),
|
||
]);
|
||
return $this->fetch();
|
||
|
||
}
|
||
|
||
|
||
public function add(Request $request, CdkCode $model, CdkValidate $validate)
|
||
{
|
||
if ($request->isPost()) {
|
||
$param = $request->param();
|
||
if ($param['type'] == 'charge') {
|
||
$validate->scene('charge')->check($param) or admin_error($validate->getError());
|
||
|
||
$cdk = $model::get_production_cdk((int)$param['charge_cdk_num']);
|
||
for ($i=0; $i<count($cdk); $i++) {
|
||
$inset[] = [
|
||
'cdk_code' => $cdk[$i],
|
||
'type' => 1,
|
||
'money' => $param['charge_money'],
|
||
'item_name' => $param['charge_text'],
|
||
'item_id' => $param['charge_id'],
|
||
'num' => 1,
|
||
];
|
||
|
||
}
|
||
for ($i=0; $i<count($cdk); $i++) {
|
||
if($param['charge_money']==1 || $param['charge_money']==30){
|
||
$inset[$i]['item_id']=1;
|
||
}
|
||
}
|
||
|
||
$result = $model->saveAll($inset);
|
||
|
||
$result ? admin_success(lang('success'), URL_BACK) : admin_error();
|
||
}
|
||
|
||
if ($param['type'] == 'item') {
|
||
$validate ->scene('item')->check($param) or admin_error($validate->getError());
|
||
$cdk = $model::get_production_cdk((int)$param['item_cdk_num']);
|
||
for ($i=0; $i<count($cdk); $i++) {
|
||
$inset[] = [
|
||
'cdk_code' => $cdk[$i],
|
||
'type' => 2,
|
||
'money' => $param['item_money'],
|
||
'item_name' => $param['item_text'],
|
||
'item_id' => $param['item_id'],
|
||
'num' => $param['item_num'],
|
||
];
|
||
}
|
||
$result = $model->saveAll($inset);
|
||
$result ? admin_success(lang('success'), URL_BACK) : admin_error();
|
||
|
||
}
|
||
|
||
if ($param['type'] == 'mail') {
|
||
$validate ->scene('mail')->check($param) or admin_error($validate->getError());
|
||
$cdk = $model::get_production_cdk((int)$param['mail_cdk_num']);
|
||
for ($i=0; $i<count($cdk); $i++) {
|
||
$inset[] = [
|
||
'cdk_code' => $cdk[$i],
|
||
'type' => 3,
|
||
'money' => $param['mail_money'],
|
||
'item_name' => $param['title'],
|
||
'mail' => $param['gets'],
|
||
'num' => 1,
|
||
];
|
||
}
|
||
$result = $model->saveAll($inset);
|
||
$result ? admin_success(lang('success'), URL_BACK) : admin_error();
|
||
}
|
||
}
|
||
$gameGm = new GameGm();
|
||
$this->assign([
|
||
'item_list' => $gameGm::get_item_list(),
|
||
'charge_list' => $gameGm::get_charge_list(),
|
||
]);
|
||
return $this->fetch();
|
||
}
|
||
|
||
//删除
|
||
public function del($id, CdkCode $model)
|
||
{
|
||
if (count($model->noDeletionId) > 0) {
|
||
if (is_array($id)) {
|
||
if (array_intersect($model->noDeletionId, $id)) {
|
||
return admin_error('ID为' . implode(',', $model->noDeletionId) . '的数据无法删除');
|
||
}
|
||
} else if (in_array($id, $model->noDeletionId)) {
|
||
return admin_error('ID为' . $id . '的数据无法删除');
|
||
}
|
||
}
|
||
|
||
if ($model->softDelete) {
|
||
$result = $model->whereIn('id', $id)->useSoftDelete('delete_time', time())->delete();
|
||
} else {
|
||
$result = $model->whereIn('id', $id)->delete();
|
||
}
|
||
|
||
return $result ? admin_success(lang('delete_success'), URL_RELOAD) : admin_error(lang('delete_error'));
|
||
}
|
||
|
||
public function enable($id, CdkCode $model)
|
||
{
|
||
$result = $model->whereIn('id', $id)->update(['status' => 1]);
|
||
return $result ? admin_success(lang('status_update_success'), URL_RELOAD) : admin_error(lang('status_update_error'));
|
||
}
|
||
|
||
|
||
|
||
} |