const system=require("../../system");
const settings=require("../../../config/settings");
const uiconfig=system.getUiConfig2(settings.wxconfig.appId);
module.exports = (db, DataTypes) => {
    return db.define("ccashinfo", {
        app_id: {
            type: DataTypes.STRING,
            allowNull: false,
        },
        app_type: {
            type: DataTypes.BIGINT,
            allowNull: false,
        },//需要在后台补充
        mchtId: {
            type: DataTypes.STRING,
            allowNull: true,
        },//需要在后台补充
        ecid: {
            type: DataTypes.BIGINT,
            allowNull: true,
        },//需要在后台补充
        outTradeNo: {
            type: DataTypes.STRING,
            allowNull: true,
        },//需要在后台补充
        amt: {
            type: DataTypes.BIGINT,
            allowNull: true,
        },
        actual_amt:{
            type:DataTypes.BIGINT,
            allowNull: true,
        },
        deduct_amt:{
            type:DataTypes.BIGINT,
            allowNull: true,
        },
        income_tax:{
            type:DataTypes.BIGINT,
            allowNull: true,
        },
        service_tax:{
            type:DataTypes.BIGINT,
            allowNull: true,
        },
        added_value_tax:{
            type:DataTypes.BIGINT,
            allowNull: true,
        },
        sign_url:{
          type:DataTypes.STRING,
          allowNull: true,
        },
        qrcode:{//用途类型
          type:DataTypes.STRING,
          allowNull: true
        },
        qrcode_status:{
          type:DataTypes.BIGINT,
          allowNull: true,
        },
        openId:{
            type:DataTypes.STRING,
            allowNull: true,
        },
        id_name:{
            type:DataTypes.STRING,
            allowNull: true,
        },
        id_no:{
            type:DataTypes.STRING,
            allowNull: true,
        },
        trade_status:{
            type:DataTypes.STRING,
            allowNull: true,
        },
        flow_status:{
            type:DataTypes.BIGINT,
            allowNull: true,
        },
        contract_id:{
            type:DataTypes.BIGINT,
            allowNull: true,
        },
        notify_url:{
            type:DataTypes.STRING,
            allowNull: true,
        },
        trade_desc:{
            type:DataTypes.STRING,
            allowNull: true,
        },

        trade_notify_time: {
            type:DataTypes.DATE,
            allowNull: true,
        },
        notify_rs: {
            type:DataTypes.STRING,
            allowNull: true,
        }
    }, {
        paranoid: true,//假的删除
        underscored: true,
        version: true,
        freezeTableName: true,
        //freezeTableName: true,
        // define the table's name
        tableName: 'c_cash_info',
        validate: {},
        indexes: [
            // Create a unique index on email
            //  {
            //    unique: true,
            //    fields: ['email']
            //  },
            //
            //  // Creates a gin index on data with the jsonb_path_ops operator
            //  {
            //    fields: ['data'],
            //    using: 'gin',
            //    operator: 'jsonb_path_ops'
            //  },
            //
            //  // By default index name will be [table]_[fields]
            //  // Creates a multi column partial index
            //  {
            //    name: 'public_by_author',
            //    fields: ['author', 'status'],
            //    where: {
            //      status: 'public'
            //    }
            //  },
            //
            //  // A BTREE index with a ordered field
            //  {
            //    name: 'title_index',
            //    method: 'BTREE',
            //    fields: ['author', {attribute: 'title', collate: 'en_US', order: 'DESC', length: 5}]
            //  }
        ]
    });
}
