添加商品规格列表
This commit is contained in:
parent
fe4cb330c9
commit
4cf9124a85
@ -44,6 +44,9 @@ class StoreOrderLists extends BaseAdminDataLists implements ListsSearchInterface
|
|||||||
public function lists(): array
|
public function lists(): array
|
||||||
{
|
{
|
||||||
return StoreOrder::where($this->searchWhere)
|
return StoreOrder::where($this->searchWhere)
|
||||||
|
->when(!empty($this->request->adminInfo['store_id']), function ($query) {
|
||||||
|
$query->where('store_id', '=', $this->request->adminInfo['store_id']);
|
||||||
|
})
|
||||||
->field(['id', 'order_id', 'pay_price', 'pay_time', 'pay_type', 'status'])
|
->field(['id', 'order_id', 'pay_price', 'pay_time', 'pay_type', 'status'])
|
||||||
->limit($this->limitOffset, $this->limitLength)
|
->limit($this->limitOffset, $this->limitLength)
|
||||||
->order(['id' => 'desc'])
|
->order(['id' => 'desc'])
|
||||||
@ -63,7 +66,11 @@ class StoreOrderLists extends BaseAdminDataLists implements ListsSearchInterface
|
|||||||
*/
|
*/
|
||||||
public function count(): int
|
public function count(): int
|
||||||
{
|
{
|
||||||
return StoreOrder::where($this->searchWhere)->count();
|
return StoreOrder::where($this->searchWhere)
|
||||||
|
->when(!empty($this->request->adminInfo['store_id']), function ($query) {
|
||||||
|
$query->where('store_id', '=', $this->request->adminInfo['store_id']);
|
||||||
|
})
|
||||||
|
->count();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
26
app/common/controller/Definitions.php
Normal file
26
app/common/controller/Definitions.php
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace app\common\controller;
|
||||||
|
|
||||||
|
use hg\apidoc\annotation as ApiDoc;
|
||||||
|
|
||||||
|
class Definitions
|
||||||
|
{
|
||||||
|
|
||||||
|
#[
|
||||||
|
ApiDoc\Header(name: "token", type: "string", require: true, desc: "token"),
|
||||||
|
]
|
||||||
|
public function token()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#[
|
||||||
|
ApiDoc\Query("page_no", type: "int", require: false, default: 1, desc: "页码"),
|
||||||
|
ApiDoc\Query("page_size", type: "int", require: false, default: 25, desc: "每页条数"),
|
||||||
|
]
|
||||||
|
public function page()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -4,6 +4,7 @@ namespace app\common\model\store_branch_product_attr_value;
|
|||||||
|
|
||||||
|
|
||||||
use app\common\model\BaseModel;
|
use app\common\model\BaseModel;
|
||||||
|
use app\common\model\store_product_attr_value\StoreProductAttrValue;
|
||||||
use think\model\concern\SoftDelete;
|
use think\model\concern\SoftDelete;
|
||||||
|
|
||||||
|
|
||||||
@ -18,5 +19,9 @@ class StoreBranchProductAttrValue extends BaseModel
|
|||||||
protected $name = 'store_branch_product_attr_value';
|
protected $name = 'store_branch_product_attr_value';
|
||||||
protected $deleteTime = 'delete_time';
|
protected $deleteTime = 'delete_time';
|
||||||
|
|
||||||
|
public function attr()
|
||||||
}
|
{
|
||||||
|
return $this->hasOne(StoreProductAttrValue::class, 'unique', 'unique')->bind(['image']);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@ -3,12 +3,12 @@
|
|||||||
namespace app\store\controller\store_product_attr_value;
|
namespace app\store\controller\store_product_attr_value;
|
||||||
|
|
||||||
|
|
||||||
|
use app\common\controller\Definitions;
|
||||||
use app\store\controller\BaseAdminController;
|
use app\store\controller\BaseAdminController;
|
||||||
use app\store\lists\store_product_attr_value\StoreProductAttrValueLists;
|
use app\store\lists\store_product_attr_value\StoreProductAttrValueLists;
|
||||||
use app\store\logic\store_product_attr_value\StoreProductAttrValueLogic;
|
use app\store\logic\store_product_attr_value\StoreProductAttrValueLogic;
|
||||||
use app\store\validate\store_product_attr_value\StoreProductAttrValueValidate;
|
use app\store\validate\store_product_attr_value\StoreProductAttrValueValidate;
|
||||||
use hg\apidoc\annotation as ApiDoc;
|
use hg\apidoc\annotation as ApiDoc;
|
||||||
#[ApiDoc\NotParse()]
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -16,28 +16,47 @@ use hg\apidoc\annotation as ApiDoc;
|
|||||||
* Class StoreProductAttrValueController
|
* Class StoreProductAttrValueController
|
||||||
* @package app\store\controller\store_product_attr_value
|
* @package app\store\controller\store_product_attr_value
|
||||||
*/
|
*/
|
||||||
|
#[ApiDoc\title('商品属性值')]
|
||||||
class StoreProductAttrValueController extends BaseAdminController
|
class StoreProductAttrValueController extends BaseAdminController
|
||||||
{
|
{
|
||||||
|
|
||||||
|
#[
|
||||||
/**
|
ApiDoc\Title('商品属性值列表'),
|
||||||
* @notes 获取商品属性值列表
|
ApiDoc\url('/store/store_product_attr_value/storeProductAttrValue/lists'),
|
||||||
* @return \think\response\Json
|
ApiDoc\Method('GET'),
|
||||||
* @author admin
|
ApiDoc\NotHeaders(),
|
||||||
* @date 2024/05/31 14:10
|
ApiDoc\Header(ref: [Definitions::class, "token"]),
|
||||||
*/
|
ApiDoc\Query(ref: [Definitions::class, "page"]),
|
||||||
|
ApiDoc\Query(name: 'product_id', type: 'int', require: true, desc: '商品ID'),
|
||||||
|
ApiDoc\Query(name: 'store_id', type: 'int', require: true, desc: '门店ID'),
|
||||||
|
ApiDoc\ResponseSuccess("data", type: "array", children: [
|
||||||
|
['name' => 'count', 'desc' => '总数', 'type' => 'int'],
|
||||||
|
['name' => 'page_no', 'desc' => '页码', 'type' => 'int'],
|
||||||
|
['name' => 'page_size', 'desc' => '每页数量', 'type' => 'int'],
|
||||||
|
['name' => 'extend', 'desc' => '扩展数据', 'type' => 'array'],
|
||||||
|
['name' => 'lists', 'desc' => '列表数据', 'type' => 'array', 'children' => [
|
||||||
|
['name' => 'id', 'desc' => 'ID', 'type' => 'int'],
|
||||||
|
['name' => 'product_id', 'desc' => '商品ID', 'type' => 'int'],
|
||||||
|
['name' => 'stock', 'desc' => '库存', 'type' => 'int'],
|
||||||
|
['name' => 'unique', 'desc' => '唯一值', 'type' => 'string'],
|
||||||
|
['name' => 'sales', 'desc' => '销量', 'type' => 'int'],
|
||||||
|
['name' => 'bar_code', 'desc' => '条码', 'type' => 'string'],
|
||||||
|
['name' => 'image', 'desc' => '规格图片', 'type' => 'string'],
|
||||||
|
]],
|
||||||
|
]),
|
||||||
|
]
|
||||||
public function lists()
|
public function lists()
|
||||||
{
|
{
|
||||||
return $this->dataLists(new StoreProductAttrValueLists());
|
return $this->dataLists(new StoreProductAttrValueLists());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[
|
||||||
/**
|
ApiDoc\Title('添加商品属性值'),
|
||||||
* @notes 添加商品属性值
|
ApiDoc\url('/store/store_product_attr_value/storeProductAttrValue/add'),
|
||||||
* @return \think\response\Json
|
ApiDoc\Method('POST'),
|
||||||
* @author admin
|
ApiDoc\NotHeaders(),
|
||||||
* @date 2024/05/31 14:10
|
ApiDoc\Header(ref: [Definitions::class, "token"]),
|
||||||
*/
|
]
|
||||||
public function add()
|
public function add()
|
||||||
{
|
{
|
||||||
$params = (new StoreProductAttrValueValidate())->post()->goCheck('add');
|
$params = (new StoreProductAttrValueValidate())->post()->goCheck('add');
|
||||||
@ -48,13 +67,13 @@ class StoreProductAttrValueController extends BaseAdminController
|
|||||||
return $this->fail(StoreProductAttrValueLogic::getError());
|
return $this->fail(StoreProductAttrValueLogic::getError());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[
|
||||||
/**
|
ApiDoc\Title('编辑商品属性值'),
|
||||||
* @notes 编辑商品属性值
|
ApiDoc\url('/store/store_product_attr_value/storeProductAttrValue/edit'),
|
||||||
* @return \think\response\Json
|
ApiDoc\Method('POST'),
|
||||||
* @author admin
|
ApiDoc\NotHeaders(),
|
||||||
* @date 2024/05/31 14:10
|
ApiDoc\Header(ref: [Definitions::class, "token"]),
|
||||||
*/
|
]
|
||||||
public function edit()
|
public function edit()
|
||||||
{
|
{
|
||||||
$params = (new StoreProductAttrValueValidate())->post()->goCheck('edit');
|
$params = (new StoreProductAttrValueValidate())->post()->goCheck('edit');
|
||||||
@ -65,13 +84,13 @@ class StoreProductAttrValueController extends BaseAdminController
|
|||||||
return $this->fail(StoreProductAttrValueLogic::getError());
|
return $this->fail(StoreProductAttrValueLogic::getError());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[
|
||||||
/**
|
ApiDoc\Title('删除商品属性值'),
|
||||||
* @notes 删除商品属性值
|
ApiDoc\url('/store/store_product_attr_value/storeProductAttrValue/delete'),
|
||||||
* @return \think\response\Json
|
ApiDoc\Method('POST'),
|
||||||
* @author admin
|
ApiDoc\NotHeaders(),
|
||||||
* @date 2024/05/31 14:10
|
ApiDoc\Header(ref: [Definitions::class, "token"]),
|
||||||
*/
|
]
|
||||||
public function delete()
|
public function delete()
|
||||||
{
|
{
|
||||||
$params = (new StoreProductAttrValueValidate())->post()->goCheck('delete');
|
$params = (new StoreProductAttrValueValidate())->post()->goCheck('delete');
|
||||||
@ -79,13 +98,14 @@ class StoreProductAttrValueController extends BaseAdminController
|
|||||||
return $this->success('删除成功', [], 1, 1);
|
return $this->success('删除成功', [], 1, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[
|
||||||
/**
|
ApiDoc\Title('获取商品属性值详情'),
|
||||||
* @notes 获取商品属性值详情
|
ApiDoc\url('/store/store_product_attr_value/storeProductAttrValue/detail'),
|
||||||
* @return \think\response\Json
|
ApiDoc\Method('GET'),
|
||||||
* @author admin
|
ApiDoc\Author('中国队长'),
|
||||||
* @date 2024/05/31 14:10
|
ApiDoc\NotHeaders(),
|
||||||
*/
|
ApiDoc\Header(ref: [Definitions::class, "token"]),
|
||||||
|
]
|
||||||
public function detail()
|
public function detail()
|
||||||
{
|
{
|
||||||
$params = (new StoreProductAttrValueValidate())->goCheck('detail');
|
$params = (new StoreProductAttrValueValidate())->goCheck('detail');
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
namespace app\store\lists\store_product_attr_value;
|
namespace app\store\lists\store_product_attr_value;
|
||||||
|
|
||||||
|
|
||||||
|
use app\common\model\store_branch_product_attr_value\StoreBranchProductAttrValue;
|
||||||
use app\store\lists\BaseAdminDataLists;
|
use app\store\lists\BaseAdminDataLists;
|
||||||
use app\common\model\store_product_attr_value\StoreProductAttrValue;
|
|
||||||
use app\common\lists\ListsSearchInterface;
|
use app\common\lists\ListsSearchInterface;
|
||||||
|
|
||||||
|
|
||||||
@ -26,7 +26,7 @@ class StoreProductAttrValueLists extends BaseAdminDataLists implements ListsSear
|
|||||||
public function setSearch(): array
|
public function setSearch(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'=' => ['product_id'],
|
'=' => ['product_id', 'store_id'],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -42,8 +42,8 @@ class StoreProductAttrValueLists extends BaseAdminDataLists implements ListsSear
|
|||||||
*/
|
*/
|
||||||
public function lists(): array
|
public function lists(): array
|
||||||
{
|
{
|
||||||
return StoreProductAttrValue::where($this->searchWhere)
|
return StoreBranchProductAttrValue::with('attr')->where($this->searchWhere)
|
||||||
->field(['id', 'product_id'])
|
->field(['id', 'product_id', 'stock', 'unique', 'sales', 'bar_code'])
|
||||||
->limit($this->limitOffset, $this->limitLength)
|
->limit($this->limitOffset, $this->limitLength)
|
||||||
->order(['id' => 'desc'])
|
->order(['id' => 'desc'])
|
||||||
->select()
|
->select()
|
||||||
@ -59,7 +59,7 @@ class StoreProductAttrValueLists extends BaseAdminDataLists implements ListsSear
|
|||||||
*/
|
*/
|
||||||
public function count(): int
|
public function count(): int
|
||||||
{
|
{
|
||||||
return StoreProductAttrValue::where($this->searchWhere)->count();
|
return StoreBranchProductAttrValue::with('attr')->where($this->searchWhere)->count();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user