团购商城后台接口
- 作者:
- 苍石
- 进度:
- 测试
- 项目开始时间:
- 2017-01-13
- 项目结束时间:
- 项目发表时间:
- 2020-07-08 11:43:54
- 最后编辑于:
- 4 年前
- 标签:
- JAVA前后端分离SRPING MVC
APIForGroupShoppingMall_团购商城后台接口
本项目是本人早期大学期间的一个前后端分离的 APP 项目 - 团购商城(林井药房)的后台接口实现。采用了 Spring MVC + MyBatis 的技术架构,整体 API 风格遵循 RestFUL 风格,实现了团购商城的一些基础逻辑。
在编译部署该项目时 MySql、服务器需要自行配置,sql 文件位于源码 sql 文件夹中。
由于项目的架构问题,该项目需要基于 Tomcat 环境运行,将本项目编译打包后放在 Tomcat 的 WebApp 目录里并重启 Tomcat 便可以部署该项目。(后期会考虑出一个 release 包放到 git 中)
API 演示 Demo 地址(不输入账号密码可以直接登录,也可以自行注册)
API 文档
目录(整理中)
注册API:
method:POST
url:'http(s)://*.*/h5_back/register'
data:
{ // 发送json参数
'userPhoneNumber':'' // 用户电话号码
'userLoginPsw':'' // 用户登录密码
}
返回:
{
error: // '0'则为操作成功
id: // 操作成功返回注册后的id
mes: // 操作后返回的信息
}
登录API:
method:POST
url:'http(s)://*.*/h5_back/login'
data:
{ // 发送json参数
'userPhoneNumber':'' // 用户电话号码
'userLoginPsw':'' // 用户登录密码
}
返回:
{
token: // 返回的登录用户记录密文,需存入缓存,注销时需清除该部分缓存
// 在用户的每一次请求需要在请求头部加上该记录密文,详情看登录状态检测部分演示
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
登录状态API:
method:GET
url:'http(s)://*.*/h5_back/user/isLogin'
请求头:
Authorization:'Bearer '+token 密文记录
data:
{ // 发送json参数
无
}
返回:
{
data: // 返回的登录用户对象简单属性
error: // '0'则为操作成功
// 201:头部格式错误
// 202:token 密文是无效的,需要重新登录
mes: // 操作后返回的信息
}
获取用户信息API:
method:GET
url:'http(s)://*.*/h5_back/user/show-user-info'
请求头:
Authorization:'Bearer '+token 密文记录
data:
{ // 发送json参数
无
}
返回:
{
data: // 返回的用户信息
{
userAge: //用户年龄
userAvatar: //用户头像图片名
userDetail: //用户详细描述
userId: //用户id
userNickName: //用户昵称
userPhoneNumber: //用户电话
userSex: //用户性别 0:男,1:女
}
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
修改用户信息API:
method:POST
url:'http(s)://*.*/h5_back/user/edit-user-info'
请求头:
Authorization:'Bearer '+token 密文记录
data:
{ // 发送json参数
userAge: //用户年龄
userAvatar: //用户头像图片名
userDetail: //用户详细描述
userId: //用户id
userNickName: //用户昵称
userPhoneNumber: //用户电话
userSex: //用户性别 0:男,1:女
//多余其他参数不做处理
}
返回:
{
error: // '0'则为操作成功
mes: // 操作返回的信息
}
用户上传图片API:
method:POST
url:'http(s)://*.*/h5_back/user/image-upload'
请求头:
Authorization:'Bearer '+token 密文记录
data:
{
image: // 图片转化为base64编码的字符串
// 需要在上传图片前对图片做裁剪处理为100x100
// 裁剪图片在下面有详细的演示
}
返回:
{
data: // 返回的上传成功的文件名(需要被处理存在userAvatar里)
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
获取所有团信息API:
method:GET
url:'http(s)://*.*/group/find-groups'
请求头:
无要求
params:
{ // 发送params参数(不附加参数即为查找所有)
line: // 获取的团信息的起始位置
next: // 获取的团信息的个数
注:
1、起始位置从0开始,按照时间由近及远排序
2、如果只使用其中一个参数,无论是line还是next,都是获得团的个数,并且从位置0开始
3、若都不使用,则返回所有符合条件的团信息
goodsTypeId: // 获取团的类型id(可选),无则返回所有类型
keyWord: // 指定关键字查询(可选),无则返回所有符合条件的团
}
返回:
{
dataList: // 返回的团数据列表
{
groupAliveHours: // 团存活周期(小时)
groupGoodType: // 团类型id
groupId: // 团id
groupImgs: // 团封面图片(字符串)
需要转化为数组后使用
groupInitiatorId: // 团发起者id
groupNowNumber: // 当前参团人数
groupPostage: // 团商品邮费
groupPrice: // 团商品单价
groupPriceOriginal: // 团商品原价
groupSynopsis: // 团简介
groupTargetNumber: // 团目标人数
groupTitle: // 团标题
groupStatus: // 团状态
groupInitTime: // 发团时间(时间戳)
}
...
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
获取用户已发团总数API:
method:GET
url:'http(s)://*.*/group/find-all-groups-count'
请求头:
无要求
params:
{ // 发送params参数(不附加参数即为查找所有)
goodsTypeId: // 获取团的类型id(可选),无则返回所有类型
keyWord: // 指定关键字查询(可选),无则返回所有符合条件的团
}
返回:
{
data: // 团数量
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
获取一个团详细信息API:
method:GET
url:'http(s)://*.*/group/find-groups'
请求头:
无要求
params:
{ // 发送params参数(不附加参数即为查找所有)
groupId: // 你想获得的团的团id
}
返回:
{
dataList: // 返回的团数据列表
{
groupAliveHours: // 团存活周期(小时)
groupGoodType: // 团类型id
groupId: // 团id
groupImgs: // 团封面图片(字符串)
需要转化为数组后使用
groupInitiatorId: // 团发起者id
groupNowNumber: // 当前参团人数
groupPostage: // 团商品邮费
groupPrice: // 团商品单价
groupPriceOriginal: // 团商品原价
groupSynopsis: // 团简介
groupDetail: // 团详情
groupInitTime: // 发团时间(时间戳)
groupFormat : // 团规格 json字符串
需转化为js对象后使用
groupTargetNumber: // 团目标人数
groupTitle: // 团标题
groupStatus: // 团状态
-1.审核中
0.拼团中
1.拼团成功
2.拼团失败
groupInitiator: // 团发起者
{
userAvatar // 用户头像
userId // 用户id
userPhoneNumber // 用户电话号
userPower // 用户权限
1.普通会员
2.VIP
3.管理员
0.不能发团'
userSex // 用户性别
0.男
1.女
userStatus // 用户状态
}
}
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
参团功能API:
method:POST
url:'http(s)://*.*/h5_back/user/group/join-group'
请求头:
Authorization:'Bearer '+token 密文记录
params:
{ // 发送json参数
groupId // 欲参加团的团id
addressId // 参团后生成的订单的订单预留地址
}
返回:
{
data: //返回生成后的订单信息
{
orderId //生成订单的订单号
}
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
获取团商品类型API:
method:GET
url:'http(s)://*.*/group/find-all-type'
请求头:
无要求
data:
{ // 发送json参数
无
}
返回:
{
dataList: // 返回的商品类型列表
{
goodsTypeFormat: //该商品类型的默认规格,是一个只含规格名的数组
//如:['产品名称','保修期','产品功耗']
goodsTypeId: //该商品类型的id,在和后台交互时需要使用
goodsTypeName: //该商品的类型名
}
...
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
发起团信息API:
method:POST
url:'http(s)://*.*/user/group/add-group'
请求头:
Authorization:'Bearer '+token 密文记录
data:
{ // 发送json参数
groupTitle: // 团标题 30字符
groupSynopsis: // 团简介 80字符
groupDetail: // 团详细介绍 2000字符
groupFormat: // 团规格,分为两部分,一部分来自商品默认规格,一部分来自用户自定义规格
如:{"产品名称":"飞机","类型":"载人航空"}
groupGoodType: // 团商品类型
groupImgs: // 团封面图片,一个数组转化而成的字符串,储存的是封面图片的地址
如:["20170204063229462-211980771.png","201702040632363501875513740.png"]
groupPrice: // 团单价
groupPriceOriginal: // 团原单价
groupTargetNumber: // 团目标人数
groupPostage: // 邮费,可选,默认6元
//多余其他参数不做处理
}
返回:
{
error: // '0'则为操作成功
id: // 返回操作成功后团的id
mes: // 操作返回的信息
}
获取用户余额API:
method:GET
url:'http(s)://*.*/h5_back/user/show-balance'
请求头:
Authorization:'Bearer '+token 密文记录
data:
{ // 发送json参数
无
}
返回:
{
data: // 返回的登录用户对象简单属性
{
userId:用户id
userBalance:用户余额
}
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
管理员充值用户余额API:
method:POST
url:'http(s)://*.*/h5_back/user/recharge-balance'
请求头:
Authorization:'Bearer '+token 密文记录
//需要验证为管理员
params:
{ // 发送json参数
value: // 浮点型,充值金额
userId: // 用户id,充值用户的id
info: // 备注信息(可选)
}
返回:
{
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
修改用户密码API:
method:POST
url:'http(s)://*.*/h5_back/user/modify-psw'
请求头:
Authorization:'Bearer '+token 密文记录
params:
{ // 发送json参数
pswType: // 密码类型(整形)
0:登录密码
1:支付密码
oldPsw: // 原密码
newPsw: // 新密码
}
返回:
{
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
获取用户账单API:
method:GET
url:'http(s)://*.*/h5_back/user/show-bills'
请求头:
Authorization:'Bearer '+token 密文记录
params:
{ // 发送json参数
无
}
返回:
{
dataList: //账单信息列表
{
billAddTime: // 账单生成时的时间戳
billBalance: // 账单生成后的余额
billChangeType: // 账单金额变动类型 -1为支出 1为收入
billChangeValue: // 账单变动金额
billId: // 账单id
billOrigin: // 账单来源或用途
billInfo: // 账单备注
userId: // 账单绑定的用户id
}
...
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
获取用户已发团信息API:
method:GET
url:'http(s)://*.*/user/group/find-init-groups'
请求头:
Authorization:'Bearer '+token 密文记录
params:
{ // 发送params参数(不附加参数即为查找所有)
groupStatus // 团状态码(可选,没有这个参数则获取所有状态下的团)
-1:审核中
0:拼团中
1:拼团成功
2:拼团失败
line: // 获取的团信息的起始位置
next: // 获取的团信息的个数
注:
1、起始位置从0开始,按照时间由近及远排序
2、如果只使用其中一个参数,无论是line还是next,都是获得团的个数,并且从位置0开始
}
返回:
{
dataList: // 返回的团数据列表
{
groupAliveHours: // 团存活周期(小时)
groupGoodType: // 团类型id
groupId: // 团id
groupImgs: // 团封面图片(字符串)
需要转化为数组后使用
groupInitiatorId: // 团发起者id
groupNowNumber: // 当前参团人数
groupPostage: // 团商品邮费
groupPrice: // 团商品单价
groupPriceOriginal: // 团商品原价
groupSynopsis: // 团简介
groupTargetNumber: // 团目标人数
groupTitle: // 团标题
groupInitTime: // 发团时间(时间戳)
groupStatus: // 团状态
}
...
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
获取指定状态用户已发团总数API:
method:GET
url:'http(s)://*.*/user/group/find-init-groups-count'
请求头:
Authorization:'Bearer '+token 密文记录
params:
{ // 发送params参数
groupStatus // 团状态码(可选,没有这个参数则获取所有状态下的团总数)
-1:审核中
0:拼团中
1:拼团成功
2:拼团失败
}
返回:
{
data: // 团数量
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
添加地址信息API:
method:POST
url:'http(s)://*.*/h5_back/user/add-address'
请求头:
Authorization:'Bearer '+token 密文记录
data:
{ // 发送json参数
'addressInfo': //详细地址信息
'addressPhoneNum': //联系电话
'addressNickName': //称呼
}
返回:
{
id: // 添加成功的地址id
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
获取地址信息API:
method:GET
url:'http(s)://*.*/h5_back/user/show-address'
请求头:
Authorization:'Bearer '+token 密文记录
data:
{ // 发送json参数
无
}
返回:
{
dataList: // 返回的地址信息列表
{
address:
{
addressId: //地址id
userId: //用户id
addressInfo: //详细地址信息
addressPhoneNum: //联系电话
addressNickName: //称呼
}
...
}
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
删除地址信息API:
method:POST
url:'http(s)://*.*/h5_back/user/delete-address'
请求头:
Authorization:'Bearer '+token 密文记录
data:
{ // 发送json参数
addressId: //地址id
userId: //用户id
addressInfo: //详细地址信息
addressPhoneNum: //联系电话
addressNickName: //称呼
}
返回:
{
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
修改地址信息API:
method:POST
url:'http(s)://*.*/h5_back/user/edit-address'
请求头:
Authorization:'Bearer '+token 密文记录
data:
{ // 发送json参数
addressId: //地址id
userId: //用户id
addressInfo: //详细地址信息
addressPhoneNum: //联系电话
addressNickName: //称呼
}
返回:
{
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
获取一个订单详细信息API:
method:GET
url:'http(s)://*.*/user/order/find-order-deeply'
请求头:
Authorization:'Bearer '+token 密文记录
params:
{ // 发送params参数
无
}
返回:
{
dataList: // 返回的团数据列表
{
orderId: // 订单id
orderUserId: // 商家id
orderMoney: // 订单金额
orderAddressId: // 订单地址id
orderAddTime: // 订单生成时间
orderStatus: // 订单状态
-1.失效
0.未付款
1.付款成功,等待拼团
2.拼团成功,等待发货
3.交易成功
}
...
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
订单支付API:
method:POST
url:'http(s)://*.*/h5_back/user/order/pay'
请求头:
Authorization:'Bearer '+token 密文记录
params:
{ // 发送json参数
orderId // 订单id
payPsw // 支付密码
}
返回:
{
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
获取审核中的团api:
需要操作用户为管理员
method:'get',
url:'http(s)://*.*/h5_back/user/group/find-checked-groups',
headers:'headers : {
'Authorization' : 'Bearer ' + token //token:用户信息口令
}',
params:{
line: 起始位置
next: 获取团的个数
1、起始位置从0开始,按照时间由近及远排序
2、如果只使用其中一个参数,无论是line还是next,都是获得团的个数,并且从位置0开始
3、若都不使用,则返回所有符合条件的团信息
}
返回值:
error: 返回0则为调用成功
mes: 返回文字提示信息
dataList: 返回的团信息列表
// 注意,该项获取的团信息只有概要,如:所有团列表api获取中的属性,需要有点击查看详情的功能
获取用户参团信息API:
method:GET
url:'http(s)://*.*/user/group/show-joined-groups'
请求头:
Authorization:'Bearer '+token 密文记录
params:
{ // 发送params参数(不附加参数即为查找所有)
groupStatus // 团状态码(可选,没有这个参数则获取所有状态下的团)
-1:审核中
0:拼团中
1:拼团成功
2:拼团失败
line: // 获取的团信息的起始位置
next: // 获取的团信息的个数
注:
1、起始位置从0开始,按照时间由近及远排序
2、如果只使用其中一个参数,无论是line还是next,都是获得团的个数,并且从位置0开始
}
返回:
{
dataList: // 返回的团数据列表
{
groupAliveHours: // 团存活周期(小时)
groupGoodType: // 团类型id
groupId: // 团id
groupImgs: // 团封面图片(字符串)
需要转化为数组后使用
groupInitiatorId: // 团发起者id
groupNowNumber: // 当前参团人数
groupPostage: // 团商品邮费
groupPrice: // 团商品单价
groupPriceOriginal: // 团商品原价
groupSynopsis: // 团简介
groupTargetNumber: // 团目标人数
groupTitle: // 团标题
groupInitTime: // 发团时间(时间戳)
groupStatus: // 团状态
}
...
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
获取某个团的所有订单API:(只允许团发起者获取,在发货的时候用)
method:GET
url:'http(s)://*.*/user/order/show-group-orders'
请求头:
Authorization:'Bearer '+token 密文记录
params:
{ // 发送params参数
groupId // 团id
}
返回:
{
data: {
// 订单列表信息,参考用户订单列表获取
}
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
发货功能API:(只允许团发起者使用)
method:POST
url:'http(s)://*.*/user/order/order-sent-out'
请求头:
Authorization:'Bearer '+token 密文记录
params:
{ // 发送params参数
orderId // 欲发货的订单id
}
返回:
{
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
确认收货功能API:
method:POST
url:'http(s)://*.*/user/order/order-received'
请求头:
Authorization:'Bearer '+token 密文记录
params:
{ // 发送params参数
orderId // 确认收货的订单id
}
返回:
{
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
获取用户所有订单列表API:
method:GET
url:'http(s)://*.*/user/order/show-user-orders'
请求头:
Authorization:'Bearer '+token 密文记录
params:
{ // 发送params参数
无
}
返回:
{
dataList: // 返回的团数据列表
{
orderId: // 订单id
userId: // 用户id
groupId: // 团id
orderUserId: // 商家id
orderMoney: // 订单金额
orderAddressId: // 订单地址id
orderAddTime: // 订单生成时间
orderStatus: // 订单状态
-1.失效
0.未付款
1.付款成功,等待拼团
2.拼团成功,等待发货
3.已发货
4.交易成功
}
...
error: // '0'则为操作成功
mes: // 操作后返回的信息
}
获取一个订单详细信息API(包含订单绑定的团和地址信息):
method:GET
url:'http(s)://*.*/user/order/find-order-deeply'
请求头:
Authorization:'Bearer '+token 密文记录
params:
{ // 发送params参数
orderId: // 你想获得的订单的订单id
}
返回:
{
data: // 返回的团数据列表
{
orderId: // 订单id
orderUserId: // 商家id
orderMoney: // 订单金额
orderAddressId: // 订单地址id
orderAddTime: // 订单生成时间
orderStatus: // 订单状态
-1.失效
0.未付款
1.付款成功,等待拼团
2.拼团成功,等待发货
3.交易成功
address: // 订单绑定的地址信息
{
addressId // 地址id
addressInfo // 详细地址
addressNickName // 称呼
addressPhoneNum // 联系电话
userId // 绑定用户id
}
group: // 订单绑定的地址信息
{
... // 参展获取所有团列表中单个团的属性
}
}
//注意
error: // '0'、'1'都为操作成功
{
0:查看该订单详情的是该订单所绑定的用户
1:查看该订单详情的是该订单所绑定的商家
}
mes: // 操作后返回的信息
}
获取与用户有关的所有团
/user/group/show-all-groups
获取商家订单列表
/user/order/show-seller-orders
留言 ( 0 )