增加初始化类文件
xiyunfei authored at 2026-02-27 00:31:51
11.38 KiB
NewLife.WeChat
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.Serialization;
using System.Xml.Serialization;
using NewLife;
using NewLife.Data;
using XCode;
using XCode.Cache;
using XCode.Configuration;
using XCode.DataAccessLayer;

namespace NewLife.WeChat.Entities;

/// <summary>微信配置。存储微信应用的AppId和AppSecret等配置信息</summary>
[Serializable]
[DataObject]
[Description("微信配置。存储微信应用的AppId和AppSecret等配置信息")]
[BindIndex("IU_WeChatConfig_AppId", true, "AppId")]
[BindIndex("IX_WeChatConfig_IsEnabled", false, "IsEnabled")]
[BindIndex("IX_WeChatConfig_TenantId", false, "TenantId")]
[BindIndex("IX_WeChatConfig_AppCategory", false, "AppCategory")]
[BindTable("WeChatConfig", Description = "微信配置。存储微信应用的AppId和AppSecret等配置信息", ConnName = "WeChat", DbType = DatabaseType.None)]
public partial class 微信配置 : I微信配置
{
    #region 属性
    private Int32 _Id;
    /// <summary>编号</summary>
    [DisplayName("编号")]
    [Description("编号")]
    [DataObjectField(true, true, false, 0)]
    [BindColumn("Id", "编号", "")]
    public Int32 Id { get => _Id; set { if (OnPropertyChanging("Id", value)) { _Id = value; OnPropertyChanged("Id"); } } }

    private String _AppName;
    /// <summary>应用名称</summary>
    [DisplayName("应用名称")]
    [Description("应用名称")]
    [DataObjectField(false, false, false, 50)]
    [BindColumn("AppName", "应用名称", "", Master = true)]
    public String AppName { get => _AppName; set { if (OnPropertyChanging("AppName", value)) { _AppName = value; OnPropertyChanged("AppName"); } } }

    private String _AppId;
    /// <summary>微信AppId</summary>
    [DisplayName("微信AppId")]
    [Description("微信AppId")]
    [DataObjectField(false, false, false, 50)]
    [BindColumn("AppId", "微信AppId", "")]
    public String AppId { get => _AppId; set { if (OnPropertyChanging("AppId", value)) { _AppId = value; OnPropertyChanged("AppId"); } } }

    private String _AppSecret;
    /// <summary>微信AppSecret</summary>
    [DisplayName("微信AppSecret")]
    [Description("微信AppSecret")]
    [DataObjectField(false, false, false, 200)]
    [BindColumn("AppSecret", "微信AppSecret", "")]
    public String AppSecret { get => _AppSecret; set { if (OnPropertyChanging("AppSecret", value)) { _AppSecret = value; OnPropertyChanged("AppSecret"); } } }

    private String _AppType;
    /// <summary>应用类型。公众号/小程序/企业微信</summary>
    [DisplayName("应用类型")]
    [Description("应用类型。公众号/小程序/企业微信")]
    [DataObjectField(false, false, true, 20)]
    [BindColumn("AppType", "应用类型。公众号/小程序/企业微信", "")]
    public String AppType { get => _AppType; set { if (OnPropertyChanging("AppType", value)) { _AppType = value; OnPropertyChanged("AppType"); } } }

    private Int32 _AppCategory;
    /// <summary>应用分类。1=公众号,2=小程序,3=APP</summary>
    [DisplayName("应用分类")]
    [Description("应用分类。1=公众号,2=小程序,3=APP")]
    [DataObjectField(false, false, false, 0)]
    [BindColumn("AppCategory", "应用分类。1=公众号,2=小程序,3=APP", "")]
    public Int32 AppCategory { get => _AppCategory; set { if (OnPropertyChanging("AppCategory", value)) { _AppCategory = value; OnPropertyChanged("AppCategory"); } } }

