package
0.1.0
Repository: https://github.com/kysion/weixin-library.git
Documentation: pkg.go.dev

# README

WeixinService

  • 该文件夹中主要存放 weixin-library库 的相关SQL数据表的逻辑实现。。。
  • 此文件夹主要是针对SQL数据表的实现逻辑,其他的文件,不要放到该目录下

一、SQL模型

注意事项

  • 该文档主要是 weixin-library库 的相关SQL数据表的记录。。。
  • 注意:id 全部是主键

微信用户表

表名:weixin_consumer_config

字段类型约束描述
idint8主键、非空id
open_idvarchar(255)非空微信用户openId,不同应用下的用户具备不同的openId
sys_user_idint8用户id
avatartext头像
provincevarchar(64)省份
cityvarchar(64)城市
nick_namevarchar(64)昵称
is_student_certifiedint2是否学生认证
user_typeint2用户账号类型,和sysUserType保持一致
user_stateint2状态:0未激活、1正常、-1封号、-2异常、-3已注销
is_certifiedint2是否实名认证
sexint2性别:0未知、1男、2女
access_tokentext授权token
ext_jsonjson拓展字段
created_attimestamptz(6)微信用户union_id,同一个开放平台帐号下的用户只有一个unionId
updated_attimestamptz(6)微信用户会话key
deleted_attimestamptz(6)用户授权刷新令牌
union_idvarchar(255)令牌过期时间
session_keyvarchar(255)微信用户授权状态:1已授权、2未授权
refresh_tokentext应用类型:1公众号 2小程序 4网站应用H5 8移动应用 16视频小店
expires_intimestamptz(6)是否关注公众号:1关注、2未关注
auth_stateint2商家应用Id
app_typeint2
is_follow_publicint2
app_idvarchar(64)

微信第三方平台应用配置表

表名: weixin_third_app_config

字段类型约束描述
idint8NOT NULL服务商id
namevarchar(64)NOT NULL服务商name
app_idvarchar(64)NOT NULL服务商应用Id
app_namevarchar(64)NOT NULL服务商应用名称
app_typeint2服务商应用类型
app_auth_tokenvarchar(255)服务商应用授权token
expires_intimestamptz(6)Token过期时间
re_expires_intimestamptz(6)Token限期刷新时间
union_main_idint8关联主体id
sys_user_idint8用户id
ext_jsonjson拓展字段
app_gateway_urltextNOT NULL网关地址
app_callback_urltextNOT NULL回调地址
app_secretvarchar(255)NOT NULL服务商应用密钥
msg_verfiy_tokentext消息校验Token
msg_encrypt_keytext消息加密解密密钥
auth_init_urltext授权发起页域名
server_domaintext服务器域名
business_domaintext业务域名
auth_test_appIdstext授权测试应用列表
platform_sitetext平台官方
logotext服务商logo
stateint2状态:0禁用 1启用
release_stateint2发布状态:0未发布 1已发布
https_certtext域名证书
https_keytext域名私钥
updated_attimestamptz(6)
app_id_md5varchar(32)应用id加密md5后的结果
user_idint8应用所属账号
refresh_tokenvarchar(255)刷新应用Token

商户应用配置表

表名:weixin_merchant_app_config

字段类型约束描述
idint8NOT NULLID
namevarchar(64)NOT NULL商家id
app_idvarchar(64)NOT NULL商家name
app_namevarchar(64)NOT NULL商家应用Id
app_typeint2----------商家应用名称
app_auth_tokenvarchar(255)----------应用类型:1公众号 2小程序 4网站应用H5 8移动应用 16视频小店
is_full_proxyint2NOT NULL商家应用token:1、当第三方代开发的时候,这个是商家授权的应用token (authorizer_access_token);2、当是商家自研模式时,这个是商家的应用token(access_token)。
stateint2NOT NULL,是否全权委托待开发:0否 1是
expires_intimestamptz(6)状态: 0禁用 1启用
re_expires_intimestamptz(6)Token过期时间
user_idint8Token限期刷新时间
union_main_idint8应用所属账号
sys_user_idint8关联主体id
ext_jsonjson用户id
app_gateway_urltext拓展字段
app_callback_urltext网关地址
app_secretvarchar(255)回调地址
msg_verfiy_tokentext商家应用密钥
msg_encrypt_keytext消息校验Token
msg_encrypt_typeint2消息加密解密密钥(EncodingAESKey)
business_domaintext消息加密模式:1兼容模式 2明文模式 4安全模式
js_domaintext业务域名
auth_domainvarchar(255)JS接口安全域名
logotext网页授权域名
https_certtext商家logo
https_keytext域名证书
server_domaintext域名私钥
app_id_md5varchar(32)服务器域名
third_app_idvarchar(64)应用id加密md5后的结果
notify_urltext服务商appId
server_ratefloat4异步通知地址,允许业务层追加相关参数
union_main_typevarchar(255)手续费比例,默认0.6%
versionvarchar(16)应用关联主体类型,和user_type保持一致
privacy_policytext应用版本
user_policytext隐私协议
dev_stateint2用户协议
updated_attimestamptz(6)开发状态:0未上线 1已上线
refresh_tokenvarchar(255)刷新商家授权应用Token
primitive_idvarchar(64)应用原始ID

