本文整理汇总了Golang中github.com/QLeelulu/goku.MysqlDB.InsertStruct方法的典型用法代码示例。如果您正苦于以下问题:Golang MysqlDB.InsertStruct方法的具体用法?Golang MysqlDB.InsertStruct怎么用?Golang MysqlDB.InsertStruct使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/QLeelulu/goku.MysqlDB
的用法示例。
在下文中一共展示了MysqlDB.InsertStruct方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Topic_SaveTopics
// 保持topic到数据库,同时建立topic与link的关系表
// 如果topic已经存在,则直接建立与link的关联
// 全部成功则返回true
func Topic_SaveTopics(topics string, linkId int64) bool {
if topics == "" {
return true
}
var db *goku.MysqlDB = GetDB()
defer db.Close()
success := true
topicList := strings.Split(topics, ",")
for _, topic := range topicList {
topicLower := strings.ToLower(topic)
t := new(Topic)
err := db.GetStruct(t, "`name_lower`=?", topic)
if err != nil {
goku.Logger().Logln(topic)
goku.Logger().Errorln(err.Error())
success = false
continue
}
if t.Id < 1 {
t.Name = topic
t.NameLower = topicLower
_, err = db.InsertStruct(t)
if err != nil {
goku.Logger().Errorln(err.Error())
success = false
continue
}
}
if t.Id > 0 && linkId > 0 {
_, err = db.Insert("topic_link", map[string]interface{}{"topic_id": t.Id, "link_id": linkId})
if err != nil {
goku.Logger().Errorln(err.Error())
success = false
} else {
// 成功,更新话题的链接数量统计
Topic_IncCount(db, t.Id, "link_count", 1)
redisClient := GetRedis()
defer redisClient.Quit()
// 加入推送队列
// 格式: pushtype,topicid,linkid,timestamp
qv := fmt.Sprintf("%v,%v,%v,%v", LinkForUser_ByTopic, t.Id, linkId, time.Now().Unix())
_, err = redisClient.Lpush(golink.KEY_LIST_PUSH_TO_USER, qv)
if err != nil {
goku.Logger().Errorln(err.Error())
}
}
}
}
return success
}
示例2: saveRegisterInvite
//保存一个邀请
func saveRegisterInvite(userId int64, toEmail string, db *goku.MysqlDB) (string, error) {
if userId <= int64(0) || toEmail == "" {
return "", errors.New("用户id不合法")
}
invite := new(RegisterInvite)
invite.Guid = utils.GeneticKey()
invite.UserId = userId
invite.ToEmail = toEmail
invite.IsRegister = false
invite.ExpiredDate = time.Now().AddDate(0, 0, golink.Register_Invite_Expired_Day)
invite.IsSend = false
invite.FailCount = 0
_, err := db.InsertStruct(invite)
return invite.Guid, err
}
示例3: CreateRegisterInviteWithoutEmail
//获取一个邀请码(非邮件邀请方式,可能是通过qq和微薄发送)
func CreateRegisterInviteWithoutEmail(userId int64) (string, error) {
if userId <= int64(0) {
return "", errors.New("用户id不合法")
}
var db *goku.MysqlDB = GetDB()
defer db.Close()
invite := new(RegisterInvite)
invite.Guid = utils.GeneticKey()
invite.UserId = userId
invite.ToEmail = ""
invite.IsRegister = false
invite.ExpiredDate = time.Now().AddDate(0, 0, golink.Register_Invite_Expired_Day)
invite.IsSend = true
invite.FailCount = 0
_, err := db.InsertStruct(invite)
return invite.Guid, err
}