package rag import ( "database/sql" "eta/eta_api/global" "eta/eta_api/utils" "fmt" "time" ) type WechatPlatformUserMapping struct { WechatPlatformUserMappingId int `gorm:"column:wechat_platform_user_mapping_id;type:int(9) UNSIGNED;primaryKey;not null;" description:"wechat_platform_user_mapping_id"` WechatPlatformId int `gorm:"column:wechat_platform_id;type:int(9) UNSIGNED;comment:微信公众号id;default:0;" description:"wechat_platform_id"` // 微信公众号id SysUserId int `gorm:"column:sys_user_id;type:int(9) UNSIGNED;comment:用户id;default:0;" description:"sys_user_id"` // 用户id ModifyTime time.Time `gorm:"column:modify_time;type:datetime;default:NULL;" description:"modify_time"` CreateTime time.Time `gorm:"column:create_time;type:datetime;default:NULL;" description:"create_time"` } // TableName get sql table name.获取数据库表名 func (m *WechatPlatformUserMapping) TableName() string { return "wechat_platform_user_mapping" } // WechatPlatformUserMappingColumns get sql column name.获取数据库列名 var WechatPlatformUserMappingColumns = struct { WechatPlatformUserMappingID string WechatPlatformID string SysUserID string ModifyTime string CreateTime string }{ WechatPlatformUserMappingID: "wechat_platform_user_mapping_id", WechatPlatformID: "wechat_platform_id", SysUserID: "sys_user_id", ModifyTime: "modify_time", CreateTime: "create_time", } type UserFollowWechatPlatform struct { WechatPlatformId int `gorm:"column:wechat_platform_id;type:int(10) UNSIGNED;primaryKey;not null;" description:"wechat_platform_id"` FakeId string `gorm:"column:fake_id;type:varchar(255);comment:公众号唯一id;" description:"公众号唯一id"` Nickname string `gorm:"column:nickname;type:varchar(255);comment:公众号名称;" description:"公众号名称"` Alias string `gorm:"column:alias;type:varchar(255);comment:别名;" description:"别名"` RoundHeadImg string `gorm:"column:round_head_img;type:varchar(255);comment:头像;" description:"头像"` ServiceType int `gorm:"column:service_type;type:int(11);comment:类型;default:0;" description:"类型"` Signature string `gorm:"column:signature;type:varchar(255);comment:签名;" description:"签名"` Verified int `gorm:"column:verified;type:int(11);comment:是否认证,0:未认证,1:已认证;这个我不确定,再核实下;default:0;" description:"是否认证,0:未认证,1:已认证;这个我不确定,再核实下"` ArticleLink string `gorm:"column:article_link;type:varchar(255);comment:添加公众时的文章链接;" description:"添加公众时的文章链接"` Enabled int `gorm:"column:enabled;type:tinyint(9);comment:是否启用,0:禁用,1:启用;default:1;" description:"是否启用,0:禁用,1:启用"` SysUserId int `gorm:"column:sys_user_id;type:int(9) UNSIGNED;comment:用户id;default:0;" description:"用户id"` ModifyTime time.Time `gorm:"column:modify_time;type:datetime;comment:最后一次修改时间;default:NULL;" description:"最后一次修改时间"` CreateTime time.Time `gorm:"column:create_time;type:datetime;comment:添加时间;default:NULL;" description:"添加时间"` FollowUserId int `gorm:"column:follow_user_id;type:int(9) UNSIGNED;comment:关注的用户id;default:0;" description:"关注的用户id"` } func (m *WechatPlatformUserMapping) GetListByCondition(condition string, pars []interface{}, startSize, pageSize int) (items []*UserFollowWechatPlatform, err error) { sqlStr := fmt.Sprintf(`SELECT a.wechat_platform_id,a.fake_id,a.nickname,a.alias,a.round_head_img,a.service_type,a.signature,a.verified,a.article_link,a.enabled,a.sys_user_id,a.modify_time,a.create_time,b.sys_user_id as follow_user_id FROM wechat_platform a JOIN wechat_platform_user_mapping b on a.wechat_platform_id=b.wechat_platform_id WHERE 1=1 %s LIMIT ?,?`, condition) pars = append(pars, startSize, pageSize) err = global.DbMap[utils.DbNameAI].Raw(sqlStr, pars...).Find(&items).Error return } func (m *WechatPlatformUserMapping) GetCountByCondition(condition string, pars []interface{}) (total int, err error) { var intNull sql.NullInt64 sqlStr := fmt.Sprintf(`SELECT COUNT(1) total FROM wechat_platform a JOIN wechat_platform_user_mapping b on a.wechat_platform_id=b.wechat_platform_id WHERE 1=1 `, condition) err = global.DbMap[utils.DbNameAI].Raw(sqlStr, pars...).Scan(&intNull).Error if err == nil && intNull.Valid { total = int(intNull.Int64) } return } func (m *WechatPlatformUserMapping) GetPageListByCondition(condition string, pars []interface{}, startSize, pageSize int) (total int, items []*UserFollowWechatPlatform, err error) { total, err = m.GetCountByCondition(condition, pars) if err != nil { return } if total > 0 { items, err = m.GetListByCondition(condition, pars, startSize, pageSize) } return }