import { Payload, PayloadBody, Publisher, Consumer, BaseEventHandler } from 'ec-base'
export { Publisher as WexinFinishOrderPublisher }
export { Consumer, BaseEventHandler }
export namespace $parameters {
    export interface SysUser {
        name?: string
        age?: number
        sex?: number
        birthday?: Date
        enable?: boolean
        roleIdList?: Array<string>
        roles?: Array<SysRole>
        shippingAddress?: ShippingAddress
        extends?: Extends1
    }


    export interface SysRole {
        name?: string
        permissionIds?: Array<string>
    }


    export interface ShippingAddress {
        province?: string
        city?: string
        county?: string
        address?: string
        extends?: Extends
    }


    export interface Extends {
        postalCode?: string
        street?: string
    }


    export interface Extends1 {
        dataState?: string
    }


}



export type WexinFinishOrderPayloadBody = $parameters.SysUser

export class WexinFinishOrderPayload extends Payload {
    getTopic(): string {
        return 'wexin-finish-order'
    }
    getVersion(): number {
        return 1.0
    }
    body: WexinFinishOrderPayloadBody;
}


