fix: Game上报数据通过角色id匹配

This commit is contained in:
lianghuanjie
2025-01-16 11:01:17 +08:00
parent a0000fd343
commit 5210d67d10
5 changed files with 65 additions and 28 deletions

View File

@@ -27,7 +27,7 @@ type (
nhGameReportModel interface {
Insert(ctx context.Context, data *NhGameReport) (sql.Result, error)
FindOne(ctx context.Context, id uint) (*NhGameReport, error)
FindOneByUid(ctx context.Context, uid uint) (*NhGameReport, error)
FindOneByRoleId(ctx context.Context, roleId uint64) (*NhGameReport, error)
Update(ctx context.Context, data *NhGameReport) error
Delete(ctx context.Context, id uint) error
}
@@ -40,6 +40,7 @@ type (
NhGameReport struct {
Id uint `db:"id"`
Uid uint `db:"uid"` // 用户ID
RoleId uint64 `db:"role_id"` // 角色id
IsHaveTwoHero int8 `db:"is_have_two_hero"` // 是否拥有两个以上的英雄1=是
IsUsedSummon int8 `db:"is_used_summon"` // 是否已使用了召唤1=是
IsHaveHero31 int `db:"is_have_hero_31"` // 是否拥有31级以上的英雄1=是
@@ -76,10 +77,10 @@ func (m *defaultNhGameReportModel) FindOne(ctx context.Context, id uint) (*NhGam
}
}
func (m *defaultNhGameReportModel) FindOneByUid(ctx context.Context, uid uint) (*NhGameReport, error) {
func (m *defaultNhGameReportModel) FindOneByRoleId(ctx context.Context, roleId uint64) (*NhGameReport, error) {
var resp NhGameReport
query := fmt.Sprintf("select %s from %s where `uid` = ? limit 1", nhGameReportRows, m.table)
err := m.conn.QueryRowCtx(ctx, &resp, query, uid)
query := fmt.Sprintf("select %s from %s where `role_id` = ? limit 1", nhGameReportRows, m.table)
err := m.conn.QueryRowCtx(ctx, &resp, query, roleId)
switch err {
case nil:
return &resp, nil
@@ -91,14 +92,14 @@ func (m *defaultNhGameReportModel) FindOneByUid(ctx context.Context, uid uint) (
}
func (m *defaultNhGameReportModel) Insert(ctx context.Context, data *NhGameReport) (sql.Result, error) {
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?)", m.table, nhGameReportRowsExpectAutoSet)
ret, err := m.conn.ExecCtx(ctx, query, data.Uid, data.IsHaveTwoHero, data.IsUsedSummon, data.IsHaveHero31, data.Chapter)
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?)", m.table, nhGameReportRowsExpectAutoSet)
ret, err := m.conn.ExecCtx(ctx, query, data.Uid, data.RoleId, data.IsHaveTwoHero, data.IsUsedSummon, data.IsHaveHero31, data.Chapter)
return ret, err
}
func (m *defaultNhGameReportModel) Update(ctx context.Context, newData *NhGameReport) error {
query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, nhGameReportRowsWithPlaceHolder)
_, err := m.conn.ExecCtx(ctx, query, newData.Uid, newData.IsHaveTwoHero, newData.IsUsedSummon, newData.IsHaveHero31, newData.Chapter, newData.Id)
_, err := m.conn.ExecCtx(ctx, query, newData.Uid, newData.RoleId, newData.IsHaveTwoHero, newData.IsUsedSummon, newData.IsHaveHero31, newData.Chapter, newData.Id)
return err
}