sysUserModel_gen.go 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475
  1. // Code generated by goctl. DO NOT EDIT.
  2. // versions:
  3. // goctl version: 1.10.0
  4. package user
  5. import (
  6. "context"
  7. "database/sql"
  8. "fmt"
  9. "strings"
  10. "github.com/zeromicro/go-zero/core/stores/builder"
  11. "github.com/zeromicro/go-zero/core/stores/cache"
  12. "github.com/zeromicro/go-zero/core/stores/sqlc"
  13. "github.com/zeromicro/go-zero/core/stores/sqlx"
  14. "github.com/zeromicro/go-zero/core/stringx"
  15. )
  16. var (
  17. sysUserFieldNames = builder.RawFieldNames(&SysUser{})
  18. sysUserRows = strings.Join(sysUserFieldNames, ",")
  19. sysUserRowsExpectAutoSet = strings.Join(stringx.Remove(sysUserFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), ",")
  20. sysUserRowsWithPlaceHolder = strings.Join(stringx.Remove(sysUserFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), "=?,") + "=?"
  21. cacheSysUserIdPrefix = "cache:sysUser:id:"
  22. cacheSysUserUsernamePrefix = "cache:sysUser:username:"
  23. )
  24. type (
  25. sysUserModel interface {
  26. Insert(ctx context.Context, data *SysUser) (sql.Result, error)
  27. InsertWithTx(ctx context.Context, session sqlx.Session, data *SysUser) (sql.Result, error)
  28. BatchInsert(ctx context.Context, dataList []*SysUser) error
  29. BatchInsertWithTx(ctx context.Context, session sqlx.Session, dataList []*SysUser) error
  30. TransactCtx(ctx context.Context, fn func(context.Context, sqlx.Session) error) error
  31. FindOne(ctx context.Context, id int64) (*SysUser, error)
  32. FindOneWithTx(ctx context.Context, session sqlx.Session, id int64) (*SysUser, error)
  33. FindOneByUsername(ctx context.Context, username string) (*SysUser, error)
  34. FindOneByUsernameWithTx(ctx context.Context, session sqlx.Session, username string) (*SysUser, error)
  35. Update(ctx context.Context, data *SysUser) error
  36. UpdateWithTx(ctx context.Context, session sqlx.Session, data *SysUser) error
  37. BatchUpdate(ctx context.Context, dataList []*SysUser) error
  38. BatchUpdateWithTx(ctx context.Context, session sqlx.Session, dataList []*SysUser) error
  39. Delete(ctx context.Context, id int64) error
  40. DeleteWithTx(ctx context.Context, session sqlx.Session, id int64) error
  41. BatchDelete(ctx context.Context, ids []int64) error
  42. BatchDeleteWithTx(ctx context.Context, session sqlx.Session, ids []int64) error
  43. TableName() string
  44. }
  45. defaultSysUserModel struct {
  46. sqlc.CachedConn
  47. table string
  48. }
  49. SysUser struct {
  50. Id int64 `db:"id"`
  51. Username string `db:"username"` // 登录名
  52. Password string `db:"password"` // 登录密码
  53. Nickname string `db:"nickname"` // 昵称
  54. Avatar sql.NullString `db:"avatar"` // 头像
  55. Email string `db:"email"` // 邮箱
  56. Phone string `db:"phone"` // 手机号
  57. Remark string `db:"remark"` // 备注
  58. DeptId int64 `db:"deptId"` // 所属部门ID
  59. IsSuperAdmin int64 `db:"isSuperAdmin"` // 是否为超级管理员 1是 2否
  60. MustChangePassword int64 `db:"mustChangePassword"` // 是否需要强制修改密码 1是 2否
  61. Status int64 `db:"status"` // 状态 1正常 2冻结
  62. CreateTime int64 `db:"createTime"` // 创建时间
  63. UpdateTime int64 `db:"updateTime"` // 修改时间
  64. }
  65. )
  66. func newSysUserModel(conn sqlx.SqlConn, c cache.CacheConf, cachePrefix string, opts ...cache.Option) *defaultSysUserModel {
  67. if cachePrefix != "" {
  68. cacheSysUserIdPrefix = cachePrefix + ":" + "cache:sysUser:id:"
  69. cacheSysUserUsernamePrefix = cachePrefix + ":" + "cache:sysUser:username:"
  70. }
  71. return &defaultSysUserModel{
  72. CachedConn: sqlc.NewConn(conn, c, opts...),
  73. table: "`sys_user`",
  74. }
  75. }
  76. func (m *defaultSysUserModel) Delete(ctx context.Context, id int64) error {
  77. data, err := m.FindOne(ctx, id)
  78. if err != nil {
  79. return err
  80. }
  81. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, id)
  82. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  83. _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  84. query := fmt.Sprintf("DELETE FROM %s WHERE `id` = ?", m.table)
  85. return conn.ExecCtx(ctx, query, id)
  86. }, sysUserIdKey, sysUserUsernameKey)
  87. return err
  88. }
  89. func (m *defaultSysUserModel) DeleteWithTx(ctx context.Context, session sqlx.Session, id int64) error {
  90. data, err := m.FindOne(ctx, id)
  91. if err != nil {
  92. return err
  93. }
  94. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, id)
  95. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  96. _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  97. query := fmt.Sprintf("DELETE FROM %s WHERE `id` = ?", m.table)
  98. return session.ExecCtx(ctx, query, id)
  99. }, sysUserIdKey, sysUserUsernameKey)
  100. return err
  101. }
  102. func (m *defaultSysUserModel) BatchDelete(ctx context.Context, ids []int64) error {
  103. if len(ids) == 0 {
  104. return nil
  105. }
  106. primaryKeys := make([]interface{}, 0, len(ids))
  107. for _, key := range ids {
  108. primaryKeys = append(primaryKeys, key)
  109. }
  110. oldDataList, err := m.findListByPrimaryKeys(ctx, primaryKeys)
  111. if err != nil {
  112. return err
  113. }
  114. keys := make([]string, 0)
  115. for _, data := range oldDataList {
  116. id := m.getPrimaryKeyValue(data)
  117. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, id)
  118. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  119. keys = append(keys, sysUserIdKey, sysUserUsernameKey)
  120. }
  121. placeholders := make([]string, 0, len(ids))
  122. args := make([]interface{}, 0, len(ids))
  123. for _, id := range ids {
  124. placeholders = append(placeholders, "?")
  125. args = append(args, id)
  126. }
  127. _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  128. query := fmt.Sprintf("DELETE FROM %s WHERE `id` IN (%s)", m.table, strings.Join(placeholders, ","))
  129. return conn.ExecCtx(ctx, query, args...)
  130. }, keys...)
  131. return err
  132. }
  133. func (m *defaultSysUserModel) BatchDeleteWithTx(ctx context.Context, session sqlx.Session, ids []int64) error {
  134. if len(ids) == 0 {
  135. return nil
  136. }
  137. primaryKeys := make([]interface{}, 0, len(ids))
  138. for _, key := range ids {
  139. primaryKeys = append(primaryKeys, key)
  140. }
  141. oldDataList, err := m.findListByPrimaryKeys(ctx, primaryKeys)
  142. if err != nil {
  143. return err
  144. }
  145. keys := make([]string, 0)
  146. for _, data := range oldDataList {
  147. id := m.getPrimaryKeyValue(data)
  148. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, id)
  149. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  150. keys = append(keys, sysUserIdKey, sysUserUsernameKey)
  151. }
  152. placeholders := make([]string, 0, len(ids))
  153. args := make([]interface{}, 0, len(ids))
  154. for _, id := range ids {
  155. placeholders = append(placeholders, "?")
  156. args = append(args, id)
  157. }
  158. query := fmt.Sprintf("DELETE FROM %s WHERE `id` IN (%s)", m.table, strings.Join(placeholders, ","))
  159. _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  160. return session.ExecCtx(ctx, query, args...)
  161. }, keys...)
  162. return err
  163. }
  164. func (m *defaultSysUserModel) FindOne(ctx context.Context, id int64) (*SysUser, error) {
  165. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, id)
  166. var resp SysUser
  167. err := m.QueryRowCtx(ctx, &resp, sysUserIdKey, func(ctx context.Context, conn sqlx.SqlConn, v any) error {
  168. query := fmt.Sprintf("SELECT %s FROM %s WHERE `id` = ? LIMIT 1", sysUserRows, m.table)
  169. return conn.QueryRowCtx(ctx, v, query, id)
  170. })
  171. switch err {
  172. case nil:
  173. return &resp, nil
  174. case sqlc.ErrNotFound:
  175. return nil, ErrNotFound
  176. default:
  177. return nil, err
  178. }
  179. }
  180. func (m *defaultSysUserModel) FindOneWithTx(ctx context.Context, session sqlx.Session, id int64) (*SysUser, error) {
  181. var resp SysUser
  182. query := fmt.Sprintf("SELECT %s FROM %s WHERE `id` = ? LIMIT 1", sysUserRows, m.table)
  183. err := session.QueryRowCtx(ctx, &resp, query, id)
  184. switch err {
  185. case nil:
  186. return &resp, nil
  187. case sqlx.ErrNotFound:
  188. return nil, ErrNotFound
  189. default:
  190. return nil, err
  191. }
  192. }
  193. func (m *defaultSysUserModel) FindOneByUsername(ctx context.Context, username string) (*SysUser, error) {
  194. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, username)
  195. var resp SysUser
  196. err := m.QueryRowIndexCtx(ctx, &resp, sysUserUsernameKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v any) (i any, e error) {
  197. query := fmt.Sprintf("SELECT %s FROM %s WHERE `username` = ? LIMIT 1", sysUserRows, m.table)
  198. if err := conn.QueryRowCtx(ctx, &resp, query, username); err != nil {
  199. return nil, err
  200. }
  201. return resp.Id, nil
  202. }, m.queryPrimary)
  203. switch err {
  204. case nil:
  205. return &resp, nil
  206. case sqlc.ErrNotFound:
  207. return nil, ErrNotFound
  208. default:
  209. return nil, err
  210. }
  211. }
  212. func (m *defaultSysUserModel) FindOneByUsernameWithTx(ctx context.Context, session sqlx.Session, username string) (*SysUser, error) {
  213. var resp SysUser
  214. query := fmt.Sprintf("SELECT %s FROM %s WHERE `username` = ? LIMIT 1", sysUserRows, m.table)
  215. err := session.QueryRowCtx(ctx, &resp, query, username)
  216. switch err {
  217. case nil:
  218. return &resp, nil
  219. case sqlx.ErrNotFound:
  220. return nil, ErrNotFound
  221. default:
  222. return nil, err
  223. }
  224. }
  225. func (m *defaultSysUserModel) Insert(ctx context.Context, data *SysUser) (sql.Result, error) {
  226. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, data.Id)
  227. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  228. ret, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  229. query := fmt.Sprintf("INSERT INTO %s (%s) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, sysUserRowsExpectAutoSet)
  230. return conn.ExecCtx(ctx, query, data.Username, data.Password, data.Nickname, data.Avatar, data.Email, data.Phone, data.Remark, data.DeptId, data.IsSuperAdmin, data.MustChangePassword, data.Status, data.CreateTime, data.UpdateTime)
  231. }, sysUserIdKey, sysUserUsernameKey)
  232. return ret, err
  233. }
  234. func (m *defaultSysUserModel) InsertWithTx(ctx context.Context, session sqlx.Session, data *SysUser) (sql.Result, error) {
  235. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, data.Id)
  236. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  237. ret, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  238. query := fmt.Sprintf("INSERT INTO %s (%s) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, sysUserRowsExpectAutoSet)
  239. return session.ExecCtx(ctx, query, data.Username, data.Password, data.Nickname, data.Avatar, data.Email, data.Phone, data.Remark, data.DeptId, data.IsSuperAdmin, data.MustChangePassword, data.Status, data.CreateTime, data.UpdateTime)
  240. }, sysUserIdKey, sysUserUsernameKey)
  241. return ret, err
  242. }
  243. func (m *defaultSysUserModel) BatchInsert(ctx context.Context, dataList []*SysUser) error {
  244. if len(dataList) == 0 {
  245. return nil
  246. }
  247. keys := make([]string, 0, len(dataList))
  248. valueSets := make([]string, 0, len(dataList))
  249. args := make([]interface{}, 0)
  250. for _, data := range dataList {
  251. valueSets = append(valueSets, "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
  252. args = append(args, data.Username, data.Password, data.Nickname, data.Avatar, data.Email, data.Phone, data.Remark, data.DeptId, data.IsSuperAdmin, data.MustChangePassword, data.Status, data.CreateTime, data.UpdateTime)
  253. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, data.Id)
  254. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  255. keys = append(keys, sysUserIdKey, sysUserUsernameKey)
  256. }
  257. query := fmt.Sprintf("INSERT INTO %s (%s) VALUES %s", m.table, sysUserRowsExpectAutoSet, strings.Join(valueSets, ","))
  258. _, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  259. return conn.ExecCtx(ctx, query, args...)
  260. }, keys...)
  261. return err
  262. }
  263. func (m *defaultSysUserModel) BatchInsertWithTx(ctx context.Context, session sqlx.Session, dataList []*SysUser) error {
  264. if len(dataList) == 0 {
  265. return nil
  266. }
  267. keys := make([]string, 0, len(dataList))
  268. valueSets := make([]string, 0, len(dataList))
  269. args := make([]interface{}, 0)
  270. for _, data := range dataList {
  271. valueSets = append(valueSets, "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
  272. args = append(args, data.Username, data.Password, data.Nickname, data.Avatar, data.Email, data.Phone, data.Remark, data.DeptId, data.IsSuperAdmin, data.MustChangePassword, data.Status, data.CreateTime, data.UpdateTime)
  273. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, data.Id)
  274. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  275. keys = append(keys, sysUserIdKey, sysUserUsernameKey)
  276. }
  277. query := fmt.Sprintf("INSERT INTO %s (%s) VALUES %s", m.table, sysUserRowsExpectAutoSet, strings.Join(valueSets, ","))
  278. _, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  279. return session.ExecCtx(ctx, query, args...)
  280. }, keys...)
  281. return err
  282. }
  283. func (m *defaultSysUserModel) Update(ctx context.Context, newData *SysUser) error {
  284. data, err := m.FindOne(ctx, newData.Id)
  285. if err != nil {
  286. return err
  287. }
  288. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, data.Id)
  289. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  290. _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  291. query := fmt.Sprintf("UPDATE %s SET %s WHERE `id` = ?", m.table, sysUserRowsWithPlaceHolder)
  292. return conn.ExecCtx(ctx, query, newData.Username, newData.Password, newData.Nickname, newData.Avatar, newData.Email, newData.Phone, newData.Remark, newData.DeptId, newData.IsSuperAdmin, newData.MustChangePassword, newData.Status, newData.CreateTime, newData.UpdateTime, newData.Id)
  293. }, sysUserIdKey, sysUserUsernameKey)
  294. return err
  295. }
  296. func (m *defaultSysUserModel) UpdateWithTx(ctx context.Context, session sqlx.Session, newData *SysUser) error {
  297. data, err := m.FindOne(ctx, newData.Id)
  298. if err != nil {
  299. return err
  300. }
  301. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, data.Id)
  302. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  303. _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  304. query := fmt.Sprintf("UPDATE %s SET %s WHERE `id` = ?", m.table, sysUserRowsWithPlaceHolder)
  305. return session.ExecCtx(ctx, query, newData.Username, newData.Password, newData.Nickname, newData.Avatar, newData.Email, newData.Phone, newData.Remark, newData.DeptId, newData.IsSuperAdmin, newData.MustChangePassword, newData.Status, newData.CreateTime, newData.UpdateTime, newData.Id)
  306. }, sysUserIdKey, sysUserUsernameKey)
  307. return err
  308. }
  309. func (m *defaultSysUserModel) BatchUpdate(ctx context.Context, dataList []*SysUser) error {
  310. if len(dataList) == 0 {
  311. return nil
  312. }
  313. keys := make([]string, 0)
  314. primaryKeys := make([]interface{}, 0, len(dataList))
  315. for _, item := range dataList {
  316. primaryKeys = append(primaryKeys, item.Id)
  317. }
  318. oldList, err := m.findListByPrimaryKeys(ctx, primaryKeys)
  319. if err != nil {
  320. return err
  321. }
  322. for _, data := range oldList {
  323. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, data.Id)
  324. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  325. keys = append(keys, sysUserIdKey, sysUserUsernameKey)
  326. }
  327. query, vals := m.buildBatchUpdateQuery(dataList)
  328. _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  329. return conn.ExecCtx(ctx, query, vals...)
  330. }, keys...)
  331. return err
  332. }
  333. func (m *defaultSysUserModel) BatchUpdateWithTx(ctx context.Context, session sqlx.Session, dataList []*SysUser) error {
  334. if len(dataList) == 0 {
  335. return nil
  336. }
  337. keys := make([]string, 0)
  338. primaryKeys := make([]interface{}, 0, len(dataList))
  339. for _, item := range dataList {
  340. primaryKeys = append(primaryKeys, item.Id)
  341. }
  342. oldList, err := m.findListByPrimaryKeys(ctx, primaryKeys)
  343. if err != nil {
  344. return err
  345. }
  346. for _, data := range oldList {
  347. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, data.Id)
  348. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  349. keys = append(keys, sysUserIdKey, sysUserUsernameKey)
  350. }
  351. query, vals := m.buildBatchUpdateQuery(dataList)
  352. _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  353. return session.ExecCtx(ctx, query, vals...)
  354. }, keys...)
  355. return err
  356. }
  357. func (m *defaultSysUserModel) buildBatchUpdateQuery(dataList []*SysUser) (string, []interface{}) {
  358. fields := strings.Split(strings.ReplaceAll(sysUserRowsWithPlaceHolder, "=?", ""), ",")
  359. listValues := make([][]interface{}, 0, len(dataList))
  360. for _, newData := range dataList {
  361. values := make([]interface{}, 0, len(fields)+1)
  362. values = append(values, newData.Username, newData.Password, newData.Nickname, newData.Avatar, newData.Email, newData.Phone, newData.Remark, newData.DeptId, newData.IsSuperAdmin, newData.MustChangePassword, newData.Status, newData.CreateTime, newData.UpdateTime, newData.Id)
  363. listValues = append(listValues, values)
  364. }
  365. vals := make([]interface{}, 0, len(dataList)*(len(fields)*2+1))
  366. setClauses := make([]string, len(fields))
  367. for i, field := range fields {
  368. caseClauses := make([]string, len(dataList))
  369. for j, item := range dataList {
  370. caseClauses[j] = "WHEN `id` = ? THEN ?"
  371. vals = append(vals, item.Id, listValues[j][i])
  372. }
  373. setClauses[i] = fmt.Sprintf("%s = CASE %s ELSE %s END", field, strings.Join(caseClauses, " "), field)
  374. }
  375. wherePlaceholders := make([]string, len(dataList))
  376. for i, item := range dataList {
  377. wherePlaceholders[i] = "?"
  378. vals = append(vals, item.Id)
  379. }
  380. query := fmt.Sprintf("UPDATE %s SET %s WHERE `id` IN (%s)", m.table, strings.Join(setClauses, ", "), strings.Join(wherePlaceholders, ","))
  381. return query, vals
  382. }
  383. func (m *defaultSysUserModel) formatPrimary(primary any) string {
  384. return fmt.Sprintf("%s%v", cacheSysUserIdPrefix, primary)
  385. }
  386. func (m *defaultSysUserModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary any) error {
  387. query := fmt.Sprintf("SELECT %s FROM %s WHERE `id` = ? LIMIT 1", sysUserRows, m.table)
  388. return conn.QueryRowCtx(ctx, v, query, primary)
  389. }
  390. func (m *defaultSysUserModel) TableName() string {
  391. return m.table
  392. }
  393. func (m *defaultSysUserModel) findListByPrimaryKeys(ctx context.Context, ids []interface{}) ([]*SysUser, error) {
  394. if len(ids) == 0 {
  395. return []*SysUser{}, nil
  396. }
  397. placeholders := make([]string, len(ids))
  398. args := make([]interface{}, len(ids))
  399. for i, id := range ids {
  400. placeholders[i] = "?"
  401. args[i] = id
  402. }
  403. var resp []*SysUser
  404. query := fmt.Sprintf("SELECT %s FROM %s WHERE `id` IN (%s)", sysUserRows, m.table, strings.Join(placeholders, ","))
  405. err := m.QueryRowsNoCacheCtx(ctx, &resp, query, args...)
  406. if err != nil {
  407. return nil, err
  408. }
  409. return resp, nil
  410. }
  411. func (m *defaultSysUserModel) getPrimaryKeyValue(data *SysUser) interface{} {
  412. return data.Id
  413. }