    private Int32 _TenantId;
    /// <summary>租户编号。用于多租户场景的数据隔离</summary>
    [DisplayName("租户编号")]
    [Description("租户编号。用于多租户场景的数据隔离")]
    [DataObjectField(false, false, false, 0)]
    [BindColumn("TenantId", "租户编号。用于多租户场景的数据隔离", "")]
    public Int32 TenantId { get => _TenantId; set { if (OnPropertyChanging("TenantId", value)) { _TenantId = value; OnPropertyChanged("TenantId"); } } }

    private Boolean _IsEnabled;
    /// <summary>是否启用</summary>
    [DisplayName("是否启用")]
    [Description("是否启用")]
    [DataObjectField(false, false, false, 0)]
    [BindColumn("IsEnabled", "是否启用", "")]
    public Boolean IsEnabled { get => _IsEnabled; set { if (OnPropertyChanging("IsEnabled", value)) { _IsEnabled = value; OnPropertyChanged("IsEnabled"); } } }

    private String _Token;
    /// <summary>消息校验Token</summary>
    [DisplayName("消息校验Token")]
    [Description("消息校验Token")]
    [DataObjectField(false, false, true, 100)]
    [BindColumn("Token", "消息校验Token", "")]
    public String Token { get => _Token; set { if (OnPropertyChanging("Token", value)) { _Token = value; OnPropertyChanged("Token"); } } }

    private String _EncodingAESKey;
    /// <summary>消息加解密密钥</summary>
    [DisplayName("消息加解密密钥")]
    [Description("消息加解密密钥")]
    [DataObjectField(false, false, true, 100)]
    [BindColumn("EncodingAESKey", "消息加解密密钥", "")]
    public String EncodingAESKey { get => _EncodingAESKey; set { if (OnPropertyChanging("EncodingAESKey", value)) { _EncodingAESKey = value; OnPropertyChanged("EncodingAESKey"); } } }

    private DateTime _CreateTime;
    /// <summary>创建时间</summary>
    [DisplayName("创建时间")]
    [Description("创建时间")]
    [DataObjectField(false, false, true, 0)]
    [BindColumn("CreateTime", "创建时间", "")]
    public DateTime CreateTime { get => _CreateTime; set { if (OnPropertyChanging("CreateTime", value)) { _CreateTime = value; OnPropertyChanged("CreateTime"); } } }

    private DateTime _UpdateTime;
    /// <summary>æ›´æ–°æ—¶é—´</summary>
    [DisplayName("æ›´æ–°æ—¶é—´")]
    [Description("æ›´æ–°æ—¶é—´")]
    [DataObjectField(false, false, true, 0)]
    [BindColumn("UpdateTime", "æ›´æ–°æ—¶é—´", "")]
    public DateTime UpdateTime { get => _UpdateTime; set { if (OnPropertyChanging("UpdateTime", value)) { _UpdateTime = value; OnPropertyChanged("UpdateTime"); } } }

    private String _Remark;
    /// <summary>备注</summary>
    [DisplayName("备注")]
    [Description("备注")]
    [DataObjectField(false, false, true, 500)]
    [BindColumn("Remark", "备注", "")]
    public String Remark { get => _Remark; set { if (OnPropertyChanging("Remark", value)) { _Remark = value; OnPropertyChanged("Remark"); } } }
    #endregion