微信支付商户表

表名:weixin_pay_merchant

字段类型约束描述
idint8NOT NULLID
mchidint4NOT NULL微信支付商户号
merchant_namevarchar(128)NOT NULL商户号公司名称
merchant_short_namevarchar(255)商户号简称
merchant_typeint2NOT NULL商户号类型:1服务商、2商户、4门店商家
api_v3_keyvarchar(32)用于ApiV3平台证书解密、回调信息解密
api_v2_keyvarchar(32)用于ApiV2平台证书解密、回调信息解密
pay_cert_p12text支付证书文件
pay_public_key_pemtext公钥文件
pay_private_key_pemtext私钥文件
cert_serial_numbertext证书序列号
jsapi_auth_pathtextJSAPI支付授权目录
sys_user_idint8用户ID
union_main_idint8用户关联主体
union_main_typeint2用户类型
bankcard_accountvarchar(20)银行结算账户,用于交易和提现
union_appidjson该商户号关联的AppId,微信支付接入模式属于直连模式,限制只能是同一主体下的App列表
updated_attimestamptz(6)
app_idvarchar(128)商户号 对应的公众号的服务号APPID

微信支付服务商的特约商户表

表名:weixin_pay_sub_merchant

字段类型约束描述
idint8NOT NULLID
sub_mchidint4NOT NULL特约商户商户号
sp_mchidint4NOT NULL服务商商户号
sub_appidvarchar(128)特约商户App唯一标识ID
sub_app_namevarchar(128)特约商户App名称
sub_app_typeint2特约商户App类型:1公众号 2小程序 4网站应用H5 8移动应用 16视频小店
sub_merchant_namevarchar(255)特约商户公司名称
sub_merchant_short_namevarchar(255)特约商户商家简称
sys_user_idint8特约商户用户ID
union_main_idint8特约商户用户主体
union_main_typeint2特约商户主体类型
jsapi_auth_pathtextJSAPI支付授权目录
h5_auth_pathtextH5支付授权目录
updated_attimestamptz
merchant_typeint2商户号类型:1服务商、2商户、4门店商家
merchant_union_typeint2特约商户主体类型:1个体工商户、2企业、4事业单位、8社会组织、16政府机关
bankcard_accountvarchar(128)结算账号,添加特约商户的时候填写的结算银行账户

微信订阅消息模板表

表名: weixin_subscribe_message_template

字段类型约束描述
idint8NOT NULLID
template_idvarcharNOT NULL模板ID
typeint2NOT NULL模板类型:2一次性订阅、3长期订阅
titlevarcharNOT NULL模板标题
key_wordstext模板主题词/关键词
server_categorytext模板服务类目
server_category_idint4模板服务类目ID
contenttextNOT NULL模板内容
content_exampletext模板内容示例
content_data_jsonjson模板内容Json
key_word_enum_value_list_jsonjson模板枚举参数值范围列表
scene_descvarchar场景描述
scene_typeint2场景类型【业务层自定义】:1活动即将开始提醒、2活动开始提醒、3活动即将结束提醒、4活动结束提醒、5活动获奖提醒、6券即将生效提醒、7券的生效提醒、8券的失效提醒、9券即将失效提醒、10券核销提醒、8192系统通知、
message_typeint2消息类型【业务层自定义】:1系统消息、2活动消息、4免啦券消息
merchant_app_idvarcharNOT NULL商家应用APPID
merchant_app_typeint2NOT NULL商家应用类型:1公众号、2小程序、4网站应用H5、8移动应用、16视频小店
third_app_idvarchar第三方平台应用APPID
user_idint8应用所属账号
union_main_idint8关联主体id
ext_jsonjson拓展字段Json
created_attimestamptz
updated_attimestamptz

二、实现逻辑

weixin-library库:https://github.com/kysion/weixin-library.git

逻辑代码:

image-20240806174820074