import "../base.api"

type (
    // The data of pay recharge information | PayRecharge信息
    PayRechargeInfo {
        BaseIDInfo

        // user_id | 用户ID 
        UserId  *string `json:"userId,optional"`
		UserInfo UserInfo `json:"userInfo,optional"`

        // number | 变化积分数 
        Number  *float32 `json:"number,optional"`

        // status | 状态 1-正常 2-禁用 
        Status  *int `json:"status,optional"`

        // money | 充值钱数 
        Money  *float32 `json:"money,optional"`

        // out_trade_no | 外部订单号 
        OutTradeNo  *string `json:"outTradeNo,optional"`

        // organization_id | 租户ID 
        OrganizationId  *uint64 `json:"organizationId,optional"`
		OrganizationName  *string `json:"organizationName,optional"`
    }

    // The response data of pay recharge list | PayRecharge列表数据
    PayRechargeListResp {
        BaseDataInfo

        // PayRecharge list data | PayRecharge列表数据
        Data PayRechargeListInfo `json:"data"`
    }

    // PayRecharge list data | PayRecharge列表数据
    PayRechargeListInfo {
        BaseListInfo

        // The API list data | PayRecharge列表数据
        Data  []PayRechargeInfo  `json:"data"`
    }

    // Get pay recharge list request params | PayRecharge列表请求参数
    PayRechargeListReq {
        PageInfo

        // user_id | 用户ID 
        UserId  *string `json:"userId,optional"`

        // out_trade_no | 外部订单号 
        OutTradeNo  *string `json:"outTradeNo,optional"`
    }

    // PayRecharge information response | PayRecharge信息返回体
    PayRechargeInfoResp {
        BaseDataInfo

        // PayRecharge information | PayRecharge数据
        Data PayRechargeInfo `json:"data"`
    }
)

@server(
    jwt: Auth
    group: pay_recharge
    middleware: Authority
)

service Wechat {
    // Create pay recharge information | 创建PayRecharge
    @handler createPayRecharge
    post /pay_recharge/create (PayRechargeInfo) returns (BaseMsgResp)

    // Update pay recharge information | 更新PayRecharge
    @handler updatePayRecharge
    post /pay_recharge/update (PayRechargeInfo) returns (BaseMsgResp)

    // Delete pay recharge information | 删除PayRecharge信息
    @handler deletePayRecharge
    post /pay_recharge/delete (IDsReq) returns (BaseMsgResp)

    // Get pay recharge list | 获取PayRecharge列表
    @handler getPayRechargeList
    post /pay_recharge/list (PayRechargeListReq) returns (PayRechargeListResp)

    // Get pay recharge by ID | 通过ID获取PayRecharge
    @handler getPayRechargeById
    post /pay_recharge (IDReq) returns (PayRechargeInfoResp)
}