123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212 |
- # coding:utf-8
- from flask import Flask
- from flask_sqlalchemy import SQLAlchemy
- from docs.config import mysqlConfig
- app = Flask(__name__)
- DB_URL = 'mysql+pymysql://{}:{}@{}:{}/{}'.format(mysqlConfig.USERNAME, mysqlConfig.PASSWORD, mysqlConfig.HOSTNAME,
- mysqlConfig.PORT, mysqlConfig.DATABASE)
- app.config['SQLALCHEMY_DATABASE_URI'] = DB_URL
- app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
- db = SQLAlchemy(app) # db为继承了SQLALchemy
- class Customer(db.Model):
- __tablename__ = 'customer'
- unique_id = db.Column(db.String(100), primary_key=True, unique=True, comment="呼叫中心用户标识")
- company = db.Column(db.String(100), comment="公司名称") # 公司名称..
- username = db.Column(db.String(100), comment="姓名") # 姓名..
- phone = db.Column(db.String(100), comment="联系人电话") # 联系人电话
- email = db.Column(db.String(50), comment="邮箱") # 邮箱..
- address = db.Column(db.String(200), comment="职位") # 职位..
- usernickname = db.Column(db.String(100), comment="用户昵称") # 用户昵称..
- product = db.Column(db.String(100), comment="购买的产品类型") # 购买的产品类型
- web = db.Column(db.String(50), comment="公司网站") # 公司网站 ..
- id = db.Column(db.String(50), comment="用户ID") # 用户ID..
- job = db.Column(db.String(255), comment="职位") # 职位..
- regtime = db.Column(db.DateTime(), comment="用户注册时间") # 用户注册时间
- payorderinfo = db.Column(db.String(255), comment="已支付订单信息") # 已支付订单信息
- unpayorderinfo = db.Column(db.String(255), comment="未支付订单类型") # 未支付订单类型
- source = db.Column(db.String(500), comment="销售线索来源") # 销售线索来源
- keyword = db.Column(db.Text(), comment="订阅关键词") # 订阅关键词
- area = db.Column(db.Text(), comment="订阅区域") # 订阅区域
- searchkeyword = db.Column(db.Text(), comment="搜索关键词") # 搜索关键词
- searcharea = db.Column(db.Text(), comment="搜索区域") # 搜索区域
- lastlogintime = db.Column(db.DateTime(), comment="最近一次登录时间") # 最近一次登录时间
- lastloginport = db.Column(db.String(50), comment="最近一次登录端口") # 最近一次登录端口
- isclickkf = db.Column(db.Integer(), comment="最近一周点击人工客服次数") # 最近一周点击人工客服次数
- browsetitle1 = db.Column(db.Text(), comment="最近浏览正文标题1") # 最近浏览正文标题1
- browsetitle2 = db.Column(db.Text(), comment="最近浏览正文标题2") # 最近浏览正文标题2
- browsetitle3 = db.Column(db.Text(), comment="最近浏览正文标题3") # 最近浏览正文标题3
- customerNeeds = db.Column(db.String(1000), comment="客户需求") # 客户需求
- customerFocus = db.Column(db.String(3000), comment="客户关注点") # 客户关注点
- wantGoods = db.Column(db.String(500), comment="意向产品") # 意向产品
- customerBudget = db.Column(db.String(100), comment="客户预算") # 客户预算
- rivalCompare = db.Column(db.String(100), comment="友商对比情况") # 友商对比情况
- isPolicymaker = db.Column(db.String(100), comment="是否为决策人") # 是否为决策人
- secondContactName = db.Column(db.String(100), comment="第二联系人姓名") # 第二联系人姓名
- secondContactJob = db.Column(db.String(100), comment="第二联系人职务") # 第二联系人职务
- secondContactPhone = db.Column(db.String(100), comment="第二联系人电话") # 第二联系人电话
- secondContactEmail = db.Column(db.String(50), comment="第二联系人邮件") # 第二联系人邮件
- thirdContactName = db.Column(db.String(100), comment="第三联系人姓名") # 第三联系人姓名
- thirdContactJob = db.Column(db.String(100), comment="第三联系人职务") # 第三联系人职务
- thirdContactPhone = db.Column(db.String(100), comment="第三联系人电话") # 第三联系人电话
- thirdContactEmail = db.Column(db.String(50), comment="第三联系人邮件") # 第三联系人邮件
- empNo = db.Column(db.String(50), comment="坐席唯一标识") # 坐席唯一标识
- owner = db.Column(db.String(50), comment="坐席名称") # 坐席名称
- ownerLeader = db.Column(db.String(50), comment="坐席主管") # 坐席主管
- isDelete = db.Column(db.Integer(), default=0, comment="删除") # 删除
- lastUpdateTime = db.Column(db.DateTime(), comment="最后同步时间") # 最后同步时间
- createTime = db.Column(db.DateTime(), comment="创建时间") # 创建时间
- status999 = db.Column(db.String(30), comment="客户状态") # 客户状态
- belongTo = db.Column(db.String(300), comment="线索归属") # 线索归属
- interfaceBatch = db.Column(db.String(300), comment="接口插入批次") # 接口插入批次
- spaceNumber = db.Column(db.String(100), comment="空号")
- phoneDown = db.Column(db.String(100), comment="停机")
- purchaseNumber = db.Column(db.String(100), comment="购买数量")
- testField = db.Column(db.String(100), comment="测试")
- subscribeArticle = db.Column(db.Text(), comment="最近订阅普通公告")
- supplementContact = db.Column(db.String(300), comment="补充联系人")
- belongToIndustry = db.Column(db.String(800), comment="所属行业")
- recentGeneralNotice = db.Column(db.String(1000), comment="最近订阅普通公告")
- recentPlanToBuild = db.Column(db.String(1000), comment="最近订阅拟建项目")
- recentPurchaseIntention = db.Column(db.String(1000), comment="最近订阅采购意向")
- remarks = db.Column(db.String(255), comment="备注")
- class CustomerUpdateLogs(db.Model):
- __tablename__ = 'customerUpdateLogs'
- logId = db.Column(db.Integer, primary_key=True, unique=True, autoincrement=True, comment="日志ID")
- logCreateTime = db.Column(db.DateTime(), comment="记录时间")
- updateStatus = db.Column(db.Integer(), comment="更新状态成功or失败")
- updateType = db.Column(db.String(20), comment="更新类型")
- changeField = db.Column(db.Text(), comment="更新字段")
- unique_id = db.Column(db.String(100), comment="呼叫中心用户标识")
- company = db.Column(db.String(100), comment="公司名称") # 公司名称..
- username = db.Column(db.String(100), comment="姓名") # 姓名..
- phone = db.Column(db.String(100), comment="联系人电话") # 联系人电话
- email = db.Column(db.String(50), comment="邮箱") # 邮箱..
- address = db.Column(db.String(200), comment="职位") # 职位..
- usernickname = db.Column(db.String(100), comment="用户昵称") # 用户昵称..
- product = db.Column(db.String(100), comment="购买的产品类型") # 购买的产品类型
- web = db.Column(db.String(50), comment="公司网站") # 公司网站 ..
- id = db.Column(db.String(50), comment="用户ID") # 用户ID..
- job = db.Column(db.String(255), comment="职位") # 职位..
- regtime = db.Column(db.DateTime(), comment="用户注册时间") # 用户注册时间
- payorderinfo = db.Column(db.String(255), comment="已支付订单信息") # 已支付订单信息
- unpayorderinfo = db.Column(db.String(255), comment="未支付订单类型") # 未支付订单类型
- source = db.Column(db.String(500), comment="销售线索来源") # 销售线索来源
- keyword = db.Column(db.Text(), comment="订阅关键词") # 订阅关键词
- area = db.Column(db.Text(), comment="订阅区域") # 订阅区域
- searchkeyword = db.Column(db.Text(), comment="搜索关键词") # 搜索关键词
- searcharea = db.Column(db.Text(), comment="搜索区域") # 搜索区域
- lastlogintime = db.Column(db.DateTime(), comment="最近一次登录时间") # 最近一次登录时间
- lastloginport = db.Column(db.String(50), comment="最近一次登录端口") # 最近一次登录端口
- isclickkf = db.Column(db.Integer(), comment="最近一周点击人工客服次数") # 最近一周点击人工客服次数
- browsetitle1 = db.Column(db.Text(), comment="最近浏览正文标题1") # 最近浏览正文标题1
- browsetitle2 = db.Column(db.Text(), comment="最近浏览正文标题2") # 最近浏览正文标题2
- browsetitle3 = db.Column(db.Text(), comment="最近浏览正文标题3") # 最近浏览正文标题3
- customerNeeds = db.Column(db.String(1000), comment="客户需求") # 客户需求
- customerFocus = db.Column(db.String(3000), comment="客户关注点") # 客户关注点
- wantGoods = db.Column(db.String(500), comment="意向产品") # 意向产品
- customerBudget = db.Column(db.String(100), comment="客户预算") # 客户预算
- rivalCompare = db.Column(db.String(100), comment="友商对比情况") # 友商对比情况
- isPolicymaker = db.Column(db.String(100), comment="是否为决策人") # 是否为决策人
- secondContactName = db.Column(db.String(100), comment="第二联系人姓名") # 第二联系人姓名
- secondContactJob = db.Column(db.String(100), comment="第二联系人职务") # 第二联系人职务
- secondContactPhone = db.Column(db.String(100), comment="第二联系人电话") # 第二联系人电话
- secondContactEmail = db.Column(db.String(50), comment="第二联系人邮件") # 第二联系人邮件
- thirdContactName = db.Column(db.String(100), comment="第三联系人姓名") # 第三联系人姓名
- thirdContactJob = db.Column(db.String(100), comment="第三联系人职务") # 第三联系人职务
- thirdContactPhone = db.Column(db.String(100), comment="第三联系人电话") # 第三联系人电话
- thirdContactEmail = db.Column(db.String(50), comment="第三联系人邮件") # 第三联系人邮件
- empNo = db.Column(db.String(50), comment="坐席唯一标识") # 坐席唯一标识
- owner = db.Column(db.String(50), comment="坐席名称") # 坐席名称
- ownerLeader = db.Column(db.String(50), comment="坐席主管") # 坐席主管
- isDelete = db.Column(db.Integer(), default=0, comment="删除") # 删除
- lastUpdateTime = db.Column(db.DateTime(), comment="最后同步时间") # 最后同步时间
- createTime = db.Column(db.DateTime(), comment="创建时间") # 创建时间
- status999 = db.Column(db.String(30), comment="客户状态") # 客户状态
- belongTo = db.Column(db.String(300), comment="线索归属") # 线索归属
- interfaceBatch = db.Column(db.String(300), comment="接口插入批次") # 接口插入批次
- spaceNumber = db.Column(db.String(100), comment="空号")
- phoneDown = db.Column(db.String(100), comment="停机")
- purchaseNumber = db.Column(db.String(100), comment="购买数量")
- testField = db.Column(db.String(100), comment="测试")
- subscribeArticle = db.Column(db.Text(), comment="最近订阅普通公告")
- supplementContact = db.Column(db.String(300), comment="补充联系人")
- belongToIndustry = db.Column(db.String(800), comment="所属行业")
- recentGeneralNotice = db.Column(db.String(1000), comment="最近订阅普通公告")
- recentPlanToBuild = db.Column(db.String(1000), comment="最近订阅拟建项目")
- recentPurchaseIntention = db.Column(db.String(1000), comment="最近订阅采购意向")
- remarks = db.Column(db.String(255), comment="备注")
- class CallRecords(db.Model):
- __tablename__ = 'voice_record'
- id = db.Column(db.Integer, primary_key=True, unique=True, autoincrement=True, comment="记录ID")
- createTime = db.Column(db.DateTime(), comment="创建时间")
- CallSheetID = db.Column(db.String(100), comment="通话记录的ID")
- CallID = db.Column(db.String(100), comment="通话ID")
- CustomerName = db.Column(db.String(100), comment="客户名称")
- CustomerID = db.Column(db.String(100), comment="客户ID")
- CallType = db.Column(db.String(50), comment="呼叫类型")
- CallNo = db.Column(db.String(50), comment="主叫号码")
- CalledNo = db.Column(db.String(50), comment="被叫号码")
- Ring = db.Column(db.DateTime(), comment="开始呼叫时间") # 开始呼叫时间
- RingingTime = db.Column(db.DateTime(), comment="响铃时间") # 开始呼叫时间
- Begin = db.Column(db.DateTime(), comment="摘机接通时间") # 摘机接通时间
- End = db.Column(db.DateTime(), comment="通话结束时间")
- CallTimeLength = db.Column(db.String(20), comment="通话时长(单元:秒)")
- QueueTime = db.Column(db.DateTime(), comment="呼入来电进入技能组时间")
- Queue = db.Column(db.String(100), comment="呼入来电进入的技能组")
- QueueId = db.Column(db.String(30), comment="呼入来电进入的技能组号")
- AccountID = db.Column(db.String(50), comment="账户ID")
- ActionID = db.Column(db.String(50), comment="请求ID")
- Agent = db.Column(db.String(50), comment="坐席登录名")
- Exten = db.Column(db.String(50), comment="坐席工号")
- State = db.Column(db.String(50), comment="通话记录状态")
- MonitorFilename = db.Column(db.String(500), comment="录音文件链接地址")
- RecordFile = db.Column(db.String(500), comment="录音文件名")
- FileServer = db.Column(db.String(500), comment="录音文件地址")
- PBX = db.Column(db.String(50), comment="坐席所在的PBX")
- AgentName = db.Column(db.String(50), comment="坐席姓名")
- DepartmentName = db.Column(db.String(50), comment="坐席所在部门名称")
- CallState = db.Column(db.String(50), comment="事件状态")
- RealState = db.Column(db.String(50), comment="内部处理参数")
- Province = db.Column(db.String(50), comment="省份")
- District = db.Column(db.String(50), comment="市区")
- isInQueue = db.Column(db.String(50), comment="是否进入技能组")
- IVRKEY = db.Column(db.String(50), comment="ivr按键值")
- IVRKeyName = db.Column(db.String(50), comment="ivr按键名称")
- Hanguper = db.Column(db.String(50),
- comment="挂断方,caller:主叫,callee:被叫,systemTransfer:系统转接,transferOuter:转接外线,agent:坐席,customer:客户")
- uptimestamp = db.Column(db.String(50), comment="坐席接起电话的时间戳")
- DisposalAgentLocal = db.Column(db.String(50), comment="接听坐席的直线号码")
- LastIVRNode = db.Column(db.String(50), comment="终结节点")
- Investigate = db.Column(db.String(50), comment="满意度按键值")
- HangupCause = db.Column(db.String(50), comment="通话拦截原因")
- HangupCauseDetail = db.Column(db.String(50), comment="外呼防骚扰拦截原因")
- DoMainName = db.Column(db.String(100), comment="通话服务器域名")
- TASK_ID = db.Column(db.String(50), comment="表单批量任务ID")
- FORM_ID = db.Column(db.String(50), comment="表单ID")
- callrescode = db.Column(db.String(50), comment="表单ID")
- detail = db.Column(db.String(50), comment="表单ID")
- OriginalFromCID = db.Column(db.String(50), comment="表单ID")
- callHistoryId = db.Column(db.Integer(), comment="拨打记录")
- class CustomerFollowUp(db.Model):
- __tablename = "customer_follow_up"
- id = db.Column(db.Integer, primary_key=True, unique=True, autoincrement=True, comment="记录ID")
- customerId = db.Column(db.String(50), comment="客户唯一id")
- customerName = db.Column(db.String(300), comment="跟进的客户名称")
- createTime = db.Column(db.String(300), comment="创建时间")
- remark = db.Column(db.Text(), comment="手动输入的跟进内容")
- followRemindTime = db.Column(db.DateTime, comment="跟进计划时间")
- isNotFollow = db.Column(db.String(20), comment="是否为不再跟进")
- dataType = db.Column(db.String(50), comment="推送数据类型:followContent: 跟进内容新增, followPlan: 跟进计划变更")
- dbTypeName = db.Column(db.String(300), comment="所属客户数据库名")
- db.create_all()
|