sysPermModel_gen.go 18 KB

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