contact.go 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304
  1. // Code generated by ent, DO NOT EDIT.
  2. package ent
  3. import (
  4. "fmt"
  5. "strings"
  6. "time"
  7. "wechat-api/ent/contact"
  8. "entgo.io/ent"
  9. "entgo.io/ent/dialect/sql"
  10. )
  11. // Contact is the model entity for the Contact schema.
  12. type Contact struct {
  13. config `json:"-"`
  14. // ID of the ent.
  15. ID uint64 `json:"id,omitempty"`
  16. // Create Time | 创建日期
  17. CreatedAt time.Time `json:"created_at,omitempty"`
  18. // Update Time | 修改日期
  19. UpdatedAt time.Time `json:"updated_at,omitempty"`
  20. // Status 1: normal 2: ban | 状态 1 正常 2 禁用
  21. Status uint8 `json:"status,omitempty"`
  22. // Delete Time | 删除日期
  23. DeletedAt time.Time `json:"deleted_at,omitempty"`
  24. // 属主微信id
  25. WxWxid string `json:"wx_wxid,omitempty"`
  26. // 联系人类型:1好友,2群组,3公众号,4企业微信联系人
  27. Type int `json:"type,omitempty"`
  28. // 微信id 公众号微信ID
  29. Wxid string `json:"wxid,omitempty"`
  30. // 微信账号
  31. Account string `json:"account,omitempty"`
  32. // 微信昵称 群备注名称
  33. Nickname string `json:"nickname,omitempty"`
  34. // 备注名
  35. Markname string `json:"markname,omitempty"`
  36. // 头像
  37. Headimg string `json:"headimg,omitempty"`
  38. // 性别 0未知 1男 2女
  39. Sex int `json:"sex,omitempty"`
  40. // 星标 65/67=星标 1/3=未星标
  41. Starrole string `json:"starrole,omitempty"`
  42. // 不让他看我的朋友圈 0可以看 1不让看
  43. Dontseeit int `json:"dontseeit,omitempty"`
  44. // 不看他的朋友圈 0可以看 1不看 1=开启了不看他 128/129=仅聊天
  45. Dontseeme int `json:"dontseeme,omitempty"`
  46. // 所属标签id清单,多开会用逗号隔开
  47. Lag string `json:"lag,omitempty"`
  48. // 群组id
  49. Gid string `json:"gid,omitempty"`
  50. // 群组名称
  51. Gname string `json:"gname,omitempty"`
  52. // v3数据
  53. V3 string `json:"v3,omitempty"`
  54. selectValues sql.SelectValues
  55. }
  56. // scanValues returns the types for scanning values from sql.Rows.
  57. func (*Contact) scanValues(columns []string) ([]any, error) {
  58. values := make([]any, len(columns))
  59. for i := range columns {
  60. switch columns[i] {
  61. case contact.FieldID, contact.FieldStatus, contact.FieldType, contact.FieldSex, contact.FieldDontseeit, contact.FieldDontseeme:
  62. values[i] = new(sql.NullInt64)
  63. case contact.FieldWxWxid, contact.FieldWxid, contact.FieldAccount, contact.FieldNickname, contact.FieldMarkname, contact.FieldHeadimg, contact.FieldStarrole, contact.FieldLag, contact.FieldGid, contact.FieldGname, contact.FieldV3:
  64. values[i] = new(sql.NullString)
  65. case contact.FieldCreatedAt, contact.FieldUpdatedAt, contact.FieldDeletedAt:
  66. values[i] = new(sql.NullTime)
  67. default:
  68. values[i] = new(sql.UnknownType)
  69. }
  70. }
  71. return values, nil
  72. }
  73. // assignValues assigns the values that were returned from sql.Rows (after scanning)
  74. // to the Contact fields.
  75. func (c *Contact) assignValues(columns []string, values []any) error {
  76. if m, n := len(values), len(columns); m < n {
  77. return fmt.Errorf("mismatch number of scan values: %d != %d", m, n)
  78. }
  79. for i := range columns {
  80. switch columns[i] {
  81. case contact.FieldID:
  82. value, ok := values[i].(*sql.NullInt64)
  83. if !ok {
  84. return fmt.Errorf("unexpected type %T for field id", value)
  85. }
  86. c.ID = uint64(value.Int64)
  87. case contact.FieldCreatedAt:
  88. if value, ok := values[i].(*sql.NullTime); !ok {
  89. return fmt.Errorf("unexpected type %T for field created_at", values[i])
  90. } else if value.Valid {
  91. c.CreatedAt = value.Time
  92. }
  93. case contact.FieldUpdatedAt:
  94. if value, ok := values[i].(*sql.NullTime); !ok {
  95. return fmt.Errorf("unexpected type %T for field updated_at", values[i])
  96. } else if value.Valid {
  97. c.UpdatedAt = value.Time
  98. }
  99. case contact.FieldStatus:
  100. if value, ok := values[i].(*sql.NullInt64); !ok {
  101. return fmt.Errorf("unexpected type %T for field status", values[i])
  102. } else if value.Valid {
  103. c.Status = uint8(value.Int64)
  104. }
  105. case contact.FieldDeletedAt:
  106. if value, ok := values[i].(*sql.NullTime); !ok {
  107. return fmt.Errorf("unexpected type %T for field deleted_at", values[i])
  108. } else if value.Valid {
  109. c.DeletedAt = value.Time
  110. }
  111. case contact.FieldWxWxid:
  112. if value, ok := values[i].(*sql.NullString); !ok {
  113. return fmt.Errorf("unexpected type %T for field wx_wxid", values[i])
  114. } else if value.Valid {
  115. c.WxWxid = value.String
  116. }
  117. case contact.FieldType:
  118. if value, ok := values[i].(*sql.NullInt64); !ok {
  119. return fmt.Errorf("unexpected type %T for field type", values[i])
  120. } else if value.Valid {
  121. c.Type = int(value.Int64)
  122. }
  123. case contact.FieldWxid:
  124. if value, ok := values[i].(*sql.NullString); !ok {
  125. return fmt.Errorf("unexpected type %T for field wxid", values[i])
  126. } else if value.Valid {
  127. c.Wxid = value.String
  128. }
  129. case contact.FieldAccount:
  130. if value, ok := values[i].(*sql.NullString); !ok {
  131. return fmt.Errorf("unexpected type %T for field account", values[i])
  132. } else if value.Valid {
  133. c.Account = value.String
  134. }
  135. case contact.FieldNickname:
  136. if value, ok := values[i].(*sql.NullString); !ok {
  137. return fmt.Errorf("unexpected type %T for field nickname", values[i])
  138. } else if value.Valid {
  139. c.Nickname = value.String
  140. }
  141. case contact.FieldMarkname:
  142. if value, ok := values[i].(*sql.NullString); !ok {
  143. return fmt.Errorf("unexpected type %T for field markname", values[i])
  144. } else if value.Valid {
  145. c.Markname = value.String
  146. }
  147. case contact.FieldHeadimg:
  148. if value, ok := values[i].(*sql.NullString); !ok {
  149. return fmt.Errorf("unexpected type %T for field headimg", values[i])
  150. } else if value.Valid {
  151. c.Headimg = value.String
  152. }
  153. case contact.FieldSex:
  154. if value, ok := values[i].(*sql.NullInt64); !ok {
  155. return fmt.Errorf("unexpected type %T for field sex", values[i])
  156. } else if value.Valid {
  157. c.Sex = int(value.Int64)
  158. }
  159. case contact.FieldStarrole:
  160. if value, ok := values[i].(*sql.NullString); !ok {
  161. return fmt.Errorf("unexpected type %T for field starrole", values[i])
  162. } else if value.Valid {
  163. c.Starrole = value.String
  164. }
  165. case contact.FieldDontseeit:
  166. if value, ok := values[i].(*sql.NullInt64); !ok {
  167. return fmt.Errorf("unexpected type %T for field dontseeit", values[i])
  168. } else if value.Valid {
  169. c.Dontseeit = int(value.Int64)
  170. }
  171. case contact.FieldDontseeme:
  172. if value, ok := values[i].(*sql.NullInt64); !ok {
  173. return fmt.Errorf("unexpected type %T for field dontseeme", values[i])
  174. } else if value.Valid {
  175. c.Dontseeme = int(value.Int64)
  176. }
  177. case contact.FieldLag:
  178. if value, ok := values[i].(*sql.NullString); !ok {
  179. return fmt.Errorf("unexpected type %T for field lag", values[i])
  180. } else if value.Valid {
  181. c.Lag = value.String
  182. }
  183. case contact.FieldGid:
  184. if value, ok := values[i].(*sql.NullString); !ok {
  185. return fmt.Errorf("unexpected type %T for field gid", values[i])
  186. } else if value.Valid {
  187. c.Gid = value.String
  188. }
  189. case contact.FieldGname:
  190. if value, ok := values[i].(*sql.NullString); !ok {
  191. return fmt.Errorf("unexpected type %T for field gname", values[i])
  192. } else if value.Valid {
  193. c.Gname = value.String
  194. }
  195. case contact.FieldV3:
  196. if value, ok := values[i].(*sql.NullString); !ok {
  197. return fmt.Errorf("unexpected type %T for field v3", values[i])
  198. } else if value.Valid {
  199. c.V3 = value.String
  200. }
  201. default:
  202. c.selectValues.Set(columns[i], values[i])
  203. }
  204. }
  205. return nil
  206. }
  207. // Value returns the ent.Value that was dynamically selected and assigned to the Contact.
  208. // This includes values selected through modifiers, order, etc.
  209. func (c *Contact) Value(name string) (ent.Value, error) {
  210. return c.selectValues.Get(name)
  211. }
  212. // Update returns a builder for updating this Contact.
  213. // Note that you need to call Contact.Unwrap() before calling this method if this Contact
  214. // was returned from a transaction, and the transaction was committed or rolled back.
  215. func (c *Contact) Update() *ContactUpdateOne {
  216. return NewContactClient(c.config).UpdateOne(c)
  217. }
  218. // Unwrap unwraps the Contact entity that was returned from a transaction after it was closed,
  219. // so that all future queries will be executed through the driver which created the transaction.
  220. func (c *Contact) Unwrap() *Contact {
  221. _tx, ok := c.config.driver.(*txDriver)
  222. if !ok {
  223. panic("ent: Contact is not a transactional entity")
  224. }
  225. c.config.driver = _tx.drv
  226. return c
  227. }
  228. // String implements the fmt.Stringer.
  229. func (c *Contact) String() string {
  230. var builder strings.Builder
  231. builder.WriteString("Contact(")
  232. builder.WriteString(fmt.Sprintf("id=%v, ", c.ID))
  233. builder.WriteString("created_at=")
  234. builder.WriteString(c.CreatedAt.Format(time.ANSIC))
  235. builder.WriteString(", ")
  236. builder.WriteString("updated_at=")
  237. builder.WriteString(c.UpdatedAt.Format(time.ANSIC))
  238. builder.WriteString(", ")
  239. builder.WriteString("status=")
  240. builder.WriteString(fmt.Sprintf("%v", c.Status))
  241. builder.WriteString(", ")
  242. builder.WriteString("deleted_at=")
  243. builder.WriteString(c.DeletedAt.Format(time.ANSIC))
  244. builder.WriteString(", ")
  245. builder.WriteString("wx_wxid=")
  246. builder.WriteString(c.WxWxid)
  247. builder.WriteString(", ")
  248. builder.WriteString("type=")
  249. builder.WriteString(fmt.Sprintf("%v", c.Type))
  250. builder.WriteString(", ")
  251. builder.WriteString("wxid=")
  252. builder.WriteString(c.Wxid)
  253. builder.WriteString(", ")
  254. builder.WriteString("account=")
  255. builder.WriteString(c.Account)
  256. builder.WriteString(", ")
  257. builder.WriteString("nickname=")
  258. builder.WriteString(c.Nickname)
  259. builder.WriteString(", ")
  260. builder.WriteString("markname=")
  261. builder.WriteString(c.Markname)
  262. builder.WriteString(", ")
  263. builder.WriteString("headimg=")
  264. builder.WriteString(c.Headimg)
  265. builder.WriteString(", ")
  266. builder.WriteString("sex=")
  267. builder.WriteString(fmt.Sprintf("%v", c.Sex))
  268. builder.WriteString(", ")
  269. builder.WriteString("starrole=")
  270. builder.WriteString(c.Starrole)
  271. builder.WriteString(", ")
  272. builder.WriteString("dontseeit=")
  273. builder.WriteString(fmt.Sprintf("%v", c.Dontseeit))
  274. builder.WriteString(", ")
  275. builder.WriteString("dontseeme=")
  276. builder.WriteString(fmt.Sprintf("%v", c.Dontseeme))
  277. builder.WriteString(", ")
  278. builder.WriteString("lag=")
  279. builder.WriteString(c.Lag)
  280. builder.WriteString(", ")
  281. builder.WriteString("gid=")
  282. builder.WriteString(c.Gid)
  283. builder.WriteString(", ")
  284. builder.WriteString("gname=")
  285. builder.WriteString(c.Gname)
  286. builder.WriteString(", ")
  287. builder.WriteString("v3=")
  288. builder.WriteString(c.V3)
  289. builder.WriteByte(')')
  290. return builder.String()
  291. }
  292. // Contacts is a parsable slice of Contact.
  293. type Contacts []*Contact