You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.7 KiB
54 lines
1.7 KiB
package dao |
|
|
|
import ( |
|
"context" |
|
|
|
"go-common/app/service/live/xlottery/model" |
|
|
|
"github.com/pkg/errors" |
|
) |
|
|
|
// InsertSpecialGift 插入SpecialGift |
|
func (d *Dao) InsertSpecialGift(sg *model.SpecialGift) (int64, error) { |
|
|
|
stmt, err := d.db.Prepare("insert into ap_special_gift (uid,room_id,gift_id,gift_num,create_time, custom_field) values (?,?,?,?,?,?) ") |
|
if err != nil { |
|
return 0, errors.WithStack(err) |
|
} |
|
|
|
result, err := stmt.Exec(context.TODO(), sg.UID, sg.RoomID, sg.GiftID, sg.GiftNum, sg.CreateTime, sg.CustomField) |
|
if err != nil { |
|
return 0, errors.WithStack(err) |
|
} |
|
return result.LastInsertId() |
|
} |
|
|
|
// FindBeatByBeatIDAndUID 根据beatid 和 uid 查询 beat |
|
func (d *Dao) FindBeatByBeatIDAndUID(id, uid int64) (*model.Beat, error) { |
|
row := d.db.QueryRow(context.TODO(), "select id ,uid ,content,status, operator,update_time,ctime ,mtime from ap_user_beats_info where id = ? and uid = ?", id, uid) |
|
var b model.Beat |
|
err := row.Scan(&b.ID, &b.UID, &b.Content, &b.Status, &b.Operator, &b.UpdateTime, &b.Ctime, &b.Mtime) |
|
if err != nil { |
|
return nil, errors.WithStack(err) |
|
} |
|
return &b, nil |
|
} |
|
|
|
// FindShieldKeyWorkByUID 根据uid 查找屏蔽词 |
|
func (d *Dao) FindShieldKeyWorkByUID(uid int64) ([]*model.ShieldKeyWork, error) { |
|
row, err := d.db.Query(context.TODO(), "select id, uid ,original_keyword, keyword, ctime from ap_shield_keywork where uid = ?", uid) |
|
if err != nil { |
|
return nil, errors.WithStack(err) |
|
} |
|
skArray := make([]*model.ShieldKeyWork, 0) |
|
for row.Next() { |
|
var b model.ShieldKeyWork |
|
err := row.Scan(&b.ID, &b.UID, &b.OriginalKeyword, &b.KeyWord, &b.Ctime) |
|
if err != nil { |
|
return nil, errors.WithStack(err) |
|
} |
|
skArray = append(skArray, &b) |
|
} |
|
|
|
return skArray, nil |
|
}
|
|
|