github.com/artisanhe/tools@v1.0.1-0.20210607022958-19a8fef2eb04/sqlx/gen/test/user__generated.go (about) 1 package test 2 3 import ( 4 fmt "fmt" 5 time "time" 6 7 git_chinawayltd_com_golib_tools_courier_enumeration "github.com/artisanhe/tools/courier/enumeration" 8 git_chinawayltd_com_golib_tools_sqlx "github.com/artisanhe/tools/sqlx" 9 git_chinawayltd_com_golib_tools_sqlx_builder "github.com/artisanhe/tools/sqlx/builder" 10 git_chinawayltd_com_golib_tools_timelib "github.com/artisanhe/tools/timelib" 11 ) 12 13 var UserTable *git_chinawayltd_com_golib_tools_sqlx_builder.Table 14 15 func init() { 16 UserTable = DBTest.Register(&User{}) 17 } 18 19 func (user *User) D() *git_chinawayltd_com_golib_tools_sqlx.Database { 20 return DBTest 21 } 22 23 func (user *User) T() *git_chinawayltd_com_golib_tools_sqlx_builder.Table { 24 return UserTable 25 } 26 27 func (user *User) TableName() string { 28 return "t_user" 29 } 30 31 // Deprecated use *.Field*() instead 32 type UserFields struct { 33 Name *git_chinawayltd_com_golib_tools_sqlx_builder.Column 34 Username *git_chinawayltd_com_golib_tools_sqlx_builder.Column 35 Nickname *git_chinawayltd_com_golib_tools_sqlx_builder.Column 36 Gender *git_chinawayltd_com_golib_tools_sqlx_builder.Column 37 Birthday *git_chinawayltd_com_golib_tools_sqlx_builder.Column 38 Boolean *git_chinawayltd_com_golib_tools_sqlx_builder.Column 39 CreateTime *git_chinawayltd_com_golib_tools_sqlx_builder.Column 40 UpdateTime *git_chinawayltd_com_golib_tools_sqlx_builder.Column 41 ID *git_chinawayltd_com_golib_tools_sqlx_builder.Column 42 Enabled *git_chinawayltd_com_golib_tools_sqlx_builder.Column 43 } 44 45 // Deprecated use *.FieldKey*() instead 46 var UserField = struct { 47 Name string 48 Username string 49 Nickname string 50 Gender string 51 Birthday string 52 Boolean string 53 CreateTime string 54 UpdateTime string 55 ID string 56 Enabled string 57 }{ 58 Name: "Name", 59 Username: "Username", 60 Nickname: "Nickname", 61 Gender: "Gender", 62 Birthday: "Birthday", 63 Boolean: "Boolean", 64 CreateTime: "CreateTime", 65 UpdateTime: "UpdateTime", 66 ID: "ID", 67 Enabled: "Enabled", 68 } 69 70 // Deprecated use *.Field*() instead 71 func (user *User) Fields() *UserFields { 72 table := user.T() 73 74 return &UserFields{ 75 Name: table.F(user.FieldKeyName()), 76 Username: table.F(user.FieldKeyUsername()), 77 Nickname: table.F(user.FieldKeyNickname()), 78 Gender: table.F(user.FieldKeyGender()), 79 Birthday: table.F(user.FieldKeyBirthday()), 80 Boolean: table.F(user.FieldKeyBoolean()), 81 CreateTime: table.F(user.FieldKeyCreateTime()), 82 UpdateTime: table.F(user.FieldKeyUpdateTime()), 83 ID: table.F(user.FieldKeyID()), 84 Enabled: table.F(user.FieldKeyEnabled()), 85 } 86 } 87 88 func (User) FieldKeyName() string { 89 return "Name" 90 } 91 92 func (user *User) FieldName() *git_chinawayltd_com_golib_tools_sqlx_builder.Column { 93 return user.T().F(user.FieldKeyName()) 94 } 95 96 func (User) FieldKeyUsername() string { 97 return "Username" 98 } 99 100 func (user *User) FieldUsername() *git_chinawayltd_com_golib_tools_sqlx_builder.Column { 101 return user.T().F(user.FieldKeyUsername()) 102 } 103 104 func (User) FieldKeyNickname() string { 105 return "Nickname" 106 } 107 108 func (user *User) FieldNickname() *git_chinawayltd_com_golib_tools_sqlx_builder.Column { 109 return user.T().F(user.FieldKeyNickname()) 110 } 111 112 func (User) FieldKeyGender() string { 113 return "Gender" 114 } 115 116 func (user *User) FieldGender() *git_chinawayltd_com_golib_tools_sqlx_builder.Column { 117 return user.T().F(user.FieldKeyGender()) 118 } 119 120 func (User) FieldKeyBirthday() string { 121 return "Birthday" 122 } 123 124 func (user *User) FieldBirthday() *git_chinawayltd_com_golib_tools_sqlx_builder.Column { 125 return user.T().F(user.FieldKeyBirthday()) 126 } 127 128 func (User) FieldKeyBoolean() string { 129 return "Boolean" 130 } 131 132 func (user *User) FieldBoolean() *git_chinawayltd_com_golib_tools_sqlx_builder.Column { 133 return user.T().F(user.FieldKeyBoolean()) 134 } 135 136 func (User) FieldKeyCreateTime() string { 137 return "CreateTime" 138 } 139 140 func (user *User) FieldCreateTime() *git_chinawayltd_com_golib_tools_sqlx_builder.Column { 141 return user.T().F(user.FieldKeyCreateTime()) 142 } 143 144 func (User) FieldKeyUpdateTime() string { 145 return "UpdateTime" 146 } 147 148 func (user *User) FieldUpdateTime() *git_chinawayltd_com_golib_tools_sqlx_builder.Column { 149 return user.T().F(user.FieldKeyUpdateTime()) 150 } 151 152 func (User) FieldKeyID() string { 153 return "ID" 154 } 155 156 func (user *User) FieldID() *git_chinawayltd_com_golib_tools_sqlx_builder.Column { 157 return user.T().F(user.FieldKeyID()) 158 } 159 160 func (User) FieldKeyEnabled() string { 161 return "Enabled" 162 } 163 164 func (user *User) FieldEnabled() *git_chinawayltd_com_golib_tools_sqlx_builder.Column { 165 return user.T().F(user.FieldKeyEnabled()) 166 } 167 168 func (user *User) IndexFieldNames() []string { 169 return []string{"ID", "Name", "Nickname", "Username"} 170 } 171 172 func (user *User) ConditionByStruct() *git_chinawayltd_com_golib_tools_sqlx_builder.Condition { 173 table := user.T() 174 175 fieldValues := git_chinawayltd_com_golib_tools_sqlx.FieldValuesFromStructByNonZero(user) 176 177 conditions := []*git_chinawayltd_com_golib_tools_sqlx_builder.Condition{} 178 179 for _, fieldName := range user.IndexFieldNames() { 180 if v, exists := fieldValues[fieldName]; exists { 181 conditions = append(conditions, table.F(fieldName).Eq(v)) 182 delete(fieldValues, fieldName) 183 } 184 } 185 186 if len(conditions) == 0 { 187 panic(fmt.Errorf("at least one of field for indexes has value")) 188 } 189 190 for fieldName, v := range fieldValues { 191 conditions = append(conditions, table.F(fieldName).Eq(v)) 192 } 193 194 condition := git_chinawayltd_com_golib_tools_sqlx_builder.And(conditions...) 195 196 condition = git_chinawayltd_com_golib_tools_sqlx_builder.And(condition, table.F("Enabled").Eq(git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__TRUE)) 197 198 return condition 199 } 200 201 func (user *User) PrimaryKey() git_chinawayltd_com_golib_tools_sqlx.FieldNames { 202 return git_chinawayltd_com_golib_tools_sqlx.FieldNames{"ID"} 203 } 204 func (user *User) Indexes() git_chinawayltd_com_golib_tools_sqlx.Indexes { 205 return git_chinawayltd_com_golib_tools_sqlx.Indexes{ 206 "I_nickname": git_chinawayltd_com_golib_tools_sqlx.FieldNames{"Nickname"}, 207 "I_username": git_chinawayltd_com_golib_tools_sqlx.FieldNames{"Username"}, 208 } 209 } 210 func (user *User) UniqueIndexes() git_chinawayltd_com_golib_tools_sqlx.Indexes { 211 return git_chinawayltd_com_golib_tools_sqlx.Indexes{"I_name": git_chinawayltd_com_golib_tools_sqlx.FieldNames{"Name", "Enabled"}} 212 } 213 214 func (user *User) Create(db *git_chinawayltd_com_golib_tools_sqlx.DB) error { 215 user.Enabled = git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__TRUE 216 217 if user.CreateTime.IsZero() { 218 user.CreateTime = git_chinawayltd_com_golib_tools_timelib.MySQLTimestamp(time.Now()) 219 } 220 user.UpdateTime = user.CreateTime 221 222 stmt := user.D(). 223 Insert(user). 224 Comment("User.Create") 225 226 dbRet := db.Do(stmt) 227 err := dbRet.Err() 228 229 if err == nil { 230 lastInsertID, _ := dbRet.LastInsertId() 231 user.ID = uint64(lastInsertID) 232 } 233 234 return err 235 } 236 237 func (user *User) DeleteByStruct(db *git_chinawayltd_com_golib_tools_sqlx.DB) (err error) { 238 table := user.T() 239 240 stmt := table.Delete(). 241 Comment("User.DeleteByStruct"). 242 Where(user.ConditionByStruct()) 243 244 err = db.Do(stmt).Err() 245 return 246 } 247 248 func (user *User) CreateOnDuplicateWithUpdateFields(db *git_chinawayltd_com_golib_tools_sqlx.DB, updateFields []string) error { 249 if len(updateFields) == 0 { 250 panic(fmt.Errorf("must have update fields")) 251 } 252 253 user.Enabled = git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__TRUE 254 255 if user.CreateTime.IsZero() { 256 user.CreateTime = git_chinawayltd_com_golib_tools_timelib.MySQLTimestamp(time.Now()) 257 } 258 user.UpdateTime = user.CreateTime 259 260 table := user.T() 261 262 fieldValues := git_chinawayltd_com_golib_tools_sqlx.FieldValuesFromStructByNonZero(user, updateFields...) 263 264 delete(fieldValues, "ID") 265 266 cols, vals := table.ColumnsAndValuesByFieldValues(fieldValues) 267 268 m := make(map[string]bool, len(updateFields)) 269 for _, field := range updateFields { 270 m[field] = true 271 } 272 273 // fields of unique index can not update 274 delete(m, "CreateTime") 275 276 for _, fieldNames := range user.UniqueIndexes() { 277 for _, field := range fieldNames { 278 delete(m, field) 279 } 280 } 281 282 if len(m) == 0 { 283 panic(fmt.Errorf("no fields for updates")) 284 } 285 286 for field := range fieldValues { 287 if !m[field] { 288 delete(fieldValues, field) 289 } 290 } 291 292 stmt := table. 293 Insert().Columns(cols).Values(vals...). 294 OnDuplicateKeyUpdate(table.AssignsByFieldValues(fieldValues)...). 295 Comment("User.CreateOnDuplicateWithUpdateFields") 296 297 return db.Do(stmt).Err() 298 } 299 300 func (user *User) FetchByID(db *git_chinawayltd_com_golib_tools_sqlx.DB) error { 301 user.Enabled = git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__TRUE 302 303 table := user.T() 304 stmt := table.Select(). 305 Comment("User.FetchByID"). 306 Where(git_chinawayltd_com_golib_tools_sqlx_builder.And( 307 table.F("ID").Eq(user.ID), 308 table.F("Enabled").Eq(user.Enabled), 309 )) 310 311 return db.Do(stmt).Scan(user).Err() 312 } 313 314 func (user *User) FetchByIDForUpdate(db *git_chinawayltd_com_golib_tools_sqlx.DB) error { 315 user.Enabled = git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__TRUE 316 317 table := user.T() 318 stmt := table.Select(). 319 Comment("User.FetchByIDForUpdate"). 320 Where(git_chinawayltd_com_golib_tools_sqlx_builder.And( 321 table.F("ID").Eq(user.ID), 322 table.F("Enabled").Eq(user.Enabled), 323 )). 324 ForUpdate() 325 326 return db.Do(stmt).Scan(user).Err() 327 } 328 329 func (user *User) DeleteByID(db *git_chinawayltd_com_golib_tools_sqlx.DB) error { 330 user.Enabled = git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__TRUE 331 332 table := user.T() 333 stmt := table.Delete(). 334 Comment("User.DeleteByID"). 335 Where(git_chinawayltd_com_golib_tools_sqlx_builder.And( 336 table.F("ID").Eq(user.ID), 337 table.F("Enabled").Eq(user.Enabled), 338 )) 339 340 return db.Do(stmt).Scan(user).Err() 341 } 342 343 func (user *User) UpdateByIDWithMap(db *git_chinawayltd_com_golib_tools_sqlx.DB, fieldValues git_chinawayltd_com_golib_tools_sqlx_builder.FieldValues) error { 344 345 if _, ok := fieldValues["UpdateTime"]; !ok { 346 fieldValues["UpdateTime"] = git_chinawayltd_com_golib_tools_timelib.MySQLTimestamp(time.Now()) 347 } 348 349 user.Enabled = git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__TRUE 350 351 table := user.T() 352 353 delete(fieldValues, "ID") 354 355 stmt := table.Update(). 356 Comment("User.UpdateByIDWithMap"). 357 Set(table.AssignsByFieldValues(fieldValues)...). 358 Where(git_chinawayltd_com_golib_tools_sqlx_builder.And( 359 table.F("ID").Eq(user.ID), 360 table.F("Enabled").Eq(user.Enabled), 361 )) 362 363 dbRet := db.Do(stmt).Scan(user) 364 err := dbRet.Err() 365 if err != nil { 366 return err 367 } 368 369 rowsAffected, _ := dbRet.RowsAffected() 370 if rowsAffected == 0 { 371 return user.FetchByID(db) 372 } 373 return nil 374 } 375 376 func (user *User) UpdateByIDWithStruct(db *git_chinawayltd_com_golib_tools_sqlx.DB, zeroFields ...string) error { 377 fieldValues := git_chinawayltd_com_golib_tools_sqlx.FieldValuesFromStructByNonZero(user, zeroFields...) 378 return user.UpdateByIDWithMap(db, fieldValues) 379 } 380 381 func (user *User) SoftDeleteByID(db *git_chinawayltd_com_golib_tools_sqlx.DB) error { 382 user.Enabled = git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__TRUE 383 384 table := user.T() 385 386 fieldValues := git_chinawayltd_com_golib_tools_sqlx_builder.FieldValues{} 387 fieldValues["Enabled"] = git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__FALSE 388 389 if _, ok := fieldValues["UpdateTime"]; !ok { 390 fieldValues["UpdateTime"] = git_chinawayltd_com_golib_tools_timelib.MySQLTimestamp(time.Now()) 391 } 392 393 stmt := table.Update(). 394 Comment("User.SoftDeleteByID"). 395 Set(table.AssignsByFieldValues(fieldValues)...). 396 Where(git_chinawayltd_com_golib_tools_sqlx_builder.And( 397 table.F("ID").Eq(user.ID), 398 table.F("Enabled").Eq(user.Enabled), 399 )) 400 401 dbRet := db.Do(stmt).Scan(user) 402 err := dbRet.Err() 403 if err != nil { 404 dbErr := git_chinawayltd_com_golib_tools_sqlx.DBErr(err) 405 if dbErr.IsConflict() { 406 return user.DeleteByID(db) 407 } 408 return err 409 } 410 return nil 411 } 412 413 func (user *User) FetchByName(db *git_chinawayltd_com_golib_tools_sqlx.DB) error { 414 user.Enabled = git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__TRUE 415 416 table := user.T() 417 stmt := table.Select(). 418 Comment("User.FetchByName"). 419 Where(git_chinawayltd_com_golib_tools_sqlx_builder.And( 420 table.F("Name").Eq(user.Name), 421 table.F("Enabled").Eq(user.Enabled), 422 )) 423 424 return db.Do(stmt).Scan(user).Err() 425 } 426 427 func (user *User) FetchByNameForUpdate(db *git_chinawayltd_com_golib_tools_sqlx.DB) error { 428 user.Enabled = git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__TRUE 429 430 table := user.T() 431 stmt := table.Select(). 432 Comment("User.FetchByNameForUpdate"). 433 Where(git_chinawayltd_com_golib_tools_sqlx_builder.And( 434 table.F("Name").Eq(user.Name), 435 table.F("Enabled").Eq(user.Enabled), 436 )). 437 ForUpdate() 438 439 return db.Do(stmt).Scan(user).Err() 440 } 441 442 func (user *User) DeleteByName(db *git_chinawayltd_com_golib_tools_sqlx.DB) error { 443 user.Enabled = git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__TRUE 444 445 table := user.T() 446 stmt := table.Delete(). 447 Comment("User.DeleteByName"). 448 Where(git_chinawayltd_com_golib_tools_sqlx_builder.And( 449 table.F("Name").Eq(user.Name), 450 table.F("Enabled").Eq(user.Enabled), 451 )) 452 453 return db.Do(stmt).Scan(user).Err() 454 } 455 456 func (user *User) UpdateByNameWithMap(db *git_chinawayltd_com_golib_tools_sqlx.DB, fieldValues git_chinawayltd_com_golib_tools_sqlx_builder.FieldValues) error { 457 458 if _, ok := fieldValues["UpdateTime"]; !ok { 459 fieldValues["UpdateTime"] = git_chinawayltd_com_golib_tools_timelib.MySQLTimestamp(time.Now()) 460 } 461 462 user.Enabled = git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__TRUE 463 464 table := user.T() 465 466 delete(fieldValues, "ID") 467 468 stmt := table.Update(). 469 Comment("User.UpdateByNameWithMap"). 470 Set(table.AssignsByFieldValues(fieldValues)...). 471 Where(git_chinawayltd_com_golib_tools_sqlx_builder.And( 472 table.F("Name").Eq(user.Name), 473 table.F("Enabled").Eq(user.Enabled), 474 )) 475 476 dbRet := db.Do(stmt).Scan(user) 477 err := dbRet.Err() 478 if err != nil { 479 return err 480 } 481 482 rowsAffected, _ := dbRet.RowsAffected() 483 if rowsAffected == 0 { 484 return user.FetchByName(db) 485 } 486 return nil 487 } 488 489 func (user *User) UpdateByNameWithStruct(db *git_chinawayltd_com_golib_tools_sqlx.DB, zeroFields ...string) error { 490 fieldValues := git_chinawayltd_com_golib_tools_sqlx.FieldValuesFromStructByNonZero(user, zeroFields...) 491 return user.UpdateByNameWithMap(db, fieldValues) 492 } 493 494 func (user *User) SoftDeleteByName(db *git_chinawayltd_com_golib_tools_sqlx.DB) error { 495 user.Enabled = git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__TRUE 496 497 table := user.T() 498 499 fieldValues := git_chinawayltd_com_golib_tools_sqlx_builder.FieldValues{} 500 fieldValues["Enabled"] = git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__FALSE 501 502 if _, ok := fieldValues["UpdateTime"]; !ok { 503 fieldValues["UpdateTime"] = git_chinawayltd_com_golib_tools_timelib.MySQLTimestamp(time.Now()) 504 } 505 506 stmt := table.Update(). 507 Comment("User.SoftDeleteByName"). 508 Set(table.AssignsByFieldValues(fieldValues)...). 509 Where(git_chinawayltd_com_golib_tools_sqlx_builder.And( 510 table.F("Name").Eq(user.Name), 511 table.F("Enabled").Eq(user.Enabled), 512 )) 513 514 dbRet := db.Do(stmt).Scan(user) 515 err := dbRet.Err() 516 if err != nil { 517 dbErr := git_chinawayltd_com_golib_tools_sqlx.DBErr(err) 518 if dbErr.IsConflict() { 519 return user.DeleteByName(db) 520 } 521 return err 522 } 523 return nil 524 } 525 526 type UserList []User 527 528 // deprecated 529 func (userList *UserList) FetchList(db *git_chinawayltd_com_golib_tools_sqlx.DB, size int32, offset int32, conditions ...*git_chinawayltd_com_golib_tools_sqlx_builder.Condition) (count int32, err error) { 530 *userList, count, err = (&User{}).FetchList(db, size, offset, conditions...) 531 return 532 } 533 534 func (user *User) FetchList(db *git_chinawayltd_com_golib_tools_sqlx.DB, size int32, offset int32, conditions ...*git_chinawayltd_com_golib_tools_sqlx_builder.Condition) (userList UserList, count int32, err error) { 535 userList = UserList{} 536 537 table := user.T() 538 539 condition := git_chinawayltd_com_golib_tools_sqlx_builder.And(conditions...) 540 541 condition = git_chinawayltd_com_golib_tools_sqlx_builder.And(condition, table.F("Enabled").Eq(git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__TRUE)) 542 543 stmt := table.Select(). 544 Comment("User.FetchList"). 545 Where(condition) 546 547 errForCount := db.Do(stmt.For(git_chinawayltd_com_golib_tools_sqlx_builder.Count(git_chinawayltd_com_golib_tools_sqlx_builder.Star()))).Scan(&count).Err() 548 if errForCount != nil { 549 err = errForCount 550 return 551 } 552 553 stmt = stmt.Limit(size).Offset(offset) 554 555 stmt = stmt.OrderDescBy(table.F("CreateTime")) 556 557 err = db.Do(stmt).Scan(&userList).Err() 558 559 return 560 } 561 562 func (user *User) List(db *git_chinawayltd_com_golib_tools_sqlx.DB, condition *git_chinawayltd_com_golib_tools_sqlx_builder.Condition) (userList UserList, err error) { 563 userList = UserList{} 564 565 table := user.T() 566 567 condition = git_chinawayltd_com_golib_tools_sqlx_builder.And(condition, table.F("Enabled").Eq(git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__TRUE)) 568 569 stmt := table.Select(). 570 Comment("User.List"). 571 Where(condition) 572 573 err = db.Do(stmt).Scan(&userList).Err() 574 575 return 576 } 577 578 func (user *User) ListByStruct(db *git_chinawayltd_com_golib_tools_sqlx.DB) (userList UserList, err error) { 579 userList = UserList{} 580 581 table := user.T() 582 583 condition := user.ConditionByStruct() 584 585 condition = git_chinawayltd_com_golib_tools_sqlx_builder.And(condition, table.F("Enabled").Eq(git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__TRUE)) 586 587 stmt := table.Select(). 588 Comment("User.ListByStruct"). 589 Where(condition) 590 591 err = db.Do(stmt).Scan(&userList).Err() 592 593 return 594 } 595 596 // deprecated 597 func (userList *UserList) BatchFetchByIDList(db *git_chinawayltd_com_golib_tools_sqlx.DB, idList []uint64) (err error) { 598 *userList, err = (&User{}).BatchFetchByIDList(db, idList) 599 return 600 } 601 602 func (user *User) BatchFetchByIDList(db *git_chinawayltd_com_golib_tools_sqlx.DB, idList []uint64) (userList UserList, err error) { 603 if len(idList) == 0 { 604 return UserList{}, nil 605 } 606 607 table := user.T() 608 609 condition := table.F("ID").In(idList) 610 611 condition = condition.And(table.F("Enabled").Eq(git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__TRUE)) 612 613 stmt := table.Select(). 614 Comment("User.BatchFetchByIDList"). 615 Where(condition) 616 617 err = db.Do(stmt).Scan(&userList).Err() 618 619 return 620 } 621 622 // deprecated 623 func (userList *UserList) BatchFetchByNameList(db *git_chinawayltd_com_golib_tools_sqlx.DB, nameList []string) (err error) { 624 *userList, err = (&User{}).BatchFetchByNameList(db, nameList) 625 return 626 } 627 628 func (user *User) BatchFetchByNameList(db *git_chinawayltd_com_golib_tools_sqlx.DB, nameList []string) (userList UserList, err error) { 629 if len(nameList) == 0 { 630 return UserList{}, nil 631 } 632 633 table := user.T() 634 635 condition := table.F("Name").In(nameList) 636 637 condition = condition.And(table.F("Enabled").Eq(git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__TRUE)) 638 639 stmt := table.Select(). 640 Comment("User.BatchFetchByNameList"). 641 Where(condition) 642 643 err = db.Do(stmt).Scan(&userList).Err() 644 645 return 646 } 647 648 // deprecated 649 func (userList *UserList) BatchFetchByNicknameList(db *git_chinawayltd_com_golib_tools_sqlx.DB, nicknameList []string) (err error) { 650 *userList, err = (&User{}).BatchFetchByNicknameList(db, nicknameList) 651 return 652 } 653 654 func (user *User) BatchFetchByNicknameList(db *git_chinawayltd_com_golib_tools_sqlx.DB, nicknameList []string) (userList UserList, err error) { 655 if len(nicknameList) == 0 { 656 return UserList{}, nil 657 } 658 659 table := user.T() 660 661 condition := table.F("Nickname").In(nicknameList) 662 663 condition = condition.And(table.F("Enabled").Eq(git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__TRUE)) 664 665 stmt := table.Select(). 666 Comment("User.BatchFetchByNicknameList"). 667 Where(condition) 668 669 err = db.Do(stmt).Scan(&userList).Err() 670 671 return 672 } 673 674 // deprecated 675 func (userList *UserList) BatchFetchByUsernameList(db *git_chinawayltd_com_golib_tools_sqlx.DB, usernameList []string) (err error) { 676 *userList, err = (&User{}).BatchFetchByUsernameList(db, usernameList) 677 return 678 } 679 680 func (user *User) BatchFetchByUsernameList(db *git_chinawayltd_com_golib_tools_sqlx.DB, usernameList []string) (userList UserList, err error) { 681 if len(usernameList) == 0 { 682 return UserList{}, nil 683 } 684 685 table := user.T() 686 687 condition := table.F("Username").In(usernameList) 688 689 condition = condition.And(table.F("Enabled").Eq(git_chinawayltd_com_golib_tools_courier_enumeration.BOOL__TRUE)) 690 691 stmt := table.Select(). 692 Comment("User.BatchFetchByUsernameList"). 693 Where(condition) 694 695 err = db.Do(stmt).Scan(&userList).Err() 696 697 return 698 }