diff --git a/README.md b/README.md
index e316fd7..70dad21 100644
--- a/README.md
+++ b/README.md
@@ -24,4 +24,22 @@
使用 Idea 打开项目后,打开项目工程配置,标注 Spring 和 Struts2 的配置文件,然后配置 Tomcat 便可运行(记得配置 Deployment )
-### TODO 图片演示
+## TODO
+
+ 1. 接入商品数据(八个商品一个商家,一页总共 48)
+ 1. 手机壳 16个
+ 2. 零食
+ 3. 电脑
+
+ 2. 爬取京东数据
+
+ 3. 前端接口对接
+ 1. 商家注册
+ 2. 商家登陆
+
+ 4. 修复首页推广, 秒杀接口更新删除 BUG
+
+ 5. 修复上传接口 BUG
+
+ 6. 修改秒杀接口返回的数据,封装好 Goods 返回,包含秒杀价格的 GoodsAttr (添加 Goods 接口:根据 GoodsAttrId 来查找商品)
+
diff --git a/db/cats.json b/db/cats.json
new file mode 100644
index 0000000..8bb0886
--- /dev/null
+++ b/db/cats.json
@@ -0,0 +1,342 @@
+{
+ "data": [
+ {
+ "catName": "食品",
+ "childrenCats": [
+ "进口食品",
+ "营养保健",
+ "粮油干货",
+ "冲饮乳品",
+ "酒类",
+ "茶叶",
+ "生鲜水果"
+ ]
+ },
+ {
+ "catName": "美妆护肤",
+ "childrenCats": [
+ "美容护肤",
+ "彩妆/香水/美妆工具",
+ "美发/护发/假发",
+ "沐浴/个人清洁",
+ "美体/精油",
+ "男士护肤",
+ "口腔护理"
+ ]
+ },
+ {
+ "catName": "服饰",
+ "childrenCats": [
+ "服饰配件/皮带/帽子/围巾",
+ "女装",
+ "男装",
+ "女士内衣/男士内衣/家居服",
+ "运动户外"
+ ]
+ },
+ {
+ "catName": "鞋类箱包",
+ "childrenCats": [
+ "男鞋",
+ "女鞋",
+ "潮流女包",
+ "精品男包",
+ "功能箱包"
+ ]
+ },
+ {
+ "catName": "母婴",
+ "childrenCats": [
+ "奶粉",
+ "辅食/营养品",
+ "纸尿裤/湿巾",
+ "哺育喂养",
+ "清洁洗护",
+ "玩具/早教/益智/积木/模型",
+ "车床/出行/安全/家纺",
+ "童装童鞋",
+ "孕妈专区"
+ ]
+ },
+ {
+ "catName": "居家日用",
+ "childrenCats": [
+ "居家日用",
+ "餐具水具",
+ "厨具锅具",
+ "床上用品",
+ "家纺布艺",
+ "宠物园艺",
+ "收纳洗晒",
+ "家装建材",
+ "家具",
+ "家饰",
+ "成人用品",
+ "卫生用品",
+ "汽车用品"
+ ]
+ },
+ {
+ "catName": "珠宝配饰",
+ "childrenCats": [
+ "珠宝/钻石/翡翠/黄金",
+ "腕表",
+ "时尚饰品",
+ "眼镜",
+ "打火机/瑞士军刀"
+ ]
+ },
+ {
+ "catName": "3C数码",
+ "childrenCats": [
+ "手机",
+ "手机配件",
+ "电脑整机",
+ "智能数码",
+ "摄影摄像",
+ "影音娱乐",
+ "硬件存储",
+ "数码配件",
+ "办公设备",
+ "文具耗材"
+ ]
+ },
+ {
+ "catName": "家用电器",
+ "childrenCats": [
+ "电视空调",
+ "冰箱",
+ "洗衣机",
+ "厨房小电",
+ "生活电器",
+ "个护健康",
+ "厨卫大电"
+ ]
+ },
+ {
+ "catName": "图书音像",
+ "childrenCats": [
+ "儿童读物",
+ "畅销小说",
+ "文学文艺",
+ "电子书",
+ "社科/经管",
+ "育儿百科",
+ "教育",
+ "音像",
+ "大牌乐器"
+ ]
+ },
+ {
+ "catName": "医疗保健",
+ "childrenCats": [
+ "中西医药品",
+ "保健品",
+ "滋补品",
+ "医疗器械",
+ "隐形眼镜",
+ "健康服务",
+ "体检",
+ "整容整形",
+ "按摩用品"
+ ]
+ },
+ {
+ "catName": "古董收藏",
+ "childrenCats": [
+ "玉器",
+ "古董",
+ "收藏",
+ "字画"
+ ]
+ },
+ {
+ "catName": "休闲娱乐",
+ "childrenCats": [
+ "酒吧夜店",
+ "KTV",
+ "桑拿足浴",
+ "洗浴汗蒸",
+ "按摩",
+ "电影院",
+ "会馆会所",
+ "文艺演出",
+ "私人影院",
+ "户外拓展",
+ "室内游戏",
+ "网吧网咖",
+ "模玩/动漫/周边/cos",
+ "休闲娱乐-其他"
+ ]
+ },
+ {
+ "catName": "餐饮美食",
+ "childrenCats": [
+ "火锅",
+ "自助餐",
+ "日韩料理",
+ "小吃快餐",
+ "西餐",
+ "中式料理",
+ "烧烤",
+ "咖啡酒吧茶馆",
+ "甜点饮品",
+ "餐饮美食-其他"
+ ]
+ },
+ {
+ "catName": "丽人",
+ "childrenCats": [
+ "美发",
+ "美容/SPA",
+ "美甲美睫",
+ "瘦身纤体",
+ "瑜伽舞蹈",
+ "纹绣",
+ "产后塑性",
+ "整形",
+ "丽人-其他"
+ ]
+ },
+ {
+ "catName": "旅游酒店",
+ "childrenCats": [
+ "酒店",
+ "度假村/农家乐/客栈",
+ "旅馆旅社",
+ "票务服务",
+ "签证服务",
+ "周边游",
+ "其他游玩"
+ ]
+ },
+ {
+ "catName": "汽车/交通",
+ "childrenCats": [
+ "新车/二手车(品牌商)",
+ "汽车(经销商)",
+ "汽车租赁",
+ "汽车美容/保养/用品",
+ "汽车改装",
+ "汽车陪练",
+ "各类配件",
+ "停车场",
+ "航空公司",
+ "汽车/交通-其他"
+ ]
+ },
+ {
+ "catName": "商务办公",
+ "childrenCats": [
+ "法律咨询",
+ "财务会计评估",
+ "广告策划公关",
+ "人力资源",
+ "网站建站",
+ "翻译速记",
+ "咨询顾问",
+ "办公耗材",
+ "办公设备",
+ "印刷喷绘",
+ "招商加盟",
+ "商务办公-其他"
+ ]
+ },
+ {
+ "catName": "便民生活",
+ "childrenCats": [
+ "家政服务",
+ "婚庆婚纱摄影",
+ "搬家搬运",
+ "维修疏通",
+ "鲜花速递",
+ "交友征婚",
+ "摄影摄像",
+ "物流快递",
+ "洗衣店",
+ "便民生活-其他"
+ ]
+ },
+ {
+ "catName": "文化体育",
+ "childrenCats": [
+ "比赛/文化活动/展览",
+ "体育户外活动",
+ "文化出版",
+ "体育场馆",
+ "图书馆",
+ "文化体育-其他"
+ ]
+ },
+ {
+ "catName": "学习培训",
+ "childrenCats": [
+ "职业培训",
+ "考试升学",
+ "留学出国",
+ "婴幼儿教育",
+ "外语培训",
+ "远程教育",
+ "家教",
+ "IT培训",
+ "MBA管理培训",
+ "教育出国-其他"
+ ]
+ },
+ {
+ "catName": "房地产",
+ "childrenCats": [
+ "商务租赁",
+ "房产中介",
+ "装潢设计",
+ "楼盘销售",
+ "建材施工",
+ "房地产-其他"
+ ]
+ },
+ {
+ "catName": "金融理财",
+ "childrenCats": [
+ "基金证券",
+ "银行服务",
+ "保险产品",
+ "金融投资",
+ "理财产品",
+ "金融理财-其他"
+ ]
+ },
+ {
+ "catName": "网络游戏",
+ "childrenCats": [
+ "网络游戏点卡",
+ "网游装备/游戏币/帐号/代练",
+ "网络游戏-其他"
+ ]
+ },
+ {
+ "catName": "话费通信",
+ "childrenCats": [
+ "移动/联通/电信充值",
+ "手机号码/套餐/增值业务",
+ "话费通信-其他"
+ ]
+ },
+ {
+ "catName": "工农用品",
+ "childrenCats": [
+ "工业用品",
+ "新能源",
+ "化工用品",
+ "农具",
+ "大型器械",
+ "其他"
+ ]
+ },
+ {
+ "catName": "其他",
+ "childrenCats": [
+ "其他"
+ ]
+ }
+ ]
+}
diff --git a/db/goods.json b/db/goods.json
new file mode 100644
index 0000000..d1c32af
--- /dev/null
+++ b/db/goods.json
@@ -0,0 +1,2644 @@
+{
+ "data": [
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 2,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 3,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 1,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 4,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "亿色(ESR) 苹果7/8 Plus手机壳iPhone7 plus/8Plus手机壳透明防摔",
+ "id": 5,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:09:02",
+ "id": 2,
+ "merchantDesc": "ESR 忆色",
+ "merchantName": "ESR官方旗舰店",
+ "merchantPlace": "北京",
+ "updatedAt": "2018-06-26T10:09:02"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 7,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 5,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 8,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 6,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "亿色(ESR) 苹果x手机壳iPhonex手机壳强保护防摔款女 苹果x手机套透明硅胶硬壳简约男款 原护-剔透",
+ "id": 6,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:09:02",
+ "id": 2,
+ "merchantDesc": "ESR 忆色",
+ "merchantName": "ESR官方旗舰店",
+ "merchantPlace": "北京",
+ "updatedAt": "2018-06-26T10:09:02"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 10,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 9,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 12,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 11,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "亿色(ESR)苹果iPhone 6s Plus/6 Plus手机壳/保护套 硅胶透明防摔软壳 初色原护系列 剔透白",
+ "id": 7,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:09:02",
+ "id": 2,
+ "merchantDesc": "ESR 忆色",
+ "merchantName": "ESR官方旗舰店",
+ "merchantPlace": "北京",
+ "updatedAt": "2018-06-26T10:09:02"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 13,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 14,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 15,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 16,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 苹果x手机壳iPhonex手机壳防摔 苹果X手机保护套【微磨砂】全包简约硬壳男女款 锋尚系列-魔力黑",
+ "id": 8,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:09:02",
+ "id": 2,
+ "merchantDesc": "ESR 忆色",
+ "merchantName": "ESR官方旗舰店",
+ "merchantPlace": "北京",
+ "updatedAt": "2018-06-26T10:09:02"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 18,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 19,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 20,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 17,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 9,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:09:02",
+ "id": 2,
+ "merchantDesc": "ESR 忆色",
+ "merchantName": "ESR官方旗舰店",
+ "merchantPlace": "北京",
+ "updatedAt": "2018-06-26T10:09:02"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 24,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 22,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 23,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 21,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 10,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:09:02",
+ "id": 2,
+ "merchantDesc": "ESR 忆色",
+ "merchantName": "ESR官方旗舰店",
+ "merchantPlace": "北京",
+ "updatedAt": "2018-06-26T10:09:02"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 28,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 25,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 27,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 26,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 11,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:09:02",
+ "id": 2,
+ "merchantDesc": "ESR 忆色",
+ "merchantName": "ESR官方旗舰店",
+ "merchantPlace": "北京",
+ "updatedAt": "2018-06-26T10:09:02"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 29,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 31,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 30,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 32,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 12,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:09:02",
+ "id": 2,
+ "merchantDesc": "ESR 忆色",
+ "merchantName": "ESR官方旗舰店",
+ "merchantPlace": "北京",
+ "updatedAt": "2018-06-26T10:09:02"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 36,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 33,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 34,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 35,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 13,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:10:00",
+ "id": 3,
+ "merchantDesc": "神马 3C",
+ "merchantName": "神马3C数码专营店",
+ "merchantPlace": "深圳",
+ "updatedAt": "2018-06-26T10:10:00"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 37,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 38,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 39,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 40,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 14,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:10:00",
+ "id": 3,
+ "merchantDesc": "神马 3C",
+ "merchantName": "神马3C数码专营店",
+ "merchantPlace": "深圳",
+ "updatedAt": "2018-06-26T10:10:00"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 42,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 44,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 43,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 41,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 15,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:10:00",
+ "id": 3,
+ "merchantDesc": "神马 3C",
+ "merchantName": "神马3C数码专营店",
+ "merchantPlace": "深圳",
+ "updatedAt": "2018-06-26T10:10:00"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 46,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 45,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 47,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 48,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 16,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:10:00",
+ "id": 3,
+ "merchantDesc": "神马 3C",
+ "merchantName": "神马3C数码专营店",
+ "merchantPlace": "深圳",
+ "updatedAt": "2018-06-26T10:10:00"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 49,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 52,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 50,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 51,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 17,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:10:00",
+ "id": 3,
+ "merchantDesc": "神马 3C",
+ "merchantName": "神马3C数码专营店",
+ "merchantPlace": "深圳",
+ "updatedAt": "2018-06-26T10:10:00"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 53,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 56,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 55,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 54,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 18,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:10:00",
+ "id": 3,
+ "merchantDesc": "神马 3C",
+ "merchantName": "神马3C数码专营店",
+ "merchantPlace": "深圳",
+ "updatedAt": "2018-06-26T10:10:00"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 57,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 59,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 58,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 60,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 19,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:10:00",
+ "id": 3,
+ "merchantDesc": "神马 3C",
+ "merchantName": "神马3C数码专营店",
+ "merchantPlace": "深圳",
+ "updatedAt": "2018-06-26T10:10:00"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 64,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 62,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 61,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 63,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 20,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:10:00",
+ "id": 3,
+ "merchantDesc": "神马 3C",
+ "merchantName": "神马3C数码专营店",
+ "merchantPlace": "深圳",
+ "updatedAt": "2018-06-26T10:10:00"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 67,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 65,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 66,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 68,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 21,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:11:07",
+ "id": 4,
+ "merchantDesc": "乐事官方旗舰店",
+ "merchantName": "乐事京东自营旗舰店",
+ "merchantPlace": "深圳",
+ "updatedAt": "2018-06-26T10:11:07"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 69,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 70,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 71,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 72,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 22,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:11:07",
+ "id": 4,
+ "merchantDesc": "乐事官方旗舰店",
+ "merchantName": "乐事京东自营旗舰店",
+ "merchantPlace": "深圳",
+ "updatedAt": "2018-06-26T10:11:07"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 75,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 74,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 73,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 76,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 23,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:11:07",
+ "id": 4,
+ "merchantDesc": "乐事官方旗舰店",
+ "merchantName": "乐事京东自营旗舰店",
+ "merchantPlace": "深圳",
+ "updatedAt": "2018-06-26T10:11:07"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 79,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 77,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 78,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 80,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 24,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:11:07",
+ "id": 4,
+ "merchantDesc": "乐事官方旗舰店",
+ "merchantName": "乐事京东自营旗舰店",
+ "merchantPlace": "深圳",
+ "updatedAt": "2018-06-26T10:11:07"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 81,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 82,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 84,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 83,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 25,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:11:07",
+ "id": 4,
+ "merchantDesc": "乐事官方旗舰店",
+ "merchantName": "乐事京东自营旗舰店",
+ "merchantPlace": "深圳",
+ "updatedAt": "2018-06-26T10:11:07"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 86,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 87,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 88,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 85,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 26,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:11:07",
+ "id": 4,
+ "merchantDesc": "乐事官方旗舰店",
+ "merchantName": "乐事京东自营旗舰店",
+ "merchantPlace": "深圳",
+ "updatedAt": "2018-06-26T10:11:07"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 89,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 91,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 92,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 90,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 27,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:11:07",
+ "id": 4,
+ "merchantDesc": "乐事官方旗舰店",
+ "merchantName": "乐事京东自营旗舰店",
+ "merchantPlace": "深圳",
+ "updatedAt": "2018-06-26T10:11:07"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 94,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 93,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 96,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 95,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 28,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:11:07",
+ "id": 4,
+ "merchantDesc": "乐事官方旗舰店",
+ "merchantName": "乐事京东自营旗舰店",
+ "merchantPlace": "深圳",
+ "updatedAt": "2018-06-26T10:11:07"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 98,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 99,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 97,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 100,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 29,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:11:33",
+ "id": 5,
+ "merchantDesc": "三只松鼠京正品坚果",
+ "merchantName": "三只松鼠京东自营旗舰店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:11:33"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 102,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 103,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 101,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 104,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 30,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:11:33",
+ "id": 5,
+ "merchantDesc": "三只松鼠京正品坚果",
+ "merchantName": "三只松鼠京东自营旗舰店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:11:33"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 107,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 106,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 108,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 105,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 31,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:11:33",
+ "id": 5,
+ "merchantDesc": "三只松鼠京正品坚果",
+ "merchantName": "三只松鼠京东自营旗舰店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:11:33"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 111,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 112,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 109,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 110,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 32,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:11:33",
+ "id": 5,
+ "merchantDesc": "三只松鼠京正品坚果",
+ "merchantName": "三只松鼠京东自营旗舰店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:11:33"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 113,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 114,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 115,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 116,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 33,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:11:33",
+ "id": 5,
+ "merchantDesc": "三只松鼠京正品坚果",
+ "merchantName": "三只松鼠京东自营旗舰店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:11:33"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 119,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 117,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 118,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 120,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 34,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:11:33",
+ "id": 5,
+ "merchantDesc": "三只松鼠京正品坚果",
+ "merchantName": "三只松鼠京东自营旗舰店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:11:33"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 123,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 121,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 122,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 124,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 35,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:11:33",
+ "id": 5,
+ "merchantDesc": "三只松鼠京正品坚果",
+ "merchantName": "三只松鼠京东自营旗舰店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:11:33"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 126,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 125,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 127,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 128,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 36,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:11:33",
+ "id": 5,
+ "merchantDesc": "三只松鼠京正品坚果",
+ "merchantName": "三只松鼠京东自营旗舰店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:11:33"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 131,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 130,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 132,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 129,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 37,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:12:07",
+ "id": 6,
+ "merchantDesc": "戴尔电脑",
+ "merchantName": "戴尔京东官方自营旗舰店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:12:07"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 136,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 134,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 135,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 133,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 38,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:12:07",
+ "id": 6,
+ "merchantDesc": "戴尔电脑",
+ "merchantName": "戴尔京东官方自营旗舰店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:12:07"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 140,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 137,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 138,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 139,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 39,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:12:07",
+ "id": 6,
+ "merchantDesc": "戴尔电脑",
+ "merchantName": "戴尔京东官方自营旗舰店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:12:07"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 144,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 141,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 142,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 143,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 40,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:12:07",
+ "id": 6,
+ "merchantDesc": "戴尔电脑",
+ "merchantName": "戴尔京东官方自营旗舰店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:12:07"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 147,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 145,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 148,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 146,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 41,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:12:07",
+ "id": 6,
+ "merchantDesc": "戴尔电脑",
+ "merchantName": "戴尔京东官方自营旗舰店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:12:07"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 151,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 152,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 150,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 149,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 42,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:12:07",
+ "id": 6,
+ "merchantDesc": "戴尔电脑",
+ "merchantName": "戴尔京东官方自营旗舰店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:12:07"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 154,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 156,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 155,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 153,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 43,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:12:07",
+ "id": 6,
+ "merchantDesc": "戴尔电脑",
+ "merchantName": "戴尔京东官方自营旗舰店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:12:07"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 159,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 158,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 157,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 160,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 44,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:12:07",
+ "id": 6,
+ "merchantDesc": "戴尔电脑",
+ "merchantName": "戴尔京东官方自营旗舰店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:12:07"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 164,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 162,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 163,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 161,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 45,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:12:35",
+ "id": 7,
+ "merchantDesc": "Apple 官方专卖",
+ "merchantName": "京东Apple产品专营店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:12:35"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 168,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 167,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 165,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 166,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 46,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:12:35",
+ "id": 7,
+ "merchantDesc": "Apple 官方专卖",
+ "merchantName": "京东Apple产品专营店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:12:35"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 169,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 171,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 170,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 172,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 47,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:12:35",
+ "id": 7,
+ "merchantDesc": "Apple 官方专卖",
+ "merchantName": "京东Apple产品专营店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:12:35"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 173,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 174,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 175,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 176,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 48,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:12:35",
+ "id": 7,
+ "merchantDesc": "Apple 官方专卖",
+ "merchantName": "京东Apple产品专营店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:12:35"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 177,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 180,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 178,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 179,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 49,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:12:35",
+ "id": 7,
+ "merchantDesc": "Apple 官方专卖",
+ "merchantName": "京东Apple产品专营店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:12:35"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 182,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 184,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 181,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 183,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 50,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:12:35",
+ "id": 7,
+ "merchantDesc": "Apple 官方专卖",
+ "merchantName": "京东Apple产品专营店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:12:35"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 188,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 185,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 187,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 186,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 51,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:12:35",
+ "id": 7,
+ "merchantDesc": "Apple 官方专卖",
+ "merchantName": "京东Apple产品专营店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:12:35"
+ },
+ "salesNum": 0
+ },
+ {
+ "goodsAttrs": [
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-樱花",
+ "goodsCode": "b064002",
+ "id": 189,
+ "onSale": null
+ },
+ {
+ "attrPrice": 31,
+ "attrTitle": "7/8 PLUS-Logo互动-云梯",
+ "goodsCode": "b064004",
+ "id": 192,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-樱花",
+ "goodsCode": "b064001",
+ "id": 190,
+ "onSale": null
+ },
+ {
+ "attrPrice": 29,
+ "attrTitle": "7/8 通用-Logo互动-云梯",
+ "goodsCode": "b064003",
+ "id": 191,
+ "onSale": null
+ }
+ ],
+ "goodsCat": {
+ "catName": "手机配件",
+ "childrenCats": null,
+ "id": 81,
+ "parentId": 8
+ },
+ "goodsComments": [],
+ "goodsDesc": "static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg",
+ "goodsDetails": [],
+ "goodsGroups": [],
+ "goodsImgs": "static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg",
+ "goodsName": "插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色",
+ "id": 52,
+ "merchant": {
+ "adminPass": "123456",
+ "createdAt": "2018-06-26T10:12:35",
+ "id": 7,
+ "merchantDesc": "Apple 官方专卖",
+ "merchantName": "京东Apple产品专营店",
+ "merchantPlace": "杭州",
+ "updatedAt": "2018-06-26T10:12:35"
+ },
+ "salesNum": 0
+ }
+ ]
+}
\ No newline at end of file
diff --git a/db/sql_clean.sql b/db/sql_clean.sql
new file mode 100644
index 0000000..baede76
--- /dev/null
+++ b/db/sql_clean.sql
@@ -0,0 +1,20 @@
+-- 生成删除表的 sql 语句
+-- SELECT CONCAT('drop table ',table_name,';') FROM information_schema.`TABLES` WHERE table_schema='ssh_mall';
+
+drop table admin_group;
+drop table admin_user;
+drop table admin_user_admin_group;
+drop table admin_users_groups;
+drop table goods;
+drop table goods_attr;
+drop table goods_cat;
+drop table goods_comment;
+drop table goods_detail;
+drop table goods_goods_attr;
+drop table goods_goods_comment;
+drop table goods_goods_detail;
+drop table goods_goods_group;
+drop table goods_group;
+drop table goods_groups;
+drop table merchant;
+drop table user;
diff --git a/db/sql_init.sql b/db/sql_init.sql
new file mode 100644
index 0000000..edc7502
--- /dev/null
+++ b/db/sql_init.sql
@@ -0,0 +1,49 @@
+--
+-- Dumping data for table `goods`
+--
+
+LOCK TABLES `goods` WRITE;
+/*!40000 ALTER TABLE `goods` DISABLE KEYS */;
+INSERT INTO `goods` VALUES (5,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','亿色(ESR) 苹果7/8 Plus手机壳iPhone7 plus/8Plus手机壳透明防摔',0,81,2),(6,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','亿色(ESR) 苹果x手机壳iPhonex手机壳强保护防摔款女 苹果x手机套透明硅胶硬壳简约男款 原护-剔透',0,81,2),(7,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','亿色(ESR)苹果iPhone 6s Plus/6 Plus手机壳/保护套 硅胶透明防摔软壳 初色原护系列 剔透白',0,81,2),(8,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 苹果x手机壳iPhonex手机壳防摔 苹果X手机保护套【微磨砂】全包简约硬壳男女款 锋尚系列-魔力黑',0,81,2),(9,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,2),(10,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,2),(11,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,2),(12,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,2),(13,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,3),(14,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,3),(15,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,3),(16,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,3),(17,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,3),(18,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,3),(19,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,3),(20,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,3),(21,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,4),(22,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,4),(23,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,4),(24,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,4),(25,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,4),(26,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,4),(27,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,4),(28,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,4),(29,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,5),(30,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,5),(31,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,5),(32,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,5),(33,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,5),(34,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,5),(35,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,5),(36,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,5),(37,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,6),(38,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,6),(39,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,6),(40,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,6),(41,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,6),(42,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,6),(43,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,6),(44,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,6),(45,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,7),(46,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,7),(47,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,7),(48,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,7),(49,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,7),(50,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,7),(51,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,7),(52,'static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg,static/img/goodsDesc/1.jpg','static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg,static/img/goodsImg/1.jpg','插画师 iPhonex手机壳防摔/防滑/防指纹/新年款磨砂软壳 苹果X手机壳/手机套简约创意女款个性全包 雅格-红色',0,81,7);
+/*!40000 ALTER TABLE `goods` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Dumping data for table `goods_attr`
+--
+
+LOCK TABLES `goods_attr` WRITE;
+/*!40000 ALTER TABLE `goods_attr` DISABLE KEYS */;
+INSERT INTO `goods_attr` VALUES (1,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(2,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(3,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(4,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(5,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(6,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(7,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(8,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(9,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(10,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(11,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(12,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(13,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(14,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(15,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(16,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(17,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(18,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(19,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(20,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(21,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(22,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(23,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(24,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(25,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(26,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(27,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(28,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(29,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(30,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(31,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(32,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(33,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(34,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(35,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(36,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(37,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(38,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(39,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(40,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(41,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(42,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(43,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(44,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(45,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(46,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(47,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(48,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(49,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(50,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(51,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(52,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(53,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(54,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(55,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(56,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(57,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(58,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(59,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(60,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(61,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(62,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(63,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(64,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(65,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(66,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(67,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(68,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(69,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(70,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(71,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(72,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(73,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(74,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(75,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(76,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(77,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(78,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(79,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(80,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(81,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(82,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(83,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(84,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(85,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(86,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(87,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(88,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(89,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(90,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(91,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(92,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(93,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(94,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(95,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(96,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(97,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(98,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(99,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(100,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(101,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(102,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(103,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(104,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(105,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(106,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(107,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(108,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(109,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(110,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(111,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(112,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(113,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(114,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(115,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(116,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(117,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(118,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(119,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(120,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(121,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(122,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(123,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(124,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(125,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(126,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(127,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(128,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(129,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(130,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(131,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(132,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(133,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(134,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(135,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(136,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(137,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(138,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(139,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(140,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(141,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(142,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(143,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(144,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(145,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(146,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(147,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(148,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(149,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(150,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(151,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(152,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(153,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(154,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(155,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(156,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(157,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(158,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(159,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(160,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(161,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(162,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(163,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(164,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(165,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(166,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(167,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(168,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(169,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(170,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(171,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(172,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(173,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(174,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(175,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(176,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(177,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(178,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(179,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(180,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(181,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(182,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(183,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(184,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(185,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL),(186,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(187,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(188,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(189,NULL,31,'7/8 PLUS-Logo互动-樱花','b064002',NULL),(190,NULL,29,'7/8 通用-Logo互动-樱花','b064001',NULL),(191,NULL,29,'7/8 通用-Logo互动-云梯','b064003',NULL),(192,NULL,31,'7/8 PLUS-Logo互动-云梯','b064004',NULL);
+/*!40000 ALTER TABLE `goods_attr` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Dumping data for table `goods_cat`
+--
+
+LOCK TABLES `goods_cat` WRITE;
+/*!40000 ALTER TABLE `goods_cat` DISABLE KEYS */;
+INSERT INTO `goods_cat` VALUES (1,'食品',0),(2,'美妆护肤',0),(3,'服饰',0),(4,'鞋类箱包',0),(5,'母婴',0),(6,'居家日用',0),(7,'珠宝配饰',0),(8,'3C数码',0),(9,'家用电器',0),(10,'图书音像',0),(11,'医疗保健',0),(12,'古董收藏',0),(13,'休闲娱乐',0),(14,'餐饮美食',0),(15,'丽人',0),(16,'旅游酒店',0),(17,'汽车/交通',0),(18,'商务办公',0),(19,'便民生活',0),(20,'文化体育',0),(21,'学习培训',0),(22,'房地产',0),(23,'金融理财',0),(24,'网络游戏',0),(25,'话费通信',0),(26,'工农用品',0),(27,'其他',0),(28,'进口食品',1),(29,'休闲零食',1),(30,'营养保健',1),(31,'粮油干货',1),(32,'冲饮乳品',1),(33,'酒类',1),(34,'茶叶',1),(35,'生鲜水果',1),(36,'美容护肤',2),(37,'彩妆/香水/美妆工具',2),(38,'美发/护发/假发',2),(39,'沐浴/个人清洁',2),(40,'美体/精油',2),(41,'男士护肤',2),(42,'口腔护理',2),(43,'服饰配件/皮带/帽子/围巾',3),(44,'女装',3),(45,'男装',3),(46,'女士内衣/男士内衣/家居服',3),(47,'运动户外',3),(48,'男鞋',4),(49,'女鞋',4),(50,'潮流女包',4),(51,'精品男包',4),(52,'功能箱包',4),(53,'奶粉',5),(54,'辅食/营养品',5),(55,'纸尿裤/湿巾',5),(56,'哺育喂养',5),(57,'清洁洗护',5),(58,'玩具/早教/益智/积木/模型',5),(59,'车床/出行/安全/家纺',5),(60,'童装童鞋',5),(61,'孕妈专区',5),(62,'居家日用',6),(63,'餐具水具',6),(64,'厨具锅具',6),(65,'床上用品',6),(66,'家纺布艺',6),(67,'宠物园艺',6),(68,'收纳洗晒',6),(69,'家装建材',6),(70,'家具',6),(71,'家饰',6),(72,'成人用品',6),(73,'卫生用品',6),(74,'汽车用品',6),(75,'珠宝/钻石/翡翠/黄金',7),(76,'腕表',7),(77,'时尚饰品',7),(78,'眼镜',7),(79,'打火机/瑞士军刀',7),(80,'手机',8),(81,'手机配件',8),(82,'电脑整机',8),(83,'智能数码',8),(84,'摄影摄像',8),(85,'影音娱乐',8),(86,'硬件存储',8),(87,'数码配件',8),(88,'办公设备',8),(89,'文具耗材',8),(90,'电视空调',9),(91,'冰箱',9),(92,'洗衣机',9),(93,'厨房小电',9),(94,'生活电器',9),(95,'个护健康',9),(96,'厨卫大电',9),(97,'儿童读物',10),(98,'畅销小说',10),(99,'文学文艺',10),(100,'电子书',10),(101,'社科/经管',10),(102,'育儿百科',10),(103,'教育',10),(104,'音像',10),(105,'大牌乐器',10),(106,'中西医药品',11),(107,'保健品',11),(108,'滋补品',11),(109,'医疗器械',11),(110,'隐形眼镜',11),(111,'健康服务',11),(112,'体检',11),(113,'整容整形',11),(114,'按摩用品',11),(115,'玉器',12),(116,'古董',12),(117,'收藏',12),(118,'字画',12),(119,'酒吧夜店',13),(120,'KTV',13),(121,'桑拿足浴',13),(122,'洗浴汗蒸',13),(123,'按摩',13),(124,'电影院',13),(125,'会馆会所',13),(126,'文艺演出',13),(127,'私人影院',13),(128,'户外拓展',13),(129,'室内游戏',13),(130,'网吧网咖',13),(131,'模玩/动漫/周边/cos',13),(132,'休闲娱乐-其他',13),(133,'火锅',14),(134,'自助餐',14),(135,'日韩料理',14),(136,'小吃快餐',14),(137,'西餐',14),(138,'中式料理',14),(139,'烧烤',14),(140,'咖啡酒吧茶馆',14),(141,'甜点饮品',14),(142,'餐饮美食-其他',14),(143,'美发',15),(144,'美容/SPA',15),(145,'美甲美睫',15),(146,'瘦身纤体',15),(147,'瑜伽舞蹈',15),(148,'纹绣',15),(149,'产后塑性',15),(150,'整形',15),(151,'丽人-其他',15),(152,'酒店',16),(153,'度假村/农家乐/客栈',16),(154,'旅馆旅社',16),(155,'票务服务',16),(156,'签证服务',16),(157,'周边游',16),(158,'其他游玩',16),(159,'新车/二手车(品牌商)',17),(160,'汽车(经销商)',17),(161,'汽车租赁',17),(162,'汽车美容/保养/用品',17),(163,'汽车改装',17),(164,'汽车陪练',17),(165,'各类配件',17),(166,'停车场',17),(167,'航空公司',17),(168,'汽车/交通-其他',17),(169,'法律咨询',18),(170,'财务会计评估',18),(171,'广告策划公关',18),(172,'人力资源',18),(173,'网站建站',18),(174,'翻译速记',18),(175,'咨询顾问',18),(176,'办公耗材',18),(177,'办公设备',18),(178,'印刷喷绘',18),(179,'招商加盟',18),(180,'商务办公-其他',18),(181,'家政服务',19),(182,'婚庆婚纱摄影',19),(183,'搬家搬运',19),(184,'维修疏通',19),(185,'鲜花速递',19),(186,'交友征婚',19),(187,'摄影摄像',19),(188,'物流快递',19),(189,'洗衣店',19),(190,'便民生活-其他',19),(191,'比赛/文化活动/展览',20),(192,'体育户外活动',20),(193,'文化出版',20),(194,'体育场馆',20),(195,'图书馆',20),(196,'文化体育-其他',20),(197,'职业培训',21),(198,'考试升学',21),(199,'留学出国',21),(200,'婴幼儿教育',21),(201,'外语培训',21),(202,'远程教育',21),(203,'家教',21),(204,'IT培训',21),(205,'MBA管理培训',21),(206,'教育出国-其他',21),(207,'商务租赁',22),(208,'房产中介',22),(209,'装潢设计',22),(210,'楼盘销售',22),(211,'建材施工',22),(212,'房地产-其他',22),(213,'基金证券',23),(214,'银行服务',23),(215,'保险产品',23),(216,'金融投资',23),(217,'理财产品',23),(218,'金融理财-其他',23),(219,'网络游戏点卡',24),(220,'网游装备/游戏币/帐号/代练',24),(221,'网络游戏-其他',24),(222,'移动/联通/电信充值',25),(223,'手机号码/套餐/增值业务',25),(224,'话费通信-其他',25),(225,'工业用品',26),(226,'新能源',26),(227,'化工用品',26),(228,'农具',26),(229,'大型器械',26),(230,'其他',26),(231,'其他',27);
+/*!40000 ALTER TABLE `goods_cat` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Dumping data for table `goods_goods_attr`
+--
+
+LOCK TABLES `goods_goods_attr` WRITE;
+/*!40000 ALTER TABLE `goods_goods_attr` DISABLE KEYS */;
+INSERT INTO `goods_goods_attr` VALUES (5,1),(5,2),(5,3),(5,4),(6,5),(6,6),(6,7),(6,8),(7,9),(7,10),(7,11),(7,12),(8,13),(8,14),(8,15),(8,16),(9,17),(9,18),(9,19),(9,20),(10,21),(10,22),(10,23),(10,24),(11,25),(11,26),(11,27),(11,28),(12,29),(12,30),(12,31),(12,32),(13,33),(13,34),(13,35),(13,36),(14,37),(14,38),(14,39),(14,40),(15,41),(15,42),(15,43),(15,44),(16,45),(16,46),(16,47),(16,48),(17,49),(17,50),(17,51),(17,52),(18,53),(18,54),(18,55),(18,56),(19,57),(19,58),(19,59),(19,60),(20,61),(20,62),(20,63),(20,64),(21,65),(21,66),(21,67),(21,68),(22,69),(22,70),(22,71),(22,72),(23,73),(23,74),(23,75),(23,76),(24,77),(24,78),(24,79),(24,80),(25,81),(25,82),(25,83),(25,84),(26,85),(26,86),(26,87),(26,88),(27,89),(27,90),(27,91),(27,92),(28,93),(28,94),(28,95),(28,96),(29,97),(29,98),(29,99),(29,100),(30,101),(30,102),(30,103),(30,104),(31,105),(31,106),(31,107),(31,108),(32,109),(32,110),(32,111),(32,112),(33,113),(33,114),(33,115),(33,116),(34,117),(34,118),(34,119),(34,120),(35,121),(35,122),(35,123),(35,124),(36,125),(36,126),(36,127),(36,128),(37,129),(37,130),(37,131),(37,132),(38,133),(38,134),(38,135),(38,136),(39,137),(39,138),(39,139),(39,140),(40,141),(40,142),(40,143),(40,144),(41,145),(41,146),(41,147),(41,148),(42,149),(42,150),(42,151),(42,152),(43,153),(43,154),(43,155),(43,156),(44,157),(44,158),(44,159),(44,160),(45,161),(45,162),(45,163),(45,164),(46,165),(46,166),(46,167),(46,168),(47,169),(47,170),(47,171),(47,172),(48,173),(48,174),(48,175),(48,176),(49,177),(49,178),(49,179),(49,180),(50,181),(50,182),(50,183),(50,184),(51,185),(51,186),(51,187),(51,188),(52,189),(52,190),(52,191),(52,192);
+/*!40000 ALTER TABLE `goods_goods_attr` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Dumping data for table `merchant`
+--
+
+LOCK TABLES `merchant` WRITE;
+/*!40000 ALTER TABLE `merchant` DISABLE KEYS */;
+INSERT INTO `merchant` VALUES (2,'123456','2018-06-26 10:09:02','ESR 忆色','ESR官方旗舰店','北京','2018-06-26 10:09:02'),(3,'123456','2018-06-26 10:10:00','神马 3C','神马3C数码专营店','深圳','2018-06-26 10:10:00'),(4,'123456','2018-06-26 10:11:07','乐事官方旗舰店','乐事京东自营旗舰店','深圳','2018-06-26 10:11:07'),(5,'123456','2018-06-26 10:11:33','三只松鼠京正品坚果','三只松鼠京东自营旗舰店','杭州','2018-06-26 10:11:33'),(6,'123456','2018-06-26 10:12:07','戴尔电脑','戴尔京东官方自营旗舰店','杭州','2018-06-26 10:12:07'),(7,'123456','2018-06-26 10:12:35','Apple 官方专卖','京东Apple产品专营店','杭州','2018-06-26 10:12:35');
+/*!40000 ALTER TABLE `merchant` ENABLE KEYS */;
+UNLOCK TABLES;
diff --git a/pom.xml b/pom.xml
index 2feb9ce..226fcb0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -137,6 +137,17 @@
commons-codec
1.11
+
+
+ commons-io
+ commons-io
+ 2.4
+
+
+ commons-fileupload
+ commons-fileupload
+ 1.3.1
+
diff --git a/src/main/java/com/mall/admin/action/AdminBaseAction.java b/src/main/java/com/mall/admin/action/AdminBaseAction.java
index cd16743..16ee480 100644
--- a/src/main/java/com/mall/admin/action/AdminBaseAction.java
+++ b/src/main/java/com/mall/admin/action/AdminBaseAction.java
@@ -7,6 +7,7 @@
import org.springframework.stereotype.Controller;
import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
@Controller
@Scope("prototype")
@@ -15,14 +16,29 @@ public class AdminBaseAction extends ActionSupport {
public int DEFAULT_PAGE = 1;
public int DEFAULT_PAGE_SIZE = 15;
- protected boolean hasPageSetting() {
+ public Map jsonResult;
+
+ // 检查是否有 Page 相关参数
+ protected boolean hasParam(String paramName) {
HttpServletRequest req = ServletActionContext.getRequest();
- String paramPage = req.getParameter("page");
- String paramPageSize = req.getParameter("pageSize");
+ String paramValue = req.getParameter(paramName);
+
+ return !(paramValue == null);
+ }
- return paramPage != null || paramPageSize != null;
+ // 检查是否有 Page 相关参数
+ protected boolean hasPageSetting() {
+ return hasParam("page") || hasParam("pageSize");
+ }
+
+ // 获取参数
+ protected String getParam(String paramName) {
+ HttpServletRequest req = ServletActionContext.getRequest();
+ String paramValue = req.getParameter(paramName);
+ return paramValue;
}
+ // 获取 Page 配置
protected int getPageSetting() {
HttpServletRequest req = ServletActionContext.getRequest();
String paramPage= req.getParameter("page");
@@ -33,6 +49,7 @@ protected int getPageSetting() {
return Integer.parseInt(paramPage);
}
+ // 获取 PageSize 配置
protected int getPageSizeSetting() {
HttpServletRequest req = ServletActionContext.getRequest();
String paramPageSize= req.getParameter("pageSize");
diff --git a/src/main/java/com/mall/admin/action/AdminGroupAction.java b/src/main/java/com/mall/admin/action/AdminGroupAction.java
new file mode 100644
index 0000000..f2121d9
--- /dev/null
+++ b/src/main/java/com/mall/admin/action/AdminGroupAction.java
@@ -0,0 +1,112 @@
+package com.mall.admin.action;
+
+import com.mall.admin.service.AdminGroupService;
+import com.mall.model.AdminGroup;
+import com.mall.utils.ResponseTemplate;
+import org.apache.struts2.ServletActionContext;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class AdminGroupAction extends AdminBaseAction {
+
+ @Autowired
+ private AdminGroupService adminGroupService;
+
+ private AdminGroup adminGroup;
+ private List adminGroups;
+
+ public Map jsonResult;
+
+ // 列出所有
+ public String list() {
+ // 分页设置
+ if (hasPageSetting()) {
+ int page = getPageSetting();
+ int pageSize = getPageSizeSetting();
+
+ adminGroups = adminGroupService.findByPage(page, pageSize);
+ } else {
+ adminGroups = adminGroupService.findAll();
+ }
+
+ Map map = new HashMap<>();
+ map.put("data", adminGroups);
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ // 列出一个
+ public String get() {
+ if (this.adminGroup == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param adminGroup is required!");
+ return SUCCESS;
+ }
+
+ Map map = new HashMap<>();
+ adminGroup = adminGroupService.findById(this.adminGroup.getId());
+ map.put("data", adminGroup);
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ // 添加
+ public String add() {
+ if (this.adminGroup == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param adminGroup is required!");
+ return SUCCESS;
+ }
+
+ int status = adminGroupService.save(this.adminGroup);
+ System.out.println(status);
+
+ if (status > 0) {
+ Map map = new HashMap<>();
+ map.put("data", adminGroup);
+ jsonResult = ResponseTemplate.success(map);
+ } else {
+ jsonResult = ResponseTemplate.error(-1, "添加失败");
+ }
+ return SUCCESS;
+ }
+
+ // 更新
+ public String update() {
+ if (this.adminGroup == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param adminGroup is required!");
+ return SUCCESS;
+ }
+
+ adminGroupService.update(adminGroup);
+
+ Map map = new HashMap<>();
+ map.put("data", adminGroup);
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ // 删除
+ public String delete() {
+ if (this.adminGroup == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param adminGroup is required!");
+ return SUCCESS;
+ }
+
+ adminGroupService.delete(this.adminGroup);
+
+ // Set status code
+ HttpServletResponse res = ServletActionContext.getResponse();
+ res.setStatus(400);
+
+ Map map = new HashMap<>();
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ public void setAdminGroup(AdminGroup adminGroup) {
+ this.adminGroup = adminGroup;
+ }
+}
diff --git a/src/main/java/com/mall/admin/action/AdminUserAction.java b/src/main/java/com/mall/admin/action/AdminUserAction.java
index 67f1497..241806a 100644
--- a/src/main/java/com/mall/admin/action/AdminUserAction.java
+++ b/src/main/java/com/mall/admin/action/AdminUserAction.java
@@ -63,10 +63,13 @@ public String add() {
int status = adminUserService.save(this.adminUser);
System.out.println(status);
- // TODO: 18-6-25 Check the status
- Map map = new HashMap<>();
- map.put("data", adminUser);
- jsonResult = ResponseTemplate.success(map);
+ if (status > 0) {
+ Map map = new HashMap<>();
+ map.put("data", adminUser);
+ jsonResult = ResponseTemplate.success(map);
+ } else {
+ jsonResult = ResponseTemplate.error(-1, "添加失败");
+ }
return SUCCESS;
}
diff --git a/src/main/java/com/mall/admin/action/GoodsAction.java b/src/main/java/com/mall/admin/action/GoodsAction.java
index 706245a..db35ed5 100644
--- a/src/main/java/com/mall/admin/action/GoodsAction.java
+++ b/src/main/java/com/mall/admin/action/GoodsAction.java
@@ -1,4 +1,132 @@
package com.mall.admin.action;
-public class GoodsAction {
+import com.mall.admin.service.GoodsService;
+import com.mall.model.Goods;
+import com.mall.utils.ResponseTemplate;
+import org.apache.struts2.ServletActionContext;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class GoodsAction extends AdminBaseAction {
+
+ @Autowired
+ private GoodsService goodsService;
+
+ private Goods goods;
+ private List goodses;
+
+ public Map jsonResult;
+
+ public String list() {
+ if (hasPageSetting()) {
+ int page = getPageSetting();
+ int pageSize = getPageSizeSetting();
+
+ System.out.println(getParam("goodsName"));
+ System.out.println(getParam("page"));
+ System.out.println(getParam("pageSize"));
+ // 根据参数判断用户是否要根据指定值查找
+ if (hasParam("goodsName")) {
+ System.out.println("Has page and goodsName");
+ goodses = goodsService.findByGoodsNameAndPage(getParam("goodsName"), page, pageSize);
+ } else if (hasParam("catId")) {
+ System.out.println("Has page and catId");
+ goodses = goodsService.findByCatIdAndPage(Integer.parseInt(getParam("catId")), page, pageSize);
+ } else {
+ System.out.println("Has page and catId");
+ goodses = goodsService.findByPage(page, pageSize);
+ }
+ } else {
+ if (hasParam("goodsName")) {
+ System.out.println("Has goodsName");
+ goodses = goodsService.findByGoodsName(getParam("goodsName"));
+ } else if (hasParam("catId")) {
+ System.out.println("Has catId");
+ goodses = goodsService.findByCatId(Integer.parseInt(getParam("catId")));
+ } else {
+ System.out.println("find all");
+ goodses = goodsService.findAll();
+ }
+ }
+
+ Map map = new HashMap<>();
+ map.put("data", goodses);
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ // 列出一个
+ public String get() {
+ if (this.goods == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param goods is required!");
+ return SUCCESS;
+ }
+
+ Map map = new HashMap<>();
+ goods = goodsService.findById(this.goods.getId());
+ map.put("data", goods);
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ // 添加
+ public String add() {
+ if (this.goods == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param goods is required!");
+ return SUCCESS;
+ }
+
+ int status = goodsService.save(this.goods);
+ System.out.println(status);
+
+ if (status > 0) {
+ Map map = new HashMap<>();
+ map.put("data", goods);
+ jsonResult = ResponseTemplate.success(map);
+ } else {
+ jsonResult = ResponseTemplate.error(-1, "添加失败");
+ }
+ return SUCCESS;
+ }
+
+ // 更新
+ public String update() {
+ if (this.goods == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param goods is required!");
+ return SUCCESS;
+ }
+
+ goodsService.update(goods);
+
+ Map map = new HashMap<>();
+ map.put("data", goods);
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ // 删除
+ public String delete() {
+ if (this.goods == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param goods is required!");
+ return SUCCESS;
+ }
+
+ goodsService.delete(this.goods);
+
+ // Set status code
+ HttpServletResponse res = ServletActionContext.getResponse();
+ res.setStatus(400);
+
+ Map map = new HashMap<>();
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ public void setGoods(Goods goods) {
+ this.goods = goods;
+ }
}
diff --git a/src/main/java/com/mall/admin/action/GoodsCatAction.java b/src/main/java/com/mall/admin/action/GoodsCatAction.java
new file mode 100644
index 0000000..db4a1fa
--- /dev/null
+++ b/src/main/java/com/mall/admin/action/GoodsCatAction.java
@@ -0,0 +1,104 @@
+package com.mall.admin.action;
+
+import com.mall.admin.service.GoodsCatService;
+import com.mall.model.GoodsCat;
+import com.mall.utils.ResponseTemplate;
+import org.apache.struts2.ServletActionContext;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class GoodsCatAction extends AdminBaseAction {
+
+ @Autowired
+ private GoodsCatService goodsCatService;
+
+ private GoodsCat goodsCat;
+ private List goodsCats;
+
+ public Map jsonResult;
+
+ // 列出所有
+ public String list() {
+ goodsCats = goodsCatService.findAll();
+
+ Map map = new HashMap<>();
+ map.put("data", goodsCats);
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ // 列出一个
+ public String get() {
+ if (this.goodsCat == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param goodsCat is required!");
+ return SUCCESS;
+ }
+
+ Map map = new HashMap<>();
+ goodsCat = goodsCatService.findById(this.goodsCat.getId());
+ map.put("data", goodsCat);
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ // 添加
+ public String add() {
+ if (this.goodsCat == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param goodsCat is required!");
+ return SUCCESS;
+ }
+
+ int status = goodsCatService.save(this.goodsCat);
+ System.out.println(status);
+
+ if (status > 0) {
+ Map map = new HashMap<>();
+ map.put("data", goodsCat);
+ jsonResult = ResponseTemplate.success(map);
+ } else {
+ jsonResult = ResponseTemplate.error(-1, "添加失败");
+ }
+ return SUCCESS;
+ }
+
+ // 更新
+ public String update() {
+ if (this.goodsCat == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param goodsCat is required!");
+ return SUCCESS;
+ }
+
+ goodsCatService.update(goodsCat);
+
+ Map map = new HashMap<>();
+ map.put("data", goodsCat);
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ // 删除
+ public String delete() {
+ if (this.goodsCat == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param goodsCat is required!");
+ return SUCCESS;
+ }
+
+ goodsCatService.delete(this.goodsCat);
+
+ // Set status code
+ HttpServletResponse res = ServletActionContext.getResponse();
+ res.setStatus(400);
+
+ Map map = new HashMap<>();
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ public void setGoodsCat(GoodsCat goodsCat) {
+ this.goodsCat = goodsCat;
+ }
+}
diff --git a/src/main/java/com/mall/admin/action/HomeExtendAction.java b/src/main/java/com/mall/admin/action/HomeExtendAction.java
new file mode 100644
index 0000000..138ff6c
--- /dev/null
+++ b/src/main/java/com/mall/admin/action/HomeExtendAction.java
@@ -0,0 +1,112 @@
+package com.mall.admin.action;
+
+import com.mall.admin.service.HomeExtendService;
+import com.mall.model.HomeExtend;
+import com.mall.utils.ResponseTemplate;
+import org.apache.struts2.ServletActionContext;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class HomeExtendAction extends AdminBaseAction {
+
+ @Autowired
+ private HomeExtendService homeExtendService;
+
+ private HomeExtend homeExtend;
+ private List homeExtends;
+
+ public Map jsonResult;
+
+ // 列出所有
+ public String list() {
+ // 分页设置
+ if (hasPageSetting()) {
+ int page = getPageSetting();
+ int pageSize = getPageSizeSetting();
+
+ homeExtends = homeExtendService.findByPage(page, pageSize);
+ } else {
+ homeExtends = homeExtendService.findAll();
+ }
+
+ Map map = new HashMap<>();
+ map.put("data", homeExtends);
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ // 列出一个
+ public String get() {
+ if (this.homeExtend == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param homeExtend is required!");
+ return SUCCESS;
+ }
+
+ Map map = new HashMap<>();
+ homeExtend = homeExtendService.findById(this.homeExtend.getId());
+ map.put("data", homeExtend);
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ // 添加
+ public String add() {
+ if (this.homeExtend == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param homeExtend is required!");
+ return SUCCESS;
+ }
+
+ int status = homeExtendService.save(this.homeExtend);
+ System.out.println(status);
+
+ if (status > 0) {
+ Map map = new HashMap<>();
+ map.put("data", homeExtend);
+ jsonResult = ResponseTemplate.success(map);
+ } else {
+ jsonResult = ResponseTemplate.error(-1, "添加失败");
+ }
+ return SUCCESS;
+ }
+
+ // 更新
+ public String update() {
+ if (this.homeExtend == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param homeExtend is required!");
+ return SUCCESS;
+ }
+
+ homeExtendService.update(homeExtend);
+
+ Map map = new HashMap<>();
+ map.put("data", homeExtend);
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ // 删除
+ public String delete() {
+ if (this.homeExtend == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param homeExtend is required!");
+ return SUCCESS;
+ }
+
+ homeExtendService.delete(this.homeExtend);
+
+ // Set status code
+ HttpServletResponse res = ServletActionContext.getResponse();
+ res.setStatus(400);
+
+ Map map = new HashMap<>();
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ public void setHomeExtend(HomeExtend homeExtend) {
+ this.homeExtend = homeExtend;
+ }
+}
diff --git a/src/main/java/com/mall/admin/action/MerchantAction.java b/src/main/java/com/mall/admin/action/MerchantAction.java
new file mode 100644
index 0000000..402d183
--- /dev/null
+++ b/src/main/java/com/mall/admin/action/MerchantAction.java
@@ -0,0 +1,112 @@
+package com.mall.admin.action;
+
+import com.mall.admin.service.MerchantService;
+import com.mall.model.Merchant;
+import com.mall.utils.ResponseTemplate;
+import org.apache.struts2.ServletActionContext;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class MerchantAction extends AdminBaseAction {
+
+ @Autowired
+ private MerchantService merchantService;
+
+ private Merchant merchant;
+ private List merchants;
+
+ public Map jsonResult;
+
+ // 列出所有
+ public String list() {
+ // 分页设置
+ if (hasPageSetting()) {
+ int page = getPageSetting();
+ int pageSize = getPageSizeSetting();
+
+ merchants = merchantService.findByPage(page, pageSize);
+ } else {
+ merchants = merchantService.findAll();
+ }
+
+ Map map = new HashMap<>();
+ map.put("data", merchants);
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ // 列出一个
+ public String get() {
+ if (this.merchant == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param merchant is required!");
+ return SUCCESS;
+ }
+
+ Map map = new HashMap<>();
+ merchant = merchantService.findById(this.merchant.getId());
+ map.put("data", merchant);
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ // 添加
+ public String add() {
+ if (this.merchant == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param merchant is required!");
+ return SUCCESS;
+ }
+
+ int status = merchantService.save(this.merchant);
+ System.out.println(status);
+
+ if (status > 0) {
+ Map map = new HashMap<>();
+ map.put("data", merchant);
+ jsonResult = ResponseTemplate.success(map);
+ } else {
+ jsonResult = ResponseTemplate.error(-1, "添加失败");
+ }
+ return SUCCESS;
+ }
+
+ // 更新
+ public String update() {
+ if (this.merchant == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param merchant is required!");
+ return SUCCESS;
+ }
+
+ merchantService.update(merchant);
+
+ Map map = new HashMap<>();
+ map.put("data", merchant);
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ // 删除
+ public String delete() {
+ if (this.merchant == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param merchant is required!");
+ return SUCCESS;
+ }
+
+ merchantService.delete(this.merchant);
+
+ // Set status code
+ HttpServletResponse res = ServletActionContext.getResponse();
+ res.setStatus(400);
+
+ Map map = new HashMap<>();
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ public void setMerchant(Merchant merchant) {
+ this.merchant = merchant;
+ }
+}
diff --git a/src/main/java/com/mall/admin/action/SecondKillAction.java b/src/main/java/com/mall/admin/action/SecondKillAction.java
new file mode 100644
index 0000000..0b92c04
--- /dev/null
+++ b/src/main/java/com/mall/admin/action/SecondKillAction.java
@@ -0,0 +1,112 @@
+package com.mall.admin.action;
+
+import com.mall.admin.service.SecondKillService;
+import com.mall.model.SecondKill;
+import com.mall.utils.ResponseTemplate;
+import org.apache.struts2.ServletActionContext;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class SecondKillAction extends AdminBaseAction {
+
+ @Autowired
+ private SecondKillService secondKillService;
+
+ private SecondKill secondKill;
+ private List secondKills;
+
+ public Map jsonResult;
+
+ // 列出所有
+ public String list() {
+ // 分页设置
+ if (hasPageSetting()) {
+ int page = getPageSetting();
+ int pageSize = getPageSizeSetting();
+
+ secondKills = secondKillService.findByPage(page, pageSize);
+ } else {
+ secondKills = secondKillService.findAll();
+ }
+
+ Map map = new HashMap<>();
+ map.put("data", secondKills);
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ // 列出一个
+ public String get() {
+ if (this.secondKill == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param secondKill is required!");
+ return SUCCESS;
+ }
+
+ Map map = new HashMap<>();
+ secondKill = secondKillService.findById(this.secondKill.getId());
+ map.put("data", secondKill);
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ // 添加
+ public String add() {
+ if (this.secondKill == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param secondKill is required!");
+ return SUCCESS;
+ }
+
+ int status = secondKillService.save(this.secondKill);
+ System.out.println(status);
+
+ if (status > 0) {
+ Map map = new HashMap<>();
+ map.put("data", secondKill);
+ jsonResult = ResponseTemplate.success(map);
+ } else {
+ jsonResult = ResponseTemplate.error(-1, "添加失败");
+ }
+ return SUCCESS;
+ }
+
+ // 更新
+ public String update() {
+ if (this.secondKill == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param secondKill is required!");
+ return SUCCESS;
+ }
+
+ secondKillService.update(secondKill);
+
+ Map map = new HashMap<>();
+ map.put("data", secondKill);
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ // 删除
+ public String delete() {
+ if (this.secondKill == null) {
+ jsonResult = ResponseTemplate.error(-1, "Param secondKill is required!");
+ return SUCCESS;
+ }
+
+ secondKillService.delete(this.secondKill);
+
+ // Set status code
+ HttpServletResponse res = ServletActionContext.getResponse();
+ res.setStatus(400);
+
+ Map map = new HashMap<>();
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ public void setSecondKill(SecondKill secondKill) {
+ this.secondKill = secondKill;
+ }
+}
diff --git a/src/main/java/com/mall/admin/dao/AdminGroupDao.java b/src/main/java/com/mall/admin/dao/AdminGroupDao.java
new file mode 100644
index 0000000..9e6430b
--- /dev/null
+++ b/src/main/java/com/mall/admin/dao/AdminGroupDao.java
@@ -0,0 +1,21 @@
+package com.mall.admin.dao;
+
+import com.mall.model.AdminGroup;
+
+import java.util.List;
+
+public interface AdminGroupDao {
+
+ List findAll();
+
+ List findByPage(int page, int pageSize);
+
+ AdminGroup findById(int id);
+
+ int save(AdminGroup adminGroup);
+
+ void update(AdminGroup adminGroup);
+
+ void delete(AdminGroup adminGroup);
+
+}
diff --git a/src/main/java/com/mall/admin/dao/AdminUserDao.java b/src/main/java/com/mall/admin/dao/AdminUserDao.java
index 7acc8d2..cff9b2d 100644
--- a/src/main/java/com/mall/admin/dao/AdminUserDao.java
+++ b/src/main/java/com/mall/admin/dao/AdminUserDao.java
@@ -1,16 +1,14 @@
package com.mall.admin.dao;
import com.mall.model.AdminUser;
-import org.springframework.stereotype.Repository;
import java.util.List;
-@Repository
public interface AdminUserDao {
List findAll();
- List findByPage(int offset, int pageSize);
+ List findByPage(int page, int pageSize);
AdminUser findById(int id);
diff --git a/src/main/java/com/mall/admin/dao/GoodsCatDao.java b/src/main/java/com/mall/admin/dao/GoodsCatDao.java
new file mode 100644
index 0000000..272e63d
--- /dev/null
+++ b/src/main/java/com/mall/admin/dao/GoodsCatDao.java
@@ -0,0 +1,22 @@
+package com.mall.admin.dao;
+
+
+import com.mall.model.GoodsCat;
+
+import java.util.List;
+
+public interface GoodsCatDao {
+
+ List findAll();
+
+ List findByParentId(int catId);
+
+ GoodsCat findById(int id);
+
+ int save(GoodsCat goodsCat);
+
+ void update(GoodsCat goodsCat);
+
+ void delete(GoodsCat goodsCat);
+
+}
diff --git a/src/main/java/com/mall/admin/dao/GoodsDao.java b/src/main/java/com/mall/admin/dao/GoodsDao.java
index 58117d2..02d5404 100644
--- a/src/main/java/com/mall/admin/dao/GoodsDao.java
+++ b/src/main/java/com/mall/admin/dao/GoodsDao.java
@@ -1,4 +1,30 @@
package com.mall.admin.dao;
-public class GoodsDao {
+
+import com.mall.model.Goods;
+
+import java.util.List;
+
+public interface GoodsDao {
+
+ List findAll();
+
+ List findByGoodsName(String goodsName);
+
+ List findByGoodsNameAndPage(String goodsName, int page, int pageSize);
+
+ List findByCatId(int catId);
+
+ List findByCatIdAndPage(int catId, int page, int pageSize);
+
+ List findByPage(int page, int pageSize);
+
+ Goods findById(int id);
+
+ int save(Goods goods);
+
+ void update(Goods goods);
+
+ void delete(Goods goods);
+
}
diff --git a/src/main/java/com/mall/admin/dao/HomeExtendDao.java b/src/main/java/com/mall/admin/dao/HomeExtendDao.java
new file mode 100644
index 0000000..e110b0e
--- /dev/null
+++ b/src/main/java/com/mall/admin/dao/HomeExtendDao.java
@@ -0,0 +1,22 @@
+package com.mall.admin.dao;
+
+
+import com.mall.model.HomeExtend;
+
+import java.util.List;
+
+public interface HomeExtendDao {
+
+ List findAll();
+
+ List findByPage(int page, int pageSize);
+
+ HomeExtend findById(int id);
+
+ int save(HomeExtend homeExtend);
+
+ void update(HomeExtend homeExtend);
+
+ void delete(HomeExtend homeExtend);
+
+}
diff --git a/src/main/java/com/mall/admin/dao/MerchantDao.java b/src/main/java/com/mall/admin/dao/MerchantDao.java
new file mode 100644
index 0000000..fcbcf57
--- /dev/null
+++ b/src/main/java/com/mall/admin/dao/MerchantDao.java
@@ -0,0 +1,22 @@
+package com.mall.admin.dao;
+
+
+import com.mall.model.Merchant;
+
+import java.util.List;
+
+public interface MerchantDao {
+
+ List findAll();
+
+ List findByPage(int page, int pageSize);
+
+ Merchant findById(int id);
+
+ int save(Merchant merchant);
+
+ void update(Merchant merchant);
+
+ void delete(Merchant merchant);
+
+}
diff --git a/src/main/java/com/mall/admin/dao/SecondKillDao.java b/src/main/java/com/mall/admin/dao/SecondKillDao.java
new file mode 100644
index 0000000..af3476f
--- /dev/null
+++ b/src/main/java/com/mall/admin/dao/SecondKillDao.java
@@ -0,0 +1,22 @@
+package com.mall.admin.dao;
+
+
+import com.mall.model.SecondKill;
+
+import java.util.List;
+
+public interface SecondKillDao {
+
+ List findAll();
+
+ List findByPage(int page, int pageSize);
+
+ SecondKill findById(int id);
+
+ int save(SecondKill secondKill);
+
+ void update(SecondKill secondKill);
+
+ void delete(SecondKill secondKill);
+
+}
diff --git a/src/main/java/com/mall/admin/dao/impl/AdminGroupDaoImpl.java b/src/main/java/com/mall/admin/dao/impl/AdminGroupDaoImpl.java
new file mode 100644
index 0000000..194ab87
--- /dev/null
+++ b/src/main/java/com/mall/admin/dao/impl/AdminGroupDaoImpl.java
@@ -0,0 +1,69 @@
+package com.mall.admin.dao.impl;
+
+import com.mall.admin.dao.AdminGroupDao;
+import com.mall.model.AdminGroup;
+import org.hibernate.SessionFactory;
+import org.hibernate.criterion.DetachedCriteria;
+import org.hibernate.criterion.Restrictions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.orm.hibernate5.HibernateTemplate;
+import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Repository
+public class AdminGroupDaoImpl implements AdminGroupDao {
+
+ private HibernateTemplate template;
+
+ @Autowired
+ public AdminGroupDaoImpl(SessionFactory sessionFactory) {
+ template = new HibernateTemplate(sessionFactory);
+ }
+
+ @Override
+ public List findAll() {
+ DetachedCriteria criteria = DetachedCriteria.forClass(AdminGroup.class);
+ return (List) template.findByCriteria(criteria);
+ }
+
+ @Override
+ public AdminGroup findById(int id) {
+ DetachedCriteria criteria = DetachedCriteria.forClass(AdminGroup.class);
+ criteria.add(Restrictions.eq("id", id));
+ List resultList = (List) template.findByCriteria(criteria);
+
+ if (resultList.size() == 0) {
+ return null;
+ }
+ return resultList.get(0);
+ }
+
+ public List findByPage(int page, int pageSize) {
+ DetachedCriteria criteria = DetachedCriteria.forClass(AdminGroup.class);
+ int offset = (page - 1) * pageSize;
+ List resultList = (List) template.findByCriteria(criteria, offset, pageSize);
+ return resultList;
+ }
+
+ @Override
+ @Transactional()
+ public int save(AdminGroup adminGroup) {
+ Serializable result = template.save(adminGroup);
+ return (Integer)result;
+ }
+
+ @Override
+ @Transactional()
+ public void update(AdminGroup adminGroup) {
+ template.update(adminGroup);
+ }
+
+ @Override
+ @Transactional()
+ public void delete(AdminGroup adminGroup) {
+ template.delete(adminGroup);
+ }
+}
diff --git a/src/main/java/com/mall/admin/dao/impl/AdminUserDaoImpl.java b/src/main/java/com/mall/admin/dao/impl/AdminUserDaoImpl.java
index 55439a4..f3f69a8 100644
--- a/src/main/java/com/mall/admin/dao/impl/AdminUserDaoImpl.java
+++ b/src/main/java/com/mall/admin/dao/impl/AdminUserDaoImpl.java
@@ -8,6 +8,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateTemplate;
import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
import java.io.Serializable;
import java.util.List;
@@ -25,40 +26,43 @@ public AdminUserDaoImpl(SessionFactory sessionFactory) {
@Override
public List findAll() {
DetachedCriteria criteria = DetachedCriteria.forClass(AdminUser.class);
- List adminUsers = (List) template.findByCriteria(criteria);
-
- return adminUsers;
+ return (List) template.findByCriteria(criteria);
}
@Override
public AdminUser findById(int id) {
DetachedCriteria criteria = DetachedCriteria.forClass(AdminUser.class);
criteria.add(Restrictions.eq("id", id));
- List adminUsers = (List) template.findByCriteria(criteria);
- if (adminUsers.size() == 0) {
+ List resultList = (List) template.findByCriteria(criteria);
+
+ if (resultList.size() == 0) {
return null;
}
- return adminUsers.get(0);
+ return resultList.get(0);
}
- public List findByPage(int offset, int pageSize) {
+ public List findByPage(int page, int pageSize) {
DetachedCriteria criteria = DetachedCriteria.forClass(AdminUser.class);
- List list = (List) this.template.findByCriteria(criteria, offset, pageSize);
- return list;
+ int offset = (page - 1) * pageSize;
+ List resultList = (List) template.findByCriteria(criteria, offset, pageSize);
+ return resultList;
}
@Override
+ @Transactional()
public int save(AdminUser adminUser) {
Serializable result = template.save(adminUser);
return (Integer)result;
}
@Override
+ @Transactional()
public void update(AdminUser adminUser) {
template.update(adminUser);
}
@Override
+ @Transactional()
public void delete(AdminUser adminUser) {
template.delete(adminUser);
}
diff --git a/src/main/java/com/mall/admin/dao/impl/GoodsCatDaoImpl.java b/src/main/java/com/mall/admin/dao/impl/GoodsCatDaoImpl.java
new file mode 100644
index 0000000..c1a3672
--- /dev/null
+++ b/src/main/java/com/mall/admin/dao/impl/GoodsCatDaoImpl.java
@@ -0,0 +1,72 @@
+package com.mall.admin.dao.impl;
+
+import com.mall.admin.dao.GoodsCatDao;
+import com.mall.model.GoodsCat;
+import org.hibernate.SessionFactory;
+import org.hibernate.criterion.DetachedCriteria;
+import org.hibernate.criterion.Restrictions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.orm.hibernate5.HibernateTemplate;
+import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Repository
+public class GoodsCatDaoImpl implements GoodsCatDao {
+ private HibernateTemplate template;
+
+ @Autowired
+ public GoodsCatDaoImpl(SessionFactory sessionFactory) {
+ template = new HibernateTemplate(sessionFactory);
+ }
+
+ @Override
+ public List findAll() {
+ DetachedCriteria criteria = DetachedCriteria.forClass(GoodsCat.class);
+ return (List) template.findByCriteria(criteria);
+ }
+
+ @Override
+ public List findByParentId(int parentId) {
+ DetachedCriteria criteria = DetachedCriteria.forClass(GoodsCat.class);
+ criteria.add(Restrictions.eq("parentId", parentId));
+ List resultList = (List) template.findByCriteria(criteria);
+ if (resultList.size() == 0) {
+ return null;
+ }
+ return resultList;
+ }
+
+ @Override
+ public GoodsCat findById(int id) {
+ DetachedCriteria criteria = DetachedCriteria.forClass(GoodsCat.class);
+ criteria.add(Restrictions.eq("id", id));
+ List resultList = (List) template.findByCriteria(criteria);
+ if (resultList.size() == 0) {
+ return null;
+ }
+ return resultList.get(0);
+ }
+
+ @Override
+ @Transactional()
+ public int save(GoodsCat goodsCat) {
+ Serializable result = template.save(goodsCat);
+ return (Integer) result;
+ }
+
+ @Override
+ @Transactional()
+ public void update(GoodsCat goodsCat) {
+ template.update(goodsCat);
+ }
+
+ @Override
+ @Transactional()
+ public void delete(GoodsCat goodsCat) {
+ template.delete(goodsCat);
+ }
+
+}
diff --git a/src/main/java/com/mall/admin/dao/impl/GoodsDaoImpl.java b/src/main/java/com/mall/admin/dao/impl/GoodsDaoImpl.java
index a49140a..bc4d559 100644
--- a/src/main/java/com/mall/admin/dao/impl/GoodsDaoImpl.java
+++ b/src/main/java/com/mall/admin/dao/impl/GoodsDaoImpl.java
@@ -1,4 +1,103 @@
package com.mall.admin.dao.impl;
-public class GoodsDaoImpl {
+import com.mall.admin.dao.GoodsDao;
+import com.mall.model.Goods;
+import com.mall.model.GoodsCat;
+import org.hibernate.SessionFactory;
+import org.hibernate.criterion.DetachedCriteria;
+import org.hibernate.criterion.Restrictions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.orm.hibernate5.HibernateTemplate;
+import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Repository
+public class GoodsDaoImpl implements GoodsDao {
+ private HibernateTemplate template;
+
+ @Autowired
+ public GoodsDaoImpl(SessionFactory sessionFactory) {
+ template = new HibernateTemplate(sessionFactory);
+ }
+
+ @Override
+ public List findAll() {
+ DetachedCriteria criteria = DetachedCriteria.forClass(Goods.class);
+ return (List) template.findByCriteria(criteria);
+ }
+
+ @Override
+ public List findByGoodsName(String goodsName) {
+ DetachedCriteria criteria = DetachedCriteria.forClass(Goods.class);
+ criteria.add(Restrictions.like("goodsName", "%"+goodsName+"%"));
+ return (List) template.findByCriteria(criteria);
+ }
+
+ @Override
+ public List findByGoodsNameAndPage(String goodsName, int page, int pageSize) {
+ DetachedCriteria criteria = DetachedCriteria.forClass(Goods.class);
+ criteria.add(Restrictions.like("goodsName", "%"+goodsName+"%"));
+ int offset = (page - 1) * pageSize;
+ return (List) template.findByCriteria(criteria, offset, pageSize);
+ }
+
+ @Override
+ public List findByCatId(int catId) {
+ DetachedCriteria criteria = DetachedCriteria.forClass(Goods.class);
+
+ GoodsCat goodsCat = new GoodsCat();
+ goodsCat.setId(catId);
+ criteria.add(Restrictions.eq("goodsCat", goodsCat));
+ return (List) template.findByCriteria(criteria);
+ }
+
+ @Override
+ public List findByCatIdAndPage(int catId, int page, int pageSize) {
+ DetachedCriteria criteria = DetachedCriteria.forClass(Goods.class);
+ criteria.add(Restrictions.eq("goods_cat_id", catId));
+ int offset = (page - 1) * pageSize;
+ return (List) template.findByCriteria(criteria, offset, pageSize);
+ }
+
+ @Override
+ public List findByPage(int page, int pageSize) {
+ DetachedCriteria criteria = DetachedCriteria.forClass(Goods.class);
+ int offset = (page - 1) * pageSize;
+ List resultList = (List) this.template.findByCriteria(criteria, offset, pageSize);
+ return resultList;
+ }
+
+ @Override
+ public Goods findById(int id) {
+ DetachedCriteria criteria = DetachedCriteria.forClass(Goods.class);
+ criteria.add(Restrictions.eq("id", id));
+ List resultList = (List) template.findByCriteria(criteria);
+ if (resultList.size() == 0) {
+ return null;
+ }
+ return resultList.get(0);
+ }
+
+ @Override
+ @Transactional()
+ public int save(Goods goods) {
+ Serializable result = template.save(goods);
+ return (Integer) result;
+ }
+
+ @Override
+ @Transactional()
+ public void update(Goods goods) {
+ template.update(goods);
+ }
+
+ @Override
+ @Transactional()
+ public void delete(Goods goods) {
+ template.delete(goods);
+ }
+
}
diff --git a/src/main/java/com/mall/admin/dao/impl/HomeExtendDaoImpl.java b/src/main/java/com/mall/admin/dao/impl/HomeExtendDaoImpl.java
new file mode 100644
index 0000000..70846bc
--- /dev/null
+++ b/src/main/java/com/mall/admin/dao/impl/HomeExtendDaoImpl.java
@@ -0,0 +1,68 @@
+package com.mall.admin.dao.impl;
+
+import com.mall.admin.dao.HomeExtendDao;
+import com.mall.model.HomeExtend;
+import org.hibernate.SessionFactory;
+import org.hibernate.criterion.DetachedCriteria;
+import org.hibernate.criterion.Restrictions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.orm.hibernate5.HibernateTemplate;
+import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Repository
+public class HomeExtendDaoImpl implements HomeExtendDao {
+ private HibernateTemplate template;
+
+ @Autowired
+ public HomeExtendDaoImpl(SessionFactory sessionFactory) {
+ template = new HibernateTemplate(sessionFactory);
+ }
+
+ @Override
+ public List findAll() {
+ DetachedCriteria criteria = DetachedCriteria.forClass(HomeExtend.class);
+ return (List) template.findByCriteria(criteria);
+ }
+
+ @Override
+ public HomeExtend findById(int id) {
+ DetachedCriteria criteria = DetachedCriteria.forClass(HomeExtend.class);
+ criteria.add(Restrictions.eq("id", id));
+ List resultList = (List) template.findByCriteria(criteria);
+ if (resultList.size() == 0) {
+ return null;
+ }
+ return resultList.get(0);
+ }
+
+ public List findByPage(int page, int pageSize) {
+ DetachedCriteria criteria = DetachedCriteria.forClass(HomeExtend.class);
+ int offset = (page - 1) * pageSize;
+ List resultList = (List) this.template.findByCriteria(criteria, offset, pageSize);
+ return resultList;
+ }
+
+ @Override
+ @Transactional()
+ public int save(HomeExtend homeExtend) {
+ Serializable result = template.save(homeExtend);
+ return (Integer) result;
+ }
+
+ @Override
+ @Transactional()
+ public void update(HomeExtend homeExtend) {
+ template.update(homeExtend);
+ }
+
+ @Override
+ @Transactional()
+ public void delete(HomeExtend homeExtend) {
+ template.delete(homeExtend);
+ }
+
+}
diff --git a/src/main/java/com/mall/admin/dao/impl/MerchantDaoImpl.java b/src/main/java/com/mall/admin/dao/impl/MerchantDaoImpl.java
new file mode 100644
index 0000000..1f3bcaa
--- /dev/null
+++ b/src/main/java/com/mall/admin/dao/impl/MerchantDaoImpl.java
@@ -0,0 +1,68 @@
+package com.mall.admin.dao.impl;
+
+import com.mall.admin.dao.MerchantDao;
+import com.mall.model.Merchant;
+import org.hibernate.SessionFactory;
+import org.hibernate.criterion.DetachedCriteria;
+import org.hibernate.criterion.Restrictions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.orm.hibernate5.HibernateTemplate;
+import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Repository
+public class MerchantDaoImpl implements MerchantDao {
+ private HibernateTemplate template;
+
+ @Autowired
+ public MerchantDaoImpl(SessionFactory sessionFactory) {
+ template = new HibernateTemplate(sessionFactory);
+ }
+
+ @Override
+ public List findAll() {
+ DetachedCriteria criteria = DetachedCriteria.forClass(Merchant.class);
+ return (List) template.findByCriteria(criteria);
+ }
+
+ @Override
+ public Merchant findById(int id) {
+ DetachedCriteria criteria = DetachedCriteria.forClass(Merchant.class);
+ criteria.add(Restrictions.eq("id", id));
+ List resultList = (List) template.findByCriteria(criteria);
+ if (resultList.size() == 0) {
+ return null;
+ }
+ return resultList.get(0);
+ }
+
+ public List findByPage(int page, int pageSize) {
+ DetachedCriteria criteria = DetachedCriteria.forClass(Merchant.class);
+ int offset = (page - 1) * pageSize;
+ List resultList = (List) this.template.findByCriteria(criteria, offset, pageSize);
+ return resultList;
+ }
+
+ @Override
+ @Transactional()
+ public int save(Merchant merchant) {
+ Serializable result = template.save(merchant);
+ return (Integer) result;
+ }
+
+ @Override
+ @Transactional()
+ public void update(Merchant merchant) {
+ template.update(merchant);
+ }
+
+ @Override
+ @Transactional()
+ public void delete(Merchant merchant) {
+ template.delete(merchant);
+ }
+
+}
diff --git a/src/main/java/com/mall/admin/dao/impl/SecondKillDaoImpl.java b/src/main/java/com/mall/admin/dao/impl/SecondKillDaoImpl.java
new file mode 100644
index 0000000..67dbf81
--- /dev/null
+++ b/src/main/java/com/mall/admin/dao/impl/SecondKillDaoImpl.java
@@ -0,0 +1,68 @@
+package com.mall.admin.dao.impl;
+
+import com.mall.admin.dao.SecondKillDao;
+import com.mall.model.SecondKill;
+import org.hibernate.SessionFactory;
+import org.hibernate.criterion.DetachedCriteria;
+import org.hibernate.criterion.Restrictions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.orm.hibernate5.HibernateTemplate;
+import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Repository
+public class SecondKillDaoImpl implements SecondKillDao {
+ private HibernateTemplate template;
+
+ @Autowired
+ public SecondKillDaoImpl(SessionFactory sessionFactory) {
+ template = new HibernateTemplate(sessionFactory);
+ }
+
+ @Override
+ public List findAll() {
+ DetachedCriteria criteria = DetachedCriteria.forClass(SecondKill.class);
+ return (List) template.findByCriteria(criteria);
+ }
+
+ @Override
+ public SecondKill findById(int id) {
+ DetachedCriteria criteria = DetachedCriteria.forClass(SecondKill.class);
+ criteria.add(Restrictions.eq("id", id));
+ List resultList = (List) template.findByCriteria(criteria);
+ if (resultList.size() == 0) {
+ return null;
+ }
+ return resultList.get(0);
+ }
+
+ public List findByPage(int page, int pageSize) {
+ DetachedCriteria criteria = DetachedCriteria.forClass(SecondKill.class);
+ int offset = (page - 1) * pageSize;
+ List resultList = (List) this.template.findByCriteria(criteria, offset, pageSize);
+ return resultList;
+ }
+
+ @Override
+ @Transactional()
+ public int save(SecondKill secondKill) {
+ Serializable result = template.save(secondKill);
+ return (Integer) result;
+ }
+
+ @Override
+ @Transactional()
+ public void update(SecondKill secondKill) {
+ template.update(secondKill);
+ }
+
+ @Override
+ @Transactional()
+ public void delete(SecondKill secondKill) {
+ template.delete(secondKill);
+ }
+
+}
diff --git a/src/main/java/com/mall/admin/service/AdminGroupService.java b/src/main/java/com/mall/admin/service/AdminGroupService.java
new file mode 100644
index 0000000..078d2a6
--- /dev/null
+++ b/src/main/java/com/mall/admin/service/AdminGroupService.java
@@ -0,0 +1,21 @@
+package com.mall.admin.service;
+
+import com.mall.model.AdminGroup;
+
+import java.util.List;
+
+public interface AdminGroupService {
+
+ List findAll();
+
+ List findByPage(int offset, int pageSize);
+
+ AdminGroup findById(int id);
+
+ int save(AdminGroup adminGroup);
+
+ void update(AdminGroup adminGroup);
+
+ void delete(AdminGroup adminGroup);
+
+}
diff --git a/src/main/java/com/mall/admin/service/GoodsCatService.java b/src/main/java/com/mall/admin/service/GoodsCatService.java
new file mode 100644
index 0000000..a8e6af4
--- /dev/null
+++ b/src/main/java/com/mall/admin/service/GoodsCatService.java
@@ -0,0 +1,19 @@
+package com.mall.admin.service;
+
+import com.mall.model.GoodsCat;
+
+import java.util.List;
+
+public interface GoodsCatService {
+
+ List findAll();
+
+ GoodsCat findById(int id);
+
+ int save(GoodsCat goodsCat);
+
+ void update(GoodsCat goodsCat);
+
+ void delete(GoodsCat goodsCat);
+
+}
diff --git a/src/main/java/com/mall/admin/service/GoodsService.java b/src/main/java/com/mall/admin/service/GoodsService.java
index a6a4359..20f406d 100644
--- a/src/main/java/com/mall/admin/service/GoodsService.java
+++ b/src/main/java/com/mall/admin/service/GoodsService.java
@@ -1,4 +1,29 @@
package com.mall.admin.service;
-public class GoodsService {
+import com.mall.model.Goods;
+
+import java.util.List;
+
+public interface GoodsService {
+
+ List findAll();
+
+ List findByGoodsName(String goodsName);
+
+ List findByGoodsNameAndPage(String goodsName, int page, int pageSize);
+
+ List findByCatId(int catId);
+
+ List findByCatIdAndPage(int catId, int page, int pageSize);
+
+ List findByPage(int offset, int pageSize);
+
+ Goods findById(int id);
+
+ int save(Goods adminUser);
+
+ void update(Goods adminUser);
+
+ void delete(Goods adminUser);
+
}
diff --git a/src/main/java/com/mall/admin/service/HomeExtendService.java b/src/main/java/com/mall/admin/service/HomeExtendService.java
new file mode 100644
index 0000000..beaf90e
--- /dev/null
+++ b/src/main/java/com/mall/admin/service/HomeExtendService.java
@@ -0,0 +1,21 @@
+package com.mall.admin.service;
+
+import com.mall.model.HomeExtend;
+
+import java.util.List;
+
+public interface HomeExtendService {
+
+ List findAll();
+
+ List findByPage(int offset, int pageSize);
+
+ HomeExtend findById(int id);
+
+ int save(HomeExtend homeExtend);
+
+ void update(HomeExtend homeExtend);
+
+ void delete(HomeExtend homeExtend);
+
+}
diff --git a/src/main/java/com/mall/admin/service/MerchantService.java b/src/main/java/com/mall/admin/service/MerchantService.java
new file mode 100644
index 0000000..0e9bee8
--- /dev/null
+++ b/src/main/java/com/mall/admin/service/MerchantService.java
@@ -0,0 +1,21 @@
+package com.mall.admin.service;
+
+import com.mall.model.Merchant;
+
+import java.util.List;
+
+public interface MerchantService {
+
+ List findAll();
+
+ List findByPage(int offset, int pageSize);
+
+ Merchant findById(int id);
+
+ int save(Merchant merchant);
+
+ void update(Merchant merchant);
+
+ void delete(Merchant merchant);
+
+}
diff --git a/src/main/java/com/mall/admin/service/SecondKillService.java b/src/main/java/com/mall/admin/service/SecondKillService.java
new file mode 100644
index 0000000..ec20c86
--- /dev/null
+++ b/src/main/java/com/mall/admin/service/SecondKillService.java
@@ -0,0 +1,21 @@
+package com.mall.admin.service;
+
+import com.mall.model.SecondKill;
+
+import java.util.List;
+
+public interface SecondKillService {
+
+ List findAll();
+
+ List findByPage(int offset, int pageSize);
+
+ SecondKill findById(int id);
+
+ int save(SecondKill secondKill);
+
+ void update(SecondKill secondKill);
+
+ void delete(SecondKill secondKill);
+
+}
diff --git a/src/main/java/com/mall/admin/service/impl/AdminGroupServiceImpl.java b/src/main/java/com/mall/admin/service/impl/AdminGroupServiceImpl.java
new file mode 100644
index 0000000..23b889a
--- /dev/null
+++ b/src/main/java/com/mall/admin/service/impl/AdminGroupServiceImpl.java
@@ -0,0 +1,50 @@
+package com.mall.admin.service.impl;
+
+import com.mall.admin.dao.AdminGroupDao;
+import com.mall.admin.service.AdminGroupService;
+import com.mall.model.AdminGroup;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class AdminGroupServiceImpl implements AdminGroupService {
+
+ @Autowired
+ private AdminGroupDao adminGroupDao;
+
+ @Override
+ public List findAll() {
+ List adminGroups = adminGroupDao.findAll();
+ return adminGroups;
+ }
+
+ @Override
+ public List findByPage(int offset, int pageSize) {
+ List adminGroups = adminGroupDao.findByPage(offset, pageSize);
+ return adminGroups;
+ }
+
+ @Override
+ public AdminGroup findById(int id) {
+ AdminGroup adminGroup = adminGroupDao.findById(id);
+ return adminGroup;
+ }
+
+ @Override
+ public int save(AdminGroup adminGroup) {
+ int status = adminGroupDao.save(adminGroup);
+ return status;
+ }
+
+ @Override
+ public void update(AdminGroup adminGroup) {
+ adminGroupDao.update(adminGroup);
+ }
+
+ @Override
+ public void delete(AdminGroup adminGroup) {
+ adminGroupDao.delete(adminGroup);
+ }
+}
diff --git a/src/main/java/com/mall/admin/service/impl/GoodsCatServiceImpl.java b/src/main/java/com/mall/admin/service/impl/GoodsCatServiceImpl.java
new file mode 100644
index 0000000..f85fae9
--- /dev/null
+++ b/src/main/java/com/mall/admin/service/impl/GoodsCatServiceImpl.java
@@ -0,0 +1,61 @@
+package com.mall.admin.service.impl;
+
+import com.mall.admin.dao.GoodsCatDao;
+import com.mall.admin.service.GoodsCatService;
+import com.mall.model.GoodsCat;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class GoodsCatServiceImpl implements GoodsCatService {
+
+ @Autowired
+ private GoodsCatDao goodsCatDao;
+
+ @Override
+ public List findAll() {
+ List goodsCats = goodsCatDao.findByParentId(0);
+ if (goodsCats == null) {
+ return null;
+ }
+
+ setChildrenCats(goodsCats);
+ return goodsCats;
+ }
+
+ @Override
+ public GoodsCat findById(int id) {
+ GoodsCat goodsCat = goodsCatDao.findById(id);
+ return goodsCat;
+ }
+
+ @Override
+ public int save(GoodsCat goodsCat) {
+ int status = goodsCatDao.save(goodsCat);
+ return status;
+ }
+
+ @Override
+ public void update(GoodsCat goodsCat) {
+ goodsCatDao.update(goodsCat);
+ }
+
+ @Override
+ public void delete(GoodsCat goodsCat) {
+ goodsCatDao.delete(goodsCat);
+ }
+
+ // 格式化结果,将所有子分类拼接到父分类中
+ private void setChildrenCats(List goodsCats) {
+ System.out.println(goodsCats);
+ for (int i = 0; i < goodsCats.size(); i++) {
+ GoodsCat goodsCat = goodsCats.get(i);
+
+ List childrenCats = goodsCatDao.findByParentId(
+ goodsCat.getId());
+ goodsCat.setChildrenCats(childrenCats);
+ }
+ }
+}
diff --git a/src/main/java/com/mall/admin/service/impl/GoodsServiceImpl.java b/src/main/java/com/mall/admin/service/impl/GoodsServiceImpl.java
index c1ab198..c5ba642 100644
--- a/src/main/java/com/mall/admin/service/impl/GoodsServiceImpl.java
+++ b/src/main/java/com/mall/admin/service/impl/GoodsServiceImpl.java
@@ -1,4 +1,74 @@
package com.mall.admin.service.impl;
-public class GoodsServiceImpl {
+import com.mall.admin.dao.GoodsDao;
+import com.mall.admin.service.GoodsService;
+import com.mall.model.Goods;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class GoodsServiceImpl implements GoodsService {
+
+ @Autowired
+ private GoodsDao goodsDao;
+
+ @Override
+ public List findAll() {
+ List goodses = goodsDao.findAll();
+ return goodses;
+ }
+
+ @Override
+ public List findByGoodsName(String goodsName) {
+ List goodses = goodsDao.findByGoodsName(goodsName);
+ return goodses;
+ }
+
+ @Override
+ public List findByGoodsNameAndPage(String goodsName, int page, int pageSize) {
+ List goodses = goodsDao.findByGoodsNameAndPage(goodsName, page, pageSize);
+ return goodses;
+ }
+
+ @Override
+ public List findByCatId(int catId) {
+ List goodses = goodsDao.findByCatId(catId);
+ return goodses;
+ }
+
+ @Override
+ public List findByCatIdAndPage(int catId, int page, int pageSize) {
+ List goodses = goodsDao.findByCatIdAndPage(catId, page, pageSize);
+ return goodses;
+ }
+
+ @Override
+ public List findByPage(int offset, int pageSize) {
+ List goodss = goodsDao.findByPage(offset, pageSize);
+ return goodss;
+ }
+
+ @Override
+ public Goods findById(int id) {
+ Goods goods = goodsDao.findById(id);
+ return goods;
+ }
+
+ @Override
+ public int save(Goods goods) {
+ int status = goodsDao.save(goods);
+ return status;
+ }
+
+ @Override
+ public void update(Goods goods) {
+ goodsDao.update(goods);
+ }
+
+ @Override
+ public void delete(Goods goods) {
+ goodsDao.delete(goods);
+ }
}
diff --git a/src/main/java/com/mall/admin/service/impl/HomeExtendServiceImpl.java b/src/main/java/com/mall/admin/service/impl/HomeExtendServiceImpl.java
new file mode 100644
index 0000000..388f6fa
--- /dev/null
+++ b/src/main/java/com/mall/admin/service/impl/HomeExtendServiceImpl.java
@@ -0,0 +1,51 @@
+package com.mall.admin.service.impl;
+
+import com.mall.admin.dao.HomeExtendDao;
+import com.mall.admin.service.HomeExtendService;
+import com.mall.admin.service.HomeExtendService;
+import com.mall.model.HomeExtend;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class HomeExtendServiceImpl implements HomeExtendService {
+
+ @Autowired
+ private HomeExtendDao homeExtendDao;
+
+ @Override
+ public List findAll() {
+ List homeExtends = homeExtendDao.findAll();
+ return homeExtends;
+ }
+
+ @Override
+ public List findByPage(int offset, int pageSize) {
+ List homeExtends = homeExtendDao.findByPage(offset, pageSize);
+ return homeExtends;
+ }
+
+ @Override
+ public HomeExtend findById(int id) {
+ HomeExtend homeExtend = homeExtendDao.findById(id);
+ return homeExtend;
+ }
+
+ @Override
+ public int save(HomeExtend homeExtend) {
+ int status = homeExtendDao.save(homeExtend);
+ return status;
+ }
+
+ @Override
+ public void update(HomeExtend homeExtend) {
+ homeExtendDao.update(homeExtend);
+ }
+
+ @Override
+ public void delete(HomeExtend homeExtend) {
+ homeExtendDao.delete(homeExtend);
+ }
+}
diff --git a/src/main/java/com/mall/admin/service/impl/MerchantServiceImpl.java b/src/main/java/com/mall/admin/service/impl/MerchantServiceImpl.java
new file mode 100644
index 0000000..6087319
--- /dev/null
+++ b/src/main/java/com/mall/admin/service/impl/MerchantServiceImpl.java
@@ -0,0 +1,50 @@
+package com.mall.admin.service.impl;
+
+import com.mall.admin.dao.MerchantDao;
+import com.mall.admin.service.MerchantService;
+import com.mall.model.Merchant;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class MerchantServiceImpl implements MerchantService {
+
+ @Autowired
+ private MerchantDao merchantDao;
+
+ @Override
+ public List findAll() {
+ List merchants = merchantDao.findAll();
+ return merchants;
+ }
+
+ @Override
+ public List findByPage(int offset, int pageSize) {
+ List merchants = merchantDao.findByPage(offset, pageSize);
+ return merchants;
+ }
+
+ @Override
+ public Merchant findById(int id) {
+ Merchant merchant = merchantDao.findById(id);
+ return merchant;
+ }
+
+ @Override
+ public int save(Merchant merchant) {
+ int status = merchantDao.save(merchant);
+ return status;
+ }
+
+ @Override
+ public void update(Merchant merchant) {
+ merchantDao.update(merchant);
+ }
+
+ @Override
+ public void delete(Merchant merchant) {
+ merchantDao.delete(merchant);
+ }
+}
diff --git a/src/main/java/com/mall/admin/service/impl/SecondKillServiceImpl.java b/src/main/java/com/mall/admin/service/impl/SecondKillServiceImpl.java
new file mode 100644
index 0000000..b8228f0
--- /dev/null
+++ b/src/main/java/com/mall/admin/service/impl/SecondKillServiceImpl.java
@@ -0,0 +1,50 @@
+package com.mall.admin.service.impl;
+
+import com.mall.admin.dao.SecondKillDao;
+import com.mall.admin.service.SecondKillService;
+import com.mall.model.SecondKill;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class SecondKillServiceImpl implements SecondKillService {
+
+ @Autowired
+ private SecondKillDao secondKillDao;
+
+ @Override
+ public List findAll() {
+ List secondKills = secondKillDao.findAll();
+ return secondKills;
+ }
+
+ @Override
+ public List findByPage(int offset, int pageSize) {
+ List secondKills = secondKillDao.findByPage(offset, pageSize);
+ return secondKills;
+ }
+
+ @Override
+ public SecondKill findById(int id) {
+ SecondKill secondKill = secondKillDao.findById(id);
+ return secondKill;
+ }
+
+ @Override
+ public int save(SecondKill secondKill) {
+ int status = secondKillDao.save(secondKill);
+ return status;
+ }
+
+ @Override
+ public void update(SecondKill secondKill) {
+ secondKillDao.update(secondKill);
+ }
+
+ @Override
+ public void delete(SecondKill secondKill) {
+ secondKillDao.delete(secondKill);
+ }
+}
diff --git a/src/main/java/com/mall/common/UploadAction.java b/src/main/java/com/mall/common/UploadAction.java
new file mode 100644
index 0000000..6ae9e38
--- /dev/null
+++ b/src/main/java/com/mall/common/UploadAction.java
@@ -0,0 +1,56 @@
+package com.mall.common;
+
+import com.mall.utils.ResponseTemplate;
+import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ServletActionContext;
+import org.apache.struts2.util.TokenHelper;
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.Map;
+
+public class UploadAction extends ActionSupport {
+
+ private File uploadFile;
+ private String uploadFileContentType;
+ private String uploadFileFileName;
+
+ public Map jsonResult;
+
+ public String upload() {
+ System.out.println(this.uploadFileContentType);
+ System.out.println(this.uploadFileFileName);
+
+ // 1.获取文件的保存路径
+ String basePath = ServletActionContext.getServletContext().getRealPath("/uploads");
+ File basePathFile = new File(basePath);
+
+ // 2.把文件名UUID
+ String GUIDFileName = TokenHelper.generateGUID() + "_" + uploadFileFileName;
+
+ // 3.保存文件
+ // 复制:临时文件还在,浪费服务器磁盘空间
+ //FileUtils.copyFile(visitFile, new File(file,GUIDFileName));
+ // 剪切:把临时文件重命名到指定位置(比较好)
+ uploadFile.renameTo(new File(basePathFile, GUIDFileName));
+
+ // 4. 返回结果,将文件的保存路径返回
+ Map map = new HashMap<>();
+ map.put("filePath", basePath + "/" + GUIDFileName);
+ jsonResult = ResponseTemplate.success(map);
+ return SUCCESS;
+ }
+
+ public void setUploadFile(File uploadFile) {
+ this.uploadFile = uploadFile;
+ }
+
+ public void setUploadFileContentType(String uploadFileContentType) {
+ this.uploadFileContentType = uploadFileContentType;
+ }
+
+ public void setUploadFileFileName(String uploadFileFileName) {
+ this.uploadFileFileName = uploadFileFileName;
+ }
+
+}
diff --git a/src/main/java/com/mall/frontend/dao/UserDao.java b/src/main/java/com/mall/frontend/dao/UserDao.java
index 0f2370b..e00934e 100644
--- a/src/main/java/com/mall/frontend/dao/UserDao.java
+++ b/src/main/java/com/mall/frontend/dao/UserDao.java
@@ -2,10 +2,10 @@
import com.mall.model.User;
-import java.util.List;
+import java.util.Set;
public interface UserDao {
int saveUser(User user);
- List getUserByPhone(String phone);
+ Set getUserByPhone(String phone);
}
diff --git a/src/main/java/com/mall/frontend/dao/impl/UserDaoImpl.java b/src/main/java/com/mall/frontend/dao/impl/UserDaoImpl.java
index 760f9b5..9a50368 100644
--- a/src/main/java/com/mall/frontend/dao/impl/UserDaoImpl.java
+++ b/src/main/java/com/mall/frontend/dao/impl/UserDaoImpl.java
@@ -11,7 +11,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.io.Serializable;
-import java.util.List;
+import java.util.Set;
@Repository
public class UserDaoImpl implements UserDao{
@@ -31,10 +31,10 @@ public int saveUser(User user) {
}
@Override
- public List getUserByPhone(String phone) {
+ public Set getUserByPhone(String phone) {
DetachedCriteria criteria=DetachedCriteria.forClass(User.class);
criteria.add(Restrictions.eq("phone", phone));
- List list = (List) template.findByCriteria(criteria, 0, 1);
+ Set list = (Set) template.findByCriteria(criteria, 0, 1);
return list;
}
}
diff --git a/src/main/java/com/mall/frontend/service/impl/UserServiceImpl.java b/src/main/java/com/mall/frontend/service/impl/UserServiceImpl.java
index 996dc3d..9f2f4f8 100644
--- a/src/main/java/com/mall/frontend/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/mall/frontend/service/impl/UserServiceImpl.java
@@ -6,7 +6,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.Iterator;
import java.util.List;
+import java.util.Set;
@Service
public class UserServiceImpl implements UserService {
@@ -22,7 +24,7 @@ public int saveUser(User user) {
@Override
public Boolean isExist(String phone) {
- List users = userDao.getUserByPhone(phone);
+ Set users = userDao.getUserByPhone(phone);
if (users.size() > 0) {
return true;
}
@@ -30,7 +32,7 @@ public Boolean isExist(String phone) {
}
public User isAllowLogin(String phone, String password) {
- List users = userDao.getUserByPhone(phone);
+ List users = (List) userDao.getUserByPhone(phone);
String pwd = users.size() > 0 ? users.get(0).getPassword() : "xasda";
System.out.println(pwd);
if (pwd.equals(password)) {
diff --git a/src/main/java/com/mall/model/AdminGroup.java b/src/main/java/com/mall/model/AdminGroup.java
index 5f63723..820de59 100644
--- a/src/main/java/com/mall/model/AdminGroup.java
+++ b/src/main/java/com/mall/model/AdminGroup.java
@@ -1,15 +1,19 @@
package com.mall.model;
-import org.hibernate.annotations.CreationTimestamp;
-import org.hibernate.annotations.GenericGenerator;
-import org.hibernate.annotations.UpdateTimestamp;
+import org.hibernate.annotations.*;
+import javax.persistence.CascadeType;
import javax.persistence.*;
-import java.util.ArrayList;
+import javax.persistence.Entity;
+import javax.persistence.Table;
import java.util.Date;
-import java.util.List;
+import java.util.HashSet;
+import java.util.Set;
+/**
+ * 后台管理员分组
+ */
@Entity
@Table(name = "admin_group")
public class AdminGroup {
@@ -31,8 +35,9 @@ public class AdminGroup {
@UpdateTimestamp
private Date updatedAt;
- @ManyToMany(mappedBy = "adminGroups", fetch = FetchType.EAGER)
- private List adminUsers = new ArrayList<>();
+ @ManyToMany(mappedBy = "adminGroups", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
+ @Fetch(value = FetchMode.SUBSELECT)
+ private Set adminUsers = new HashSet<>();
public int getId() {
return id;
@@ -66,11 +71,11 @@ public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
- public List getAdminUsers() {
+ public Set getAdminUsers() {
return adminUsers;
}
- public void setAdminUsers(List adminUsers) {
+ public void setAdminUsers(Set adminUsers) {
this.adminUsers = adminUsers;
}
}
diff --git a/src/main/java/com/mall/model/AdminUser.java b/src/main/java/com/mall/model/AdminUser.java
index 2a1cf5f..1cb36ae 100644
--- a/src/main/java/com/mall/model/AdminUser.java
+++ b/src/main/java/com/mall/model/AdminUser.java
@@ -1,14 +1,18 @@
package com.mall.model;
-import org.hibernate.annotations.CreationTimestamp;
-import org.hibernate.annotations.GenericGenerator;
-import org.hibernate.annotations.UpdateTimestamp;
+import org.hibernate.annotations.*;
+import javax.persistence.CascadeType;
import javax.persistence.*;
-import java.util.ArrayList;
+import javax.persistence.Entity;
+import javax.persistence.Table;
import java.util.Date;
-import java.util.List;
+import java.util.HashSet;
+import java.util.Set;
+/**
+ * 后台管理员
+ */
@Entity
@Table(name = "admin_user")
public class AdminUser {
@@ -38,8 +42,11 @@ public class AdminUser {
@UpdateTimestamp
private Date updatedAt;
- @ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.EAGER)
- private List adminGroups = new ArrayList<>();
+
+ @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
+ @JoinTable(name = "admin_users_groups",joinColumns = @JoinColumn(name = "admin_user_id"),inverseJoinColumns = @JoinColumn(name = "admin_group_id"))
+ @Fetch(value = FetchMode.SUBSELECT)
+ private Set adminGroups = new HashSet<>();
public AdminUser() {
}
@@ -100,11 +107,11 @@ public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
- public List getAdminGroups() {
+ public Set getAdminGroups() {
return adminGroups;
}
- public void setAdminGroups(List adminGroups) {
+ public void setAdminGroups(Set adminGroups) {
this.adminGroups = adminGroups;
}
}
diff --git a/src/main/java/com/mall/model/Goods.java b/src/main/java/com/mall/model/Goods.java
index 7597267..1b3e170 100644
--- a/src/main/java/com/mall/model/Goods.java
+++ b/src/main/java/com/mall/model/Goods.java
@@ -1,10 +1,13 @@
package com.mall.model;
+import org.hibernate.annotations.Fetch;
+import org.hibernate.annotations.FetchMode;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
-import java.util.List;
+import java.util.HashSet;
+import java.util.Set;
/**
* 商品
@@ -28,25 +31,43 @@ public class Goods {
// 商品描述(只能使用图片,规则和商品图片相同)
private String goodsDesc;
+ // 商品销售总数
+ private int salesNum;
+
// 商品所在分类 ID
@ManyToOne
+ @JoinColumn(name = "goods_cat_id",
+ foreignKey = @ForeignKey(name = "GOODS_CAT_ID_FK")
+ )
private GoodsCat goodsCat;
+ // 商品所属商家
+ @ManyToOne
+ @JoinColumn(name = "merchant_id",
+ foreignKey = @ForeignKey(name = "MERCHANT_ID_FK")
+ )
+ private Merchant merchant;
+
// 商品所在分组(提供给商家自己对商品归类)
- @ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.EAGER)
- private List goodsGroups;
+ @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
+ @JoinTable(name = "goods_groups",joinColumns = @JoinColumn(name = "goods_id"),inverseJoinColumns = @JoinColumn(name = "group_id"))
+ @Fetch(value = FetchMode.SUBSELECT)
+ private Set goodsGroups = new HashSet<>();
// 商品套餐(价格在这里面定义)
- @OneToMany(mappedBy = "goods", cascade = CascadeType.ALL, orphanRemoval = true)
- private List goodsAttrs;
+ @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER)
+ @Fetch(value = FetchMode.SUBSELECT)
+ private Set goodsAttrs = new HashSet<>();
// 商品详细配置信息
- @OneToMany(mappedBy = "goods", cascade = CascadeType.ALL, orphanRemoval = true)
- private List goodsDetails;
+ @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER)
+ @Fetch(value = FetchMode.SUBSELECT)
+ private Set goodsDetails = new HashSet<>();
// 商品评价
- @OneToMany(mappedBy = "goods", cascade = CascadeType.ALL, orphanRemoval = true)
- private List goodsComments;
+ @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER)
+ @Fetch(value = FetchMode.SUBSELECT)
+ private Set goodsComments = new HashSet<>();
public int getId() {
return id;
@@ -80,6 +101,14 @@ public void setGoodsDesc(String goodsDesc) {
this.goodsDesc = goodsDesc;
}
+ public int getSalesNum() {
+ return salesNum;
+ }
+
+ public void setSalesNum(int salesNum) {
+ this.salesNum = salesNum;
+ }
+
public GoodsCat getGoodsCat() {
return goodsCat;
}
@@ -88,35 +117,43 @@ public void setGoodsCat(GoodsCat goodsCat) {
this.goodsCat = goodsCat;
}
- public List getGoodsGroups() {
+ public Merchant getMerchant() {
+ return merchant;
+ }
+
+ public void setMerchant(Merchant merchant) {
+ this.merchant = merchant;
+ }
+
+ public Set getGoodsGroups() {
return goodsGroups;
}
- public void setGoodsGroups(List goodsGroups) {
+ public void setGoodsGroups(Set goodsGroups) {
this.goodsGroups = goodsGroups;
}
- public List getGoodsAttrs() {
+ public Set getGoodsAttrs() {
return goodsAttrs;
}
- public void setGoodsAttrs(List goodsAttrs) {
+ public void setGoodsAttrs(Set goodsAttrs) {
this.goodsAttrs = goodsAttrs;
}
- public List getGoodsDetails() {
+ public Set getGoodsDetails() {
return goodsDetails;
}
- public void setGoodsDetails(List goodsDetails) {
+ public void setGoodsDetails(Set goodsDetails) {
this.goodsDetails = goodsDetails;
}
- public List getGoodsComments() {
+ public Set getGoodsComments() {
return goodsComments;
}
- public void setGoodsComments(List goodsComments) {
+ public void setGoodsComments(Set goodsComments) {
this.goodsComments = goodsComments;
}
}
diff --git a/src/main/java/com/mall/model/GoodsAttr.java b/src/main/java/com/mall/model/GoodsAttr.java
index 781cc34..6d8fc44 100644
--- a/src/main/java/com/mall/model/GoodsAttr.java
+++ b/src/main/java/com/mall/model/GoodsAttr.java
@@ -1,6 +1,7 @@
package com.mall.model;
+import org.hibernate.annotations.ColumnDefault;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
@@ -22,17 +23,21 @@ public class GoodsAttr {
// 该配置信息
private String attrTitle;
+ // 该配置商品小图
+ private String attrImgUrl;
+
// 该配置商品编号(每一个属性都有一个独特的商品编号)
private String goodsCode;
// 该配置商品价格
- private int attrPrice;
+ private double attrPrice;
// 该配置商品是否已上架
+ @ColumnDefault(value = "false")
private Boolean onSale;
- @ManyToOne
- private Goods goods;
+// @ManyToOne
+// private Goods goods;
public int getId() {
return id;
@@ -58,7 +63,7 @@ public void setGoodsCode(String goodsCode) {
this.goodsCode = goodsCode;
}
- public int getAttrPrice() {
+ public double getAttrPrice() {
return attrPrice;
}
@@ -74,11 +79,11 @@ public void setOnSale(Boolean onSale) {
this.onSale = onSale;
}
- public Goods getGoods() {
- return goods;
- }
-
- public void setGoods(Goods goods) {
- this.goods = goods;
- }
+// public Goods getGoods() {
+// return goods;
+// }
+//
+// public void setGoods(Goods goods) {
+// this.goods = goods;
+// }
}
diff --git a/src/main/java/com/mall/model/GoodsCat.java b/src/main/java/com/mall/model/GoodsCat.java
index 7db9861..a33f3dd 100644
--- a/src/main/java/com/mall/model/GoodsCat.java
+++ b/src/main/java/com/mall/model/GoodsCat.java
@@ -27,8 +27,38 @@ public class GoodsCat {
// 分类名称
private String catName;
- // 分类下的所有商品
- @OneToMany(mappedBy = "goodsCat", cascade = CascadeType.ALL, orphanRemoval = true)
- private List goodses;
+ @Transient
+ private List childrenCats;
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public int getParentId() {
+ return parentId;
+ }
+
+ public void setParentId(int parentId) {
+ this.parentId = parentId;
+ }
+
+ public String getCatName() {
+ return catName;
+ }
+
+ public void setCatName(String catName) {
+ this.catName = catName;
+ }
+
+ public List getChildrenCats() {
+ return childrenCats;
+ }
+
+ public void setChildrenCats(List childrenCats) {
+ this.childrenCats = childrenCats;
+ }
}
diff --git a/src/main/java/com/mall/model/GoodsComment.java b/src/main/java/com/mall/model/GoodsComment.java
index fdf929b..ee4dd62 100644
--- a/src/main/java/com/mall/model/GoodsComment.java
+++ b/src/main/java/com/mall/model/GoodsComment.java
@@ -24,8 +24,8 @@ public class GoodsComment {
// 评价等级:星星数量
private int commentLevel;
- @ManyToOne
- private Goods goods;
+// @ManyToOne
+// private Goods goods;
public int getId() {
return id;
@@ -51,11 +51,11 @@ public void setCommentLevel(int commentLevel) {
this.commentLevel = commentLevel;
}
- public Goods getGoods() {
- return goods;
- }
-
- public void setGoods(Goods goods) {
- this.goods = goods;
- }
+// public Goods getGoods() {
+// return goods;
+// }
+//
+// public void setGoods(Goods goods) {
+// this.goods = goods;
+// }
}
diff --git a/src/main/java/com/mall/model/GoodsDetail.java b/src/main/java/com/mall/model/GoodsDetail.java
index 86eb86e..1c82557 100644
--- a/src/main/java/com/mall/model/GoodsDetail.java
+++ b/src/main/java/com/mall/model/GoodsDetail.java
@@ -28,10 +28,6 @@ public class GoodsDetail {
// 商品详细信息的 Value
private String detailValue;
- // 商品
- @ManyToOne
- private Goods goods;
-
public int getId() {
return id;
}
@@ -55,12 +51,4 @@ public String getDetailValue() {
public void setDetailValue(String detailValue) {
this.detailValue = detailValue;
}
-
- public Goods getGoods() {
- return goods;
- }
-
- public void setGoods(Goods goods) {
- this.goods = goods;
- }
}
diff --git a/src/main/java/com/mall/model/GoodsGroup.java b/src/main/java/com/mall/model/GoodsGroup.java
index 50157c5..be21a7f 100644
--- a/src/main/java/com/mall/model/GoodsGroup.java
+++ b/src/main/java/com/mall/model/GoodsGroup.java
@@ -1,10 +1,13 @@
package com.mall.model;
+import org.hibernate.annotations.Fetch;
+import org.hibernate.annotations.FetchMode;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
-import java.util.List;
+import java.util.HashSet;
+import java.util.Set;
/**
* 商品分组
@@ -23,8 +26,9 @@ public class GoodsGroup {
private String goodsName;
- @ManyToMany(mappedBy = "goodsGroups", fetch = FetchType.EAGER)
- private List goodses;
+ @ManyToMany(mappedBy = "goodsGroups", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
+ @Fetch(value = FetchMode.SUBSELECT)
+ private Set goodses = new HashSet<>();
public int getId() {
return id;
@@ -42,11 +46,11 @@ public void setGoodsName(String goodsName) {
this.goodsName = goodsName;
}
- public List getGoodses() {
+ public Set getGoodses() {
return goodses;
}
- public void setGoodses(List goodses) {
+ public void setGoodses(Set goodses) {
this.goodses = goodses;
}
}
diff --git a/src/main/java/com/mall/model/HomeExtend.java b/src/main/java/com/mall/model/HomeExtend.java
new file mode 100644
index 0000000..815bbb1
--- /dev/null
+++ b/src/main/java/com/mall/model/HomeExtend.java
@@ -0,0 +1,63 @@
+package com.mall.model;
+
+
+import org.hibernate.annotations.GenericGenerator;
+
+import javax.persistence.*;
+
+/**
+ * 首页推广
+ */
+@Entity
+@Table(name = "home_extend")
+public class HomeExtend {
+
+ // 唯一标识 ID
+ @Id
+ @GeneratedValue(generator = "id")
+ @GenericGenerator(name = "id", strategy = "native")
+ private int id;
+
+ // 推广标题
+ private String extendTitle;
+
+ // 推广图片地址
+ private String extendImgUrl;
+
+ // 推广所在分组
+ @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
+ @JoinColumn(name = "goods_cat_id")
+ private GoodsCat goodsCat;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getExtendTitle() {
+ return extendTitle;
+ }
+
+ public void setExtendTitle(String extendTitle) {
+ this.extendTitle = extendTitle;
+ }
+
+ public String getExtendImgUrl() {
+ return extendImgUrl;
+ }
+
+ public void setExtendImgUrl(String extendImgUrl) {
+ this.extendImgUrl = extendImgUrl;
+ }
+
+ public GoodsCat getGoodsCat() {
+ return goodsCat;
+ }
+
+ public void setGoodsCat(GoodsCat goodsCat) {
+ this.goodsCat = goodsCat;
+ }
+}
diff --git a/src/main/java/com/mall/model/Merchant.java b/src/main/java/com/mall/model/Merchant.java
index a2ddcf5..63dec36 100644
--- a/src/main/java/com/mall/model/Merchant.java
+++ b/src/main/java/com/mall/model/Merchant.java
@@ -25,10 +25,10 @@ public class Merchant {
private String merchantName;
// 店铺地址
- private String mechantPlace;
+ private String merchantPlace;
// 店铺描述
- private String mechantDesc;
+ private String merchantDesc;
// 后台登陆密码
private String adminPass;
@@ -58,20 +58,20 @@ public void setMerchantName(String merchantName) {
this.merchantName = merchantName;
}
- public String getMechantPlace() {
- return mechantPlace;
+ public String getMerchantPlace() {
+ return merchantPlace;
}
- public void setMechantPlace(String mechantPlace) {
- this.mechantPlace = mechantPlace;
+ public void setMerchantPlace(String merchantPlace) {
+ this.merchantPlace = merchantPlace;
}
- public String getMechantDesc() {
- return mechantDesc;
+ public String getMerchantDesc() {
+ return merchantDesc;
}
- public void setMechantDesc(String mechantDesc) {
- this.mechantDesc = mechantDesc;
+ public void setMerchantDesc(String merchantDesc) {
+ this.merchantDesc = merchantDesc;
}
public String getAdminPass() {
diff --git a/src/main/java/com/mall/model/SecondKill.java b/src/main/java/com/mall/model/SecondKill.java
new file mode 100644
index 0000000..59bda42
--- /dev/null
+++ b/src/main/java/com/mall/model/SecondKill.java
@@ -0,0 +1,68 @@
+package com.mall.model;
+
+
+import org.hibernate.annotations.GenericGenerator;
+
+import javax.persistence.*;
+import java.util.Date;
+
+/**
+ * 首页推广
+ */
+@Entity
+@Table(name = "second_kill")
+public class SecondKill {
+
+ // 唯一标识 ID
+ @Id
+ @GeneratedValue(generator = "id")
+ @GenericGenerator(name = "id", strategy = "native")
+ private int id;
+
+ // 秒杀推广图片
+ private String skImg;
+
+ // 秒杀价格
+ private double skPrice;
+
+ // 秒杀结束时间
+ @Temporal(TemporalType.TIMESTAMP)
+ private Date endedAt;
+
+ // 该秒杀对应的商品套餐
+ @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
+ @JoinColumn(name = "goods_attr_id")
+ private GoodsAttr goodsAttr;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getSkImg() {
+ return skImg;
+ }
+
+ public void setSkImg(String skImg) {
+ this.skImg = skImg;
+ }
+
+ public double getSkPrice() {
+ return skPrice;
+ }
+
+ public void setSkPrice(int skPrice) {
+ this.skPrice = skPrice;
+ }
+
+ public GoodsAttr getGoodsAttr() {
+ return goodsAttr;
+ }
+
+ public void setGoodsAttr(GoodsAttr goodsAttr) {
+ this.goodsAttr = goodsAttr;
+ }
+}
diff --git a/src/main/java/com/mall/model/User.java b/src/main/java/com/mall/model/User.java
index fc26481..fd5167d 100644
--- a/src/main/java/com/mall/model/User.java
+++ b/src/main/java/com/mall/model/User.java
@@ -9,6 +9,9 @@
import java.util.List;
+/**
+ * 用户
+ */
@Entity
@Table(name="user")
public class User {
diff --git a/src/main/java/com/mall/utils/PageBean.java b/src/main/java/com/mall/utils/PageBean.java
deleted file mode 100644
index d9db84b..0000000
--- a/src/main/java/com/mall/utils/PageBean.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.mall.utils;
-
-import java.util.List;
-
-/**
- * Page Bean
- */
-public class PageBean {
- private int currPage;
- private int pageSize;
- private int totalCount;
- private int totalPage;
- private List list;
-
- public int getCurrPage() {
- return currPage;
- }
- public void setCurrPage(int currPage) {
- this.currPage = currPage;
- }
- public int getPageSize() {
- return pageSize;
- }
- public void setPageSize(int pageSize) {
- this.pageSize = pageSize;
- }
- public int getTotalCount() {
- return totalCount;
- }
- public void setTotalCount(int totalCount) {
- this.totalCount = totalCount;
- }
- public int getTotalPage() {
- return totalPage;
- }
- public void setTotalPage(int totalPage) {
- this.totalPage = totalPage;
- }
- public List getList() {
- return list;
- }
- public void setList(List list) {
- this.list = list;
- }
-}
-
diff --git a/src/main/resources/admin.struts.xml b/src/main/resources/admin.struts.xml
index 6572f75..efe9e7f 100644
--- a/src/main/resources/admin.struts.xml
+++ b/src/main/resources/admin.struts.xml
@@ -22,7 +22,7 @@
regex:.*
-
+
jsonResult
diff --git a/src/main/resources/struts.xml b/src/main/resources/struts.xml
index 93ed82f..465c5e8 100644
--- a/src/main/resources/struts.xml
+++ b/src/main/resources/struts.xml
@@ -7,4 +7,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ jsonResult
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
index cf4dcb6..add5c4b 100644
--- a/src/main/webapp/WEB-INF/web.xml
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -33,6 +33,8 @@
struts2
/*
+ *.jpg
+ *.png
diff --git a/src/main/webapp/static/img/footer/ico_service.png b/src/main/webapp/static/img/footer/ico_service.png
new file mode 100644
index 0000000..2cef1f7
Binary files /dev/null and b/src/main/webapp/static/img/footer/ico_service.png differ
diff --git a/src/main/webapp/static/img/freeback.png b/src/main/webapp/static/img/freeback.png
new file mode 100644
index 0000000..8eb42bc
Binary files /dev/null and b/src/main/webapp/static/img/freeback.png differ
diff --git a/src/main/webapp/static/img/goodsDetail/hot/1.jpg b/src/main/webapp/static/img/goodsDetail/hot/1.jpg
new file mode 100644
index 0000000..384f3bb
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/hot/1.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/hot/2.jpg b/src/main/webapp/static/img/goodsDetail/hot/2.jpg
new file mode 100644
index 0000000..100bbda
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/hot/2.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/hot/3.jpg b/src/main/webapp/static/img/goodsDetail/hot/3.jpg
new file mode 100644
index 0000000..e86212f
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/hot/3.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/hot/4.jpg b/src/main/webapp/static/img/goodsDetail/hot/4.jpg
new file mode 100644
index 0000000..64fd795
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/hot/4.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/hot/5.jpg b/src/main/webapp/static/img/goodsDetail/hot/5.jpg
new file mode 100644
index 0000000..a46c1da
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/hot/5.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/hot/6.jpg b/src/main/webapp/static/img/goodsDetail/hot/6.jpg
new file mode 100644
index 0000000..65985e8
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/hot/6.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/intro/1.jpg b/src/main/webapp/static/img/goodsDetail/intro/1.jpg
new file mode 100644
index 0000000..0448bf8
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/intro/1.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/intro/2.jpg b/src/main/webapp/static/img/goodsDetail/intro/2.jpg
new file mode 100644
index 0000000..0daa400
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/intro/2.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/intro/3.jpg b/src/main/webapp/static/img/goodsDetail/intro/3.jpg
new file mode 100644
index 0000000..d11470e
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/intro/3.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/intro/4.jpg b/src/main/webapp/static/img/goodsDetail/intro/4.jpg
new file mode 100644
index 0000000..fc4ffa9
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/intro/4.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/intro/5.jpg b/src/main/webapp/static/img/goodsDetail/intro/5.jpg
new file mode 100644
index 0000000..af29342
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/intro/5.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/intro/6.jpg b/src/main/webapp/static/img/goodsDetail/intro/6.jpg
new file mode 100644
index 0000000..21f7200
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/intro/6.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/intro/7.jpg b/src/main/webapp/static/img/goodsDetail/intro/7.jpg
new file mode 100644
index 0000000..1e3d386
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/intro/7.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/intro/8.jpg b/src/main/webapp/static/img/goodsDetail/intro/8.jpg
new file mode 100644
index 0000000..61a1f00
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/intro/8.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/item-detail-1.jpg b/src/main/webapp/static/img/goodsDetail/item-detail-1.jpg
new file mode 100644
index 0000000..36bc719
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/item-detail-1.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/item-detail-2.jpg b/src/main/webapp/static/img/goodsDetail/item-detail-2.jpg
new file mode 100644
index 0000000..545f41c
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/item-detail-2.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/item-detail-3.jpg b/src/main/webapp/static/img/goodsDetail/item-detail-3.jpg
new file mode 100644
index 0000000..92e9c56
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/item-detail-3.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/item-detail-4.jpg b/src/main/webapp/static/img/goodsDetail/item-detail-4.jpg
new file mode 100644
index 0000000..65adb8b
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/item-detail-4.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/pack/1.jpg b/src/main/webapp/static/img/goodsDetail/pack/1.jpg
new file mode 100644
index 0000000..9b08eb9
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/pack/1.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/pack/2.jpg b/src/main/webapp/static/img/goodsDetail/pack/2.jpg
new file mode 100644
index 0000000..d1a7e5f
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/pack/2.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/pack/3.jpg b/src/main/webapp/static/img/goodsDetail/pack/3.jpg
new file mode 100644
index 0000000..271982c
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/pack/3.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/pack/4.jpg b/src/main/webapp/static/img/goodsDetail/pack/4.jpg
new file mode 100644
index 0000000..262f6a2
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/pack/4.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/pack/5.jpg b/src/main/webapp/static/img/goodsDetail/pack/5.jpg
new file mode 100644
index 0000000..c9bb3e3
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/pack/5.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/pack/6.jpg b/src/main/webapp/static/img/goodsDetail/pack/6.jpg
new file mode 100644
index 0000000..ada7f9b
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/pack/6.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/pack/7.jpg b/src/main/webapp/static/img/goodsDetail/pack/7.jpg
new file mode 100644
index 0000000..692fe03
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/pack/7.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/pack/8.jpg b/src/main/webapp/static/img/goodsDetail/pack/8.jpg
new file mode 100644
index 0000000..a47932b
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/pack/8.jpg differ
diff --git a/src/main/webapp/static/img/goodsDetail/pack/9.jpg b/src/main/webapp/static/img/goodsDetail/pack/9.jpg
new file mode 100644
index 0000000..382a43e
Binary files /dev/null and b/src/main/webapp/static/img/goodsDetail/pack/9.jpg differ
diff --git a/src/main/webapp/static/img/goodsList/item-as-img-1.jpg b/src/main/webapp/static/img/goodsList/item-as-img-1.jpg
new file mode 100644
index 0000000..cad7384
Binary files /dev/null and b/src/main/webapp/static/img/goodsList/item-as-img-1.jpg differ
diff --git a/src/main/webapp/static/img/goodsList/item-as-img-2.jpg b/src/main/webapp/static/img/goodsList/item-as-img-2.jpg
new file mode 100644
index 0000000..cf3d458
Binary files /dev/null and b/src/main/webapp/static/img/goodsList/item-as-img-2.jpg differ
diff --git a/src/main/webapp/static/img/goodsList/item-show-1.jpg b/src/main/webapp/static/img/goodsList/item-show-1.jpg
new file mode 100644
index 0000000..ba39d65
Binary files /dev/null and b/src/main/webapp/static/img/goodsList/item-show-1.jpg differ
diff --git a/src/main/webapp/static/img/goodsList/item-show-2.jpg b/src/main/webapp/static/img/goodsList/item-show-2.jpg
new file mode 100644
index 0000000..cf44c3a
Binary files /dev/null and b/src/main/webapp/static/img/goodsList/item-show-2.jpg differ
diff --git a/src/main/webapp/static/img/goodsList/item-show-3.jpg b/src/main/webapp/static/img/goodsList/item-show-3.jpg
new file mode 100644
index 0000000..c5b02a5
Binary files /dev/null and b/src/main/webapp/static/img/goodsList/item-show-3.jpg differ
diff --git a/src/main/webapp/static/img/goodsList/item-show-4.jpg b/src/main/webapp/static/img/goodsList/item-show-4.jpg
new file mode 100644
index 0000000..c27e2e4
Binary files /dev/null and b/src/main/webapp/static/img/goodsList/item-show-4.jpg differ
diff --git a/src/main/webapp/static/img/goodsList/item-show-5.jpg b/src/main/webapp/static/img/goodsList/item-show-5.jpg
new file mode 100644
index 0000000..6e8b1e1
Binary files /dev/null and b/src/main/webapp/static/img/goodsList/item-show-5.jpg differ
diff --git a/src/main/webapp/static/img/goodsList/item-show-6.jpg b/src/main/webapp/static/img/goodsList/item-show-6.jpg
new file mode 100644
index 0000000..76a501e
Binary files /dev/null and b/src/main/webapp/static/img/goodsList/item-show-6.jpg differ
diff --git a/src/main/webapp/static/img/goodsList/item-show-7.jpg b/src/main/webapp/static/img/goodsList/item-show-7.jpg
new file mode 100644
index 0000000..05bd788
Binary files /dev/null and b/src/main/webapp/static/img/goodsList/item-show-7.jpg differ
diff --git a/src/main/webapp/static/img/goodsList/item-show-8.jpg b/src/main/webapp/static/img/goodsList/item-show-8.jpg
new file mode 100644
index 0000000..c074f59
Binary files /dev/null and b/src/main/webapp/static/img/goodsList/item-show-8.jpg differ
diff --git a/src/main/webapp/static/img/index/clock.png b/src/main/webapp/static/img/index/clock.png
new file mode 100644
index 0000000..18219ec
Binary files /dev/null and b/src/main/webapp/static/img/index/clock.png differ
diff --git a/src/main/webapp/static/img/index/computer/item-computer-1-3.jpg b/src/main/webapp/static/img/index/computer/item-computer-1-3.jpg
new file mode 100644
index 0000000..09c0bb7
Binary files /dev/null and b/src/main/webapp/static/img/index/computer/item-computer-1-3.jpg differ
diff --git a/src/main/webapp/static/img/index/computer/item-computer-1-4.jpg b/src/main/webapp/static/img/index/computer/item-computer-1-4.jpg
new file mode 100644
index 0000000..8c769e8
Binary files /dev/null and b/src/main/webapp/static/img/index/computer/item-computer-1-4.jpg differ
diff --git a/src/main/webapp/static/img/index/computer/item-computer-1-5.jpg b/src/main/webapp/static/img/index/computer/item-computer-1-5.jpg
new file mode 100644
index 0000000..2f2eeab
Binary files /dev/null and b/src/main/webapp/static/img/index/computer/item-computer-1-5.jpg differ
diff --git a/src/main/webapp/static/img/index/computer/item-computer-1-6.jpg b/src/main/webapp/static/img/index/computer/item-computer-1-6.jpg
new file mode 100644
index 0000000..df2d6a6
Binary files /dev/null and b/src/main/webapp/static/img/index/computer/item-computer-1-6.jpg differ
diff --git a/src/main/webapp/static/img/index/computer/item-computer-1-7.jpg b/src/main/webapp/static/img/index/computer/item-computer-1-7.jpg
new file mode 100644
index 0000000..c300069
Binary files /dev/null and b/src/main/webapp/static/img/index/computer/item-computer-1-7.jpg differ
diff --git a/src/main/webapp/static/img/index/computer/item-computer-1-8.jpg b/src/main/webapp/static/img/index/computer/item-computer-1-8.jpg
new file mode 100644
index 0000000..fd0af09
Binary files /dev/null and b/src/main/webapp/static/img/index/computer/item-computer-1-8.jpg differ
diff --git a/src/main/webapp/static/img/index/computer/item-computer-1.jpg b/src/main/webapp/static/img/index/computer/item-computer-1.jpg
new file mode 100644
index 0000000..ea7fe05
Binary files /dev/null and b/src/main/webapp/static/img/index/computer/item-computer-1.jpg differ
diff --git a/src/main/webapp/static/img/index/computer/item-computer-2-1.jpg b/src/main/webapp/static/img/index/computer/item-computer-2-1.jpg
new file mode 100644
index 0000000..11f0fb2
Binary files /dev/null and b/src/main/webapp/static/img/index/computer/item-computer-2-1.jpg differ
diff --git a/src/main/webapp/static/img/index/computer/item-computer-2-2.jpg b/src/main/webapp/static/img/index/computer/item-computer-2-2.jpg
new file mode 100644
index 0000000..d4aa4eb
Binary files /dev/null and b/src/main/webapp/static/img/index/computer/item-computer-2-2.jpg differ
diff --git a/src/main/webapp/static/img/index/computer/item-computer-2-3.jpg b/src/main/webapp/static/img/index/computer/item-computer-2-3.jpg
new file mode 100644
index 0000000..a70e2fc
Binary files /dev/null and b/src/main/webapp/static/img/index/computer/item-computer-2-3.jpg differ
diff --git a/src/main/webapp/static/img/index/computer/item-computer-2-4.jpg b/src/main/webapp/static/img/index/computer/item-computer-2-4.jpg
new file mode 100644
index 0000000..f40e3f2
Binary files /dev/null and b/src/main/webapp/static/img/index/computer/item-computer-2-4.jpg differ
diff --git a/src/main/webapp/static/img/index/computer/item-computer-2-5.jpg b/src/main/webapp/static/img/index/computer/item-computer-2-5.jpg
new file mode 100644
index 0000000..e65298e
Binary files /dev/null and b/src/main/webapp/static/img/index/computer/item-computer-2-5.jpg differ
diff --git a/src/main/webapp/static/img/index/computer/item-computer-2-6.jpg b/src/main/webapp/static/img/index/computer/item-computer-2-6.jpg
new file mode 100644
index 0000000..f69e6ae
Binary files /dev/null and b/src/main/webapp/static/img/index/computer/item-computer-2-6.jpg differ
diff --git a/src/main/webapp/static/img/index/computer/item-computer-2-7.jpg b/src/main/webapp/static/img/index/computer/item-computer-2-7.jpg
new file mode 100644
index 0000000..6e14903
Binary files /dev/null and b/src/main/webapp/static/img/index/computer/item-computer-2-7.jpg differ
diff --git a/src/main/webapp/static/img/index/computer/item-computer-2-8.jpg b/src/main/webapp/static/img/index/computer/item-computer-2-8.jpg
new file mode 100644
index 0000000..64b74ee
Binary files /dev/null and b/src/main/webapp/static/img/index/computer/item-computer-2-8.jpg differ
diff --git a/src/main/webapp/static/img/index/computer/item-computer-2.jpg b/src/main/webapp/static/img/index/computer/item-computer-2.jpg
new file mode 100644
index 0000000..8310b47
Binary files /dev/null and b/src/main/webapp/static/img/index/computer/item-computer-2.jpg differ
diff --git a/src/main/webapp/static/img/index/eat/item-eat-1-1.jpg b/src/main/webapp/static/img/index/eat/item-eat-1-1.jpg
new file mode 100644
index 0000000..e61fa1c
Binary files /dev/null and b/src/main/webapp/static/img/index/eat/item-eat-1-1.jpg differ
diff --git a/src/main/webapp/static/img/index/eat/item-eat-1-2.jpg b/src/main/webapp/static/img/index/eat/item-eat-1-2.jpg
new file mode 100644
index 0000000..96c5c33
Binary files /dev/null and b/src/main/webapp/static/img/index/eat/item-eat-1-2.jpg differ
diff --git a/src/main/webapp/static/img/index/eat/item-eat-1-3.jpg b/src/main/webapp/static/img/index/eat/item-eat-1-3.jpg
new file mode 100644
index 0000000..2b49f67
Binary files /dev/null and b/src/main/webapp/static/img/index/eat/item-eat-1-3.jpg differ
diff --git a/src/main/webapp/static/img/index/eat/item-eat-1-4.jpg b/src/main/webapp/static/img/index/eat/item-eat-1-4.jpg
new file mode 100644
index 0000000..c89708a
Binary files /dev/null and b/src/main/webapp/static/img/index/eat/item-eat-1-4.jpg differ
diff --git a/src/main/webapp/static/img/index/eat/item-eat-1-5.jpg b/src/main/webapp/static/img/index/eat/item-eat-1-5.jpg
new file mode 100644
index 0000000..51f105b
Binary files /dev/null and b/src/main/webapp/static/img/index/eat/item-eat-1-5.jpg differ
diff --git a/src/main/webapp/static/img/index/eat/item-eat-1-6.jpg b/src/main/webapp/static/img/index/eat/item-eat-1-6.jpg
new file mode 100644
index 0000000..0950a53
Binary files /dev/null and b/src/main/webapp/static/img/index/eat/item-eat-1-6.jpg differ
diff --git a/src/main/webapp/static/img/index/eat/item-eat-1-7.jpg b/src/main/webapp/static/img/index/eat/item-eat-1-7.jpg
new file mode 100644
index 0000000..cf4eaa7
Binary files /dev/null and b/src/main/webapp/static/img/index/eat/item-eat-1-7.jpg differ
diff --git a/src/main/webapp/static/img/index/eat/item-eat-1-8.jpg b/src/main/webapp/static/img/index/eat/item-eat-1-8.jpg
new file mode 100644
index 0000000..38d3bf2
Binary files /dev/null and b/src/main/webapp/static/img/index/eat/item-eat-1-8.jpg differ
diff --git a/src/main/webapp/static/img/index/eat/item-eat-2-1.jpg b/src/main/webapp/static/img/index/eat/item-eat-2-1.jpg
new file mode 100644
index 0000000..ea1f239
Binary files /dev/null and b/src/main/webapp/static/img/index/eat/item-eat-2-1.jpg differ
diff --git a/src/main/webapp/static/img/index/eat/item-eat-2-2.jpg b/src/main/webapp/static/img/index/eat/item-eat-2-2.jpg
new file mode 100644
index 0000000..4ed32f9
Binary files /dev/null and b/src/main/webapp/static/img/index/eat/item-eat-2-2.jpg differ
diff --git a/src/main/webapp/static/img/index/eat/item-eat-2-6.jpg b/src/main/webapp/static/img/index/eat/item-eat-2-6.jpg
new file mode 100644
index 0000000..170cc07
Binary files /dev/null and b/src/main/webapp/static/img/index/eat/item-eat-2-6.jpg differ
diff --git a/src/main/webapp/static/img/index/eat/item-eat-2-7.jpg b/src/main/webapp/static/img/index/eat/item-eat-2-7.jpg
new file mode 100644
index 0000000..07c86a9
Binary files /dev/null and b/src/main/webapp/static/img/index/eat/item-eat-2-7.jpg differ
diff --git a/src/main/webapp/static/img/index/eat/item-eat-2-8.jpg b/src/main/webapp/static/img/index/eat/item-eat-2-8.jpg
new file mode 100644
index 0000000..9a50b54
Binary files /dev/null and b/src/main/webapp/static/img/index/eat/item-eat-2-8.jpg differ
diff --git a/src/main/webapp/static/img/index/seckill/seckill-item1.jpg b/src/main/webapp/static/img/index/seckill/seckill-item1.jpg
new file mode 100644
index 0000000..2cbbe0e
Binary files /dev/null and b/src/main/webapp/static/img/index/seckill/seckill-item1.jpg differ
diff --git a/src/main/webapp/static/img/index/seckill/seckill-item2.jpg b/src/main/webapp/static/img/index/seckill/seckill-item2.jpg
new file mode 100644
index 0000000..5568d88
Binary files /dev/null and b/src/main/webapp/static/img/index/seckill/seckill-item2.jpg differ
diff --git a/src/main/webapp/static/img/index/seckill/seckill-item3.jpg b/src/main/webapp/static/img/index/seckill/seckill-item3.jpg
new file mode 100644
index 0000000..3156cd8
Binary files /dev/null and b/src/main/webapp/static/img/index/seckill/seckill-item3.jpg differ
diff --git a/src/main/webapp/static/img/index/seckill/seckill-item4.jpg b/src/main/webapp/static/img/index/seckill/seckill-item4.jpg
new file mode 100644
index 0000000..7ba04d8
Binary files /dev/null and b/src/main/webapp/static/img/index/seckill/seckill-item4.jpg differ
diff --git a/src/main/webapp/static/img/index/seckill/seckill-item5.jpg b/src/main/webapp/static/img/index/seckill/seckill-item5.jpg
new file mode 100644
index 0000000..3f5cc84
Binary files /dev/null and b/src/main/webapp/static/img/index/seckill/seckill-item5.jpg differ
diff --git a/src/main/webapp/static/img/nav/1.jpg b/src/main/webapp/static/img/nav/1.jpg
new file mode 100644
index 0000000..da3aa9e
Binary files /dev/null and b/src/main/webapp/static/img/nav/1.jpg differ
diff --git a/src/main/webapp/static/img/nav/2.jpg b/src/main/webapp/static/img/nav/2.jpg
new file mode 100644
index 0000000..f7097d1
Binary files /dev/null and b/src/main/webapp/static/img/nav/2.jpg differ
diff --git a/src/main/webapp/static/img/nav/3.jpg b/src/main/webapp/static/img/nav/3.jpg
new file mode 100644
index 0000000..97410ea
Binary files /dev/null and b/src/main/webapp/static/img/nav/3.jpg differ
diff --git a/src/main/webapp/static/img/nav/4.jpg b/src/main/webapp/static/img/nav/4.jpg
new file mode 100644
index 0000000..7538427
Binary files /dev/null and b/src/main/webapp/static/img/nav/4.jpg differ
diff --git a/src/main/webapp/static/img/nav/5.jpg b/src/main/webapp/static/img/nav/5.jpg
new file mode 100644
index 0000000..948c5df
Binary files /dev/null and b/src/main/webapp/static/img/nav/5.jpg differ
diff --git a/src/main/webapp/static/img/nav/nav_showimg1.jpg b/src/main/webapp/static/img/nav/nav_showimg1.jpg
new file mode 100644
index 0000000..f87db3a
Binary files /dev/null and b/src/main/webapp/static/img/nav/nav_showimg1.jpg differ
diff --git a/src/main/webapp/static/img/nav/nav_showimg2.jpg b/src/main/webapp/static/img/nav/nav_showimg2.jpg
new file mode 100644
index 0000000..2c57715
Binary files /dev/null and b/src/main/webapp/static/img/nav/nav_showimg2.jpg differ
diff --git a/src/main/webapp/static/img/otherBuy/1.jpg b/src/main/webapp/static/img/otherBuy/1.jpg
new file mode 100644
index 0000000..4dcfc56
Binary files /dev/null and b/src/main/webapp/static/img/otherBuy/1.jpg differ
diff --git a/src/main/webapp/static/img/otherBuy/2.jpg b/src/main/webapp/static/img/otherBuy/2.jpg
new file mode 100644
index 0000000..644defb
Binary files /dev/null and b/src/main/webapp/static/img/otherBuy/2.jpg differ
diff --git a/src/main/webapp/static/img/otherBuy/3.jpg b/src/main/webapp/static/img/otherBuy/3.jpg
new file mode 100644
index 0000000..c84f6b9
Binary files /dev/null and b/src/main/webapp/static/img/otherBuy/3.jpg differ
diff --git a/src/main/webapp/static/img/otherBuy/4.jpg b/src/main/webapp/static/img/otherBuy/4.jpg
new file mode 100644
index 0000000..1b6bc6b
Binary files /dev/null and b/src/main/webapp/static/img/otherBuy/4.jpg differ
diff --git a/src/main/webapp/static/img/otherBuy/5.jpg b/src/main/webapp/static/img/otherBuy/5.jpg
new file mode 100644
index 0000000..5ae1321
Binary files /dev/null and b/src/main/webapp/static/img/otherBuy/5.jpg differ
diff --git a/src/main/webapp/static/img/otherBuy/6.jpg b/src/main/webapp/static/img/otherBuy/6.jpg
new file mode 100644
index 0000000..ab24acd
Binary files /dev/null and b/src/main/webapp/static/img/otherBuy/6.jpg differ
diff --git a/src/main/webapp/static/img/otherBuy/7.jpg b/src/main/webapp/static/img/otherBuy/7.jpg
new file mode 100644
index 0000000..3186e4c
Binary files /dev/null and b/src/main/webapp/static/img/otherBuy/7.jpg differ
diff --git a/src/main/webapp/static/img/otherBuy/8.jpg b/src/main/webapp/static/img/otherBuy/8.jpg
new file mode 100644
index 0000000..5343b79
Binary files /dev/null and b/src/main/webapp/static/img/otherBuy/8.jpg differ
diff --git a/src/main/webapp/static/img/pay-success.png b/src/main/webapp/static/img/pay-success.png
new file mode 100644
index 0000000..95b0977
Binary files /dev/null and b/src/main/webapp/static/img/pay-success.png differ
diff --git a/src/main/webapp/static/img/pay/pay-demo.png b/src/main/webapp/static/img/pay/pay-demo.png
new file mode 100644
index 0000000..1dd86c2
Binary files /dev/null and b/src/main/webapp/static/img/pay/pay-demo.png differ
diff --git a/src/main/webapp/static/img/pay/pay-qrscan.png b/src/main/webapp/static/img/pay/pay-qrscan.png
new file mode 100644
index 0000000..0e52361
Binary files /dev/null and b/src/main/webapp/static/img/pay/pay-qrscan.png differ
diff --git a/src/main/webapp/static/img/sale.jpg b/src/main/webapp/static/img/sale.jpg
new file mode 100644
index 0000000..ff22c0d
Binary files /dev/null and b/src/main/webapp/static/img/sale.jpg differ
diff --git a/src/main/webapp/static/img/signup-sale.png b/src/main/webapp/static/img/signup-sale.png
new file mode 100644
index 0000000..4ee3cef
Binary files /dev/null and b/src/main/webapp/static/img/signup-sale.png differ