TG.WXCRM.V4/NetCore.BLL/InitDb_BLL.cs

641 lines
30 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Dapper;
using NetCore.Common;
using NetCore.Model.enums;
using NetCore.Model.qw;
using System;
using System.Collections.Generic;
using System.Data;
namespace NetCore.BLL
{
/// <summary>
/// 初始化数据库
/// </summary>
public class InitDb_BLL
{
private string comcode { get; set; }
public InitDb_BLL(string _comcode)
{
comcode = _comcode;
}
public void InitMySqlDb()
{
using (IDbConnection con = ConnectionFactory.CreateConnection(ContextType.qwContext, comcode))
{
List<string> dblist = new List<string>();
dblist.Add(@"CREATE TABLE IF NOT EXISTS `hg_excute_log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`pici` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '数据补充ID',
`corpid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '公司ID',
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '企业微信名称',
`tablename` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '表名称',
`seq` int(11) NULL DEFAULT 0 COMMENT '消息流水号(服务执行位置)',
`starttime` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开始时间',
`endtime` datetime(0) NULL DEFAULT NULL COMMENT '结束时间',
`exscend` int(11) NULL DEFAULT NULL COMMENT '执行花费秒',
`message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '日志类型',
`status` int(11) NULL DEFAULT NULL COMMENT '状态 200执行成功 210执行成功但没数据 500出现错误',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB;");
dblist.Add(@"CREATE TABLE IF NOT EXISTS `hg_keyword` (
`keyword` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '关键词',
`ctime` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`status` int(11) NULL DEFAULT 1 COMMENT '状态 1正常 0已经删除',
`utime` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP(0),
PRIMARY KEY (`keyword`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '关键词表' ;");
// dblist.Add(@"CREATE TABLE IF NOT EXISTS `hg_make_up` (
// `id` int(11) NOT NULL AUTO_INCREMENT,
// `corpid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '公司ID',
// `keyword` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '关键词(可以是多个)',
// `seq` int(11) NULL DEFAULT NULL COMMENT '消息流水号(服务执行位置)',
// `maxseq` int(11) NULL DEFAULT NULL COMMENT '需要执行的最大值',
// `ctime` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
// `utime` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
// `status` int(11) NULL DEFAULT NULL COMMENT '状态200执行完毕 90待执行 120已经取消',
// `tablename` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '表名称',
// `pici` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '批次ID',
// PRIMARY KEY (`id`) USING BTREE
//) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '补充数据,比如新增字段' ROW_FORMAT = Dynamic;");
dblist.Add(@"CREATE TABLE IF NOT EXISTS `hg_man_config` (
`corpid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '公司ID',
`checkdate` date NOT NULL COMMENT '检测时间,系统启动,优先查看昨天数据,然后才进行今天的检测',
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '企业微信名称',
`tablename` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '表名称',
`seq` int(11) NULL DEFAULT 0 COMMENT '消息流水号(服务执行位置)',
`ctime` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`utime` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
`status` int(11) NULL DEFAULT 0 COMMENT '状态0未完成 1完结',
PRIMARY KEY (`corpid`, `checkdate`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '合规主表配置' ROW_FORMAT = Dynamic;");
dblist.Add(@"CREATE TABLE IF NOT EXISTS `hg_message` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`seq` int(11) NULL DEFAULT NULL COMMENT '序号',
`msgid` varchar(50) NULL DEFAULT NULL COMMENT '消息ID',
`msgtype` varchar(20) NULL DEFAULT NULL COMMENT '消息类型',
`action` varchar(20) NULL DEFAULT NULL COMMENT '发送类型',
`fromer` varchar(100) NULL DEFAULT NULL COMMENT '客服',
`tolist` varchar(100) NULL DEFAULT NULL COMMENT '客户',
`roomid` varchar(50) NULL DEFAULT NULL COMMENT '群号',
`ext` mediumtext NULL COMMENT '扩展',
`content` mediumtext NULL COMMENT '内容',
`nfile` varchar(200) NULL DEFAULT NULL COMMENT '地址',
`msgtime` datetime(0) NULL DEFAULT NULL COMMENT '消息时间',
`ctime` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '系统创建的时间',
`hgstatus` int(11) NULL DEFAULT NULL COMMENT '合规状态 500违规 200已读 90未读',
`hgtime` datetime(0) NULL DEFAULT NULL COMMENT '合规时间',
`issend` int(11) NULL DEFAULT NULL COMMENT '0 客户发给客服 1客服发给客户',
`kehuname` varchar(255) NULL DEFAULT NULL COMMENT '客服名称',
`cusname` varchar(255) NULL DEFAULT NULL COMMENT '客户名称',
`corpid` varchar(50) NULL DEFAULT NULL COMMENT '企业ID',
`word` varchar(255) NULL DEFAULT NULL COMMENT '违规关键词',
`voiceUrl` varchar(255) NULL DEFAULT NULL COMMENT '语音地址',
`checkdate` date NULL DEFAULT NULL COMMENT 'check时间',
`eid` int(11) NULL DEFAULT NULL COMMENT '工号',
`eidname` varchar(255) NULL DEFAULT NULL COMMENT '工号名称',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '合规消息只合规客服发送的消息' ROW_FORMAT = Dynamic;");
// dblist.Add(@"CREATE TABLE IF NOT EXISTS `hg_message_group` (
// `id` int(11) NOT NULL AUTO_INCREMENT,
// `seq` int(11) NULL DEFAULT NULL COMMENT '序号',
// `msgid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '消息ID',
// `msgtype` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '消息类型',
// `action` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '发送类型',
// `fromer` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '发送人',
// `tolist` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '接收人',
// `roomid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '群号',
// `ext` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '扩展',
// `content` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '内容',
// `nfile` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '地址',
// `msgtime` datetime(0) NULL DEFAULT NULL COMMENT '消息时间',
// `ctime` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '系统创建的时间',
// `hgstatus` int(11) NULL DEFAULT NULL COMMENT '合规状态 500违规 200已读 90未读',
// `hgtime` datetime(0) NULL DEFAULT NULL COMMENT '合规时间',
// PRIMARY KEY (`id`) USING BTREE
//) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '合规消息只合规客服发送的消息' ROW_FORMAT = Dynamic;");
dblist.Add(@"CREATE TABLE IF NOT EXISTS `hg_message_word` (
`msgid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '消息ID',
`keyword` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '关键词',
`ctime` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`msgid`, `keyword`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '合规命中的关键词' ROW_FORMAT = Dynamic;");
dblist.Add(@"CREATE TABLE IF NOT EXISTS `hg_orderuser` (
`external_userid` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`ctime` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP(0),
PRIMARY KEY (`external_userid`) USING BTREE
) ;");
dblist.Add(@"CREATE TABLE IF NOT EXISTS `hg_ordervoice` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`corpid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '企业ID',
`tablename` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`seq` int(11) NULL DEFAULT NULL COMMENT '消息的Seq',
`msgid` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '消息ID',
`msgctime` datetime(0) NULL DEFAULT NULL COMMENT '消息的ctime',
`msgtype` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '消息类型',
`md5sum` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '文件的md5值',
`nfile` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '文件名称',
`checkdate` date NULL DEFAULT NULL COMMENT '合规时间',
`ctime` datetime(0) NULL DEFAULT NULL COMMENT '时间',
`transstatus` int(11) NULL DEFAULT 0 COMMENT '状态 0:未翻译 1:已翻译 2翻译失败',
`transtime` datetime(0) NULL DEFAULT NULL COMMENT '翻译执行时间',
`transcontent` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '翻译后的内容',
`ishg` int(11) NULL DEFAULT 0 COMMENT '自动合规状态1已经合规 0未合规',
`hgtime` datetime(0) NULL DEFAULT NULL COMMENT '合规时间',
`voiceUrl` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`fromer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`tolist` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;");
dblist.Add(@"CREATE TABLE IF NOT EXISTS `hg_jobuser` (
`corpid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`userid` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`ctime` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;");
foreach (var item in dblist)
{
try
{
con.Execute(item);//执行表
}
catch (Exception e)
{
LogHelper.Error(e.ToString());
}
}
try
{
using (IDbConnection consource = ConnectionFactory.CreateConnection(ContextType.qwContext, comcode, false))
{
try
{
string sql = @"CREATE TABLE IF NOT EXISTS `bas_pushcmd` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`mevent` varchar(50) NULL DEFAULT NULL COMMENT '指令类型,目前支持 wxpush,qwpush,recordpush',
`title` varchar(100) NULL DEFAULT NULL COMMENT '标题',
`jsontext` varchar(500) NULL DEFAULT NULL COMMENT 'json配置适用于假如推送某天前的数据',
`ctime` datetime(0) NULL DEFAULT NULL,
`endtime` datetime(0) NULL DEFAULT NULL,
`iscomplete` int(11) NULL DEFAULT 0 COMMENT '0:未完成 1已完成',
`type` varchar(11) NULL DEFAULT NULL COMMENT 'sys:系统自动推送 man:人工操作',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '合规推送指令表,日志表' ROW_FORMAT = Dynamic;";
consource.Execute(sql);//执行表
}
catch (Exception e)
{
LogHelper.Error(e.ToString());
}
bas_config config = consource.QueryFirstOrDefault<bas_config>("select code,value from bas_config where code=@code", new { code = "HgClearCount" });
if (config == null)
{
consource.Execute("insert into bas_config(code,value,content)values('HgClearCount','4000','合规数据每次执行量')");
}
bas_config config2 = consource.QueryFirstOrDefault<bas_config>("select code,value from bas_config where code=@code", new { code = "CusMsgNeedHG" });
if (config2 == null)
{
consource.Execute("insert into bas_config(code,value,content)values('CusMsgNeedHG','0','客户发得消息是否需要合规默认0不需要 1需要')");
}
bas_config config3 = consource.QueryFirstOrDefault<bas_config>("select code,value from bas_config where code=@code", new { code = "ManThreadSleepTime" });
if (config3 == null)
{
consource.Execute("insert into bas_config(code,value,content)values('ManThreadSleepTime','3','企业号线程执行休息间隔(分钟)')");
}
bas_config config4 = consource.QueryFirstOrDefault<bas_config>("select code,value from bas_config where code=@code", new { code = "MakeUpSleepTime" });
if (config4 == null)
{
consource.Execute("insert into bas_config(code,value,content)values('MakeUpSleepTime','5','新关键词清洗线程休息间隔(分钟)')");
}
bas_config config5 = consource.QueryFirstOrDefault<bas_config>("select code,value from bas_config where code=@code", new { code = "MainSleepTime" });
if (config5 == null)
{
consource.Execute("insert into bas_config(code,value,content)values('MainSleepTime','20','主线程查看是否有新增关键词或者新企业号休息间隔(分钟))')");
}
bas_config config6 = consource.QueryFirstOrDefault<bas_config>("select code,value from bas_config where code=@code", new { code = "PhoneRecordTransCount" });
if (config6 == null)
{
consource.Execute("insert into bas_config(code,value,content)values('PhoneRecordTransCount','10','电话录音一次性读取数据量')");
}
bas_config config7 = consource.QueryFirstOrDefault<bas_config>("select code,value from bas_config where code=@code", new { code = "PhoneRecordTransSleepTime" });
if (config7 == null)
{
consource.Execute("insert into bas_config(code,value,content)values('PhoneRecordTransSleepTime','1000','电话录音翻译间隔数')");
}
}
}
catch (Exception e)
{
LogHelper.Error(e.ToString());
}
}
}
public void InitSQLServer()
{
using (IDbConnection con = ConnectionFactory.CreateConnection(ContextType.wxContext, comcode))
{
var contype = con.GetType().Name.ToLower();
if (contype.Contains("sqlconnection"))
{
#region sqlserver数据库
try
{
con.Execute(@"if not exists( select 1 from sysobjects where id = object_id('hg_excute_log'))
CREATE TABLE [dbo].[hg_excute_log](
[id] [int] IDENTITY(1,1) NOT NULL,
[tablename] [varchar](50) NULL,
[pkid] [int] NULL,
[starttime] [datetime] NULL,
[endtime] [datetime] NULL,
[exscend] [int] NULL,
[message] [varchar](200) NULL,
[status] [int] NULL,
[type] [varchar](50) NULL,
CONSTRAINT [PK_hg_excute_log] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]");
}
catch (Exception e) { }
try
{
con.Execute(@"if not exists( select 1 from sysobjects where id = object_id('hg_man_config'))
CREATE TABLE [dbo].[hg_man_config](
[checkdate] [date] NOT NULL,
[tablename] [varchar](50) NOT NULL,
[pkid] [int] NULL,
[ctime] [datetime] NULL DEFAULT (getdate()),
[utime] [datetime] NULL,
[status] [int] NULL,
CONSTRAINT [PK_hg_man_config] PRIMARY KEY CLUSTERED
(
[checkdate] ASC,[tablename] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
");
}
catch (Exception e) { }
try
{
con.Execute(@"if not exists( select 1 from sysobjects where id = object_id('hg_message'))
CREATE TABLE [dbo].[hg_message](
[id] [int] IDENTITY(1,1) NOT NULL,
[checkdate] [date] NULL,
[pkid] [int] NULL,
[msgsvrid] [varchar](50) NULL,
[msgtype] [int] NULL,
[issend] [int] NULL,
[talker] [varchar](50) NULL,
[username] [varchar](50) NULL,
[nickname] [nvarchar](50) NULL,
[msgcontent] [nvarchar](max) NULL,
[imgpath] [varchar](200) NULL,
[voiceUrl] [varchar](250) NULL,
[ctime] [datetime] NULL DEFAULT (getdate()),
[hgstatus] [int] NULL,
[hgtime] [datetime] NULL,
[kefuname] [varchar](50) NULL,
[word] [varchar](250) NULL,
[eid] [int] NULL,
[eidname][varchar](50) NULL,
CONSTRAINT [PK_hg_message] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
");
}
catch (Exception e) { }
try
{
con.Execute(@"if not exists( select 1 from sysobjects where id = object_id('hg_message_word'))
CREATE TABLE [dbo].[hg_message_word](
[msgsvrid] [varchar](50) NOT NULL,
[keyword] [varchar](50) NOT NULL,
[ctime] [datetime] NULL DEFAULT (getdate()),
PRIMARY KEY CLUSTERED
(
[msgsvrid] ASC,
[keyword] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
");
}
catch (Exception e) { }
try
{
con.Execute(@"if not exists( select 1 from sysobjects where id = object_id('hg_orderuser'))
CREATE TABLE [dbo].[hg_orderuser](
[username] [varchar](50) NOT NULL,
[ctime] [datetime] NULL DEFAULT (getdate()),
CONSTRAINT [PK_hg_orderuser] PRIMARY KEY CLUSTERED
(
[username] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
");
}
catch (Exception e) { }
try
{
con.Execute(@"if not exists( select 1 from sysobjects where id = object_id('hg_ordervoice'))
CREATE TABLE [dbo].[hg_ordervoice](
[id] [int] IDENTITY(1,1) NOT NULL,
[talename] [varchar](50) NULL,
[pkid] [int] NULL,
[msgsvrid] [varchar](50) NULL,
[msgtype] [varchar](50) NULL,
[nfile] [varchar](200) NULL,
[checkdate] [date] NULL,
[ctime] [datetime] NULL,
[transstatus] [int] NULL,
[transcontent] [text] NULL,
[ishg] [int] NULL,
[hgtime] [datetime] NULL,
[voiceUrl] [varchar](250) NULL,
[username] [varchar](50) NULL,
[talker] [varchar](50) NULL,
[kefuname] [varchar](50) NULL,
[eid] [int] NULL,
[nickname] [nvarchar](150) NULL,
[transtime] [datetime] NULL,
CONSTRAINT [PK_hg_ordervoice] PRIMARY KEY CLUSTERED
(
[id] ASC
))");
}
catch (Exception e) { }
try
{
con.Execute(@"if not exists( select 1 from sysobjects where id = object_id('hg_jobalias'))
CREATE TABLE [dbo].[hg_jobalias](
[jobusername] [varchar](50) NOT NULL,
[alias] [varchar](50) NULL,
[ctime] [datetime] NULL,
[nickname] [varchar](50) NULL,
CONSTRAINT [PK_hg_jobalias] PRIMARY KEY CLUSTERED
(
[jobusername] ASC
))");
}
catch (Exception e) { }
#endregion
}
else if (contype.Contains("mysql"))
{
#region mysql数据库
try
{
con.Execute(@"CREATE TABLE IF NOT EXISTS `hg_excute_log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tablename` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`pkid` int(11) NULL DEFAULT NULL,
`starttime` datetime(0) NULL DEFAULT NULL,
`endtime` datetime(0) NULL DEFAULT NULL,
`exscend` int(11) NULL DEFAULT NULL,
`message` varchar(255) NULL DEFAULT NULL,
`status` int(11) NULL DEFAULT NULL,
`type` varchar(50) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB;
");
}
catch (Exception e) { }
try
{
con.Execute(@"CREATE TABLE IF NOT EXISTS `hg_jobalias` (
`jobusername` varchar(255) NOT NULL,
`alias` varchar(255) NULL DEFAULT NULL,
`ctime` datetime(0) NULL DEFAULT NULL,
`nickname` varchar(255) NULL DEFAULT NULL,
PRIMARY KEY (`jobusername`) USING BTREE
) ENGINE = InnoDB ;
");
}
catch (Exception e) { }
try
{
con.Execute(@"CREATE TABLE IF NOT EXISTS `hg_man_config` (
`checkdate` date NOT NULL,
`tablename` varchar(255) NOT NULL,
`pkid` int(11) NULL DEFAULT NULL,
`ctime` datetime(0) NULL DEFAULT NULL,
`utime` datetime(0) NULL DEFAULT NULL,
`status` int(11) NULL DEFAULT NULL,
PRIMARY KEY (`checkdate`, `tablename`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = Dynamic;
");
}
catch (Exception e) { }
try
{
con.Execute(@"CREATE TABLE IF NOT EXISTS `hg_message` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`checkdate` date NULL DEFAULT NULL,
`pkid` int(11) NULL DEFAULT NULL,
`msgsvrid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`msgtype` int(11) NULL DEFAULT NULL,
`issend` int(11) NULL DEFAULT NULL,
`talker` varchar(50) NULL DEFAULT NULL,
`username` varchar(50) NULL DEFAULT NULL,
`nickname` varchar(50) NULL DEFAULT NULL,
`msgcontent` mediumtext NULL,
`imgpath` varchar(255) NULL DEFAULT NULL,
`voiceUrl` varchar(255) NULL DEFAULT NULL,
`ctime` datetime(0) NULL DEFAULT NULL,
`hgstatus` int(11) NULL DEFAULT NULL,
`hgtime` datetime(0) NULL DEFAULT NULL,
`kefuname` varchar(255) NULL DEFAULT NULL,
`word` varchar(255) NULL DEFAULT NULL,
`eid` int(11) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = Dynamic;
");
}
catch (Exception e) { }
try
{
con.Execute(@"CREATE TABLE IF NOT EXISTS `hg_message_word` (
`msgsvrid` varchar(50) NOT NULL,
`keyword` varchar(255) NOT NULL,
`ctime` datetime(0) NULL DEFAULT NULL,
PRIMARY KEY (`msgsvrid`, `keyword`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = Dynamic;
");
}
catch (Exception e) { }
try
{
con.Execute(@"CREATE TABLE IF NOT EXISTS `hg_orderuser` (
`username` varchar(255) NOT NULL,
`ctime` datetime(0) NULL DEFAULT NULL,
PRIMARY KEY (`username`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = Dynamic;
");
}
catch (Exception e) { }
try
{
con.Execute(@"CREATE TABLE IF NOT EXISTS `hg_ordervoice` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`talename` varchar(255) NULL DEFAULT NULL,
`pkid` int(11) NULL DEFAULT NULL,
`msgsvrid` varchar(50) NULL DEFAULT NULL,
`msgtype` varchar(255) NULL DEFAULT NULL,
`nfile` varchar(255) NULL DEFAULT NULL,
`checkdate` date NULL DEFAULT NULL,
`ctime` datetime(0) NULL DEFAULT NULL,
`transstatus` int(11) NULL DEFAULT NULL,
`transcontent` mediumtext NULL,
`ishg` int(11) NULL DEFAULT NULL,
`hgtime` datetime(0) NULL DEFAULT NULL,
`voiceUrl` varchar(255) NULL DEFAULT NULL,
`username` varchar(255) NULL DEFAULT NULL,
`talker` varchar(255) NULL DEFAULT NULL,
`kefuname` varchar(255) NULL DEFAULT NULL,
`eid` int(11) NULL DEFAULT NULL,
`nickname` varchar(255) NULL DEFAULT NULL,
`transtime` datetime(0) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = Dynamic;
");
}
catch (Exception e) { }
#endregion
}
}
}
/// <summary>
/// oracle数据的初始化
/// </summary>
public void InitMyOracleDb()
{
using (IDbConnection con = ConnectionFactory.CreateConnection(ContextType.crmContext, comcode))
{
//创建 订单资源ID表
try
{
con.Execute(@"create table HG_ORDERRESID
(
resid VARCHAR2(20),
ctime DATE default sysdate
)
");
}
catch (Exception e) { }
//创建自动合规执行日志
try
{
con.Execute(@"create table HG_EXCUTE_LOG
(
id NUMBER not null,
type VARCHAR2(50),
starttime DATE,
endtime DATE,
exscend NUMBER,
message NVARCHAR2(250),
status NUMBER
)"); con.Execute(@"alter table HG_EXCUTE_LOG add constraint PK_HG_EXCUTE_LOG primary key (ID) using index tablespace UPDEV_DATA pctfree 10 initrans 2 maxtrans 255 ");
}
catch (Exception e) { }
//创建 合规配置表
try
{
con.Execute(@"create table HG_RECORD_CONFIG
(
id NUMBER not null,
pkid NUMBER,
ctime DATE default sysdate,
utime DATE,
status NUMBER,
checkdate DATE
)");
con.Execute(@"alter table HG_RECORD_CONFIG add constraint PK_HG_RECORD_CONFIG primary key (ID) using index tablespace UPDEV_DATA pctfree 10 initrans 2 maxtrans 255");
}
catch (Exception e) { }
try
{
con.Execute(@"create table HG_ORDER_RECORD
(
id NUMBER not null,
pkid NUMBER,
checkdate DATE,
ctime DATE,
transstatus NUMBER,
transtime DATE,
transcontent CLOB,
ishg NUMBER,
hgtime DATE,
voiceurl VARCHAR2(200),
resid VARCHAR2(20),
saleseid NUMBER,
filename VARCHAR2(200),
timelength NUMBER
)");
con.Execute(@"alter table HG_ORDER_RECORD add constraint PK_HG_ORDER_RECORD primary key (ID) using index");
}
catch (Exception e) { }
try
{
con.Execute(@"create table HG_RECORD_MESSAGE
(
id NUMBER not null,
pkid NUMBER,
checkdate DATE,
ctime DATE,
transtime DATE,
transcontent CLOB,
hgstatus NUMBER,
hgtime DATE,
voiceurl VARCHAR2(200),
resid VARCHAR2(20),
filename VARCHAR2(200),
customername VARCHAR2(50),
saleseid NUMBER,
salename VARCHAR2(50),
word VARCHAR2(200)
)");
con.Execute(@"alter table HG_RECORD_MESSAGE add constraint PK_HG_RECORD_MESSAGE primary key (ID) using index");
con.Execute(@"alter table HG_RECORD_MESSAGE add constraint HG_RECORD_MESSAGE_PKID unique (PKID) using index");
}
catch (Exception e) { }
try
{
con.Execute(@"create table HG_RECORD_WORD
(
pkid NUMBER not null,
keyword VARCHAR2(50) not null,
ctime DATE default sysdate
)");
con.Execute(@"alter table HG_RECORD_WORD add constraint PK_HG_RECORD_WORD primary key (PKID, KEYWORD) using index ");
}
catch (Exception e) { }
}
}
}
}