    #region 获取/设置 字段值
    /// <summary>获取/设置 字段值</summary>
    /// <param name="name">字段名</param>
    /// <returns></returns>
    public override Object this[String name]
    {
        get => name switch
        {
            "Id" => _Id,
            "AppName" => _AppName,
            "AppId" => _AppId,
            "AppSecret" => _AppSecret,
            "AppType" => _AppType,
            "AppCategory" => _AppCategory,
            "TenantId" => _TenantId,
            "IsEnabled" => _IsEnabled,
            "Token" => _Token,
            "EncodingAESKey" => _EncodingAESKey,
            "CreateTime" => _CreateTime,
            "UpdateTime" => _UpdateTime,
            "Remark" => _Remark,
            _ => base[name]
        };
        set
        {
            switch (name)
            {
                case "Id": _Id = value.ToInt(); break;
                case "AppName": _AppName = Convert.ToString(value); break;
                case "AppId": _AppId = Convert.ToString(value); break;
                case "AppSecret": _AppSecret = Convert.ToString(value); break;
                case "AppType": _AppType = Convert.ToString(value); break;
                case "AppCategory": _AppCategory = value.ToInt(); break;
                case "TenantId": _TenantId = value.ToInt(); break;
                case "IsEnabled": _IsEnabled = value.ToBoolean(); break;
                case "Token": _Token = Convert.ToString(value); break;
                case "EncodingAESKey": _EncodingAESKey = Convert.ToString(value); break;
                case "CreateTime": _CreateTime = value.ToDateTime(); break;
                case "UpdateTime": _UpdateTime = value.ToDateTime(); break;
                case "Remark": _Remark = Convert.ToString(value); break;
                default: base[name] = value; break;
            }
        }
    }
    #endregion

    #region 关联映射
    #endregion

    #region 字段名
    /// <summary>取得微信配置字段信息的快捷方式</summary>
    public partial class _
    {
        /// <summary>编号</summary>
        public static readonly Field Id = FindByName("Id");

        /// <summary>应用名称</summary>
        public static readonly Field AppName = FindByName("AppName");

        /// <summary>微信AppId</summary>
        public static readonly Field AppId = FindByName("AppId");

        /// <summary>微信AppSecret</summary>
        public static readonly Field AppSecret = FindByName("AppSecret");

        /// <summary>应用类型。公众号/小程序/企业微信</summary>
        public static readonly Field AppType = FindByName("AppType");

        /// <summary>应用分类。1=公众号,2=小程序,3=APP</summary>
        public static readonly Field AppCategory = FindByName("AppCategory");

        /// <summary>租户编号。用于多租户场景的数据隔离</summary>
        public static readonly Field TenantId = FindByName("TenantId");

        /// <summary>是否启用</summary>
        public static readonly Field IsEnabled = FindByName("IsEnabled");

        /// <summary>消息校验Token</summary>
        public static readonly Field Token = FindByName("Token");

        /// <summary>消息加解密密钥</summary>
        public static readonly Field EncodingAESKey = FindByName("EncodingAESKey");

        /// <summary>创建时间</summary>
        public static readonly Field CreateTime = FindByName("CreateTime");

        /// <summary>æ›´æ–°æ—¶é—´</summary>
        public static readonly Field UpdateTime = FindByName("UpdateTime");

        /// <summary>备注</summary>
        public static readonly Field Remark = FindByName("Remark");

        static Field FindByName(String name) => Meta.Table.FindByName(name);
    }

    /// <summary>取得微信配置字段名称的快捷方式</summary>
    public partial class __
    {
        /// <summary>编号</summary>
        public const String Id = "Id";

        /// <summary>应用名称</summary>
        public const String AppName = "AppName";

        /// <summary>微信AppId</summary>
        public const String AppId = "AppId";

        /// <summary>微信AppSecret</summary>
        public const String AppSecret = "AppSecret";

        /// <summary>应用类型。公众号/小程序/企业微信</summary>
        public const String AppType = "AppType";

        /// <summary>应用分类。1=公众号,2=小程序,3=APP</summary>
        public const String AppCategory = "AppCategory";

        /// <summary>租户编号。用于多租户场景的数据隔离</summary>
        public const String TenantId = "TenantId";

        /// <summary>是否启用</summary>
        public const String IsEnabled = "IsEnabled";

        /// <summary>消息校验Token</summary>
        public const String Token = "Token";

        /// <summary>消息加解密密钥</summary>
        public const String EncodingAESKey = "EncodingAESKey";

        /// <summary>创建时间</summary>
        public const String CreateTime = "CreateTime";

        /// <summary>æ›´æ–°æ—¶é—´</summary>
        public const String UpdateTime = "UpdateTime";

        /// <summary>备注</summary>
        public const String Remark = "Remark";
    }
    #endregion
}