sysUserModel_gen.go 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476
  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. TokenVersion int64 `db:"tokenVersion"` // Token版本号,修改密码/冻结时递增
  63. CreateTime int64 `db:"createTime"` // 创建时间
  64. UpdateTime int64 `db:"updateTime"` // 修改时间
  65. }
  66. )
  67. func newSysUserModel(conn sqlx.SqlConn, c cache.CacheConf, cachePrefix string, opts ...cache.Option) *defaultSysUserModel {
  68. if cachePrefix != "" {
  69. cacheSysUserIdPrefix = cachePrefix + ":" + "cache:sysUser:id:"
  70. cacheSysUserUsernamePrefix = cachePrefix + ":" + "cache:sysUser:username:"
  71. }
  72. return &defaultSysUserModel{
  73. CachedConn: sqlc.NewConn(conn, c, opts...),
  74. table: "`sys_user`",
  75. }
  76. }
  77. func (m *defaultSysUserModel) Delete(ctx context.Context, id int64) error {
  78. data, err := m.FindOne(ctx, id)
  79. if err != nil {
  80. return err
  81. }
  82. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, id)
  83. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  84. _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  85. query := fmt.Sprintf("DELETE FROM %s WHERE `id` = ?", m.table)
  86. return conn.ExecCtx(ctx, query, id)
  87. }, sysUserIdKey, sysUserUsernameKey)
  88. return err
  89. }
  90. func (m *defaultSysUserModel) DeleteWithTx(ctx context.Context, session sqlx.Session, id int64) error {
  91. data, err := m.FindOne(ctx, id)
  92. if err != nil {
  93. return err
  94. }
  95. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, id)
  96. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  97. _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  98. query := fmt.Sprintf("DELETE FROM %s WHERE `id` = ?", m.table)
  99. return session.ExecCtx(ctx, query, id)
  100. }, sysUserIdKey, sysUserUsernameKey)
  101. return err
  102. }
  103. func (m *defaultSysUserModel) BatchDelete(ctx context.Context, ids []int64) error {
  104. if len(ids) == 0 {
  105. return nil
  106. }
  107. primaryKeys := make([]interface{}, 0, len(ids))
  108. for _, key := range ids {
  109. primaryKeys = append(primaryKeys, key)
  110. }
  111. oldDataList, err := m.findListByPrimaryKeys(ctx, primaryKeys)
  112. if err != nil {
  113. return err
  114. }
  115. keys := make([]string, 0)
  116. for _, data := range oldDataList {
  117. id := m.getPrimaryKeyValue(data)
  118. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, id)
  119. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  120. keys = append(keys, sysUserIdKey, sysUserUsernameKey)
  121. }
  122. placeholders := make([]string, 0, len(ids))
  123. args := make([]interface{}, 0, len(ids))
  124. for _, id := range ids {
  125. placeholders = append(placeholders, "?")
  126. args = append(args, id)
  127. }
  128. _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  129. query := fmt.Sprintf("DELETE FROM %s WHERE `id` IN (%s)", m.table, strings.Join(placeholders, ","))
  130. return conn.ExecCtx(ctx, query, args...)
  131. }, keys...)
  132. return err
  133. }
  134. func (m *defaultSysUserModel) BatchDeleteWithTx(ctx context.Context, session sqlx.Session, ids []int64) error {
  135. if len(ids) == 0 {
  136. return nil
  137. }
  138. primaryKeys := make([]interface{}, 0, len(ids))
  139. for _, key := range ids {
  140. primaryKeys = append(primaryKeys, key)
  141. }
  142. oldDataList, err := m.findListByPrimaryKeys(ctx, primaryKeys)
  143. if err != nil {
  144. return err
  145. }
  146. keys := make([]string, 0)
  147. for _, data := range oldDataList {
  148. id := m.getPrimaryKeyValue(data)
  149. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, id)
  150. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  151. keys = append(keys, sysUserIdKey, sysUserUsernameKey)
  152. }
  153. placeholders := make([]string, 0, len(ids))
  154. args := make([]interface{}, 0, len(ids))
  155. for _, id := range ids {
  156. placeholders = append(placeholders, "?")
  157. args = append(args, id)
  158. }
  159. query := fmt.Sprintf("DELETE FROM %s WHERE `id` IN (%s)", m.table, strings.Join(placeholders, ","))
  160. _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  161. return session.ExecCtx(ctx, query, args...)
  162. }, keys...)
  163. return err
  164. }
  165. func (m *defaultSysUserModel) FindOne(ctx context.Context, id int64) (*SysUser, error) {
  166. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, id)
  167. var resp SysUser
  168. err := m.QueryRowCtx(ctx, &resp, sysUserIdKey, func(ctx context.Context, conn sqlx.SqlConn, v any) error {
  169. query := fmt.Sprintf("SELECT %s FROM %s WHERE `id` = ? LIMIT 1", sysUserRows, m.table)
  170. return conn.QueryRowCtx(ctx, v, query, id)
  171. })
  172. switch err {
  173. case nil:
  174. return &resp, nil
  175. case sqlc.ErrNotFound:
  176. return nil, ErrNotFound
  177. default:
  178. return nil, err
  179. }
  180. }
  181. func (m *defaultSysUserModel) FindOneWithTx(ctx context.Context, session sqlx.Session, id int64) (*SysUser, error) {
  182. var resp SysUser
  183. query := fmt.Sprintf("SELECT %s FROM %s WHERE `id` = ? LIMIT 1", sysUserRows, m.table)
  184. err := session.QueryRowCtx(ctx, &resp, query, id)
  185. switch err {
  186. case nil:
  187. return &resp, nil
  188. case sqlx.ErrNotFound:
  189. return nil, ErrNotFound
  190. default:
  191. return nil, err
  192. }
  193. }
  194. func (m *defaultSysUserModel) FindOneByUsername(ctx context.Context, username string) (*SysUser, error) {
  195. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, username)
  196. var resp SysUser
  197. err := m.QueryRowIndexCtx(ctx, &resp, sysUserUsernameKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v any) (i any, e error) {
  198. query := fmt.Sprintf("SELECT %s FROM %s WHERE `username` = ? LIMIT 1", sysUserRows, m.table)
  199. if err := conn.QueryRowCtx(ctx, &resp, query, username); err != nil {
  200. return nil, err
  201. }
  202. return resp.Id, nil
  203. }, m.queryPrimary)
  204. switch err {
  205. case nil:
  206. return &resp, nil
  207. case sqlc.ErrNotFound:
  208. return nil, ErrNotFound
  209. default:
  210. return nil, err
  211. }
  212. }
  213. func (m *defaultSysUserModel) FindOneByUsernameWithTx(ctx context.Context, session sqlx.Session, username string) (*SysUser, error) {
  214. var resp SysUser
  215. query := fmt.Sprintf("SELECT %s FROM %s WHERE `username` = ? LIMIT 1", sysUserRows, m.table)
  216. err := session.QueryRowCtx(ctx, &resp, query, username)
  217. switch err {
  218. case nil:
  219. return &resp, nil
  220. case sqlx.ErrNotFound:
  221. return nil, ErrNotFound
  222. default:
  223. return nil, err
  224. }
  225. }
  226. func (m *defaultSysUserModel) Insert(ctx context.Context, data *SysUser) (sql.Result, error) {
  227. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, data.Id)
  228. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  229. ret, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  230. query := fmt.Sprintf("INSERT INTO %s (%s) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, sysUserRowsExpectAutoSet)
  231. 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.TokenVersion, data.CreateTime, data.UpdateTime)
  232. }, sysUserIdKey, sysUserUsernameKey)
  233. return ret, err
  234. }
  235. func (m *defaultSysUserModel) InsertWithTx(ctx context.Context, session sqlx.Session, data *SysUser) (sql.Result, error) {
  236. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, data.Id)
  237. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  238. ret, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  239. query := fmt.Sprintf("INSERT INTO %s (%s) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, sysUserRowsExpectAutoSet)
  240. 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.TokenVersion, data.CreateTime, data.UpdateTime)
  241. }, sysUserIdKey, sysUserUsernameKey)
  242. return ret, err
  243. }
  244. func (m *defaultSysUserModel) BatchInsert(ctx context.Context, dataList []*SysUser) error {
  245. if len(dataList) == 0 {
  246. return nil
  247. }
  248. keys := make([]string, 0, len(dataList))
  249. valueSets := make([]string, 0, len(dataList))
  250. args := make([]interface{}, 0)
  251. for _, data := range dataList {
  252. valueSets = append(valueSets, "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
  253. 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.TokenVersion, data.CreateTime, data.UpdateTime)
  254. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, data.Id)
  255. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  256. keys = append(keys, sysUserIdKey, sysUserUsernameKey)
  257. }
  258. query := fmt.Sprintf("INSERT INTO %s (%s) VALUES %s", m.table, sysUserRowsExpectAutoSet, strings.Join(valueSets, ","))
  259. _, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  260. return conn.ExecCtx(ctx, query, args...)
  261. }, keys...)
  262. return err
  263. }
  264. func (m *defaultSysUserModel) BatchInsertWithTx(ctx context.Context, session sqlx.Session, dataList []*SysUser) error {
  265. if len(dataList) == 0 {
  266. return nil
  267. }
  268. keys := make([]string, 0, len(dataList))
  269. valueSets := make([]string, 0, len(dataList))
  270. args := make([]interface{}, 0)
  271. for _, data := range dataList {
  272. valueSets = append(valueSets, "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
  273. 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.TokenVersion, data.CreateTime, data.UpdateTime)
  274. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, data.Id)
  275. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  276. keys = append(keys, sysUserIdKey, sysUserUsernameKey)
  277. }
  278. query := fmt.Sprintf("INSERT INTO %s (%s) VALUES %s", m.table, sysUserRowsExpectAutoSet, strings.Join(valueSets, ","))
  279. _, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  280. return session.ExecCtx(ctx, query, args...)
  281. }, keys...)
  282. return err
  283. }
  284. func (m *defaultSysUserModel) Update(ctx context.Context, newData *SysUser) error {
  285. data, err := m.FindOne(ctx, newData.Id)
  286. if err != nil {
  287. return err
  288. }
  289. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, data.Id)
  290. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  291. _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  292. query := fmt.Sprintf("UPDATE %s SET %s WHERE `id` = ?", m.table, sysUserRowsWithPlaceHolder)
  293. 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.TokenVersion, newData.CreateTime, newData.UpdateTime, newData.Id)
  294. }, sysUserIdKey, sysUserUsernameKey)
  295. return err
  296. }
  297. func (m *defaultSysUserModel) UpdateWithTx(ctx context.Context, session sqlx.Session, newData *SysUser) error {
  298. data, err := m.FindOne(ctx, newData.Id)
  299. if err != nil {
  300. return err
  301. }
  302. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, data.Id)
  303. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  304. _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  305. query := fmt.Sprintf("UPDATE %s SET %s WHERE `id` = ?", m.table, sysUserRowsWithPlaceHolder)
  306. 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.TokenVersion, newData.CreateTime, newData.UpdateTime, newData.Id)
  307. }, sysUserIdKey, sysUserUsernameKey)
  308. return err
  309. }
  310. func (m *defaultSysUserModel) BatchUpdate(ctx context.Context, dataList []*SysUser) error {
  311. if len(dataList) == 0 {
  312. return nil
  313. }
  314. keys := make([]string, 0)
  315. primaryKeys := make([]interface{}, 0, len(dataList))
  316. for _, item := range dataList {
  317. primaryKeys = append(primaryKeys, item.Id)
  318. }
  319. oldList, err := m.findListByPrimaryKeys(ctx, primaryKeys)
  320. if err != nil {
  321. return err
  322. }
  323. for _, data := range oldList {
  324. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, data.Id)
  325. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  326. keys = append(keys, sysUserIdKey, sysUserUsernameKey)
  327. }
  328. query, vals := m.buildBatchUpdateQuery(dataList)
  329. _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  330. return conn.ExecCtx(ctx, query, vals...)
  331. }, keys...)
  332. return err
  333. }
  334. func (m *defaultSysUserModel) BatchUpdateWithTx(ctx context.Context, session sqlx.Session, dataList []*SysUser) error {
  335. if len(dataList) == 0 {
  336. return nil
  337. }
  338. keys := make([]string, 0)
  339. primaryKeys := make([]interface{}, 0, len(dataList))
  340. for _, item := range dataList {
  341. primaryKeys = append(primaryKeys, item.Id)
  342. }
  343. oldList, err := m.findListByPrimaryKeys(ctx, primaryKeys)
  344. if err != nil {
  345. return err
  346. }
  347. for _, data := range oldList {
  348. sysUserIdKey := fmt.Sprintf("%s%v", cacheSysUserIdPrefix, data.Id)
  349. sysUserUsernameKey := fmt.Sprintf("%s%v", cacheSysUserUsernamePrefix, data.Username)
  350. keys = append(keys, sysUserIdKey, sysUserUsernameKey)
  351. }
  352. query, vals := m.buildBatchUpdateQuery(dataList)
  353. _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
  354. return session.ExecCtx(ctx, query, vals...)
  355. }, keys...)
  356. return err
  357. }
  358. func (m *defaultSysUserModel) buildBatchUpdateQuery(dataList []*SysUser) (string, []interface{}) {
  359. fields := strings.Split(strings.ReplaceAll(sysUserRowsWithPlaceHolder, "=?", ""), ",")
  360. listValues := make([][]interface{}, 0, len(dataList))
  361. for _, newData := range dataList {
  362. values := make([]interface{}, 0, len(fields)+1)
  363. 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.TokenVersion, newData.CreateTime, newData.UpdateTime, newData.Id)
  364. listValues = append(listValues, values)
  365. }
  366. vals := make([]interface{}, 0, len(dataList)*(len(fields)*2+1))
  367. setClauses := make([]string, len(fields))
  368. for i, field := range fields {
  369. caseClauses := make([]string, len(dataList))
  370. for j, item := range dataList {
  371. caseClauses[j] = "WHEN `id` = ? THEN ?"
  372. vals = append(vals, item.Id, listValues[j][i])
  373. }
  374. setClauses[i] = fmt.Sprintf("%s = CASE %s ELSE %s END", field, strings.Join(caseClauses, " "), field)
  375. }
  376. wherePlaceholders := make([]string, len(dataList))
  377. for i, item := range dataList {
  378. wherePlaceholders[i] = "?"
  379. vals = append(vals, item.Id)
  380. }
  381. query := fmt.Sprintf("UPDATE %s SET %s WHERE `id` IN (%s)", m.table, strings.Join(setClauses, ", "), strings.Join(wherePlaceholders, ","))
  382. return query, vals
  383. }
  384. func (m *defaultSysUserModel) formatPrimary(primary any) string {
  385. return fmt.Sprintf("%s%v", cacheSysUserIdPrefix, primary)
  386. }
  387. func (m *defaultSysUserModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary any) error {
  388. query := fmt.Sprintf("SELECT %s FROM %s WHERE `id` = ? LIMIT 1", sysUserRows, m.table)
  389. return conn.QueryRowCtx(ctx, v, query, primary)
  390. }
  391. func (m *defaultSysUserModel) TableName() string {
  392. return m.table
  393. }
  394. func (m *defaultSysUserModel) findListByPrimaryKeys(ctx context.Context, ids []interface{}) ([]*SysUser, error) {
  395. if len(ids) == 0 {
  396. return []*SysUser{}, nil
  397. }
  398. placeholders := make([]string, len(ids))
  399. args := make([]interface{}, len(ids))
  400. for i, id := range ids {
  401. placeholders[i] = "?"
  402. args[i] = id
  403. }
  404. var resp []*SysUser
  405. query := fmt.Sprintf("SELECT %s FROM %s WHERE `id` IN (%s)", sysUserRows, m.table, strings.Join(placeholders, ","))
  406. err := m.QueryRowsNoCacheCtx(ctx, &resp, query, args...)
  407. if err != nil {
  408. return nil, err
  409. }
  410. return resp, nil
  411. }
  412. func (m *defaultSysUserModel) getPrimaryKeyValue(data *SysUser) interface{} {
  413. return data.Id
  414. }