xunji.go 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. // Code generated by ent, DO NOT EDIT.
  2. package ent
  3. import (
  4. "fmt"
  5. "strings"
  6. "time"
  7. "wechat-api/ent/xunji"
  8. "entgo.io/ent"
  9. "entgo.io/ent/dialect/sql"
  10. )
  11. // Xunji is the model entity for the Xunji schema.
  12. type Xunji 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. // AppKey
  25. AppKey string `json:"app_key,omitempty"`
  26. // AppSecret
  27. AppSecret string `json:"app_secret,omitempty"`
  28. // Token
  29. Token string `json:"token,omitempty"`
  30. // 加密key
  31. EncodingKey string `json:"encoding_key,omitempty"`
  32. // 角色ID
  33. AgentID uint64 `json:"agent_id,omitempty"`
  34. // organization_id | 租户ID
  35. OrganizationID uint64 `json:"organization_id,omitempty"`
  36. // 微信ID
  37. Wxid string `json:"wxid,omitempty"`
  38. // 大模型服务地址
  39. APIBase string `json:"api_base,omitempty"`
  40. // 大模型服务密钥
  41. APIKey string `json:"api_key,omitempty"`
  42. selectValues sql.SelectValues
  43. }
  44. // scanValues returns the types for scanning values from sql.Rows.
  45. func (*Xunji) scanValues(columns []string) ([]any, error) {
  46. values := make([]any, len(columns))
  47. for i := range columns {
  48. switch columns[i] {
  49. case xunji.FieldID, xunji.FieldStatus, xunji.FieldAgentID, xunji.FieldOrganizationID:
  50. values[i] = new(sql.NullInt64)
  51. case xunji.FieldAppKey, xunji.FieldAppSecret, xunji.FieldToken, xunji.FieldEncodingKey, xunji.FieldWxid, xunji.FieldAPIBase, xunji.FieldAPIKey:
  52. values[i] = new(sql.NullString)
  53. case xunji.FieldCreatedAt, xunji.FieldUpdatedAt, xunji.FieldDeletedAt:
  54. values[i] = new(sql.NullTime)
  55. default:
  56. values[i] = new(sql.UnknownType)
  57. }
  58. }
  59. return values, nil
  60. }
  61. // assignValues assigns the values that were returned from sql.Rows (after scanning)
  62. // to the Xunji fields.
  63. func (x *Xunji) assignValues(columns []string, values []any) error {
  64. if m, n := len(values), len(columns); m < n {
  65. return fmt.Errorf("mismatch number of scan values: %d != %d", m, n)
  66. }
  67. for i := range columns {
  68. switch columns[i] {
  69. case xunji.FieldID:
  70. value, ok := values[i].(*sql.NullInt64)
  71. if !ok {
  72. return fmt.Errorf("unexpected type %T for field id", value)
  73. }
  74. x.ID = uint64(value.Int64)
  75. case xunji.FieldCreatedAt:
  76. if value, ok := values[i].(*sql.NullTime); !ok {
  77. return fmt.Errorf("unexpected type %T for field created_at", values[i])
  78. } else if value.Valid {
  79. x.CreatedAt = value.Time
  80. }
  81. case xunji.FieldUpdatedAt:
  82. if value, ok := values[i].(*sql.NullTime); !ok {
  83. return fmt.Errorf("unexpected type %T for field updated_at", values[i])
  84. } else if value.Valid {
  85. x.UpdatedAt = value.Time
  86. }
  87. case xunji.FieldStatus:
  88. if value, ok := values[i].(*sql.NullInt64); !ok {
  89. return fmt.Errorf("unexpected type %T for field status", values[i])
  90. } else if value.Valid {
  91. x.Status = uint8(value.Int64)
  92. }
  93. case xunji.FieldDeletedAt:
  94. if value, ok := values[i].(*sql.NullTime); !ok {
  95. return fmt.Errorf("unexpected type %T for field deleted_at", values[i])
  96. } else if value.Valid {
  97. x.DeletedAt = value.Time
  98. }
  99. case xunji.FieldAppKey:
  100. if value, ok := values[i].(*sql.NullString); !ok {
  101. return fmt.Errorf("unexpected type %T for field app_key", values[i])
  102. } else if value.Valid {
  103. x.AppKey = value.String
  104. }
  105. case xunji.FieldAppSecret:
  106. if value, ok := values[i].(*sql.NullString); !ok {
  107. return fmt.Errorf("unexpected type %T for field app_secret", values[i])
  108. } else if value.Valid {
  109. x.AppSecret = value.String
  110. }
  111. case xunji.FieldToken:
  112. if value, ok := values[i].(*sql.NullString); !ok {
  113. return fmt.Errorf("unexpected type %T for field token", values[i])
  114. } else if value.Valid {
  115. x.Token = value.String
  116. }
  117. case xunji.FieldEncodingKey:
  118. if value, ok := values[i].(*sql.NullString); !ok {
  119. return fmt.Errorf("unexpected type %T for field encoding_key", values[i])
  120. } else if value.Valid {
  121. x.EncodingKey = value.String
  122. }
  123. case xunji.FieldAgentID:
  124. if value, ok := values[i].(*sql.NullInt64); !ok {
  125. return fmt.Errorf("unexpected type %T for field agent_id", values[i])
  126. } else if value.Valid {
  127. x.AgentID = uint64(value.Int64)
  128. }
  129. case xunji.FieldOrganizationID:
  130. if value, ok := values[i].(*sql.NullInt64); !ok {
  131. return fmt.Errorf("unexpected type %T for field organization_id", values[i])
  132. } else if value.Valid {
  133. x.OrganizationID = uint64(value.Int64)
  134. }
  135. case xunji.FieldWxid:
  136. if value, ok := values[i].(*sql.NullString); !ok {
  137. return fmt.Errorf("unexpected type %T for field wxid", values[i])
  138. } else if value.Valid {
  139. x.Wxid = value.String
  140. }
  141. case xunji.FieldAPIBase:
  142. if value, ok := values[i].(*sql.NullString); !ok {
  143. return fmt.Errorf("unexpected type %T for field api_base", values[i])
  144. } else if value.Valid {
  145. x.APIBase = value.String
  146. }
  147. case xunji.FieldAPIKey:
  148. if value, ok := values[i].(*sql.NullString); !ok {
  149. return fmt.Errorf("unexpected type %T for field api_key", values[i])
  150. } else if value.Valid {
  151. x.APIKey = value.String
  152. }
  153. default:
  154. x.selectValues.Set(columns[i], values[i])
  155. }
  156. }
  157. return nil
  158. }
  159. // Value returns the ent.Value that was dynamically selected and assigned to the Xunji.
  160. // This includes values selected through modifiers, order, etc.
  161. func (x *Xunji) Value(name string) (ent.Value, error) {
  162. return x.selectValues.Get(name)
  163. }
  164. // Update returns a builder for updating this Xunji.
  165. // Note that you need to call Xunji.Unwrap() before calling this method if this Xunji
  166. // was returned from a transaction, and the transaction was committed or rolled back.
  167. func (x *Xunji) Update() *XunjiUpdateOne {
  168. return NewXunjiClient(x.config).UpdateOne(x)
  169. }
  170. // Unwrap unwraps the Xunji entity that was returned from a transaction after it was closed,
  171. // so that all future queries will be executed through the driver which created the transaction.
  172. func (x *Xunji) Unwrap() *Xunji {
  173. _tx, ok := x.config.driver.(*txDriver)
  174. if !ok {
  175. panic("ent: Xunji is not a transactional entity")
  176. }
  177. x.config.driver = _tx.drv
  178. return x
  179. }
  180. // String implements the fmt.Stringer.
  181. func (x *Xunji) String() string {
  182. var builder strings.Builder
  183. builder.WriteString("Xunji(")
  184. builder.WriteString(fmt.Sprintf("id=%v, ", x.ID))
  185. builder.WriteString("created_at=")
  186. builder.WriteString(x.CreatedAt.Format(time.ANSIC))
  187. builder.WriteString(", ")
  188. builder.WriteString("updated_at=")
  189. builder.WriteString(x.UpdatedAt.Format(time.ANSIC))
  190. builder.WriteString(", ")
  191. builder.WriteString("status=")
  192. builder.WriteString(fmt.Sprintf("%v", x.Status))
  193. builder.WriteString(", ")
  194. builder.WriteString("deleted_at=")
  195. builder.WriteString(x.DeletedAt.Format(time.ANSIC))
  196. builder.WriteString(", ")
  197. builder.WriteString("app_key=")
  198. builder.WriteString(x.AppKey)
  199. builder.WriteString(", ")
  200. builder.WriteString("app_secret=")
  201. builder.WriteString(x.AppSecret)
  202. builder.WriteString(", ")
  203. builder.WriteString("token=")
  204. builder.WriteString(x.Token)
  205. builder.WriteString(", ")
  206. builder.WriteString("encoding_key=")
  207. builder.WriteString(x.EncodingKey)
  208. builder.WriteString(", ")
  209. builder.WriteString("agent_id=")
  210. builder.WriteString(fmt.Sprintf("%v", x.AgentID))
  211. builder.WriteString(", ")
  212. builder.WriteString("organization_id=")
  213. builder.WriteString(fmt.Sprintf("%v", x.OrganizationID))
  214. builder.WriteString(", ")
  215. builder.WriteString("wxid=")
  216. builder.WriteString(x.Wxid)
  217. builder.WriteString(", ")
  218. builder.WriteString("api_base=")
  219. builder.WriteString(x.APIBase)
  220. builder.WriteString(", ")
  221. builder.WriteString("api_key=")
  222. builder.WriteString(x.APIKey)
  223. builder.WriteByte(')')
  224. return builder.String()
  225. }
  226. // Xunjis is a parsable slice of Xunji.
  227. type Xunjis []*Xunji