1
This commit is contained in:
Binary file not shown.
+31
-34
@@ -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
|
||||
}
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user