bztang-admin/plugins/collection-room/src/admin/IndexController.php

118 lines
3.6 KiB
PHP

<?php
namespace Yunshop\CollectionRoom\admin;
use app\common\components\BaseController;
use app\common\facades\Setting;
use app\common\helpers\PaginationHelper;
use Yunshop\CollectionRoom\models\CollectionRoomModel;
class IndexController extends BaseController{
/**
* Common: 进入列表
* Author: wu-hui
* Time: 2023/09/28 9:24
* @return array|string
* @throws \Throwable
*/
public function index(){
//参数获取
$pageSize = request()->input('page_size',10);
$search = request()->input('search');
// 获取列表信息
$field = ['id','member_id','unique_number','created_at'];
$result = CollectionRoomModel::getList($pageSize,$search,$field);
$data = [
'list' => $result['data'],
'pager' => PaginationHelper::show($result['total'],$result['current_page'],$result['per_page']),
'search' => $search
];
return view('Yunshop\CollectionRoom::index.index',$data)->render();
}
/**
* Common: 修改唯一编号
* Author: wu-hui
* Time: 2023/09/28 10:07
* @return array|\Illuminate\Http\JsonResponse|string
* @throws \Throwable
*/
public function updateNumber(){
// 参数获取
$id = request()->input('id');
$uniqueNumber = (int)request()->input('unique_number');
$isSubmit = (int)request()->input('is_submit');
// 判断:是否为提交信息
if($isSubmit == 1){
if($uniqueNumber <= 0 || $uniqueNumber > 5000) return $this->errorJson('编号必须大于0且小于5000!');
try{
// 判断:当前编号是否已经存在
$isHas = (int)CollectionRoomModel::uniacid()
->where('unique_number',$uniqueNumber)
->where('id','!=',$id)
->value('id');
if($isHas > 0) return $this->errorJson('该编号已经存在,请勿重复设置!');
// 修改内容
CollectionRoomModel::uniacid()
->where('id',$id)
->update([
'unique_number' => $uniqueNumber
]);
return $this->successJson('操作成功');
}catch(\Exception $e){
return $this->errorJson($e->getMessage());
}
}
// 获取信息
$result = CollectionRoomModel::uniacid()
->where('id',$id)
->with([
'member' => function($query){
$query->select(['uid','nickname','realname','avatar']);
}
])
->first();
return view('Yunshop\CollectionRoom::index.update_number',[
'id' => $id,
'info' => $result
])->render();
}
/**
* Common: 基本设置
* Author: wu-hui
* Time: 2023/09/28 14:48
* @return array|\Illuminate\Http\JsonResponse|string
* @throws \Throwable
*/
public function set(){
// 获取设置信息 判断是否为设置
$setInfo = request()->input('collection_room');
if ($setInfo) {
// 设置信息
if (Setting::set('plugin.collection_room', $setInfo)) return $this->successJson('编辑成功');
else return $this->errorJson('设置失败');
}else{
// 获取信息
$set = Setting::get('plugin.collection_room');
return view('Yunshop\CollectionRoom::index.set',[
'set' => $set,
])->render();
}
}
public function test(){
// CollectionRoomModel::addInfo(1,2);
}
}