服务器信息
IP:192.168.0.108
Port:9000
云服务器信息
IP:43.142.28.161
端口:9000
状态码
状态码 | 备注 |
---|---|
200 | 请求成功 |
500 | 服务器端响应失败 |
401 | 前端传参为空或空串 |
402 | 账号或密码错误 |
501 | 若账号已存在,以改账号注册返回501 |
502 | 身份验证失败 |
登录/注册模块
用户注册接口
注册页接口
-
URL:http://IP:Port/xdmall/user/logon
-
请求方式:POST
-
Request Body:
属性名 类型 必填 备注 accountNum string 是 - password string 是 - role string 是 取值user/business/admin之一 -
示例
//request { "accountNum":"835629801@user", "password":"a1b2c3", "role":"user" } //response { "data": { "role": "user", "accountNum": "835629801@user" }, "msg": "logon success.", "code": 200 } --------------------------- //账号已存在,注册失败 { "data": null, "msg": "Account already exists", "code": 501 } //缺少参数 { "data": null, "msg": "param is null.", "code": 401 }
用户登录接口
登录页接口
-
URL:http://IP:Port/xdmall/user/login
-
请求方式:POST
-
Request Body:
属性名 类型 必填 备注 accountNum string 是 - password string 是 - role string 是 取值user/business/admin之一 -
示例
//request { "accountNum":"835629801@user", "password":"a1b2c3", "role":"user" } //response { "data": { "image": “头像的base64编码", "role": "user", "accountNum": "835629801@user" }, "msg": "login success.", "code": 200 } ---------------------------- //账号不存在 { "data": null, "msg": "user is not exists.", "code": 402 } //密码错误 { "data": null, "msg": "password error.", "code": 402 } //缺少参数 { "data": null, "msg": "param is null.", "code": 401 }
用户信息修改接口
-
URL:http://IP:Port/xdmall/user/alterUser
-
请求方式:POST
-
Request Body:
属性名 类型 必填 备注 accountNum string 是 根据用户账号修改信息 password string 否 - nickname string 否 - pic string 否 - sex string 否 男/女 tel string 否 - isVip bool 否 - - 注:需要修改那个属性,json就传那个key,value
-
示例
request body { "accountNum":"835629801@business", "password":"a1b2c3", "nickname":"初阳寻风", "pic":"base64", "sex":"男", "tel":"15399413267", "isVip":true } response { "data": null, "msg": "success.", "code": 200 }
商户信息修改接口
-
URL:http://IP:Port/xdmall/user/alterBusiness
-
请求方式:POST
-
Request Body:
属性名 类型 必填 备注 storeName string 否 - owner string 是 根据owner查找该账号下商店 pic string 否 - address string 否 - zipcode string 否 - tel string 否 - type string 否 - level int 否 - - 注:需要修改那个属性,json就传那个key,value
-
示例
request body { "storeName":"黑猪白猪的小店", "owner":"835629801@business", "pic":"", "address":"陕西省西安市莲湖区红庙坡街道", "zipcode":"710014", "tel":"15399413267", "type":"花店", "level":5 } response { "data": null, "msg": "success.", "code": 200 }
管理员信息修改接口
-
URL:http://IP:Port/xdmall/user/alterAdmin
-
请求方式:POST
-
Request Body:
属性名 类型 必填 备注 accountNum string 是 根据账号修改信息 adminName string 否 - pic string 否 - tel string 否 - - 注:需要修改那个属性,json就传那个key,value
-
示例
request body { "accountNum":"835629801@business", "adminName":"黑猪", "pic":"", "tel":"15399413267" } response { "data": null, "msg": "success.", "code": 200 }
用户/商户信息查询
-
URL:http://IP:Port/xdmall/user/query
-
请求方式:GET
-
Request Param:
属性名 类型 必填 备注 accountNum string 是 - role string 是 - -
示例
request body http://localhost:9000/xdmall/user/query?accountNum=835629801@business&role=business response { "data": { "id": 1, "storeName": "黑猪白猪的小店", "owner": "835629801@business", "pic": "用户头像base64编码", "address": "陕西省西安市莲湖区红庙坡街道", "zipcode": "710014", "tel": "15399413267", "type": "花店", "level": 5, "picturePath": "", //忽略该字段 "role": "business" }, "msg": "success.", "code": 200 }
商品模块
商户添加商品接口
商户权限下,添加商品接口。注:添加商品要先对商户信息进行初始化,否则商户名为默认值:未设置
-
URL:http://IP:Port/xdmall/product/add
-
请求方式:POST
-
Request Body:
属性名 类型 必填 备注 accountNum string 是 - role string 是 只有business角色能添加商品 product object 是 商品对象,字段详情见示例 -
示例
request
{
"accountNum": "835629801@business", //登录账户
"role": "business", //登录角色
"product": {
"name": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待", //商品名称
"storeName": "黑猪白猪的小店", //商店名
"pic": "", //商品图片的base64编码
"brand": "小米", //品牌
"price": 2699.00, //价格,单位:元
"description": "骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购", //商品描述
"number": 30, //商品库存数量
"unit": "部", //单位
"weight": 550.53, //重量,单位为克:g
"keywords": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待" //关键词,用于搜索
}
}
response
{
"data": {
"id": 17
},
"msg": "add product success.",
"code": 200
}
商户/管理员删除商品接口
商户、管理员权限下,删除商品接口
-
URL:http://IP:Port/xdmall/product/drop
-
请求方式:POST
-
Request Body:
属性名 类型 必填 备注 accountNum string 是 - role string 是 只有business、admin角色能添删除商品 product object 是 商品对象,字段详情见示例 -
示例
request
{
"accountNum": "835629801@business",
"role": "business",
"product": {
"id":"13"
}
}
response
{
"data": null,
"msg": "delete success.",
"code": 200
}
商户/管理员/用户根据商品ID查询商品详情接口
商户、管理员、用户权限下,查询商品详情接口。注意是精确查询,主要针对商品CURD使用
-
URL:http://IP:Port/xdmall/product/queryById
-
请求方式:POST
-
Request Body:
属性名 类型 必填 备注 accountNum string 是 - role string 是 user、business、admin角色具有接口权限 product object 是 商品对象,字段详情见示例 -
示例
request
{
"accountNum": "835629801@business",
"role": "business",
"product": {
"id":"12"
}
}
response
{
"data": {
"keywords": "苹果|ipone|高端手机",
"price": 6000.50,
"name": "ipone14",
"storeName":"黑猪白猪的小店",
"description": "苹果手机..",
"weight": 500.23,
"id": 12,
"pic":"图片base64编码",
"stock": 20,
"unit": "部",
"brand": "苹果"
},
"msg": "query success.",
"code": 200
}
商户修改商品接口
商户权限下,修改商户自身商品信息接口
-
URL:http://IP:Port/xdmall/product/alterById
-
请求方式:POST
-
Request Body:
属性名 类型 必填 备注 accountNum string 是 - role string 是 business角色具有接口权限 product object 是 商品对象,字段详情见示例 -
示例
request
{
"accountNum": "",
"role": "",
"product": {
"id":12, //商品ID
"name": "ipone14", //商品名称
"storeName":"黑猪白猪的小店", //商店名
"pic": "base64", //商品图片
"brand": "苹果", //品牌
"price": 6000.00, //价格,单位:元
"description": "苹果手机..", //商品描述
"number": 20, //商品数量,增加20为20,减少10为-10
"unit": "部", //单位
"weight": 500.00, //重量,单位为克:g
"keywords": "苹果|ipone|高端手机" //关键词,用于搜索
}
}
response
{
"data": null,
"msg": "alter product success.",
"code": 200
}
批量查询商品接口
商户权限下,修改商户自身商品信息接口
-
URL:http://IP:Port/xdmall/product/query/batch
-
请求方式:GET
-
Request Param:
属性名 类型 必填 备注 pageNum int 否 页数,默认1,第一页为1 pageSize int 否 页大小,默认10 storeName string 否 商店名,如果为空,表示查询所有商户下所有商品 -
示例
request
http://localhost:9000/xdmall/product/query/batch?pageNum=1&pageSize=5&storeName=黑猪白猪的小店
response
{
"data": {
"total": 1, //当前查询条件下商品总数
"content": [
{
"id": 3,
"name": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待",
"storeName": "黑猪白猪的小店",
"pic": "商品图片base64编码",
"brand": "小米",
"price": 2699.0,
"description": "骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购",
"number": 0,
"stock": 30,
"unit": "部",
"weight": 550.53,
"keywords": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待",
"picturePath": "" //忽略该字段
}
]
},
"msg": "success.",
"code": 200
}
搜索模块
将数据库中数据导入到Elasticsearch
将数据库中所有数据导入ES
-
URL:http://IP:Port/xdmall/esProduct/importAll
-
请求方式:POST
-
Request Body:无
-
示例
request
response
{
"data": 3, //返回导入记录条数
"msg": "success.",
"code": 200
}
根据商品ID导入商品到ES
根据商品ID将商品导入ES,商品添加成功后后端调用
- URL:http://IP:Port/xdmall/esProduct/import/{id}
- 请求方式:POST
- Request Body:无
- 示例
http://192.168.0.108:9000/xdmall/esProduct//import/16
{
"data": {
"id": 16,
"name": "华为 HUAWEI P20 ",
"pic": null,
"brand": "华为",
"price": 3788.0,
"description": "AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待",
"number": 0,
"stock": 20,
"unit": "部",
"weight": 500.5,
"keywords": "华为|全面屏|高端手机|全网通版|双卡双待",
"picturePath": "F:\\compute\\Java学习\\IdeaProjects\\netmarket\\image\\product\\cOnt1rDlnH.jpg"
},
"msg": "success.",
"code": 200
}
根据商品ID删除ES中记录
根据商品ID删除ES中记录,商品删除成功后后端调用
- URL:http://IP:Port/xdmall/esProduct/delete/{id}
- 请求方式:GET
- Request Param:无
- 示例
http://192.168.0.108:9000/xdmall/esProduct/delete/16
{
"data": null,
"msg": "success.",
"code": 200
}
批量删除ES商品记录
根据商品ID批量删除ES中记录
- URL:http://IP:Port/xdmall/esProduct/delete/batch
- 请求方式:POST
- Request Param:无
- 示例
http://192.168.0.108:9000/xdmall/esProduct/delete/batch?ids=16,17
{
"data": null,
"msg": "success.",
"code": 200
}
ES搜索接口
联想搜索相关接口,可以用于首页搜索框,商品类别等…
-
URL:http://IP:Port/xdmall/esProduct//search/simple
-
请求方式:GET
-
Request Param:
属性名 类型 必填 备注 accountNum string 是 记录用户搜索历史,用于首页商品推荐,搜索历史保留1年 keyword string 是 关键词,根据商品名、描述、关键词字段进行分词并查询 pageNum number 否 默认1,第一页的页号为1 pageSize number 否 默认5 -
示例
http://192.168.0.108:9000/xdmall/esProduct/search/simple?keyword=手机&pageNum=0&pageSize=2
{
"data": {
"total": 2,
"content": [
{
"id": 15,
"name": "ipone14",
"pic": "商品图片base64编码",
"brand": "苹果",
"price": 6000.5,
"description": "苹果手机..",
"number": 0, //忽略该字段
"stock": 20, //展示库存
"unit": "部",
"weight": 500.23,
"keywords": "苹果|ipone|高端手机",
"picturePath": ""
},
{
"id": 16,
"name": "华为 HUAWEI P20 ",
"pic": "商品图片base64编码",
"brand": "华为",
"price": 3788.0,
"description": "AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待",
"number": 0,
"stock": 20,
"unit": "部",
"weight": 500.5,
"keywords": "华为|全面屏|高端手机|全网通版|双卡双待",
"picturePath": ""
}
]
},
"msg": "success.",
"code": 200
}
商品推荐接口
根据用户历史搜索记录进行首页商品推荐,返回10款商品
-
URL:http://IP:Port/xdmall/esProduct//search/recommend
-
请求方式:GET
-
Request Param:
属性名 类型 必填 备注 accountNum string 是 记录用户搜索历史,用于首页商品推荐, pageNum number 否 默认1,第一页的页号为1 pageSize number 否 默认5 -
示例
http://192.168.0.108:9000/xdmall/esProduct/search/recommend?accountNum=835629801@business { "data": [ { "id": 15, "name": "ipone14", "pic": "商品图片base64编码", "brand": "苹果", "price": 6000.5, "description": "苹果手机..", "number": 0, //忽略该字段 "stock": 20, //展示库存 "unit": "部", "weight": 500.23, "keywords": "苹果|ipone|高端手机", "picturePath": "" }, { "id": 16, "name": "华为 HUAWEI P20 ", "pic": "商品图片base64编码", "brand": "华为", "price": 3788.0, "description": "AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待", "number": 0, "stock": 20, "unit": "部", "weight": 500.5, "keywords": "华为|全面屏|高端手机|全网通版|双卡双待", "picturePath": "" } ], "msg": "success.", "code": 200 }
购物车模块
添加购物车商品
-
URL:http://IP:Port/xdmall/shopping/add
-
请求方式:POST
-
Request Body:
属性名 类型 必填 备注 accountNum string 是 - productId number 是 商品ID number number 是 商品数量 -
示例
request body { "accountNum": "835629801@user", "productId": 3, "number": 1 } response { "data": { "id": 2 //购物车中记录ID }, "msg": "success.", "code": 200 }
修改购物车商品数量
-
URL:http://IP:Port/xdmall/shopping/alter
-
请求方式:POST
-
Request Body:
属性名 类型 必填 备注 accountNum string 是 - id number 是 购物车记录ID number number 是 商品数量 -
示例
request body { "accountNum": "835629801@user", "id": 2, "number": 2 } response { "data": null, "msg": "success.", "code": 200 }
查询账户下购物车信息
-
URL:http://IP:Port/xdmall/shopping/query
-
请求方式:GET
-
Request Param:
属性名 类型 必填 备注 accountNum string 是 查找某账户下购物车信息 -
示例
request param http://localhost:9000/xdmall/shopping/query?accountNum=835629801@user response { "data": [ { "product": { //商品信息 "id": 3, "name": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待", "storeName": "黑猪白猪的小店", "pic": "商品图片base64编码", "brand": "小米", "price": 2699.0, "description": "骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购", "number": 0, "stock": 30, "unit": "部", "weight": 550.53, "keywords": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待", "picturePath": "" //忽略该字段 }, "number": 2, //购物车商品数量 "accountNum": "835629801@user", "id": 2 //购物车记录ID } ], "msg": "success.", "code": 200 }
删除购物车商品
-
URL:http://IP:Port/xdmall/shopping/drop
-
请求方式:GET
-
Request Param:
属性名 类型 必填 备注 id number 是 购物车记录ID -
示例
request http://localhost:9000/xdmall/shopping/drop?id=1 response { "data": null, "msg": "success.", "code": 200 }
订单模块
添加订单
-
URL:http://IP:Port/xdmall/order/add
-
请求方式:POST
-
Request Body:
属性名 类型 必填 备注 accountNum string 是 账户 state string 是 订单状态,create、run、done shoppingId string 是 购物车ID组合,如2|3表示该订单由购物车单号2,3组成 -
示例
request body { "accountNum":"835629801@user", "state":"create", "shoppingId":"2" } response { "data": { "id": 2 //订单ID }, "msg": "success.", "code": 200 }
修改订单状态
-
URL:http://IP:Port/xdmall/order/alter
-
请求方式:POST
-
Request Body:
属性名 类型 必填 备注 id string 是 订单ID state string 是 订单状态,create、run、done -
示例
request body { "id":"1", "state":"done" } response { "data": null, "msg": "success.", "code": 200 }
查询账户下所有订单
-
URL:http://IP:Port/xdmall/order/query
-
请求方式:GET
-
Request Param:
属性名 类型 必填 备注 accountNum string 是 账户 -
示例
request http://localhost:9000/xdmall/order/query?accountNum=835629801@user response { "data": [ { "id": 1, //订单编号 "accountNum": "835629801@user", //订单所属账户 "createtime": "2023-06-04 20:51:23", //订单创建时间 "address": "陕西省西安市莲湖区红庙坡街道红东花园1期", //订单收货地址 "state": "done", //订单状态 "price": 10796.00, //订单中商品总额 "productAndNumDtoList": [ //订单由若干商品组成,且包含商品数量 { "number": 2, //商品数量 "product": { //商品信息 "id": 3, "name": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待", "storeName": "黑猪白猪的小店", "pic": "商品base64编码" "brand": "小米", "price": 2699.0, "description": "骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购", "number": 0, "stock": 30, "unit": "部", "weight": 550.53, "keywords": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待", "picturePath": "" } }, { "number": 2, //商品数量 "product": { //商品信息 "id": 4, "name": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待", "storeName": "黑猪白猪的小店", "pic": "商品base64编码" "brand": "小米", "price": 2699.0, "description": "骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购", "number": 0, "stock": 30, "unit": "部", "weight": 550.53, "keywords": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待", "picturePath": "" } } ] }, { "id": 2, //同上,第二个订单 "accountNum": "835629801@user", "createtime": "2023-06-04 21:03:06", "address": "陕西省西安市莲湖区红庙坡街道红东花园1期", "state": "create", "price": 5398.00, "productAndNumDtoList": [ { "number": 2, "product": { "id": 3, "name": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待", "storeName": "黑猪白猪的小店", "pic": "商品base64编码" "brand": "小米", "price": 2699.0, "description": "骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购", "number": 0, "stock": 30, "unit": "部", "weight": 550.53, "keywords": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待", "picturePath": "" } } ] } ], "msg": "success.", "code": 200 }