梦回苍石居  |
Cangshi Live

团购商城后台接口 70 Views

作者:
苍石
进度:
测试
Progress: 50%
项目开始时间:
2017-01-13
项目结束时间:
项目发表时间:
2020-07-08 11:43:54
最后编辑于:
1 个月前
标签:
SRPING MVC前后端分离JAVA

查看演示

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 )

Person name
未登录用户可以发表匿名评论