Skip to content

MA商户结算模块扩展

DB变动

tbl_user_pay_method  商户结算方式表
用于记录每次修改的结算方式(由于生效时间的关系,所以要记录以前的数据)
id id int
user_id tbl_user里的id,index key int
pay_method 1:日结,2:周结,3:月结,4:自定义 int
begin_day 起始日,周一的话就是1,每月2号就是2 int
settle_day 结算日,周一的话就是1,每月2号就是2 int
cycle_length 自定义周期长度13天就是13 int
delay_day 自定义后延5天就是5 int
effective_date 生效日期,具体日期 date
settle_remind 结算提醒,-1表示不开启,1-7天表示结算日前几天提醒 int
create_ti me 创建时间 datetime
tbl_user 里的pay_method废除


结算提醒方案

定时每天脚本,查询需要提醒的商户,采用以下通知方式通知商户需要结算多少钱
ps : 产品需要提供消息模板

短信通知(方案一)(采用)

使用腾讯的短信服务,通过产品了解到,目前我们的客户有差不多12000,每条短信的收费是0.045元,按每月发4次的节奏。
1个月: 12000*0.045*4 = 2160元
1年: 2160*12 = 25920元

微信通知(方案二)

有现成的接口,无需费用。

修改商户结算方式

接口名:https://manage.guanmai.cn/custommanage/edit/S043713
功能: 修改商户结算方式
Method:POST

请求:
    status          M       str     根据传的status修改对应字段,结算方式传的是modifyPayMethod
    payMethod(改为pay_method)       M       int     1:日结,2:周结,3:月结,4:自定义
    日结下面参数没有。
    begin_day(新增)       M       int     起始日,周一的话就是1,每月2号就是2,自定义周期长度13天就是15
    settle_day(新增)      M       int     结算日,周一的话就是1,每月2号就是2,自定义后延5天就是5
    effective_date(新增)   M       string  生效日期,具体日期,格式要求:年-月-日 例如:2017-06-01
    settle_remind(新增)    M       int     结算提醒,-1表示不开启,1-7天表示结算日前几天提醒,无权限传-1,权限名为:add_settle_remind

响应:
    code    M   int     返回码,0表示成功,其他表示错误
    msg     M   string  错误信息

Response:
{
    "msg": "success",
    "code": 0
}

查询商户信息

接口名:https://manage.guanmai.cn/custommanage/edit/S043713
功能: 查询商户信息
Method:GET

兼容老逻辑,如果以前就是周结的话(固定每周日-次周六,出账日期每周一),就会按照
起始日:周日
结算日:周一
生效时间:当天时间。

响应:
    code    M   int     返回码,0表示成功,其他表示错误
    msg     M   string  错误信息
    data    M   string  返回数据

Response:
{
    "msg": "success",
    "code": 0,
    "data":{
        "data":{
            "pay_method":1,
            "begin_day":2,
            "settle_day":2,
            "effective_date":2017-09-28,
            "settle_remind":2,
            其他略
        },
        其他略
    }
}

bshop查询账单页

接口名:http://bshop.guanmai.cn/v587/user/bill_info/get
功能: 查询对账单信息和我的账期。
Method:GET

响应:
    code    M   int     返回码,0表示成功,其他表示错误
    msg     M   string  错误信息
    data    M   string  返回数据

Response:
{
    "msg": "ok",
    "code": 0,
    "data":{
        "pay_price" : 200(单位fen),
        "history_pay_price" : 100(单位fen),
        "paid_price": 200(单位fen),
        "total_price": 400(单位fen),
        "pay_method":1,
        "begin_day":2,
        "settle_day":2,
        "bill_begin_date":"09-05",
        "bill_end_date":"10-04",
        "bill_settle_date":"10-10"
    }
}

接口名:http://bshop.guanmai.cn/v587/order/week
修改如下
接口名:http://bshop.guanmai.cn/v587/order/unpaid_list

功能: 获取未支付订单。
Method:GET

order_id    O   int     从订单那里进来必须传,从查看账单进入不需要
响应:
    code    M   int     返回码,0表示成功,其他表示错误
    msg     M   string  错误信息
    data    M   string  返回数据

Response:
{
    "msg": "ok",
    "code": 0,
    "data":{
        "resname" : "商户名",
        "settle_time":最迟11月1日,
        "current_settle":11月1日~11月5日,
        "history_settle":11月1日00:00:00前,
        "current_orders":[
            {
                "create_time":"11月1号",
                "order_id":"PL0001",
                "status":10,
                "total_pay":2750(单位fen)
            },
            {
                "create_time":"11月1号",
                "order_id":"PL0001",
                "status":10,
                "total_pay":2750(单位fen)
            },
        ],
        "history_orders":[
             {
                "create_time":"10月1号",
                "order_id":"PL00012",
                "status":10,
                "total_pay":2750(单位fen)
            },
            {
                "create_time":"10月1号",
                "order_id":"PL00013",
                "status":10,
                "total_pay":2750(单位fen)
            },
        ],

    }
}

以下是涉及到需要修改的接口

station

OrderBatchCreateView order/batch/create 批量建订单  staion
551行

OrderCreateView  order/create  建订单   staion
1127行

OrderCreateView  order/create    check_adrress_status     staion

bshop

precheck_order  bshop

ConfirmOrderView order/confirm  bshop

接口 order/confirm
Response:
{
    "msg": "success",
    "code": 0,
    "data":{
          "settle_time":最迟11月1日,
        其他略
    }
}

GetOrderListView order/list
接口 order/list
Response:
{
    "msg": "success",
    "code": 0,
    "data":{
          "settle_time":最迟11月1日,
          "whitelist":1,表示白名单,0不是
        其他略
    }
}

GetOrderDetailView order/detail
接口 order/detail
Response:
{
    "msg": "success",
    "code": 0,
    "data":{
          "settle_time":最迟11月1日,
           "whitelist":1,表示白名单,0不是
        其他略
    }
}