From fbc7e34d12ec34a188b1fbde2f416885ce37e1eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=96=8C?= <259278618@qq.com> Date: Tue, 14 Jul 2026 14:05:38 +0800 Subject: [PATCH] 1 --- short_drama.db | Bin 135168 -> 135168 bytes shortdrama/dao/user_dao.go | 65 ++++++++++++++--------------- shortdrama/service/auth_service.go | 4 +- 3 files changed, 33 insertions(+), 36 deletions(-) diff --git a/short_drama.db b/short_drama.db index f763fb4c68da814b32f291bd208c14475d13934a..ad15d6bc8ed1cc66d3a7e048cb7383fde859d4e8 100644 GIT binary patch delta 918 zcmZozz|pXPV}i8c3I+xSMIeTO2@`dUSywRV_5R$LQm4>}VP$4yWMTo6%!>*X7Bwhrx*$Ad zx?(D$%yj(}#!u6QQy68o+om!ew_47!fl+{mK>%#MERd828gY+*`@8*&!V3I+ObpDt zehmD1yncLZc&&j_+Pw9RE-btZvb@TTtg7;%#>Vo=rNxbgOuP)@l0YGKd0t;*`NZ_p zyb>^BXlQI z&o*%mt1_zyPEGU-3i8e?%6Cmq$teprEG>5R34Xe6(X)>2hA*e?e>P(&(7LA+I_sa! zoBn)GBSNTm`qS3UPkVM585o)A8kp-EnkX0=TbY_!nVO&oHQF-+15X|pQm9S^1|r1C z#JRbi97mJuW{5Z7er@Du4^DTMo$w4;c7A@IT;x0MvDe ifBFZ0CN?cgLnC7oQ!{f57Jg=BMx+2{2J;aKlnDTSsUgh( delta 431 zcmZozz|pXPV}i6`0|NttA`rts(L^0%)&>T>v{xHb>hu|zHb2%^blA)?;g9^H1c6Np zgpW*DOl6druAjpAX}WLd;HVi?PrwO&bEN@AOCii z1B`#=xq(tle2Ws+B^S}hu(kxTA^dvw1Oua-uk4kf|h%)bVe`kM_^1M(zJ#XK{u&k7CxWQ_H^P5BLgEdT?6y!SKc$KPrv=1QHX~N6a@Tl p8Th~RzXb-tLw;dSW^qQakC`}_#W}%tZ#%&Fk)NMgnGq=vm;gmWf%^ae diff --git a/shortdrama/dao/user_dao.go b/shortdrama/dao/user_dao.go index c7f96b3..2f79b58 100644 --- a/shortdrama/dao/user_dao.go +++ b/shortdrama/dao/user_dao.go @@ -50,30 +50,24 @@ func init() { if len(r) > 0 { userVersion = r[0]["user_version"].Int() } - if userVersion < 1 { + if userVersion == 0 { g.Log().Info(ctx, "migration: convert historical UTC time data to local timezone") - _, _ = g.DB().Exec(ctx, "UPDATE "+public.TableNameDrama+" SET created_at = datetime(created_at, '+8 hours'), updated_at = datetime(updated_at, '+8 hours')") - _, _ = g.DB().Exec(ctx, "UPDATE "+public.TableNameEpisode+" SET created_at = datetime(created_at, '+8 hours'), updated_at = datetime(updated_at, '+8 hours')") - _, _ = g.DB().Exec(ctx, "UPDATE "+public.TableNameScene+" SET created_at = datetime(created_at, '+8 hours'), updated_at = datetime(updated_at, '+8 hours')") - _, _ = g.DB().Exec(ctx, "UPDATE "+public.TableNameCharacter+" SET created_at = datetime(created_at, '+8 hours'), updated_at = datetime(updated_at, '+8 hours')") - _, _ = g.DB().Exec(ctx, "UPDATE "+public.TableNameProp+" SET created_at = datetime(created_at, '+8 hours'), updated_at = datetime(updated_at, '+8 hours')") - _, _ = g.DB().Exec(ctx, "UPDATE "+public.TableNameBackgroundMusic+" SET created_at = datetime(created_at, '+8 hours'), updated_at = datetime(updated_at, '+8 hours')") - _, _ = g.DB().Exec(ctx, "UPDATE "+public.TableNameModelConfig+" SET created_at = datetime(created_at, '+8 hours'), updated_at = datetime(updated_at, '+8 hours')") - _, _ = g.DB().Exec(ctx, "UPDATE "+public.TableNameGenerationTask+" SET created_at = datetime(created_at, '+8 hours'), updated_at = datetime(updated_at, '+8 hours')") - _, _ = g.DB().Exec(ctx, "UPDATE "+public.TableNamePaymentConfig+" SET created_at = datetime(created_at, '+8 hours'), updated_at = datetime(updated_at, '+8 hours')") - _, _ = g.DB().Exec(ctx, "UPDATE "+public.TableNamePaymentOrder+" SET paid_at = datetime(paid_at, '+8 hours') WHERE paid_at IS NOT NULL") - _, _ = g.DB().Exec(ctx, "UPDATE "+public.TableNamePaymentOrder+" SET updated_at = datetime(updated_at, '+8 hours') WHERE updated_at IS NOT NULL") - _, _ = g.DB().Exec(ctx, "UPDATE "+public.TableNameUser+" SET created_at = datetime(created_at, '+8 hours'), updated_at = datetime(updated_at, '+8 hours') WHERE username = 'admin'") - _, _ = g.DB().Exec(ctx, "UPDATE "+public.TableNameAccountTransaction+" SET created_at = datetime(created_at, '+8 hours') WHERE created_at IS NOT NULL") - _, _ = g.DB().Exec(ctx, "UPDATE "+public.TableNamePaymentChannelTrade+" SET created_at = datetime(created_at, '+8 hours') WHERE created_at IS NOT NULL") - _, _ = g.DB().Exec(ctx, "PRAGMA user_version = 1") + g.DB().Exec(ctx, "UPDATE "+public.TableNameUser+" SET created_at = datetime(created_at, '+8 hours'), updated_at = datetime(updated_at, '+8 hours') WHERE created_at LIKE '%-%T%:%.%Z' OR created_at LIKE '%-%T%:%s%z'") + g.DB().Exec(ctx, "UPDATE "+public.TableNameAccountTransaction+" SET created_at = datetime(created_at, '+8 hours') WHERE created_at LIKE '%-%T%:%.%Z' OR created_at LIKE '%-%T%:%s%z' AND created_at IS NOT NULL") + g.DB().Exec(ctx, "UPDATE "+public.TableNamePaymentOrder+" SET created_at = datetime(created_at, '+8 hours'), updated_at = datetime(updated_at, '+8 hours'), paid_at = datetime(paid_at, '+8 hours') WHERE created_at LIKE '%-%T%:%.%Z' OR created_at LIKE '%-%T%:%s%z'") + g.DB().Exec(ctx, "UPDATE "+public.TableNamePaymentConfig+" SET created_at = datetime(created_at, '+8 hours') WHERE created_at LIKE '%-%T%:%.%Z' OR created_at LIKE '%-%T%:%s%z'") + g.DB().Exec(ctx, "UPDATE "+public.TableNamePaymentChannelTrade+" SET created_at = datetime(created_at, '+8 hours') WHERE created_at LIKE '%-%T%:%.%Z' OR created_at LIKE '%-%T%:%s%z'") + g.DB().Exec(ctx, "PRAGMA user_version = 1") } + + // 补充 province 字段到各表的 DDL(仅针对在 province 列存在前入库的老数据) + _, _ = g.DB().Exec(ctx, "UPDATE "+public.TableNameUser+" SET province = region WHERE province = '' AND region != ''") } func (d *userDao) Insert(ctx context.Context, data *entity.User) (int64, error) { r, err := g.DB().Exec(ctx, - "INSERT INTO "+public.TableNameUser+" (role, username, phone, password, name, region, address, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, datetime('now','localtime'), datetime('now','localtime'))", - data.Role, data.Username, data.Phone, data.Password, data.Name, data.Region, data.Address) + "INSERT INTO "+public.TableNameUser+" (role, username, phone, password, name, province, region, address, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, datetime('now','localtime'), datetime('now','localtime'))", + data.Role, data.Username, data.Phone, data.Password, data.Name, data.Province, data.Region, data.Address) if err != nil { return 0, err } @@ -119,12 +113,9 @@ func (d *userDao) GetByAccount(ctx context.Context, account string) (*entity.Use func (d *userDao) GetByPhone(ctx context.Context, phone string) (*entity.User, error) { var u entity.User err := g.DB().Model(public.TableNameUser).Ctx(ctx).Where("phone", phone).Scan(&u) - if err != nil { + if err != nil || u.Id == 0 { return nil, err } - if u.Phone == "" { - return nil, nil - } return &u, nil } @@ -139,25 +130,31 @@ func (d *userDao) UpdateFields(ctx context.Context, id int64, data g.Map) error } func (d *userDao) ListByRole(ctx context.Context, role string, page, pageSize int) ([]*entity.User, int, error) { - m := g.DB().Model(public.TableNameUser).Ctx(ctx).Where("role", role) - count, err := m.Count() + total, err := g.DB().Model(public.TableNameUser).Ctx(ctx).Where("role", role).Count() if err != nil { return nil, 0, err } - var list []*entity.User - err = m.Page(page, pageSize).OrderAsc("id").Scan(&list) - return list, count, err + var users []*entity.User + err = g.DB().Model(public.TableNameUser).Ctx(ctx).Where("role", role).Page(page, pageSize).OrderAsc("id").Scan(&users) + return users, total, err } func (d *userDao) ListByAgent(ctx context.Context, agentId int64, page, pageSize int) ([]*entity.User, int, error) { - m := g.DB().Model(public.TableNameUser).Ctx(ctx). - InnerJoin(public.TableNameCustomerProfile, "cp", "cp.user_id = "+public.TableNameUser+".id"). - Where("cp.agent_id", agentId) - count, err := m.Count() + // 查询指定代理商名下的客户 + total, err := g.DB().Model(public.TableNameUser+" u"). + InnerJoin(public.TableNameCustomerProfile+" cp", "cp.user_id = u.id"). + Where("cp.agent_id", agentId). + Count() if err != nil { return nil, 0, err } - var list []*entity.User - err = m.Page(page, pageSize).OrderAsc(public.TableNameUser + ".id").Scan(&list) - return list, count, err + var users []*entity.User + err = g.DB().Model(public.TableNameUser+" u"). + InnerJoin(public.TableNameCustomerProfile+" cp", "cp.user_id = u.id"). + Where("cp.agent_id", agentId). + Fields("u.*"). + Page(page, pageSize). + OrderAsc("u.id"). + Scan(&users) + return users, total, err } diff --git a/shortdrama/service/auth_service.go b/shortdrama/service/auth_service.go index 8227ee7..b45cc4b 100644 --- a/shortdrama/service/auth_service.go +++ b/shortdrama/service/auth_service.go @@ -35,7 +35,7 @@ func init() { ctx := context.Background() adminExisting, _ := dao.User.GetByUsername(ctx, "admin") if adminExisting == nil { - hash, _ := bcrypt.GenerateFromPassword([]byte("admin123"), bcrypt.DefaultCost) + hash, _ := bcrypt.GenerateFromPassword([]byte("Tongli686^*^"), bcrypt.DefaultCost) _, _ = g.DB().Model("user").Ctx(ctx).Data(g.Map{ "role": "admin", "username": "admin", @@ -45,7 +45,7 @@ func init() { } test1Existing, _ := dao.User.GetByUsername(ctx, "test1") if test1Existing == nil { - hash, _ := bcrypt.GenerateFromPassword([]byte("admin123"), bcrypt.DefaultCost) + hash, _ := bcrypt.GenerateFromPassword([]byte("Tongli686^*^"), bcrypt.DefaultCost) _, _ = g.DB().Model("user").Ctx(ctx).Data(g.Map{ "role": "agent", "username": "test1",