sysProductMemberModel_gen.go 19 KB

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