切换导航条
此项目
正在载入...
登录
李忠强
/
temporaryfood
·
提交
转到一个项目
GitLab
转到仪表盘
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
SHW\戥岁。。
3 years ago
提交
1c9421bc4915e561b4139ddc1bc4b3abcac6dee0
1 个父辈
d70a7526
数据处理
隐藏空白字符变更
内嵌
并排对比
正在显示
2 个修改的文件
包含
393 行增加
和
0 行删除
application/api/controller/Classification.php
application/api/model/Goods.php
application/api/controller/Classification.php
查看文件 @
1c9421b
...
...
@@ -232,5 +232,397 @@ class Classification extends Api
$goods_spec
=
GoodsSpec
::
all
([
'goods_id'
=>
$goods_id
]);
$this
->
success
(
'商品规格'
,
[
'list'
=>
$goods_spec
,
'sku'
=>
$array
]);
}
/**
* @ApiTitle (分类商品——二开)
* @ApiParams (name=sort_id, type=integer, required=false, description="分类id")
* @ApiParams (name=page, type=integer, required=false, description="页数")
* @ApiMethod (POST)
* @ApiReturn ({
"code": 1,
"msg": "分类商品列表",
"time": "1650252313",
"data": {
"list": {
"total": 2,
"per_page": 10,
"current_page": 1,
"last_page": 1,
"data": [
{
"goods_id": 41, //商品id
"goods_name": "黑人超白竹炭牙膏", //商品名称
"image": "/uploads/20220401/ff35da0c6cd2789f1f671d8ce1600b5d.png", //商品图
"cart_number": 0, //购物车数量
"price": "9.00", //折扣价格
"line_price": "10.00", //划线价
"is_discount": "is", //是否打折 is=打折(显示折扣) no= 未打折(不显示折扣)
"discount": "", //折扣
"goods_sku_list": [ //商品sku
{
"goods_spec_id": 273, //sku id
"goods_id": 41, //商品id
"goods_no": "4891338025416", //商品编号
"goods_price": "9.00", //折扣价
"line_price": "10.00", //划线价
"stock_num": 100, //库存
"goods_sales": 0,
"goods_weight": 0.09, //重量
"spec_sku_id": "",
"spec_image": "",
"create_time": 1648795163,
"update_time": 1648795163,
"discount": "" //折扣
}
],
"goods_sku": [], //sku值
"image_text": "http://temporaryfood.qiniu.broing.cn/uploads/20220401/ff35da0c6cd2789f1f671d8ce1600b5d.png",
"images_text": [],
"down_image_text": "",
"four_image_text": [],
"detail_image_text": [],
"stock_num": 100
},
{
"goods_id": 46,
"goods_name": "宇宙无敌",
"image": "/uploads/20220415/88ede89dc926c7556d4caeec2def0cb5.jpg",
"cart_number": 0,
"price": "150.00",
"line_price": "150.00",
"is_discount": "no",
"discount": "3.3折",
"goods_sku_list": [
{
"goods_spec_id": 309,
"goods_id": 46,
"goods_no": "wzry20220415",
"goods_price": "150.00",
"line_price": "150.00",
"stock_num": 2000,
"goods_sales": 0,
"goods_weight": 0,
"spec_sku_id": "2",
"spec_image": "http://temporaryfood.qiniu.broing.cn/uploads/20220415/12ccfc9ce3ab739b7468210e1cb03b34.jpg",
"create_time": 1650010750,
"update_time": 1650010750,
"discount": "3.3折"
},
{
"goods_spec_id": 310,
"goods_id": 46,
"goods_no": "wzry20220415",
"goods_price": "50.00",
"line_price": "150.00",
"stock_num": 2000,
"goods_sales": 0,
"goods_weight": 0,
"spec_sku_id": "3",
"spec_image": "http://temporaryfood.qiniu.broing.cn/uploads/20220415/4c51cd16c74d566e501b3dc32f4af563.jpg",
"create_time": 1650010750,
"update_time": 1650010750,
"discount": "3.3折"
},
{
"goods_spec_id": 311,
"goods_id": 46,
"goods_no": "wzry20220415",
"goods_price": "50.00",
"line_price": "150.00",
"stock_num": 2000,
"goods_sales": 0,
"goods_weight": 0,
"spec_sku_id": "4",
"spec_image": "http://temporaryfood.qiniu.broing.cn/uploads/20220415/88ede89dc926c7556d4caeec2def0cb5.jpg",
"create_time": 1650010750,
"update_time": 1650010750,
"discount": "3.3折"
},
{
"goods_spec_id": 312,
"goods_id": 46,
"goods_no": "wzry20220415",
"goods_price": "50.00",
"line_price": "150.00",
"stock_num": 2000,
"goods_sales": 0,
"goods_weight": 0,
"spec_sku_id": "5",
"spec_image": "http://temporaryfood.qiniu.broing.cn/uploads/20220415/6e3683dac095dd567fc527de8a2a7ba6.jpg",
"create_time": 1650010750,
"update_time": 1650010750,
"discount": "3.3折"
}
],
"goods_sku": [
{
"name": "分路",
"second": [
{
"id": 2,
"name": "上路"
},
{
"id": 3,
"name": "中路"
},
{
"id": 4,
"name": "下路"
},
{
"id": 5,
"name": "打野"
}
]
}
],
"image_text": "http://temporaryfood.qiniu.broing.cn/uploads/20220415/88ede89dc926c7556d4caeec2def0cb5.jpg",
"images_text": [],
"down_image_text": "",
"four_image_text": [],
"detail_image_text": [],
"stock_num": 8000
}
]
},
"image": "http://temporaryfood.qiniu.broing.cn/uploads/20220114/95d210316c68dcc4d4c13f5b605ca463.jpg"
}
})
*/
public
function
goods_list
()
{
$sort_id
=
$this
->
request
->
param
(
'sort_id'
,
0
);
$page
=
$this
->
request
->
post
(
'page'
,
1
);
$model
=
new
Goods
();
if
(
$sort_id
>
0
)
{
$list
=
$model
->
where
(
'is_delete'
,
'0'
)
->
where
(
'category_id'
,
$sort_id
)
->
where
(
'goods_status'
,
'10'
)
->
field
(
'goods_id,goods_name,image'
)
->
paginate
(
10
,
false
,
[
'page'
=>
$page
])
->
each
(
function
(
&
$item
)
{
if
(
$this
->
auth
->
isLogin
())
{
$item
[
'cart_number'
]
=
Db
::
name
(
'cart'
)
->
where
(
'user_id'
,
$this
->
auth
->
id
)
->
where
(
'goods_id'
,
$item
[
'goods_id'
])
->
sum
(
'number'
);
}
else
{
$item
[
'cart_number'
]
=
0
;
}
$goods_spec
=
Db
::
name
(
'litestore_goods_spec'
)
->
where
(
'goods_id'
,
$item
[
'goods_id'
])
->
find
();
$item
[
'price'
]
=
$goods_spec
[
'goods_price'
];
$item
[
'line_price'
]
=
$goods_spec
[
'line_price'
];
//判断是否打折
$item
[
'is_discount'
]
=
'is'
;
if
(
$goods_spec
[
'goods_price'
]
==
$goods_spec
[
'line_price'
])
{
$item
[
'is_discount'
]
=
'no'
;
}
$item
[
'discount'
]
=
$goods_spec
[
'discount'
];
// 总库存
$item
->
append
([
'stock_num'
]);
//商品sku
$goodsspecrelmodel
=
new
GoodsSpecRel
();
$list
=
$goodsspecrelmodel
->
where
(
'goods_id'
,
$item
[
'goods_id'
])
->
select
();
$array
=
[];
$goods
=
\app\api\model\Goods
::
get
(
$item
[
'goods_id'
]);
if
(
$goods
[
'spec_type'
]
==
20
)
{
foreach
(
$list
as
$key
=>
$value
)
{
if
(
!
isset
(
$array
[
$value
[
'spec_id'
]]))
{
$array
[
$value
[
'spec_id'
]][
'name'
]
=
Db
::
name
(
'litestore_spec'
)
->
where
(
'id'
,
$value
[
'spec_id'
])
->
value
(
'spec_name'
);
}
$spec_value
=
Db
::
name
(
'litestore_spec_value'
)
->
where
(
'id'
,
$value
[
'spec_value_id'
])
->
value
(
'spec_value'
);
$array
[
$value
[
'spec_id'
]][
'second'
][]
=
[
'id'
=>
$value
[
'spec_value_id'
],
'name'
=>
$spec_value
,
];
}
$array
=
array_values
(
$array
);
}
$goods_spec
=
GoodsSpec
::
all
([
'goods_id'
=>
$item
[
'goods_id'
]]);
foreach
(
$goods_spec
as
&
$spec_value
)
{
//判断是否打折
$spec_value
[
'is_discount'
]
=
'is'
;
if
(
$spec_value
[
'goods_price'
]
==
$spec_value
[
'line_price'
])
{
$spec_value
[
'is_discount'
]
=
'no'
;
}
}
$item
[
'goods_sku_list'
]
=
$goods_spec
;
$item
[
'goods_sku'
]
=
$array
;
});
}
else
{
$list
=
$model
->
where
(
'is_delete'
,
'0'
)
->
where
(
'goods_status'
,
'10'
)
->
field
(
'goods_id,goods_name,image'
)
->
paginate
(
10
,
false
,
[
'page'
=>
$page
])
->
each
(
function
(
&
$item
)
{
if
(
$this
->
auth
->
isLogin
())
{
$item
[
'cart_number'
]
=
Db
::
name
(
'cart'
)
->
where
(
'user_id'
,
$this
->
auth
->
id
)
->
where
(
'goods_id'
,
$item
[
'goods_id'
])
->
sum
(
'number'
);
}
else
{
$item
[
'cart_number'
]
=
0
;
}
$goods_spec
=
Db
::
name
(
'litestore_goods_spec'
)
->
where
(
'goods_id'
,
$item
[
'goods_id'
])
->
find
();
$item
[
'price'
]
=
$goods_spec
[
'goods_price'
];
$item
[
'line_price'
]
=
$goods_spec
[
'line_price'
];
//判断是否打折
$item
[
'is_discount'
]
=
'is'
;
if
(
$goods_spec
[
'goods_price'
]
==
$goods_spec
[
'line_price'
])
{
$item
[
'is_discount'
]
=
'no'
;
}
$item
[
'discount'
]
=
$goods_spec
[
'discount'
];
// 总库存
$item
->
append
([
'stock_num'
]);
//商品sku
$goodsspecrelmodel
=
new
GoodsSpecRel
();
$list
=
$goodsspecrelmodel
->
where
(
'goods_id'
,
$item
[
'goods_id'
])
->
select
();
$array
=
[];
$goods
=
\app\api\model\Goods
::
get
(
$item
[
'goods_id'
]);
if
(
$goods
[
'spec_type'
]
==
20
)
{
foreach
(
$list
as
$key
=>
$value
)
{
if
(
!
isset
(
$array
[
$value
[
'spec_id'
]]))
{
$array
[
$value
[
'spec_id'
]][
'name'
]
=
Db
::
name
(
'litestore_spec'
)
->
where
(
'id'
,
$value
[
'spec_id'
])
->
value
(
'spec_name'
);
}
$spec_value
=
Db
::
name
(
'litestore_spec_value'
)
->
where
(
'id'
,
$value
[
'spec_value_id'
])
->
value
(
'spec_value'
);
$array
[
$value
[
'spec_id'
]][
'second'
][]
=
[
'id'
=>
$value
[
'spec_value_id'
],
'name'
=>
$spec_value
,
];
}
$array
=
array_values
(
$array
);
}
$goods_spec
=
GoodsSpec
::
all
([
'goods_id'
=>
$item
[
'goods_id'
]]);
foreach
(
$goods_spec
as
&
$spec_value
)
{
//判断是否打折
$spec_value
[
'is_discount'
]
=
'is'
;
if
(
$spec_value
[
'goods_price'
]
==
$spec_value
[
'line_price'
])
{
$spec_value
[
'is_discount'
]
=
'no'
;
}
}
$item
[
'goods_sku_list'
]
=
$goods_spec
;
$item
[
'goods_sku'
]
=
$array
;
});
}
$this
->
success
(
'分类商品列表'
,
[
'list'
=>
$list
,
'image'
=>
cdnurl
(
Config
::
get
(
'site.advert'
),
true
)]);
}
/**
* @ApiTitle (商品分类——二开)
* @ApiMethod (POST)
* @ApiReturn ({
"code": 1,
"msg": "ok",
"time": "1650251148",
"data": [
{
"id": 22, //分类id
"name": "RIO 3度白桃白兰地味鸡尾酒", //分类名称
"category_cart_number": 0, //该分类下的用户加入购物车的数量,未登录时为0
"image_text": ""
},
{
"id": 21,
"name": "冷制品",
"category_cart_number": 0,
"image_text": ""
},
{
"id": 20,
"name": "饮料",
"category_cart_number": 0,
"image_text": ""
},
{
"id": 13,
"name": "悠闲零食",
"category_cart_number": 0,
"image_text": ""
},
{
"id": 14,
"name": "酒水",
"category_cart_number": 0,
"image_text": ""
},
{
"id": 15,
"name": "乳品烘培",
"category_cart_number": 0,
"image_text": ""
},
{
"id": 16,
"name": "粮油调味",
"category_cart_number": 0,
"image_text": ""
},
{
"id": 17,
"name": "生活百货",
"category_cart_number": 0,
"image_text": ""
},
{
"id": 19,
"name": "日化类",
"category_cart_number": 0,
"image_text": ""
}
]
})
*/
public
function
category_list
()
{
$model
=
new
Category
();
$list
=
$model
->
field
(
'id,name'
)
->
order
(
'weigh desc'
)
->
select
();
$cart_sum
=
0
;
foreach
(
$list
as
$key
=>
&
$value
)
{
$model
=
new
Goods
();
if
(
$this
->
auth
->
isLogin
())
{
$goods_list
=
$model
->
where
(
'is_delete'
,
'0'
)
->
where
(
'category_id'
,
$value
[
'id'
])
->
where
(
'goods_status'
,
'10'
)
->
field
(
'goods_id'
)
->
select
()
->
toArray
();
foreach
(
$goods_list
as
&
$item
)
{
$sum
=
Db
::
name
(
'cart'
)
->
where
(
'user_id'
,
$this
->
auth
->
id
)
->
where
(
'goods_id'
,
$item
[
'goods_id'
])
->
sum
(
'number'
);
$cart_sum
+=
$sum
;
}
$value
[
'category_cart_number'
]
=
$cart_sum
;
}
else
{
$value
[
'category_cart_number'
]
=
0
;
}
}
$this
->
success
(
'ok'
,
$list
);
}
}
...
...
application/api/model/Goods.php
查看文件 @
1c9421b
...
...
@@ -11,6 +11,7 @@ class Goods extends Model
{
// 自动写入时间戳字段
protected
$autoWriteTimestamp
=
'int'
;
protected
$resultSetType
=
'collection'
;
protected
$name
=
'litestore_goods'
;
protected
$createTime
=
'createtime'
;
protected
$updateTime
=
'updatetime'
;
...
...
请
注册
或
登录
后发表评论