641 lines
30 KiB
C#
641 lines
30 KiB
C#
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) { }
|
||
}
|
||
|
||
}
|
||
}
|
||
}
|