This commit is contained in:
2024-10-29 14:04:59 +08:00
commit 48bf3e6f33
2839 changed files with 762707 additions and 0 deletions

315
app/admin/controller/Flink.php Executable file
View File

@@ -0,0 +1,315 @@
<?php
namespace app\admin\controller;
use think\Lang;
use think\Loader;
use think\Config;
class Flink extends BaseController {
public function index() {
$this->redirect('/admin/flink/lists');
}
public function lists() {
$skeyword = $this->request->get('skeyword', '', 'urldecode');
$arg_where = ['b.siteid' => $this->siteid];
$arg_order = ['b.id' => 'desc'];
$arg_field = ['b.*', 'bt.id' => 'typeid', 'bt.name' => 'typename'];
if (!empty($skeyword)) {
$skeyword = trim($skeyword);
$arg_where['b.name'] = ['like', '%' . $skeyword . '%'];
$search['skeyword'] = $skeyword;
Config::set('paginate.query', ['skeyword' => $skeyword]); //分页参数
} else {
$search['skeyword'] = '';
}
$dataObject = Loader::model('Flink')->getFlinkLists($arg_where, $arg_order, $arg_field);
$value = [
'list' => $dataObject->isEmpty() ? null : $dataObject->items(), //$dataObject->getCollection()->toArray()
'page' => $dataObject->render(),
//'page_previous' => $dataObject->getUrl($dataObject->currentPage() - 1),
//'page_next' => $dataObject->getUrl($dataObject->currentPage() + 1),
'search' => $search,
];
$this->assign($value);
return $this->fetch();
}
public function add($typeid = 0) {
$typeid = is_numeric($typeid) ? intval($typeid) : 0;
$arg_where = array('pid' => 0, 'stat' => 0);
$arg_order = array('id' => 'desc');
$arg_field = array('id', 'pid', 'name');
$typeOption = Loader::model('FlinkType')->getOption($typeid, $arg_where, $arg_order, $arg_field, 100);
$value = ['typeOption' => $typeOption];
$this->assign($value);
return $this->fetch();
}
public function create() {
if ($this->request->isPost()) {
$data = $this->request->post();
if (empty($data) || !is_array($data)) {
return $this->error(Lang::get('incorrect operation'));
}
$validaterule = ['name' => 'require', 'typeid' => 'number|between:0,2147483647',];
$validatemsg = ['name.require' => '名称不能为空', 'typeid.between' => '所属上级值无效',];
$valid_result = $this->validate($data, $validaterule, $validatemsg);
if (true !== $valid_result) {
// 验证失败 输出错误信息
return $this->error($valid_result);
}
$data['sort'] = intval($data['sort']);
$data['alt'] = empty($data['alt']) ? $data['name'] : $data['alt'];
$data['siteid'] = $this->siteid;
$model = Loader::model('Flink')->insertRow($data);
if ($model && $model->getData('id')) {
return $this->redirect(url('/admin/flink/lists'));
} else {
return $this->error(Lang::get('operation failed'));
}
}
return $this->error(Lang::get('incorrect operation'));
}
public function edit($id = 0) {
$id = intval($id);
if ($id > 0) {
$flink = Loader::model('Flink')->getRow($id);
if (empty($flink)) {
return $this->error(Lang::get('incorrect operation'));
}
$value['flink'] = $flink;
} else {
return $this->error(Lang::get('incorrect operation'));
}
$typeid = isset($flink['typeid']) ? $flink['typeid'] : 0;
$arg_where = array('pid' => 0, 'stat' => 0);
$arg_order = array('id' => 'desc');
$arg_field = array('id', 'pid', 'name');
$typeOption = Loader::model('FlinkType')->getOption($typeid, $arg_where, $arg_order, $arg_field, 100);
$value['typeOption'] = $typeOption;
$value['typeid'] = $typeid;
$this->assign($value);
return $this->fetch();
}
public function update() {
if ($this->request->isPost()) {
$data = $this->request->post();
if (empty($data) || !is_array($data)) {
return $this->error(Lang::get('incorrect operation'));
}
$validaterule = ['name' => 'require', 'typeid' => 'number|between:0,2147483647',];
$validatemsg = ['name.require' => '名称不能为空', 'typeid.between' => '所属上级值无效',];
$valid_result = $this->validate($data, $validaterule, $validatemsg);
if (true !== $valid_result) {
// 验证失败 输出错误信息
return $this->error($valid_result);
}
$data['sort'] = intval($data['sort']);
$model = Loader::model('Flink')->updateRow($data);
if ($model && $model->getData('id')) {
return $this->redirect(url('/admin/flink/lists'));
} else {
return $this->error(Lang::get('operation failed'));
}
}
return $this->error(Lang::get('incorrect operation'));
}
public function togglerecommend() {
$id = $this->request->get('id', 0);
$flag = $this->request->get('flag', 0);
$id = intval($id);
if ($this->request->isGet() && $id) {
$model = Loader::model('Flink')->updateRow(['id' => $id, 'recommend' => $flag]);
if ($model && $model->getData('id')) {
return $this->success(Lang::get('operation successed'), url('/admin/flink/lists'));
} else {
return $this->error(Lang::get('operation failed'));
}
}
return $this->error(Lang::get('incorrect operation'));
}
public function updatesort() {
$id = $this->request->param('id', 0);
$sort = $this->request->param('sort', 0);
$sort = intval($sort);
$id = intval($id);
if ($this->request->isAjax() && $id) {
$model = Loader::model('Flink')->updateRow(['id' => $id, 'sort' => $sort]);
if ($model && $model->getData('id')) {
return $this->success(Lang::get('operation successed'), url('/admin/flink/lists'));
} else {
return $this->error(Lang::get('operation failed'));
}
}
return $this->error(Lang::get('incorrect operation'));
}
public function delete($id = 0) {
$id = intval($id);
if ($id > 0) {
$model = Loader::model('Flink')->deleteRow($id);
if ($model && $model->getData('id')) {
return $this->success(Lang::get('operation successed'), url('/admin/flink/lists'));
} else {
return $this->error(Lang::get('operation failed'));
}
}
return $this->error(Lang::get('incorrect operation'));
}
public function deletes() {
if ($this->request->isPost()) {
$ids = $this->request->post('ids');
$in_ids = explode(',', trim($ids, ','));
//echo json_encode(['code' => false, 'msg' => print_r($in_ids, true)]);exit;
$result = Loader::model('Flink')->deleteRows($in_ids);
if ($result) {
return $this->success(Lang::get('operation successed'), url('/admin/flink/lists'));
} else {
return $this->error(Lang::get('operation failed'));
}
}
return $this->error(Lang::get('incorrect operation'));
}
public function recommends() {
$ids = $this->request->post('ids');
$in_ids = explode(',', trim($ids, ','));
if ($this->request->isPost() && $in_ids) {
$result = Loader::model('Flink')->updateRow(['recommend' => 1], ['id' => ['in', $in_ids]]);
if ($result) {
return $this->success(Lang::get('operation successed'), url('/admin/flink/lists'));
} else {
return $this->error(Lang::get('operation failed'));
}
}
return $this->error(Lang::get('incorrect operation'));
}
//类别
public function typelists() {
$skeyword = $this->request->get('skeyword', '', 'urldecode');
$arg_where = array('pid' => 0, 'stat' => 0, 'siteid' => $this->siteid);
$arg_order = array('id' => 'desc');
$arg_field = array('id', 'name', 'description', 'createtime');
if (!empty($skeyword)) {
$skeyword = trim($skeyword);
$arg_where['name'] = ['like', '%' . $skeyword . '%'];
$search['skeyword'] = $skeyword;
Config::set('paginate.query', ['skeyword' => $skeyword]); //分页参数
} else {
$search['skeyword'] = '';
}
$dataObject = Loader::model('FlinkType')->getPageList($arg_where, $arg_order, $arg_field);
$value = [
'list' => $dataObject->isEmpty() ? null : $dataObject->items(), //$dataObject->getCollection()->toArray()
'page' => $dataObject->render(),
//'page_previous' => $dataObject->getUrl($dataObject->currentPage() - 1),
//'page_next' => $dataObject->getUrl($dataObject->currentPage() + 1),
'search' => $search,
];
$this->assign($value);
return $this->fetch();
}
public function typeedit($id = 0) {
$id = intval($id);
if ($id > 0) {
$flinktype = Loader::model('FlinkType')->getRow($id);
if (empty($flinktype)) {
return $this->error(Lang::get('incorrect operation'));
}
$value['flinktype'] = $flinktype;
} else {
return $this->error(Lang::get('incorrect operation'));
}
$this->assign($value);
return $this->fetch();
}
public function typeupdate() {
if ($this->request->isPost()) {
$data = $this->request->post();
if (empty($data) || !is_array($data)) {
return $this->error(Lang::get('incorrect operation'));
}
$validaterule = ['name' => 'require'];
$validatemsg = ['name.require' => '名称不能为空'];
$valid_result = $this->validate($data, $validaterule, $validatemsg);
if (true !== $valid_result) {
// 验证失败 输出错误信息
return $this->error($valid_result);
}
$model = Loader::model('FlinkType')->updateRow($data);
if ($model && $model->getData('id')) {
return $this->redirect(url('/admin/flink/typelists'));
} else {
return $this->error(Lang::get('operation failed'));
}
}
return $this->error(Lang::get('incorrect operation'));
}
public function typeadd() {
return $this->fetch();
}
public function typecreate() {
if ($this->request->isPost()) {
$data = $this->request->post();
if (empty($data) || !is_array($data)) {
return $this->error(Lang::get('incorrect operation'));
}
$validaterule = ['name' => 'require'];
$validatemsg = ['name.require' => '名称不能为空'];
$valid_result = $this->validate($data, $validaterule, $validatemsg);
if (true !== $valid_result) {
// 验证失败 输出错误信息
return $this->error($valid_result);
}
$data['siteid'] = $this->siteid;
$model = Loader::model('FlinkType')->insertRow($data);
if ($model && $model->getData('id')) {
return $this->redirect(url('/admin/flink/typelists'));
} else {
return $this->error(Lang::get('operation failed'));
}
}
return $this->error(Lang::get('incorrect operation'));
}
public function typedelete($id = 0) {
$id = intval($id);
if ($id > 0) {
$result = Loader::model('FlinkType')->deleteRow($id);
if ($result) {
return $this->success(Lang::get('operation successed'), url('/admin/flink/typelists'));
} else {
return $this->error(Lang::get('operation failed'));
}
}
return $this->error(Lang::get('incorrect operation'));
}
public function typedeletes() {
$ids = $this->request->post('ids');
if ($this->request->isPost() && $ids) {
$result = Loader::model('FlinkType')->deleteRows($ids);
//$result = Loader::model('FlinkType')->updateRow(['stat' => -1], ['id' => ['in', $ids]]);
if ($result) {
return $this->success(Lang::get('operation successed'), url('/admin/flink/typelists'));
} else {
return $this->error(Lang::get('operation failed'));
}
}
return $this->error(Lang::get('incorrect operation'));
}
}