schema.go 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712
  1. // Code generated by ent, DO NOT EDIT.
  2. package migrate
  3. import (
  4. "entgo.io/ent/dialect/entsql"
  5. "entgo.io/ent/dialect/sql/schema"
  6. "entgo.io/ent/schema/field"
  7. )
  8. var (
  9. // AgentColumns holds the columns for the "agent" table.
  10. AgentColumns = []*schema.Column{
  11. {Name: "id", Type: field.TypeUint64, Increment: true},
  12. {Name: "created_at", Type: field.TypeTime, Comment: "Create Time | 创建日期"},
  13. {Name: "updated_at", Type: field.TypeTime, Comment: "Update Time | 修改日期"},
  14. {Name: "deleted_at", Type: field.TypeTime, Nullable: true, Comment: "Delete Time | 删除日期"},
  15. {Name: "name", Type: field.TypeString, Size: 255, Comment: "name | 角色名称"},
  16. {Name: "role", Type: field.TypeString, Size: 1000, Comment: "role | 角色设定"},
  17. {Name: "status", Type: field.TypeInt, Nullable: true, Comment: "status | 状态 1-正常 2-禁用", Default: 1},
  18. {Name: "background", Type: field.TypeString, Nullable: true, Size: 1000, Comment: "background | 背景介绍", Default: ""},
  19. {Name: "examples", Type: field.TypeString, Nullable: true, Size: 5000, Comment: "examples | 对话案例", Default: ""},
  20. {Name: "organization_id", Type: field.TypeUint64, Comment: "organization_id | 租户ID"},
  21. }
  22. // AgentTable holds the schema information for the "agent" table.
  23. AgentTable = &schema.Table{
  24. Name: "agent",
  25. Columns: AgentColumns,
  26. PrimaryKey: []*schema.Column{AgentColumns[0]},
  27. Indexes: []*schema.Index{
  28. {
  29. Name: "agent_organization_id",
  30. Unique: false,
  31. Columns: []*schema.Column{AgentColumns[9]},
  32. },
  33. },
  34. }
  35. // BatchMsgColumns holds the columns for the "batch_msg" table.
  36. BatchMsgColumns = []*schema.Column{
  37. {Name: "id", Type: field.TypeUint64, Increment: true},
  38. {Name: "created_at", Type: field.TypeTime, Comment: "Create Time | 创建日期"},
  39. {Name: "updated_at", Type: field.TypeTime, Comment: "Update Time | 修改日期"},
  40. {Name: "deleted_at", Type: field.TypeTime, Nullable: true, Comment: "Delete Time | 删除日期"},
  41. {Name: "status", Type: field.TypeUint8, Nullable: true, Comment: "状态 0 未开始 1 开始发送 2 发送完成 3 发送中止"},
  42. {Name: "batch_no", Type: field.TypeString, Unique: true, Nullable: true, Comment: "批次号"},
  43. {Name: "task_name", Type: field.TypeString, Nullable: true, Comment: "任务名称", Default: ""},
  44. {Name: "fromwxid", Type: field.TypeString, Nullable: true, Comment: "发送方微信ID"},
  45. {Name: "msg", Type: field.TypeString, Nullable: true, Comment: "内容"},
  46. {Name: "tag", Type: field.TypeString, Nullable: true, Comment: "发送规则 all 全部 tag1,tag2 按tag发送"},
  47. {Name: "total", Type: field.TypeInt32, Nullable: true, Comment: "总数"},
  48. {Name: "success", Type: field.TypeInt32, Nullable: true, Comment: "成功数量"},
  49. {Name: "fail", Type: field.TypeInt32, Nullable: true, Comment: "失败数量"},
  50. {Name: "start_time", Type: field.TypeTime, Nullable: true, Comment: "开始时间"},
  51. {Name: "stop_time", Type: field.TypeTime, Nullable: true, Comment: "结束时间"},
  52. {Name: "send_time", Type: field.TypeTime, Nullable: true, Comment: "发送时间"},
  53. {Name: "type", Type: field.TypeInt32, Nullable: true, Comment: "发送类型 1-群发消息 2-群发朋友圈"},
  54. }
  55. // BatchMsgTable holds the schema information for the "batch_msg" table.
  56. BatchMsgTable = &schema.Table{
  57. Name: "batch_msg",
  58. Columns: BatchMsgColumns,
  59. PrimaryKey: []*schema.Column{BatchMsgColumns[0]},
  60. Indexes: []*schema.Index{
  61. {
  62. Name: "batchmsg_batch_no",
  63. Unique: true,
  64. Columns: []*schema.Column{BatchMsgColumns[5]},
  65. },
  66. {
  67. Name: "batchmsg_type",
  68. Unique: false,
  69. Columns: []*schema.Column{BatchMsgColumns[16]},
  70. },
  71. },
  72. }
  73. // ContactColumns holds the columns for the "contact" table.
  74. ContactColumns = []*schema.Column{
  75. {Name: "id", Type: field.TypeUint64, Increment: true},
  76. {Name: "created_at", Type: field.TypeTime, Comment: "Create Time | 创建日期"},
  77. {Name: "updated_at", Type: field.TypeTime, Comment: "Update Time | 修改日期"},
  78. {Name: "status", Type: field.TypeUint8, Nullable: true, Comment: "Status 1: normal 2: ban | 状态 1 正常 2 禁用", Default: 1},
  79. {Name: "deleted_at", Type: field.TypeTime, Nullable: true, Comment: "Delete Time | 删除日期"},
  80. {Name: "wx_wxid", Type: field.TypeString, Nullable: true, Comment: "属主微信id", Default: ""},
  81. {Name: "type", Type: field.TypeInt, Nullable: true, Comment: "联系人类型:1好友,2群组,3公众号,4企业微信联系人", Default: 1},
  82. {Name: "wxid", Type: field.TypeString, Comment: "微信id 公众号微信ID", Default: ""},
  83. {Name: "account", Type: field.TypeString, Comment: "微信账号", Default: ""},
  84. {Name: "nickname", Type: field.TypeString, Comment: "微信昵称 群备注名称", Default: ""},
  85. {Name: "markname", Type: field.TypeString, Comment: "备注名", Default: ""},
  86. {Name: "headimg", Type: field.TypeString, Comment: "头像", Default: ""},
  87. {Name: "sex", Type: field.TypeInt, Comment: "性别 0未知 1男 2女", Default: 0},
  88. {Name: "starrole", Type: field.TypeString, Comment: "星标 65/67=星标 1/3=未星标", Default: ""},
  89. {Name: "dontseeit", Type: field.TypeInt, Comment: "不让他看我的朋友圈 0可以看 1不让看", Default: 0},
  90. {Name: "dontseeme", Type: field.TypeInt, Comment: "不看他的朋友圈 0可以看 1不看 1=开启了不看他 128/129=仅聊天", Default: 0},
  91. {Name: "lag", Type: field.TypeString, Comment: "所属标签id清单,多开会用逗号隔开", Default: ""},
  92. {Name: "gid", Type: field.TypeString, Comment: "群组id", Default: ""},
  93. {Name: "gname", Type: field.TypeString, Comment: "群组名称", Default: ""},
  94. {Name: "v3", Type: field.TypeString, Comment: "v3数据", Default: ""},
  95. {Name: "organization_id", Type: field.TypeUint64, Nullable: true, Comment: "机构 ID", Default: 1},
  96. }
  97. // ContactTable holds the schema information for the "contact" table.
  98. ContactTable = &schema.Table{
  99. Name: "contact",
  100. Columns: ContactColumns,
  101. PrimaryKey: []*schema.Column{ContactColumns[0]},
  102. Indexes: []*schema.Index{
  103. {
  104. Name: "contact_wx_wxid_wxid",
  105. Unique: true,
  106. Columns: []*schema.Column{ContactColumns[5], ContactColumns[7]},
  107. },
  108. {
  109. Name: "contact_wxid",
  110. Unique: false,
  111. Columns: []*schema.Column{ContactColumns[7]},
  112. },
  113. {
  114. Name: "contact_type",
  115. Unique: false,
  116. Columns: []*schema.Column{ContactColumns[6]},
  117. },
  118. {
  119. Name: "contact_gid",
  120. Unique: false,
  121. Columns: []*schema.Column{ContactColumns[17]},
  122. },
  123. },
  124. }
  125. // EmployeeColumns holds the columns for the "employee" table.
  126. EmployeeColumns = []*schema.Column{
  127. {Name: "id", Type: field.TypeUint64, Increment: true},
  128. {Name: "created_at", Type: field.TypeTime, Comment: "Create Time | 创建日期"},
  129. {Name: "updated_at", Type: field.TypeTime, Comment: "Update Time | 修改日期"},
  130. {Name: "deleted_at", Type: field.TypeTime, Nullable: true, Comment: "Delete Time | 删除日期"},
  131. {Name: "title", Type: field.TypeString, Size: 255, Comment: "title | 标题"},
  132. {Name: "avatar", Type: field.TypeString, Size: 1000, Comment: "avatar | 头像"},
  133. {Name: "tags", Type: field.TypeString, Size: 255, Comment: "tags | 个人标签"},
  134. {Name: "hire_count", Type: field.TypeInt, Comment: "hire_count | 被雇佣次数", Default: 0},
  135. {Name: "service_count", Type: field.TypeInt, Comment: "service_count | 已服务次数", Default: 0},
  136. {Name: "achievement_count", Type: field.TypeInt, Comment: "achievement_count | 业绩单数", Default: 0},
  137. {Name: "intro", Type: field.TypeString, Size: 1000, Comment: "intro | 个人介绍", Default: ""},
  138. {Name: "estimate", Type: field.TypeString, Size: 1000, Comment: "estimate | 自我评价", Default: ""},
  139. {Name: "skill", Type: field.TypeString, Size: 1000, Comment: "skill | 技能卡", Default: ""},
  140. {Name: "ability_type", Type: field.TypeString, Comment: "ability_type | 能力类型", Default: ""},
  141. {Name: "scene", Type: field.TypeString, Comment: "scene | 使用场景", Default: ""},
  142. {Name: "switch_in", Type: field.TypeString, Comment: "switch_in | 支持介入", Default: ""},
  143. {Name: "video_url", Type: field.TypeString, Size: 1000, Comment: "video_url | 视频地址", Default: ""},
  144. {Name: "organization_id", Type: field.TypeUint64, Comment: "organization_id | 租户ID"},
  145. }
  146. // EmployeeTable holds the schema information for the "employee" table.
  147. EmployeeTable = &schema.Table{
  148. Name: "employee",
  149. Columns: EmployeeColumns,
  150. PrimaryKey: []*schema.Column{EmployeeColumns[0]},
  151. Indexes: []*schema.Index{
  152. {
  153. Name: "employee_organization_id",
  154. Unique: false,
  155. Columns: []*schema.Column{EmployeeColumns[17]},
  156. },
  157. },
  158. }
  159. // LabelColumns holds the columns for the "label" table.
  160. LabelColumns = []*schema.Column{
  161. {Name: "id", Type: field.TypeUint64, Increment: true},
  162. {Name: "created_at", Type: field.TypeTime, Comment: "Create Time | 创建日期"},
  163. {Name: "updated_at", Type: field.TypeTime, Comment: "Update Time | 修改日期"},
  164. {Name: "status", Type: field.TypeUint8, Nullable: true, Comment: "Status 1: normal 2: ban | 状态 1 正常 2 禁用", Default: 1},
  165. {Name: "type", Type: field.TypeInt, Comment: "标签类型:1好友,2群组,3公众号,4企业微信联系人", Default: 1},
  166. {Name: "name", Type: field.TypeString, Comment: "标签名称", Default: ""},
  167. {Name: "from", Type: field.TypeInt, Comment: "标签来源:1后台创建 2个微同步", Default: 1},
  168. {Name: "mode", Type: field.TypeInt, Comment: "标签模式:1动态 2静态", Default: 1},
  169. {Name: "conditions", Type: field.TypeString, Nullable: true, Comment: "标签的触达条件", Default: ""},
  170. {Name: "organization_id", Type: field.TypeUint64, Nullable: true, Comment: "机构 ID", Default: 1},
  171. }
  172. // LabelTable holds the schema information for the "label" table.
  173. LabelTable = &schema.Table{
  174. Name: "label",
  175. Columns: LabelColumns,
  176. PrimaryKey: []*schema.Column{LabelColumns[0]},
  177. Indexes: []*schema.Index{
  178. {
  179. Name: "label_name_from_mode",
  180. Unique: true,
  181. Columns: []*schema.Column{LabelColumns[5], LabelColumns[6], LabelColumns[7]},
  182. },
  183. },
  184. }
  185. // LabelRelationshipColumns holds the columns for the "label_relationship" table.
  186. LabelRelationshipColumns = []*schema.Column{
  187. {Name: "id", Type: field.TypeUint64, Increment: true},
  188. {Name: "created_at", Type: field.TypeTime, Comment: "Create Time | 创建日期"},
  189. {Name: "updated_at", Type: field.TypeTime, Comment: "Update Time | 修改日期"},
  190. {Name: "status", Type: field.TypeUint8, Nullable: true, Comment: "Status 1: normal 2: ban | 状态 1 正常 2 禁用", Default: 1},
  191. {Name: "deleted_at", Type: field.TypeTime, Nullable: true, Comment: "Delete Time | 删除日期"},
  192. {Name: "organization_id", Type: field.TypeUint64, Nullable: true, Comment: "机构 ID", Default: 1},
  193. {Name: "contact_id", Type: field.TypeUint64, Comment: "联系人 ID", Default: 1},
  194. {Name: "label_id", Type: field.TypeUint64, Comment: "标签 ID", Default: 1},
  195. }
  196. // LabelRelationshipTable holds the schema information for the "label_relationship" table.
  197. LabelRelationshipTable = &schema.Table{
  198. Name: "label_relationship",
  199. Columns: LabelRelationshipColumns,
  200. PrimaryKey: []*schema.Column{LabelRelationshipColumns[0]},
  201. ForeignKeys: []*schema.ForeignKey{
  202. {
  203. Symbol: "label_relationship_contact_contact_relationships",
  204. Columns: []*schema.Column{LabelRelationshipColumns[6]},
  205. RefColumns: []*schema.Column{ContactColumns[0]},
  206. OnDelete: schema.NoAction,
  207. },
  208. {
  209. Symbol: "label_relationship_label_label_relationships",
  210. Columns: []*schema.Column{LabelRelationshipColumns[7]},
  211. RefColumns: []*schema.Column{LabelColumns[0]},
  212. OnDelete: schema.NoAction,
  213. },
  214. },
  215. Indexes: []*schema.Index{
  216. {
  217. Name: "labelrelationship_label_id",
  218. Unique: false,
  219. Columns: []*schema.Column{LabelRelationshipColumns[7]},
  220. },
  221. {
  222. Name: "labelrelationship_contact_id",
  223. Unique: false,
  224. Columns: []*schema.Column{LabelRelationshipColumns[6]},
  225. },
  226. },
  227. }
  228. // MessagesColumns holds the columns for the "messages" table.
  229. MessagesColumns = []*schema.Column{
  230. {Name: "id", Type: field.TypeInt, Increment: true},
  231. {Name: "wx_wxid", Type: field.TypeString, Nullable: true, Comment: "属主微信id", Default: ""},
  232. {Name: "wxid", Type: field.TypeString, Comment: "微信id 公众号微信ID", Default: ""},
  233. {Name: "content", Type: field.TypeString, Comment: "微信消息内容", Default: ""},
  234. }
  235. // MessagesTable holds the schema information for the "messages" table.
  236. MessagesTable = &schema.Table{
  237. Name: "messages",
  238. Columns: MessagesColumns,
  239. PrimaryKey: []*schema.Column{MessagesColumns[0]},
  240. }
  241. // MessageRecordsColumns holds the columns for the "message_records" table.
  242. MessageRecordsColumns = []*schema.Column{
  243. {Name: "id", Type: field.TypeUint64, Increment: true},
  244. {Name: "created_at", Type: field.TypeTime, Comment: "Create Time | 创建日期"},
  245. {Name: "updated_at", Type: field.TypeTime, Comment: "Update Time | 修改日期"},
  246. {Name: "status", Type: field.TypeUint8, Nullable: true, Comment: "Status 1: normal 2: ban | 状态 1 正常 2 禁用", Default: 1},
  247. {Name: "deleted_at", Type: field.TypeTime, Nullable: true, Comment: "Delete Time | 删除日期"},
  248. {Name: "bot_wxid", Type: field.TypeString, Comment: "机器人微信 id"},
  249. {Name: "contact_type", Type: field.TypeInt, Comment: "类型:1好友,2群组,3企业微信联系人", Default: 1},
  250. {Name: "contact_wxid", Type: field.TypeString, Comment: "接收方微信 id", Default: ""},
  251. {Name: "content_type", Type: field.TypeInt, Comment: "内容类型 1 文本 2 文件", Default: 1},
  252. {Name: "content", Type: field.TypeString, Comment: "发送内容", Default: ""},
  253. {Name: "meta", Type: field.TypeJSON, Nullable: true, Comment: "元数据"},
  254. {Name: "error_detail", Type: field.TypeString, Comment: "异常原因", Default: ""},
  255. {Name: "send_time", Type: field.TypeTime, Nullable: true, Comment: "发送时间"},
  256. {Name: "source_type", Type: field.TypeInt, Comment: "源类型 1 点发 2 群发 3 SOP", Default: 1},
  257. {Name: "organization_id", Type: field.TypeUint64, Nullable: true, Comment: "机构 ID", Default: 1},
  258. {Name: "contact_id", Type: field.TypeUint64, Nullable: true, Comment: "联系人 id"},
  259. {Name: "sub_source_id", Type: field.TypeUint64, Nullable: true, Comment: "次源 ID", Default: 1},
  260. {Name: "source_id", Type: field.TypeUint64, Nullable: true, Comment: "源 ID", Default: 1},
  261. }
  262. // MessageRecordsTable holds the schema information for the "message_records" table.
  263. MessageRecordsTable = &schema.Table{
  264. Name: "message_records",
  265. Columns: MessageRecordsColumns,
  266. PrimaryKey: []*schema.Column{MessageRecordsColumns[0]},
  267. ForeignKeys: []*schema.ForeignKey{
  268. {
  269. Symbol: "message_records_contact_contact_messages",
  270. Columns: []*schema.Column{MessageRecordsColumns[15]},
  271. RefColumns: []*schema.Column{ContactColumns[0]},
  272. OnDelete: schema.SetNull,
  273. },
  274. {
  275. Symbol: "message_records_sop_node_node_messages",
  276. Columns: []*schema.Column{MessageRecordsColumns[16]},
  277. RefColumns: []*schema.Column{SopNodeColumns[0]},
  278. OnDelete: schema.SetNull,
  279. },
  280. {
  281. Symbol: "message_records_sop_stage_stage_messages",
  282. Columns: []*schema.Column{MessageRecordsColumns[17]},
  283. RefColumns: []*schema.Column{SopStageColumns[0]},
  284. OnDelete: schema.SetNull,
  285. },
  286. },
  287. Indexes: []*schema.Index{
  288. {
  289. Name: "messagerecords_source_type",
  290. Unique: false,
  291. Columns: []*schema.Column{MessageRecordsColumns[13]},
  292. },
  293. },
  294. }
  295. // MsgColumns holds the columns for the "msg" table.
  296. MsgColumns = []*schema.Column{
  297. {Name: "id", Type: field.TypeUint64, Increment: true},
  298. {Name: "created_at", Type: field.TypeTime, Comment: "Create Time | 创建日期"},
  299. {Name: "updated_at", Type: field.TypeTime, Comment: "Update Time | 修改日期"},
  300. {Name: "deleted_at", Type: field.TypeTime, Nullable: true, Comment: "Delete Time | 删除日期"},
  301. {Name: "status", Type: field.TypeUint8, Nullable: true, Comment: "Status 1: normal 2: ban | 状态 1 正常 2 禁用"},
  302. {Name: "fromwxid", Type: field.TypeString, Nullable: true, Comment: "发送方微信ID"},
  303. {Name: "toid", Type: field.TypeString, Nullable: true, Comment: "接收人微信ID/群ID"},
  304. {Name: "msgtype", Type: field.TypeInt32, Nullable: true, Comment: "消息类型"},
  305. {Name: "msg", Type: field.TypeString, Nullable: true, Comment: "消息"},
  306. {Name: "batch_no", Type: field.TypeString, Nullable: true, Comment: "批次号"},
  307. }
  308. // MsgTable holds the schema information for the "msg" table.
  309. MsgTable = &schema.Table{
  310. Name: "msg",
  311. Columns: MsgColumns,
  312. PrimaryKey: []*schema.Column{MsgColumns[0]},
  313. Indexes: []*schema.Index{
  314. {
  315. Name: "msg_batch_no",
  316. Unique: false,
  317. Columns: []*schema.Column{MsgColumns[9]},
  318. },
  319. {
  320. Name: "msg_id",
  321. Unique: false,
  322. Columns: []*schema.Column{MsgColumns[0]},
  323. },
  324. {
  325. Name: "msg_status",
  326. Unique: false,
  327. Columns: []*schema.Column{MsgColumns[4]},
  328. },
  329. },
  330. }
  331. // ServerColumns holds the columns for the "server" table.
  332. ServerColumns = []*schema.Column{
  333. {Name: "id", Type: field.TypeUint64, Increment: true},
  334. {Name: "created_at", Type: field.TypeTime, Comment: "Create Time | 创建日期"},
  335. {Name: "updated_at", Type: field.TypeTime, Comment: "Update Time | 修改日期"},
  336. {Name: "status", Type: field.TypeUint8, Nullable: true, Comment: "Status 1: normal 2: ban | 状态 1 正常 2 禁用", Default: 1},
  337. {Name: "deleted_at", Type: field.TypeTime, Nullable: true, Comment: "Delete Time | 删除日期"},
  338. {Name: "name", Type: field.TypeString, Comment: "名称"},
  339. {Name: "public_ip", Type: field.TypeString, Comment: "公网ip"},
  340. {Name: "private_ip", Type: field.TypeString, Comment: "内网ip"},
  341. {Name: "admin_port", Type: field.TypeString, Comment: "管理端口"},
  342. }
  343. // ServerTable holds the schema information for the "server" table.
  344. ServerTable = &schema.Table{
  345. Name: "server",
  346. Columns: ServerColumns,
  347. PrimaryKey: []*schema.Column{ServerColumns[0]},
  348. Indexes: []*schema.Index{
  349. {
  350. Name: "server_name",
  351. Unique: false,
  352. Columns: []*schema.Column{ServerColumns[5]},
  353. },
  354. {
  355. Name: "server_private_ip",
  356. Unique: false,
  357. Columns: []*schema.Column{ServerColumns[7]},
  358. },
  359. {
  360. Name: "server_public_ip",
  361. Unique: true,
  362. Columns: []*schema.Column{ServerColumns[6]},
  363. },
  364. },
  365. }
  366. // SopNodeColumns holds the columns for the "sop_node" table.
  367. SopNodeColumns = []*schema.Column{
  368. {Name: "id", Type: field.TypeUint64, Increment: true},
  369. {Name: "created_at", Type: field.TypeTime, Comment: "Create Time | 创建日期"},
  370. {Name: "updated_at", Type: field.TypeTime, Comment: "Update Time | 修改日期"},
  371. {Name: "status", Type: field.TypeUint8, Nullable: true, Comment: "Status 1: normal 2: ban | 状态 1 正常 2 禁用", Default: 1},
  372. {Name: "deleted_at", Type: field.TypeTime, Nullable: true, Comment: "Delete Time | 删除日期"},
  373. {Name: "parent_id", Type: field.TypeUint64, Comment: "父节点 ID"},
  374. {Name: "name", Type: field.TypeString, Comment: "节点名称", Default: ""},
  375. {Name: "condition_type", Type: field.TypeInt, Comment: "触发条件类型 1 客户回复后触发 2 超时后触发", Default: 1},
  376. {Name: "condition_list", Type: field.TypeJSON, Nullable: true, Comment: "触发语义列表 当为空时则代表用户回复任意内容后触发"},
  377. {Name: "no_reply_condition", Type: field.TypeUint64, Comment: "超时触发时间(分钟)", Default: 0},
  378. {Name: "action_message", Type: field.TypeJSON, Nullable: true, Comment: "命中后发送的消息内容"},
  379. {Name: "action_label", Type: field.TypeJSON, Nullable: true, Comment: "命中后需要打的标签"},
  380. {Name: "stage_id", Type: field.TypeUint64, Comment: "阶段 ID"},
  381. }
  382. // SopNodeTable holds the schema information for the "sop_node" table.
  383. SopNodeTable = &schema.Table{
  384. Name: "sop_node",
  385. Columns: SopNodeColumns,
  386. PrimaryKey: []*schema.Column{SopNodeColumns[0]},
  387. ForeignKeys: []*schema.ForeignKey{
  388. {
  389. Symbol: "sop_node_sop_stage_stage_nodes",
  390. Columns: []*schema.Column{SopNodeColumns[12]},
  391. RefColumns: []*schema.Column{SopStageColumns[0]},
  392. OnDelete: schema.NoAction,
  393. },
  394. },
  395. Indexes: []*schema.Index{
  396. {
  397. Name: "sopnode_name",
  398. Unique: false,
  399. Columns: []*schema.Column{SopNodeColumns[6]},
  400. },
  401. },
  402. }
  403. // SopStageColumns holds the columns for the "sop_stage" table.
  404. SopStageColumns = []*schema.Column{
  405. {Name: "id", Type: field.TypeUint64, Increment: true},
  406. {Name: "created_at", Type: field.TypeTime, Comment: "Create Time | 创建日期"},
  407. {Name: "updated_at", Type: field.TypeTime, Comment: "Update Time | 修改日期"},
  408. {Name: "status", Type: field.TypeUint8, Nullable: true, Comment: "Status 1: normal 2: ban | 状态 1 正常 2 禁用", Default: 1},
  409. {Name: "deleted_at", Type: field.TypeTime, Nullable: true, Comment: "Delete Time | 删除日期"},
  410. {Name: "name", Type: field.TypeString, Comment: "阶段名称", Default: ""},
  411. {Name: "condition_type", Type: field.TypeInt, Comment: "客群筛选条件类型 1 按标签筛选 2 按客户基本信息筛选", Default: 1},
  412. {Name: "condition_operator", Type: field.TypeInt, Comment: "筛选条件关系 1 满足所有条件(and) 2 满足任意条件(or)", Default: 1},
  413. {Name: "condition_list", Type: field.TypeJSON, Comment: "筛选条件列表"},
  414. {Name: "action_message", Type: field.TypeJSON, Nullable: true, Comment: "命中后发送的消息内容"},
  415. {Name: "action_label", Type: field.TypeJSON, Nullable: true, Comment: "命中后需要打的标签"},
  416. {Name: "index_sort", Type: field.TypeInt, Nullable: true, Comment: "阶段顺序", Default: 1},
  417. {Name: "task_id", Type: field.TypeUint64, Comment: "SOP 任务 ID"},
  418. }
  419. // SopStageTable holds the schema information for the "sop_stage" table.
  420. SopStageTable = &schema.Table{
  421. Name: "sop_stage",
  422. Columns: SopStageColumns,
  423. PrimaryKey: []*schema.Column{SopStageColumns[0]},
  424. ForeignKeys: []*schema.ForeignKey{
  425. {
  426. Symbol: "sop_stage_sop_task_task_stages",
  427. Columns: []*schema.Column{SopStageColumns[12]},
  428. RefColumns: []*schema.Column{SopTaskColumns[0]},
  429. OnDelete: schema.NoAction,
  430. },
  431. },
  432. Indexes: []*schema.Index{
  433. {
  434. Name: "sopstage_name",
  435. Unique: false,
  436. Columns: []*schema.Column{SopStageColumns[5]},
  437. },
  438. },
  439. }
  440. // SopTaskColumns holds the columns for the "sop_task" table.
  441. SopTaskColumns = []*schema.Column{
  442. {Name: "id", Type: field.TypeUint64, Increment: true},
  443. {Name: "created_at", Type: field.TypeTime, Comment: "Create Time | 创建日期"},
  444. {Name: "updated_at", Type: field.TypeTime, Comment: "Update Time | 修改日期"},
  445. {Name: "status", Type: field.TypeUint8, Nullable: true, Comment: "Status 1: normal 2: ban | 状态 1 正常 2 禁用", Default: 1},
  446. {Name: "deleted_at", Type: field.TypeTime, Nullable: true, Comment: "Delete Time | 删除日期"},
  447. {Name: "name", Type: field.TypeString, Comment: "SOP 任务名称"},
  448. {Name: "bot_wxid_list", Type: field.TypeJSON, Nullable: true, Comment: "机器人微信 id 列表"},
  449. {Name: "type", Type: field.TypeInt, Comment: "标签类型:1好友,2群组,3企业微信联系人", Default: 1},
  450. {Name: "plan_start_time", Type: field.TypeTime, Nullable: true, Comment: "任务计划开始时间"},
  451. {Name: "plan_end_time", Type: field.TypeTime, Nullable: true, Comment: "任务计划结束时间"},
  452. {Name: "creator_id", Type: field.TypeString, Nullable: true, Comment: "创建者 id"},
  453. {Name: "organization_id", Type: field.TypeUint64, Nullable: true, Comment: "机构 ID", Default: 1},
  454. }
  455. // SopTaskTable holds the schema information for the "sop_task" table.
  456. SopTaskTable = &schema.Table{
  457. Name: "sop_task",
  458. Columns: SopTaskColumns,
  459. PrimaryKey: []*schema.Column{SopTaskColumns[0]},
  460. Indexes: []*schema.Index{
  461. {
  462. Name: "soptask_name",
  463. Unique: false,
  464. Columns: []*schema.Column{SopTaskColumns[5]},
  465. },
  466. },
  467. }
  468. // TokenColumns holds the columns for the "token" table.
  469. TokenColumns = []*schema.Column{
  470. {Name: "id", Type: field.TypeUint64, Increment: true},
  471. {Name: "created_at", Type: field.TypeTime, Comment: "Create Time | 创建日期"},
  472. {Name: "updated_at", Type: field.TypeTime, Comment: "Update Time | 修改日期"},
  473. {Name: "deleted_at", Type: field.TypeTime, Nullable: true, Comment: "Delete Time | 删除日期"},
  474. {Name: "expire_at", Type: field.TypeTime, Nullable: true, Comment: "过期时间"},
  475. {Name: "token", Type: field.TypeString, Nullable: true, Comment: "Token", Default: ""},
  476. {Name: "mac", Type: field.TypeString, Comment: "Mac地址", Default: ""},
  477. }
  478. // TokenTable holds the schema information for the "token" table.
  479. TokenTable = &schema.Table{
  480. Name: "token",
  481. Columns: TokenColumns,
  482. PrimaryKey: []*schema.Column{TokenColumns[0]},
  483. Indexes: []*schema.Index{
  484. {
  485. Name: "token_token",
  486. Unique: false,
  487. Columns: []*schema.Column{TokenColumns[5]},
  488. },
  489. },
  490. }
  491. // TutorialColumns holds the columns for the "tutorial" table.
  492. TutorialColumns = []*schema.Column{
  493. {Name: "id", Type: field.TypeUint64, Increment: true},
  494. {Name: "created_at", Type: field.TypeTime, Comment: "Create Time | 创建日期"},
  495. {Name: "updated_at", Type: field.TypeTime, Comment: "Update Time | 修改日期"},
  496. {Name: "deleted_at", Type: field.TypeTime, Nullable: true, Comment: "Delete Time | 删除日期"},
  497. {Name: "index", Type: field.TypeInt, Comment: "index | 序号"},
  498. {Name: "title", Type: field.TypeString, Comment: "title | 标题"},
  499. {Name: "content", Type: field.TypeString, Comment: "content | 内容"},
  500. {Name: "organization_id", Type: field.TypeUint64, Comment: "organization_id | 租户ID"},
  501. {Name: "employee_id", Type: field.TypeUint64, Comment: "employee_id | 员工ID"},
  502. }
  503. // TutorialTable holds the schema information for the "tutorial" table.
  504. TutorialTable = &schema.Table{
  505. Name: "tutorial",
  506. Columns: TutorialColumns,
  507. PrimaryKey: []*schema.Column{TutorialColumns[0]},
  508. ForeignKeys: []*schema.ForeignKey{
  509. {
  510. Symbol: "tutorial_employee_em_tutorial",
  511. Columns: []*schema.Column{TutorialColumns[8]},
  512. RefColumns: []*schema.Column{EmployeeColumns[0]},
  513. OnDelete: schema.NoAction,
  514. },
  515. },
  516. Indexes: []*schema.Index{
  517. {
  518. Name: "tutorial_employee_id",
  519. Unique: false,
  520. Columns: []*schema.Column{TutorialColumns[8]},
  521. },
  522. },
  523. }
  524. // WorkExperienceColumns holds the columns for the "work_experience" table.
  525. WorkExperienceColumns = []*schema.Column{
  526. {Name: "id", Type: field.TypeUint64, Increment: true},
  527. {Name: "created_at", Type: field.TypeTime, Comment: "Create Time | 创建日期"},
  528. {Name: "updated_at", Type: field.TypeTime, Comment: "Update Time | 修改日期"},
  529. {Name: "deleted_at", Type: field.TypeTime, Nullable: true, Comment: "Delete Time | 删除日期"},
  530. {Name: "start_date", Type: field.TypeTime, Comment: "start_date | 开始时间"},
  531. {Name: "end_date", Type: field.TypeTime, Comment: "end_date | 结束时间"},
  532. {Name: "company", Type: field.TypeString, Comment: "company | 公司名"},
  533. {Name: "experience", Type: field.TypeString, Size: 2147483647, Comment: "experience | 工作内容"},
  534. {Name: "organization_id", Type: field.TypeUint64, Comment: "organization_id | 租户ID"},
  535. {Name: "employee_id", Type: field.TypeUint64, Comment: "employee_id | 员工ID"},
  536. }
  537. // WorkExperienceTable holds the schema information for the "work_experience" table.
  538. WorkExperienceTable = &schema.Table{
  539. Name: "work_experience",
  540. Columns: WorkExperienceColumns,
  541. PrimaryKey: []*schema.Column{WorkExperienceColumns[0]},
  542. ForeignKeys: []*schema.ForeignKey{
  543. {
  544. Symbol: "work_experience_employee_em_work_experiences",
  545. Columns: []*schema.Column{WorkExperienceColumns[9]},
  546. RefColumns: []*schema.Column{EmployeeColumns[0]},
  547. OnDelete: schema.NoAction,
  548. },
  549. },
  550. Indexes: []*schema.Index{
  551. {
  552. Name: "workexperience_employee_id",
  553. Unique: false,
  554. Columns: []*schema.Column{WorkExperienceColumns[9]},
  555. },
  556. },
  557. }
  558. // WxColumns holds the columns for the "wx" table.
  559. WxColumns = []*schema.Column{
  560. {Name: "id", Type: field.TypeUint64, Increment: true},
  561. {Name: "created_at", Type: field.TypeTime, Comment: "Create Time | 创建日期"},
  562. {Name: "updated_at", Type: field.TypeTime, Comment: "Update Time | 修改日期"},
  563. {Name: "status", Type: field.TypeUint8, Nullable: true, Comment: "Status 1: normal 2: ban | 状态 1 正常 2 禁用", Default: 1},
  564. {Name: "deleted_at", Type: field.TypeTime, Nullable: true, Comment: "Delete Time | 删除日期"},
  565. {Name: "port", Type: field.TypeString, Comment: "端口号", Default: ""},
  566. {Name: "process_id", Type: field.TypeString, Comment: "进程号", Default: ""},
  567. {Name: "callback", Type: field.TypeString, Comment: "回调地址", Default: ""},
  568. {Name: "wxid", Type: field.TypeString, Comment: "微信id", Default: ""},
  569. {Name: "account", Type: field.TypeString, Comment: "微信账号", Default: ""},
  570. {Name: "nickname", Type: field.TypeString, Comment: "微信昵称", Default: ""},
  571. {Name: "tel", Type: field.TypeString, Comment: "手机号", Default: ""},
  572. {Name: "head_big", Type: field.TypeString, Comment: "微信头像", Default: ""},
  573. {Name: "organization_id", Type: field.TypeUint64, Nullable: true, Comment: "机构 ID", Default: 1},
  574. {Name: "agent_id", Type: field.TypeUint64, Comment: "模式ID", Default: 0},
  575. {Name: "server_id", Type: field.TypeUint64, Nullable: true, Comment: "服务器id", Default: 0},
  576. }
  577. // WxTable holds the schema information for the "wx" table.
  578. WxTable = &schema.Table{
  579. Name: "wx",
  580. Columns: WxColumns,
  581. PrimaryKey: []*schema.Column{WxColumns[0]},
  582. ForeignKeys: []*schema.ForeignKey{
  583. {
  584. Symbol: "wx_agent_wx_agent",
  585. Columns: []*schema.Column{WxColumns[14]},
  586. RefColumns: []*schema.Column{AgentColumns[0]},
  587. OnDelete: schema.NoAction,
  588. },
  589. {
  590. Symbol: "wx_server_wxs",
  591. Columns: []*schema.Column{WxColumns[15]},
  592. RefColumns: []*schema.Column{ServerColumns[0]},
  593. OnDelete: schema.SetNull,
  594. },
  595. },
  596. Indexes: []*schema.Index{
  597. {
  598. Name: "wx_server_id_port",
  599. Unique: true,
  600. Columns: []*schema.Column{WxColumns[15], WxColumns[5]},
  601. },
  602. {
  603. Name: "wx_wxid",
  604. Unique: true,
  605. Columns: []*schema.Column{WxColumns[8]},
  606. },
  607. {
  608. Name: "wx_account",
  609. Unique: false,
  610. Columns: []*schema.Column{WxColumns[9]},
  611. },
  612. {
  613. Name: "wx_nickname",
  614. Unique: false,
  615. Columns: []*schema.Column{WxColumns[10]},
  616. },
  617. {
  618. Name: "wx_tel",
  619. Unique: false,
  620. Columns: []*schema.Column{WxColumns[11]},
  621. },
  622. },
  623. }
  624. // Tables holds all the tables in the schema.
  625. Tables = []*schema.Table{
  626. AgentTable,
  627. BatchMsgTable,
  628. ContactTable,
  629. EmployeeTable,
  630. LabelTable,
  631. LabelRelationshipTable,
  632. MessagesTable,
  633. MessageRecordsTable,
  634. MsgTable,
  635. ServerTable,
  636. SopNodeTable,
  637. SopStageTable,
  638. SopTaskTable,
  639. TokenTable,
  640. TutorialTable,
  641. WorkExperienceTable,
  642. WxTable,
  643. }
  644. )
  645. func init() {
  646. AgentTable.Annotation = &entsql.Annotation{
  647. Table: "agent",
  648. }
  649. BatchMsgTable.Annotation = &entsql.Annotation{
  650. Table: "batch_msg",
  651. }
  652. ContactTable.Annotation = &entsql.Annotation{
  653. Table: "contact",
  654. }
  655. EmployeeTable.Annotation = &entsql.Annotation{
  656. Table: "employee",
  657. }
  658. LabelTable.Annotation = &entsql.Annotation{
  659. Table: "label",
  660. }
  661. LabelRelationshipTable.ForeignKeys[0].RefTable = ContactTable
  662. LabelRelationshipTable.ForeignKeys[1].RefTable = LabelTable
  663. LabelRelationshipTable.Annotation = &entsql.Annotation{
  664. Table: "label_relationship",
  665. }
  666. MessagesTable.Annotation = &entsql.Annotation{
  667. Table: "messages",
  668. }
  669. MessageRecordsTable.ForeignKeys[0].RefTable = ContactTable
  670. MessageRecordsTable.ForeignKeys[1].RefTable = SopNodeTable
  671. MessageRecordsTable.ForeignKeys[2].RefTable = SopStageTable
  672. MessageRecordsTable.Annotation = &entsql.Annotation{
  673. Table: "message_records",
  674. }
  675. MsgTable.Annotation = &entsql.Annotation{
  676. Table: "msg",
  677. }
  678. ServerTable.Annotation = &entsql.Annotation{
  679. Table: "server",
  680. }
  681. SopNodeTable.ForeignKeys[0].RefTable = SopStageTable
  682. SopNodeTable.Annotation = &entsql.Annotation{
  683. Table: "sop_node",
  684. }
  685. SopStageTable.ForeignKeys[0].RefTable = SopTaskTable
  686. SopStageTable.Annotation = &entsql.Annotation{
  687. Table: "sop_stage",
  688. }
  689. SopTaskTable.Annotation = &entsql.Annotation{
  690. Table: "sop_task",
  691. }
  692. TokenTable.Annotation = &entsql.Annotation{
  693. Table: "token",
  694. }
  695. TutorialTable.ForeignKeys[0].RefTable = EmployeeTable
  696. TutorialTable.Annotation = &entsql.Annotation{
  697. Table: "tutorial",
  698. }
  699. WorkExperienceTable.ForeignKeys[0].RefTable = EmployeeTable
  700. WorkExperienceTable.Annotation = &entsql.Annotation{
  701. Table: "work_experience",
  702. }
  703. WxTable.ForeignKeys[0].RefTable = AgentTable
  704. WxTable.ForeignKeys[1].RefTable = ServerTable
  705. WxTable.Annotation = &entsql.Annotation{
  706. Table: "wx",
  707. }
  708. }