增加分类

This commit is contained in:
Alone
2024-06-17 16:26:13 +08:00
parent 4ea74f9551
commit 3dd3fd6a3e
11 changed files with 739 additions and 14 deletions
+8 -3
View File
@@ -26,11 +26,11 @@ class Source extends QfShop
];
$this->insertFields = [
//允许添加的字段列表
"title","url","status","is_delete"
"source_category_id","title","url","status","is_delete","sort","is_top"
];
$this->updateFields = [
//允许更新的字段列表
"title","url","status","is_delete"
"source_category_id","title","url","status","is_delete","sort","is_top"
];
$this->insertRequire = [
//添加时必须填写的字段
@@ -65,8 +65,11 @@ class Source extends QfShop
//从请求中获取筛选数据的数组
$map = $this->getDataFilterFromRequest();
$map[] = ['is_delete','=',0];
if(!empty(input('source_category_id'))){
$map[] = ['source_category_id','=',input('source_category_id')];
}
//从请求中获取排序方式
$order = $this->getorderfromRequest();
$order = ['is_top' => 'desc','sort' => 'desc','source_id' => 'desc'];
//设置Model中的 per_page
$this->setGetListPerPage();
//查询数据
@@ -217,6 +220,7 @@ class Source extends QfShop
//删除这个文件
unlink("./uploads/".$saveName);
// 生成二维码
foreach ($excel_array as $k => $v) {
$patterns = '/^\d+\.|\d+\-/';
@@ -238,6 +242,7 @@ class Source extends QfShop
if (empty($res) && $url) {
$data[$k]['title'] = $title;
$data[$k]['url'] = $url;
$data[$k]['source_category_id'] = input('source_category_id')??0;
$data[$k]['update_time'] = time();
$data[$k]['create_time'] = time();
$i++;
+258
View File
@@ -0,0 +1,258 @@
<?php
namespace app\admin\controller;
use think\App;
use app\admin\QfShop;
use app\model\SourceCategory as SourceCategoryModel;
class SourceCategory extends QfShop
{
public function __construct(App $app)
{
parent::__construct($app);
//查询列表时允许的字段
$this->selectList = "*";
//查询详情时允许的字段
$this->selectDetail = "*";
//筛选字段
$this->searchFilter = [
"source_category_id" => "=",
"name"=>"like"
];
$this->insertFields = [
//允许添加的字段列表
"name","sort","status"
];
$this->updateFields = [
//允许更新的字段列表
"name","sort","status"
];
$this->insertRequire = [
//添加时必须填写的字段
// "字段名称"=>"该字段不能为空"
"name"=>"分类名称必须填写",
];
$this->updateRequire = [
//修改时必须填写的字段
// "字段名称"=>"该字段不能为空"
"name"=>"分类名称必须填写",
];
$this->model = new SourceCategoryModel();
}
/**
* 获取列表接口
*
* @return void
*/
public function getList()
{
//校验Access与RBAC
$error = $this->access();
if ($error) {
return $error;
}
//查询数据
$dataList = $this->model->order('sort', 'desc')->select();
return jok('数据获取成功', $dataList);
}
/**
* 获取详情基类 子类自动继承 如有特殊需求 可重写到子类 请勿修改父类方法
*
* @return void
*/
public function detail()
{
//校验Access与RBAC
$error = $this->access();
if ($error) {
return $error;
}
$source_category_id = input("source_category_id");
if (!$source_category_id) {
return jerr("ID参数必须填写", 400);
}
//根据主键获取一行数据
$item = $this->model->where("source_category_id", $source_category_id)->field($this->selectDetail)->find();
if (empty($item)) {
return jerr("没有查询到数据", 404);
}
return jok('数据加载成功', $item);
}
/**
* 添加接口基类 子类自动继承 如有特殊需求 可重写到子类 请勿修改父类方法
*
* @return void
*/
public function add()
{
//校验Access与RBAC
$error = $this->access();
if ($error) {
return $error;
}
//校验Insert字段是否填写
$error = $this->validateInsertFields();
if ($error) {
return $error;
}
//从请求中获取Insert数据
$data = $this->getInsertDataFromRequest();
//添加这行数据
$data['create_time'] = time();
$data['update_time'] = time();
$this->model->insertGetId($data);
return jok('添加成功');
}
/**
* 修改接口基类 子类自动继承 如有特殊需求 可重写到子类 请勿修改父类方法
*
* @return void
*/
public function update()
{
//校验Access与RBAC
$error = $this->access();
if ($error) {
return $error;
}
$source_category_id = input("source_category_id");
if (!$source_category_id) {
return jerr("ID参数必须填写", 400);
}
//根据主键获取一行数据
$item = $this->model->where("source_category_id", $source_category_id)->field($this->selectDetail)->find();
if (empty($item)) {
return jerr("数据查询失败", 404);
}
//校验Update字段是否填写
$error = $this->validateUpdateFields();
if ($error) {
return $error;
}
//从请求中获取Update数据
$data = $this->getUpdateDataFromRequest();
//根据主键更新这条数据
$data['update_time'] = time();
$this->model->where("source_category_id", $source_category_id)->update($data);
return jok('修改成功');
}
/**
* 删除接口基类 子类自动继承 如有特殊需求 可重写到子类 请勿修改父类方法
*
* @return void
*/
public function delete()
{
//校验Access与RBAC
$error = $this->access();
if ($error) {
return $error;
}
$source_category_id = input("source_category_id");
if (!$source_category_id) {
return jerr("ID参数必须填写", 400);
}
if (isInteger($source_category_id)) {
//根据主键获取一行数据
$item = $this->model->where("source_category_id", $source_category_id)->field($this->selectDetail)->find();
if (empty($item)) {
return jerr("数据查询失败", 404);
}
//单个操作
$map = ["source_category_id" => $source_category_id];
$this->model->where($map)->delete();
} else {
//批量操作
$list = explode(',', $source_category_id);
$this->model->where("source_category_id", 'in', $list)->delete();
}
return jok('删除成功');
}
/**
* 禁用接口基类 子类自动继承 如有特殊需求 可重写到子类 请勿修改父类方法
*
* @return void
*/
public function disable()
{
//校验Access与RBAC
$error = $this->access();
if ($error) {
return $error;
}
$source_category_id = input("source_category_id");
if (!$source_category_id) {
return jerr("ID参数必须填写", 400);
}
if (isInteger($source_category_id)) {
//根据主键获取一行数据
$item = $this->model->where("source_category_id", $source_category_id)->field($this->selectDetail)->find();
if (empty($item)) {
return jerr("数据查询失败", 404);
}
//单个操作
$map = ["source_category_id" => $source_category_id];
$this->model->where($map)->update([
"status" => 1,
"update_time" => time(),
]);
} else {
//批量操作
$list = explode(',', $source_category_id);
$this->model->where("source_category_id", 'in', $list)->update([
"status" => 1,
"update_time" => time(),
]);
}
return jok("禁用成功");
}
/**
* 启用接口基类 子类自动继承 如有特殊需求 可重写到子类 请勿修改父类方法
*
* @return void
*/
public function enable()
{
//校验Access与RBAC
$error = $this->access();
if ($error) {
return $error;
}
$source_category_id = input("source_category_id");
if (!$source_category_id) {
return jerr("ID参数必须填写", 400);
}
if (isInteger($source_category_id)) {
//根据主键获取一行数据
$item = $this->model->where("source_category_id", $source_category_id)->field($this->selectDetail)->find();
if (empty($item)) {
return jerr("数据查询失败", 404);
}
//单个操作
$map = ["source_category_id" => $source_category_id];
$this->model->where($map)->update([
"status" => 0,
"update_time" => time(),
]);
} else {
//批量操作
$list = explode(',', $source_category_id);
$this->model->where("source_category_id", 'in', $list)->update([
"status" => 0,
"update_time" => time(),
]);
}
return jok("启用成功");
}
}