Przeglądaj źródła

Merge branch 'master' of http://192.168.1.222:3000/yuqian/ZYKJ_API

yuqian 7 lat temu
rodzic
commit
afd841a96b
37 zmienionych plików z 359 dodań i 979 usunięć
  1. 1 41
      CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/CallCenterApi.Interface.csproj
  2. 0 40
      CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/CallCenterApi.Interface.csproj.user
  3. 41 5
      CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/IndexController.cs
  4. 54 11
      CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/callout/CallPlanController.cs
  5. 80 10
      CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/quality/QCManageController.cs
  6. 39 5
      CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/tel/CallInScreenController.cs
  7. 81 11
      CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/tel/CallrecordsController.cs
  8. BIN
      CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Upload/ZXTX/20170728170157397.jpg
  9. BIN
      CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Upload/ZXTX/20170728170157397_s.jpg
  10. 1 1
      CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Web.config
  11. BIN
      CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/bin/zh-Hans/System.Web.Helpers.resources.dll
  12. BIN
      CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/bin/zh-Hans/System.Web.Mvc.resources.dll
  13. BIN
      CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/bin/zh-Hans/System.Web.Razor.resources.dll
  14. BIN
      CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/bin/zh-Hans/System.Web.Webpages.Deployment.resources.dll
  15. BIN
      CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/bin/zh-Hans/System.Web.Webpages.Razor.resources.dll
  16. BIN
      CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/bin/zh-Hans/System.Web.Webpages.resources.dll
  17. BIN
      CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/bin/zh-Hans/zh-Hans.rar
  18. 0 23
      CallCenterApi/CallCenterApi_.Interface/App_Start/RouteConfig.cs
  19. 0 30
      CallCenterApi/CallCenterApi_.Interface/App_Start/WebApiConfig.cs
  20. 0 79
      CallCenterApi/CallCenterApi_.Interface/ApplicationInsights.config
  21. 0 217
      CallCenterApi/CallCenterApi_.Interface/CallCenterApi_.Interface.csproj
  22. 0 37
      CallCenterApi/CallCenterApi_.Interface/CallCenterApi_.Interface.csproj.user
  23. 0 87
      CallCenterApi/CallCenterApi_.Interface/Controllers/BaseController/ValidateController.cs
  24. 0 37
      CallCenterApi/CallCenterApi_.Interface/Controllers/BaseController/baseController.cs
  25. 0 68
      CallCenterApi/CallCenterApi_.Interface/Controllers/UserInfoController.cs
  26. 0 1
      CallCenterApi/CallCenterApi_.Interface/Global.asax
  27. 0 23
      CallCenterApi/CallCenterApi_.Interface/Global.asax.cs
  28. 0 35
      CallCenterApi/CallCenterApi_.Interface/Properties/AssemblyInfo.cs
  29. 0 42
      CallCenterApi/CallCenterApi_.Interface/Views/web.config
  30. 0 31
      CallCenterApi/CallCenterApi_.Interface/Web.Debug.config
  31. 0 32
      CallCenterApi/CallCenterApi_.Interface/Web.Release.config
  32. 0 84
      CallCenterApi/CallCenterApi_.Interface/Web.config
  33. 0 27
      CallCenterApi/CallCenterApi_.Interface/packages.config
  34. 1 2
      CallCenterCommon/CallCenter.QuartzService/CallCenter.QuartzService.csproj
  35. 1 0
      CallCenterCommon/CallCenter.Utility/CallCenter.Utility.csproj
  36. 52 0
      CallCenterCommon/CallCenter.Utility/FileExistsHelper.cs
  37. 8 0
      数据库/添加字段.sql

+ 1 - 41
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/CallCenterApi.Interface.csproj

@@ -25,6 +25,7 @@
25 25
     <NuGetPackageImportStamp>
26 26
     </NuGetPackageImportStamp>
27 27
     <TargetFrameworkProfile />
28
+    <Use64BitIISExpress />
28 29
   </PropertyGroup>
29 30
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
30 31
     <DebugSymbols>true</DebugSymbols>
@@ -150,43 +151,6 @@
150 151
     </Reference>
151 152
   </ItemGroup>
152 153
   <ItemGroup>
153
-    <Content Include="bin\CallCenterApi.Interface.dll" />
154
-    <Content Include="bin\CallCenterApi.Interface.pdb" />
155
-    <Content Include="bin\log4net.dll" />
156
-    <Content Include="bin\log4net.xml" />
157
-    <Content Include="bin\Microsoft.AI.Agent.Intercept.dll" />
158
-    <Content Include="bin\Microsoft.AI.DependencyCollector.dll" />
159
-    <Content Include="bin\Microsoft.AI.PerfCounterCollector.dll" />
160
-    <Content Include="bin\Microsoft.AI.ServerTelemetryChannel.dll" />
161
-    <Content Include="bin\Microsoft.AI.Web.dll" />
162
-    <Content Include="bin\Microsoft.AI.WindowsServer.dll" />
163
-    <Content Include="bin\Microsoft.ApplicationInsights.dll" />
164
-    <Content Include="bin\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll" />
165
-    <Content Include="bin\Microsoft.Web.Infrastructure.dll" />
166
-    <Content Include="bin\Newtonsoft.Json.dll" />
167
-    <Content Include="bin\Newtonsoft.Json.xml" />
168
-    <Content Include="bin\NPOI.dll" />
169
-    <Content Include="bin\NPOI.OOXML.dll" />
170
-    <Content Include="bin\NPOI.OpenXml4Net.dll" />
171
-    <Content Include="bin\NPOI.OpenXmlFormats.dll" />
172
-    <Content Include="bin\roslyn\csc.exe" />
173
-    <Content Include="bin\roslyn\Microsoft.Build.Tasks.CodeAnalysis.dll" />
174
-    <Content Include="bin\roslyn\Microsoft.CodeAnalysis.CSharp.dll" />
175
-    <Content Include="bin\roslyn\Microsoft.CodeAnalysis.dll" />
176
-    <Content Include="bin\roslyn\Microsoft.CodeAnalysis.VisualBasic.dll" />
177
-    <Content Include="bin\roslyn\System.Collections.Immutable.dll" />
178
-    <Content Include="bin\roslyn\System.Reflection.Metadata.dll" />
179
-    <Content Include="bin\roslyn\vbc.exe" />
180
-    <Content Include="bin\roslyn\VBCSCompiler.exe" />
181
-    <Content Include="bin\Senparc.Weixin.dll" />
182
-    <Content Include="bin\Senparc.Weixin.MP.dll" />
183
-    <Content Include="bin\System.Web.Helpers.dll" />
184
-    <Content Include="bin\System.Web.Mvc.dll" />
185
-    <Content Include="bin\System.Web.Razor.dll" />
186
-    <Content Include="bin\System.Web.Webpages.Deployment.dll" />
187
-    <Content Include="bin\System.Web.Webpages.dll" />
188
-    <Content Include="bin\System.Web.Webpages.Razor.dll" />
189
-    <Content Include="bin\TopSdk.dll" />
190 154
     <!-- <Content Include="bin\zh-Hans\System.Web.Helpers.resources.dll" /> -->
191 155
     <!-- <Content Include="bin\zh-Hans\System.Web.Mvc.resources.dll" /> -->
192 156
     <!-- <Content Include="bin\zh-Hans\System.Web.Razor.resources.dll" /> -->
@@ -348,10 +312,6 @@
348 312
     </Content>
349 313
     <Content Include="Configs\log4net.config" />
350 314
     <Content Include="Configs\system.config" />
351
-    <Content Include="bin\ApplicationInsights.config" />
352
-    <Content Include="bin\roslyn\Microsoft.CSharp.Core.targets" />
353
-    <Content Include="bin\roslyn\Microsoft.VisualBasic.Core.targets" />
354
-    <Content Include="bin\roslyn\VBCSCompiler.exe.config" />
355 315
     <None Include="Properties\PublishProfiles\1q.pubxml" />
356 316
     <None Include="Properties\PublishProfiles\ddr.pubxml" />
357 317
     <None Include="Properties\PublishProfiles\my.pubxml" />

+ 0 - 40
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/CallCenterApi.Interface.csproj.user

@@ -1,40 +0,0 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
-  <PropertyGroup>
4
-    <UseIISExpress>true</UseIISExpress>
5
-    <WebStackScaffolding_ControllerDialogWidth>600</WebStackScaffolding_ControllerDialogWidth>
6
-    <WebStackScaffolding_IsLayoutPageSelected>True</WebStackScaffolding_IsLayoutPageSelected>
7
-    <WebStackScaffolding_IsPartialViewSelected>False</WebStackScaffolding_IsPartialViewSelected>
8
-    <WebStackScaffolding_IsReferencingScriptLibrariesSelected>True</WebStackScaffolding_IsReferencingScriptLibrariesSelected>
9
-    <WebStackScaffolding_LayoutPageFile />
10
-    <WebStackScaffolding_IsAsyncSelected>False</WebStackScaffolding_IsAsyncSelected>
11
-    <NameOfLastUsedPublishProfile>MY</NameOfLastUsedPublishProfile>
12
-    <ProjectView>ShowAllFiles</ProjectView>
13
-    <LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
14
-  </PropertyGroup>
15
-  <ProjectExtensions>
16
-    <VisualStudio>
17
-      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
18
-        <WebProjectProperties>
19
-          <StartPageUrl>
20
-          </StartPageUrl>
21
-          <StartAction>CurrentPage</StartAction>
22
-          <AspNetDebugging>True</AspNetDebugging>
23
-          <SilverlightDebugging>False</SilverlightDebugging>
24
-          <NativeDebugging>False</NativeDebugging>
25
-          <SQLDebugging>False</SQLDebugging>
26
-          <ExternalProgram>
27
-          </ExternalProgram>
28
-          <StartExternalURL>
29
-          </StartExternalURL>
30
-          <StartCmdLineArguments>
31
-          </StartCmdLineArguments>
32
-          <StartWorkingDirectory>
33
-          </StartWorkingDirectory>
34
-          <EnableENC>True</EnableENC>
35
-          <AlwaysStartWebServerOnDebug>True</AlwaysStartWebServerOnDebug>
36
-        </WebProjectProperties>
37
-      </FlavorProperties>
38
-    </VisualStudio>
39
-  </ProjectExtensions>
40
-</Project>

+ 41 - 5
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/IndexController.cs

@@ -467,18 +467,54 @@ namespace CallCenterApi.Interface.Controllers
467 467
 
468 468
                         dt = new BLL.T_Call_CallRecords().GetList(n, " UserCode='" + userModel.F_UserCode + "' ", "CallRecordsId desc").Tables[0];
469 469
                         var config = new BLL.T_Sys_SystemConfig().GetModelList(" F_ParamCode='PlayPath' ").FirstOrDefault();
470
+                        var configbak = new BLL.T_Sys_SystemConfig().GetModelList(" F_ParamCode='PlayPathBak' ").FirstOrDefault(); //备份录音服务器地址
470 471
                         foreach (DataRow dr in dt.Rows)
471 472
                         {
473
+                            //string path = dr["FilePath"] != null ? dr["FilePath"].ToString() : "";
474
+                            //if (path != "" && config != null && !string.IsNullOrEmpty(config.F_ParamValue))
475
+                            //{
476
+                            //    var ym = config.F_ParamValue;
477
+                            //    if (ym.Substring(ym.Length - 1) == "/")
478
+                            //    {
479
+                            //        ym = ym.Substring(0, ym.Length - 1);
480
+                            //    }
481
+                            //    dr["FilePath"] = ym + path.Substring(path.IndexOf(':') + 1).Replace('\\', '/');
482
+                            //}
483
+
484
+                            //2018-05-16 lihai 判断录音是否存在
485
+                            //特别备注说明:所有备份录音都放到luyin文件夹下,所以FilePath录音目前需要处理
472 486
                             string path = dr["FilePath"] != null ? dr["FilePath"].ToString() : "";
473
-                            if (path != "" && config != null && !string.IsNullOrEmpty(config.F_ParamValue))
487
+                            if (path != "")
474 488
                             {
475
-                                var ym = config.F_ParamValue;
476
-                                if (ym.Substring(ym.Length - 1) == "/")
489
+                                //文件路径
490
+                                var pathfile = path.Substring(path.IndexOf(':') + 1).Replace('\\', '/');
491
+                                if (config != null && !string.IsNullOrEmpty(config.F_ParamValue))
477 492
                                 {
478
-                                    ym = ym.Substring(0, ym.Length - 1);
493
+                                    var ym = config.F_ParamValue;
494
+                                    if (ym.Substring(ym.Length - 1) == "/")
495
+                                    {
496
+                                        ym = ym.Substring(0, ym.Length - 1);
497
+                                    }
498
+                                    dr["FilePath"] = ym + pathfile;
499
+                                }
500
+                                //判断是否录音存在,不存在用备份录音路径
501
+                                bool isfile = FileExistsHelper.RemoteFileExists(dr["FilePath"].ToString());
502
+                                if (!isfile)
503
+                                {
504
+                                    //处理备份录音路径,record,和luyin文件都要过滤掉,配置文件加上ip+luyin
505
+                                    pathfile = pathfile.Replace("Record", "luyin");
506
+                                    if (configbak != null && !string.IsNullOrEmpty(configbak.F_ParamValue))
507
+                                    {
508
+                                        var ymbak = configbak.F_ParamValue;
509
+                                        if (ymbak.Substring(ymbak.Length - 1) == "/")
510
+                                        {
511
+                                            ymbak = ymbak.Substring(0, ymbak.Length - 1);
512
+                                        }
513
+                                        dr["FilePath"] = ymbak + pathfile;
514
+                                    }
479 515
                                 }
480
-                                dr["FilePath"] = ym + path.Substring(path.IndexOf(':') + 1).Replace('\\', '/');
481 516
                             }
517
+
482 518
                         }
483 519
                         res = Success("成功", dt);
484 520
                     }

+ 54 - 11
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/callout/CallPlanController.cs

@@ -80,7 +80,7 @@ namespace CallCenterApi.Interface.Controllers.callout
80 80
 
81 81
             var recordCount = 0;
82 82
             var dt = BLL.PagerBLL.GetListPager(
83
-                             "T_CTI_Task",
83
+                             "T_CTI_Task (NOLOCK) ",
84 84
                              "TaskID",
85 85
                              "*",
86 86
                              sql,
@@ -714,7 +714,7 @@ namespace CallCenterApi.Interface.Controllers.callout
714 714
 
715 715
             var recordCount = 0;
716 716
             var dt = BLL.PagerBLL.GetListPager(
717
-                             " T_Call_TaskTelNum tn left join T_CTI_Task t on t.TaskID=tn.F_TaskId",
717
+                             " T_Call_TaskTelNum (NOLOCK) tn left join T_CTI_Task (NOLOCK) t on t.TaskID=tn.F_TaskId ",
718 718
                              " F_Id ",
719 719
                              field,
720 720
                               sql,
@@ -980,7 +980,7 @@ namespace CallCenterApi.Interface.Controllers.callout
980 980
             var model = taskBLL.GetModel(id);
981 981
             if (model == null)
982 982
                 return Error("外呼任务不存在");
983
-            var obj = DbHelperSQL.GetSingle($"SELECT Count(F_ID) FROM T_Call_TaskTelNum WHERE F_UserId={CurrentUser.UserData.F_UserId} and F_TaskId={model.TaskID} and  F_FPState=1 and F_HCState=0 and F_AllotStatus>0 ");
983
+            var obj = DbHelperSQL.GetSingle($"SELECT Count(F_ID) FROM T_Call_TaskTelNum (NOLOCK) WHERE F_UserId={CurrentUser.UserData.F_UserId} and F_TaskId={model.TaskID} and  F_FPState=1 and F_HCState=0 and F_AllotStatus>0 ");
984 984
             var sum = obj == null ? 0 : Convert.ToInt32(obj);
985 985
             if (sum > 0)
986 986
                 return Error($"请先完成任务【{model.TaskName}】已获取号码的呼叫任务");
@@ -988,9 +988,17 @@ namespace CallCenterApi.Interface.Controllers.callout
988 988
             if (num <= 0)
989 989
                 return Error("已超出最多可获取数据条数,最多可获取数据为50条");
990 990
             num = Math.Abs(num);
991
-            var res = DbHelperSQL.ExecuteSql($"UPDATE T_Call_TaskTelNum SET F_FPState=1,F_AllotStatus=1,F_UserId={CurrentUser.UserData.F_UserId},F_Username='{CurrentUser.UserData.F_UserName}' WHERE F_Id in(SELECT TOP({(count > num ? num : count)}) F_Id FROM T_Call_TaskTelNum WHERE F_TaskId={id} and F_FPState=0 and F_AllotStatus=0)");
992
-            if (res > 0)
993
-                return Success($"获取到{res}条可用号码");
991
+
992
+            var telnum = DbHelperSQL.GetSingle($"SELECT Count(F_ID) FROM T_Call_TaskTelNum (NOLOCK) WHERE F_TaskId={model.TaskID} and F_FPState=0 and F_AllotStatus=0");
993
+            int telsum = telnum == null ? 0 : Convert.ToInt32(telnum);
994
+            if (telsum > 0)
995
+            {
996
+                //var res = DbHelperSQL.ExecuteSql($"UPDATE T_Call_TaskTelNum SET F_FPState=1,F_AllotStatus=1,F_UserId={CurrentUser.UserData.F_UserId},F_Username='{CurrentUser.UserData.F_UserName}' WHERE F_Id in(SELECT TOP({(count > num ? num : count)}) F_Id FROM T_Call_TaskTelNum WHERE F_TaskId={id} and F_FPState=0 and F_AllotStatus=0)");
997
+                var res = DbHelperSQL.ExecuteSql($"UPDATE T_Call_TaskTelNum SET F_FPState=1,F_AllotStatus=1,F_UserId={CurrentUser.UserData.F_UserId},F_Username='{CurrentUser.UserData.F_UserName}' WHERE F_Id in(SELECT TOP({(count > num ? num : count)}) F_Id FROM T_Call_TaskTelNum (NOLOCK) WHERE F_TaskId={model.TaskID} and F_FPState=0 and F_AllotStatus=0)");
998
+                if (res > 0)
999
+                    return Success($"获取到{res}条可用号码");
1000
+                return Error("未获取到可用号码");
1001
+            }
994 1002
             return Error("未获取到可用号码");
995 1003
         }
996 1004
         /// <summary>
@@ -1728,19 +1736,54 @@ namespace CallCenterApi.Interface.Controllers.callout
1728 1736
                        true,
1729 1737
                        out recordCount);
1730 1738
             var config = new BLL.T_Sys_SystemConfig().GetModelList(" F_ParamCode='PlayPath' ").FirstOrDefault();
1739
+            var configbak = new BLL.T_Sys_SystemConfig().GetModelList(" F_ParamCode='PlayPathBak' ").FirstOrDefault(); //备份录音服务器地址
1731 1740
             var callResultList = callResultBLL.DataTableToList(dt);
1732 1741
             var list = new List<AutoCallRecordDto>();
1733 1742
             callResultList.ForEach(x =>
1734 1743
             {
1735 1744
                 var recordPath = "";
1736
-                if (!string.IsNullOrWhiteSpace(x.RecordPath) && config != null && !string.IsNullOrEmpty(config.F_ParamValue))
1745
+                //if (!string.IsNullOrWhiteSpace(x.RecordPath) && config != null && !string.IsNullOrEmpty(config.F_ParamValue))
1746
+                //{
1747
+                //    var ym = config.F_ParamValue;
1748
+                //    if (ym.Substring(ym.Length - 1) == "/")
1749
+                //    {
1750
+                //        ym = ym.Substring(0, ym.Length - 1);
1751
+                //    }
1752
+                //    recordPath = ym + x.RecordPath.Substring(x.RecordPath.IndexOf(':') + 1).Replace('\\', '/');
1753
+                //}
1754
+
1755
+                //2018-05-16 lihai 判断录音是否存在
1756
+                //特别备注说明:所有备份录音都放到luyin文件夹下,所以FilePath录音目前需要处理
1757
+                string path = x.RecordPath ?? "";
1758
+                if (path != "")
1737 1759
                 {
1738
-                    var ym = config.F_ParamValue;
1739
-                    if (ym.Substring(ym.Length - 1) == "/")
1760
+                    //文件路径
1761
+                    var pathfile = path.Substring(path.IndexOf(':') + 1).Replace('\\', '/');
1762
+                    if (config != null && !string.IsNullOrEmpty(config.F_ParamValue))
1763
+                    {
1764
+                        var ym = config.F_ParamValue;
1765
+                        if (ym.Substring(ym.Length - 1) == "/")
1766
+                        {
1767
+                            ym = ym.Substring(0, ym.Length - 1);
1768
+                        }
1769
+                        recordPath = ym + pathfile;
1770
+                    }
1771
+                    //判断是否录音存在,不存在用备份录音路径
1772
+                    bool isfile = FileExistsHelper.RemoteFileExists(recordPath);
1773
+                    if (!isfile)
1740 1774
                     {
1741
-                        ym = ym.Substring(0, ym.Length - 1);
1775
+                        //处理备份录音路径,record,和luyin文件都要过滤掉,配置文件加上ip+luyin
1776
+                        pathfile = pathfile.Replace("Record", "luyin");
1777
+                        if (configbak != null && !string.IsNullOrEmpty(configbak.F_ParamValue))
1778
+                        {
1779
+                            var ymbak = configbak.F_ParamValue;
1780
+                            if (ymbak.Substring(ymbak.Length - 1) == "/")
1781
+                            {
1782
+                                ymbak = ymbak.Substring(0, ymbak.Length - 1);
1783
+                            }
1784
+                            recordPath = ymbak + pathfile;
1785
+                        }
1742 1786
                     }
1743
-                    recordPath = ym + x.RecordPath.Substring(x.RecordPath.IndexOf(':') + 1).Replace('\\', '/');
1744 1787
                 }
1745 1788
 
1746 1789
                 list.Add(new AutoCallRecordDto

+ 80 - 10
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/quality/QCManageController.cs

@@ -133,15 +133,50 @@ namespace CallCenterApi.Interface.Controllers.quality
133 133
 
134 134
                 string path = string.IsNullOrWhiteSpace(d.FilePath) ? "" : d.FilePath;
135 135
                 var config = new BLL.T_Sys_SystemConfig().GetModelList(" F_ParamCode='PlayPath' ").FirstOrDefault();
136
-                if (path != "" && config != null && !string.IsNullOrEmpty(config.F_ParamValue))
136
+                var configbak = new BLL.T_Sys_SystemConfig().GetModelList(" F_ParamCode='PlayPathBak' ").FirstOrDefault(); //备份录音服务器地址
137
+                //if (path != "" && config != null && !string.IsNullOrEmpty(config.F_ParamValue))
138
+                //{
139
+                //    var ym = config.F_ParamValue;
140
+                //    if (ym.Substring(ym.Length - 1) == "/")
141
+                //    {
142
+                //        ym = ym.Substring(0, ym.Length - 1);
143
+                //    }
144
+                //    d.FilePath = ym + path.Substring(path.IndexOf(':') + 1).Replace('\\', '/');
145
+                //}
146
+
147
+                //2018-05-16 lihai 判断录音是否存在
148
+                //特别备注说明:所有备份录音都放到luyin文件夹下,所以FilePath录音目前需要处理
149
+                if (path != "")
137 150
                 {
138
-                    var ym = config.F_ParamValue;
139
-                    if (ym.Substring(ym.Length - 1) == "/")
151
+                    //文件路径
152
+                    var pathfile = path.Substring(path.IndexOf(':') + 1).Replace('\\', '/');
153
+                    if (config != null && !string.IsNullOrEmpty(config.F_ParamValue))
140 154
                     {
141
-                        ym = ym.Substring(0, ym.Length - 1);
155
+                        var ym = config.F_ParamValue;
156
+                        if (ym.Substring(ym.Length - 1) == "/")
157
+                        {
158
+                            ym = ym.Substring(0, ym.Length - 1);
159
+                        }
160
+                        d.FilePath = ym + pathfile;
161
+                    }
162
+                    //判断是否录音存在,不存在用备份录音路径
163
+                    bool isfile = FileExistsHelper.RemoteFileExists(d.FilePath);
164
+                    if (!isfile)
165
+                    {
166
+                        //处理备份录音路径,record,和luyin文件都要过滤掉,配置文件加上ip+luyin
167
+                        pathfile = pathfile.Replace("Record", "luyin");
168
+                        if (configbak != null && !string.IsNullOrEmpty(configbak.F_ParamValue))
169
+                        {
170
+                            var ymbak = configbak.F_ParamValue;
171
+                            if (ymbak.Substring(ymbak.Length - 1) == "/")
172
+                            {
173
+                                ymbak = ymbak.Substring(0, ymbak.Length - 1);
174
+                            }
175
+                            d.FilePath = ymbak + pathfile;
176
+                        }
142 177
                     }
143
-                    d.FilePath = ym + path.Substring(path.IndexOf(':') + 1).Replace('\\', '/');
144 178
                 }
179
+
145 180
                 var user = userList.SingleOrDefault(x => x.F_UserCode == d.UserCode);
146 181
                 var dept = deptList.SingleOrDefault(x => x.F_DeptId == (user?.F_DeptId ?? 0));
147 182
                 var deptParent = deptList.SingleOrDefault(x => x.F_DeptId == (dept?.F_ParentId ?? 0));
@@ -298,15 +333,50 @@ namespace CallCenterApi.Interface.Controllers.quality
298 333
                 int dc = ldList.Where(l => l.F_CallRecordsID == d.CallRecordsId && l.F_OptID == int.Parse(optid) && l.F_IsDownload == true).Count();
299 334
                 string path = string.IsNullOrWhiteSpace(d.FilePath) ? "" : d.FilePath;
300 335
                 var config = new BLL.T_Sys_SystemConfig().GetModelList(" F_ParamCode='PlayPath' ").FirstOrDefault();
301
-                if (path != "" && config != null && !string.IsNullOrEmpty(config.F_ParamValue))
336
+                var configbak = new BLL.T_Sys_SystemConfig().GetModelList(" F_ParamCode='PlayPathBak' ").FirstOrDefault(); //备份录音服务器地址
337
+                //if (path != "" && config != null && !string.IsNullOrEmpty(config.F_ParamValue))
338
+                //{
339
+                //    var ym = config.F_ParamValue;
340
+                //    if (ym.Substring(ym.Length - 1) == "/")
341
+                //    {
342
+                //        ym = ym.Substring(0, ym.Length - 1);
343
+                //    }
344
+                //    d.FilePath = ym + path.Substring(path.IndexOf(':') + 1).Replace('\\', '/');
345
+                //}
346
+
347
+                //2018-05-16 lihai 判断录音是否存在
348
+                //特别备注说明:所有备份录音都放到luyin文件夹下,所以FilePath录音目前需要处理
349
+                if (path != "")
302 350
                 {
303
-                    var ym = config.F_ParamValue;
304
-                    if (ym.Substring(ym.Length - 1) == "/")
351
+                    //文件路径
352
+                    var pathfile = path.Substring(path.IndexOf(':') + 1).Replace('\\', '/');
353
+                    if (config != null && !string.IsNullOrEmpty(config.F_ParamValue))
305 354
                     {
306
-                        ym = ym.Substring(0, ym.Length - 1);
355
+                        var ym = config.F_ParamValue;
356
+                        if (ym.Substring(ym.Length - 1) == "/")
357
+                        {
358
+                            ym = ym.Substring(0, ym.Length - 1);
359
+                        }
360
+                        d.FilePath = ym + pathfile;
361
+                    }
362
+                    //判断是否录音存在,不存在用备份录音路径
363
+                    bool isfile = FileExistsHelper.RemoteFileExists(d.FilePath);
364
+                    if (!isfile)
365
+                    {
366
+                        //处理备份录音路径,record,和luyin文件都要过滤掉,配置文件加上ip+luyin
367
+                        pathfile = pathfile.Replace("Record", "luyin");
368
+                        if (configbak != null && !string.IsNullOrEmpty(configbak.F_ParamValue))
369
+                        {
370
+                            var ymbak = configbak.F_ParamValue;
371
+                            if (ymbak.Substring(ymbak.Length - 1) == "/")
372
+                            {
373
+                                ymbak = ymbak.Substring(0, ymbak.Length - 1);
374
+                            }
375
+                            d.FilePath = ymbak + pathfile;
376
+                        }
307 377
                     }
308
-                    d.FilePath = ym + path.Substring(path.IndexOf(':') + 1).Replace('\\', '/');
309 378
                 }
379
+
310 380
                 var user = userList.SingleOrDefault(x => x.F_UserCode == d.UserCode);
311 381
                 var dept = deptList.SingleOrDefault(x => x.F_DeptId == user.F_DeptId);
312 382
                 var deptParent = deptList.SingleOrDefault(x => x.F_DeptId == dept.F_ParentId);

+ 39 - 5
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/tel/CallInScreenController.cs

@@ -332,17 +332,51 @@ namespace CallCenterApi.Interface.Controllers.tel
332 332
                     true,
333 333
                     out recordCount);
334 334
                 var config = new BLL.T_Sys_SystemConfig().GetModelList(" F_ParamCode='PlayPath' ").FirstOrDefault();
335
+                var configbak = new BLL.T_Sys_SystemConfig().GetModelList(" F_ParamCode='PlayPathBak' ").FirstOrDefault(); //2018-05-16 lihai 备份录音服务器地址
335 336
                 foreach (DataRow dr in dt.Rows)
336 337
                 {
337 338
                     string path = dr["FilePath"] != null ? dr["FilePath"].ToString() : "";
338
-                    if (path != "" && config != null && !string.IsNullOrEmpty(config.F_ParamValue))
339
+                    //if (path != "" && config != null && !string.IsNullOrEmpty(config.F_ParamValue))
340
+                    //{
341
+                    //    var ym = config.F_ParamValue;
342
+                    //    if (ym.Substring(ym.Length - 1) == "/")
343
+                    //    {
344
+                    //        ym = ym.Substring(0, ym.Length - 1);
345
+                    //    }
346
+                    //    dr["FilePath"] = ym + path.Substring(path.IndexOf(':') + 1).Replace('\\', '/');
347
+                    //}
348
+
349
+                    //2018-05-16 lihai 判断录音是否存在
350
+                    //特别备注说明:所有备份录音都放到luyin文件夹下,所以FilePath录音目前需要处理
351
+                    if (path != "")
339 352
                     {
340
-                        var ym = config.F_ParamValue;
341
-                        if (ym.Substring(ym.Length - 1) == "/")
353
+                        //文件路径
354
+                        var pathfile = path.Substring(path.IndexOf(':') + 1).Replace('\\', '/');
355
+                        if (config != null && !string.IsNullOrEmpty(config.F_ParamValue))
342 356
                         {
343
-                            ym = ym.Substring(0, ym.Length - 1);
357
+                            var ym = config.F_ParamValue;
358
+                            if (ym.Substring(ym.Length - 1) == "/")
359
+                            {
360
+                                ym = ym.Substring(0, ym.Length - 1);
361
+                            }
362
+                            dr["FilePath"] = ym + pathfile;
363
+                        }
364
+                        //判断是否录音存在,不存在用备份录音路径
365
+                        bool isfile = FileExistsHelper.RemoteFileExists(dr["FilePath"].ToString());
366
+                        if (!isfile)
367
+                        {
368
+                            //处理备份录音路径,record,和luyin文件都要过滤掉,配置文件加上ip+luyin
369
+                            pathfile = pathfile.Replace("Record", "luyin");
370
+                            if (configbak != null && !string.IsNullOrEmpty(configbak.F_ParamValue))
371
+                            {
372
+                                var ymbak = configbak.F_ParamValue;
373
+                                if (ymbak.Substring(ymbak.Length - 1) == "/")
374
+                                {
375
+                                    ymbak = ymbak.Substring(0, ymbak.Length - 1);
376
+                                }
377
+                                dr["FilePath"] = ymbak + pathfile;
378
+                            }
344 379
                         }
345
-                        dr["FilePath"] = ym + path.Substring(path.IndexOf(':') + 1).Replace('\\', '/');
346 380
                     }
347 381
                 }
348 382
 

+ 81 - 11
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/tel/CallrecordsController.cs

@@ -126,7 +126,7 @@ namespace CallCenterApi.Interface.Controllers.tel
126 126
                 }
127 127
                 int recordCount = 0;
128 128
                 dt = BLL.PagerBLL.GetListPager(
129
-                    "T_Call_CallRecords",
129
+                    "T_Call_CallRecords (NOLOCK) ",
130 130
                     "CallRecordsId",
131 131
                     "*",
132 132
                     sql,
@@ -137,21 +137,56 @@ namespace CallCenterApi.Interface.Controllers.tel
137 137
                     out recordCount);
138 138
                 var callRecordList = callRecordBLL.DataTableToList(dt);
139 139
                 var config = new BLL.T_Sys_SystemConfig().GetModelList(" F_ParamCode='PlayPath' ").FirstOrDefault();
140
+                var configbak = new BLL.T_Sys_SystemConfig().GetModelList(" F_ParamCode='PlayPathBak' ").FirstOrDefault(); //备份录音服务器地址
140 141
                 var users = new BLL.T_Sys_UserAccount().GetModelList("");
141 142
                 var deptList = deptBLL.DataTableToListForLevel(DbHelperSQL.Query("select F_DeptId,F_ParentId,F_DeptName,F_DeptCode,F_Layer,0 lvl FROM T_Sys_Department ").Tables[0]);
142 143
                 var resList = new List<CallRecordDto>();
143 144
                 foreach (var item in callRecordList)
144 145
                 {
145 146
                     string path = item.FilePath ?? "";
146
-                    if (path != "" && config != null && !string.IsNullOrEmpty(config.F_ParamValue))
147
+                    //if (path != "" && config != null && !string.IsNullOrEmpty(config.F_ParamValue))
148
+                    //{
149
+                    //    var ym = config.F_ParamValue;
150
+                    //    if (ym.Substring(ym.Length - 1) == "/")
151
+                    //    {
152
+                    //        ym = ym.Substring(0, ym.Length - 1);
153
+                    //    }
154
+                    //    item.FilePath = ym + path.Substring(path.IndexOf(':') + 1).Replace('\\', '/');
155
+                    //}
156
+
157
+                    //2018-05-10 lihai 判断录音是否存在
158
+                    //特别备注说明:所有备份录音都放到luyin文件夹下,所以FilePath录音目前需要处理
159
+                    if (path != "")
147 160
                     {
148
-                        var ym = config.F_ParamValue;
149
-                        if (ym.Substring(ym.Length - 1) == "/")
161
+                        //文件路径
162
+                        var pathfile = path.Substring(path.IndexOf(':') + 1).Replace('\\', '/');
163
+                        if (config != null && !string.IsNullOrEmpty(config.F_ParamValue))
150 164
                         {
151
-                            ym = ym.Substring(0, ym.Length - 1);
165
+                            var ym = config.F_ParamValue;
166
+                            if (ym.Substring(ym.Length - 1) == "/")
167
+                            {
168
+                                ym = ym.Substring(0, ym.Length - 1);
169
+                            }
170
+                            item.FilePath = ym + pathfile;
171
+                        }
172
+                        //判断是否录音存在,不存在用备份录音路径
173
+                        bool isfile = FileExistsHelper.RemoteFileExists(item.FilePath);
174
+                        if (!isfile)
175
+                        {
176
+                            //处理备份录音路径,record,和luyin文件都要过滤掉,配置文件加上ip+luyin
177
+                            pathfile = pathfile.Replace("Record", "luyin");
178
+                            if (configbak != null && !string.IsNullOrEmpty(configbak.F_ParamValue))
179
+                            {
180
+                                var ymbak = configbak.F_ParamValue;
181
+                                if (ymbak.Substring(ymbak.Length - 1) == "/")
182
+                                {
183
+                                    ymbak = ymbak.Substring(0, ymbak.Length - 1);
184
+                                }
185
+                                item.FilePath = ymbak + pathfile;
186
+                            }
152 187
                         }
153
-                        item.FilePath = ym + path.Substring(path.IndexOf(':') + 1).Replace('\\', '/');
154 188
                     }
189
+
155 190
                     string ucode = item.UserCode ?? "";
156 191
                     string uname = item.UserName ?? "";
157 192
                     Model.T_Sys_UserAccount uu = null;
@@ -404,15 +439,49 @@ namespace CallCenterApi.Interface.Controllers.tel
404 439
                 return Error("通话记录不存在");
405 440
             var filePath = "";
406 441
             var config = new BLL.T_Sys_SystemConfig().GetModelList(" F_ParamCode='PlayPath' ").FirstOrDefault();
442
+            var configbak = new BLL.T_Sys_SystemConfig().GetModelList(" F_ParamCode='PlayPathBak' ").FirstOrDefault(); //备份录音服务器地址
407 443
             string path = callRecord.FilePath ?? "";
408
-            if (path != "" && config != null && !string.IsNullOrEmpty(config.F_ParamValue))
444
+            //if (path != "" && config != null && !string.IsNullOrEmpty(config.F_ParamValue))
445
+            //{
446
+            //    var ym = config.F_ParamValue;
447
+            //    if (ym.Substring(ym.Length - 1) == "/")
448
+            //    {
449
+            //        ym = ym.Substring(0, ym.Length - 1);
450
+            //    }
451
+            //    filePath = ym + path.Substring(path.IndexOf(':') + 1).Replace('\\', '/');
452
+            //}
453
+
454
+            //2018-05-10 lihai 判断录音是否存在
455
+            //特别备注说明:所有备份录音都放到luyin文件夹下,所以FilePath录音目前需要处理
456
+            if (path != "")
409 457
             {
410
-                var ym = config.F_ParamValue;
411
-                if (ym.Substring(ym.Length - 1) == "/")
458
+                //文件路径
459
+                var pathfile = path.Substring(path.IndexOf(':') + 1).Replace('\\', '/');
460
+                if (config != null && !string.IsNullOrEmpty(config.F_ParamValue))
412 461
                 {
413
-                    ym = ym.Substring(0, ym.Length - 1);
462
+                    var ym = config.F_ParamValue;
463
+                    if (ym.Substring(ym.Length - 1) == "/")
464
+                    {
465
+                        ym = ym.Substring(0, ym.Length - 1);
466
+                    }
467
+                    filePath = ym + pathfile;
468
+                }
469
+                //判断是否录音存在,不存在用备份录音路径
470
+                bool isfile = FileExistsHelper.RemoteFileExists(filePath);
471
+                if (!isfile)
472
+                {
473
+                    //处理备份录音路径,record,和luyin文件都要过滤掉,配置文件加上ip+luyin
474
+                    pathfile = pathfile.Replace("Record", "luyin");
475
+                    if (configbak != null && !string.IsNullOrEmpty(configbak.F_ParamValue))
476
+                    {
477
+                        var ymbak = configbak.F_ParamValue;
478
+                        if (ymbak.Substring(ymbak.Length - 1) == "/")
479
+                        {
480
+                            ymbak = ymbak.Substring(0, ymbak.Length - 1);
481
+                        }
482
+                        filePath = ymbak + pathfile;
483
+                    }
414 484
                 }
415
-                filePath = ym + path.Substring(path.IndexOf(':') + 1).Replace('\\', '/');
416 485
             }
417 486
 
418 487
 
@@ -426,5 +495,6 @@ namespace CallCenterApi.Interface.Controllers.tel
426 495
             return File(myResponseStream, "audio/wav", $"{callRecord.CallNumber}-{callRecord.BeginTime?.ToString("yyyyMMdd") ?? DateTime.Now.ToString("yyyyMMdd")}-{callRecord.UserCode}.wav");
427 496
 
428 497
         }
498
+        
429 499
     }
430 500
 }

BIN
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Upload/ZXTX/20170728170157397.jpg


BIN
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Upload/ZXTX/20170728170157397_s.jpg


+ 1 - 1
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Web.config

@@ -18,7 +18,7 @@
18 18
   </appSettings>
19 19
   <connectionStrings>
20 20
     <!--<add name="ConnectionString" connectionString="Data Source=192.168.4.18;User ID=sa;pwd=800100;Initial Catalog=CallCenter_ZYKJ_Backup20180125;"/>-->
21
-    <add name="ConnectionString" connectionString="Data Source=39.153.161.180;User ID=sa;pwd=hykj800100;Initial Catalog=ZYKJ_Backup_20180226;" />
21
+    <add name="ConnectionString" connectionString="Data Source=39.153.161.180;User ID=sa;pwd=hykj800100;Initial Catalog=CallCenter-ZYKJ;" />
22 22
   </connectionStrings>
23 23
   <system.web>
24 24
     <compilation debug="true" targetFramework="4.5"/>

BIN
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/bin/zh-Hans/System.Web.Helpers.resources.dll


BIN
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/bin/zh-Hans/System.Web.Mvc.resources.dll


BIN
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/bin/zh-Hans/System.Web.Razor.resources.dll


BIN
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/bin/zh-Hans/System.Web.Webpages.Deployment.resources.dll


BIN
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/bin/zh-Hans/System.Web.Webpages.Razor.resources.dll


BIN
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/bin/zh-Hans/System.Web.Webpages.resources.dll


BIN
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/bin/zh-Hans/zh-Hans.rar


+ 0 - 23
CallCenterApi/CallCenterApi_.Interface/App_Start/RouteConfig.cs

@@ -1,23 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Web;
5
-using System.Web.Mvc;
6
-using System.Web.Routing;
7
-
8
-namespace CallCenterApi_.Interface
9
-{
10
-    public class RouteConfig
11
-    {
12
-        public static void RegisterRoutes(RouteCollection routes)
13
-        {
14
-            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
15
-
16
-            routes.MapRoute(
17
-                name: "Default",
18
-                url: "{controller}/{action}/{id}",
19
-                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
20
-            );
21
-        }
22
-    }
23
-}

+ 0 - 30
CallCenterApi/CallCenterApi_.Interface/App_Start/WebApiConfig.cs

@@ -1,30 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Web.Http;
5
-
6
-namespace CallCenterApi_.Interface
7
-{
8
-    public static class WebApiConfig
9
-    {
10
-        public static void Register(HttpConfiguration config)
11
-        {
12
-            // Web API 配置和服务
13
-
14
-            // Web API 路由
15
-            config.MapHttpAttributeRoutes();
16
-
17
-            config.Routes.MapHttpRoute(
18
-                name: "DefaultApi",
19
-                routeTemplate: "api/{controller}/{action}/{id}",
20
-                defaults: new { id = RouteParameter.Optional }
21
-            );
22
-
23
-         //   config.Routes.MapHttpRoute(
24
-         //    name: "Api",
25
-         //    routeTemplate: "api/{controller}/{action}/{id}",
26
-         //    defaults: new { id = RouteParameter.Optional }
27
-         //);
28
-        }
29
-    }
30
-}

Plik diff jest za duży
+ 0 - 79
CallCenterApi/CallCenterApi_.Interface/ApplicationInsights.config


+ 0 - 217
CallCenterApi/CallCenterApi_.Interface/CallCenterApi_.Interface.csproj

@@ -1,217 +0,0 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
-  <Import Project="..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
4
-  <Import Project="..\..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" />
5
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
6
-  <PropertyGroup>
7
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
8
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
9
-    <ProductVersion>
10
-    </ProductVersion>
11
-    <SchemaVersion>2.0</SchemaVersion>
12
-    <ProjectGuid>{2CFC5C63-0992-46AE-BD03-BDE1177CFE9A}</ProjectGuid>
13
-    <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
14
-    <OutputType>Library</OutputType>
15
-    <AppDesignerFolder>Properties</AppDesignerFolder>
16
-    <RootNamespace>CallCenterApi_.Interface</RootNamespace>
17
-    <AssemblyName>CallCenterApi_.Interface</AssemblyName>
18
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
19
-    <UseIISExpress>true</UseIISExpress>
20
-    <IISExpressSSLPort />
21
-    <IISExpressAnonymousAuthentication />
22
-    <IISExpressWindowsAuthentication />
23
-    <IISExpressUseClassicPipelineMode />
24
-    <UseGlobalApplicationHostFile />
25
-    <NuGetPackageImportStamp>
26
-    </NuGetPackageImportStamp>
27
-  </PropertyGroup>
28
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
29
-    <DebugSymbols>true</DebugSymbols>
30
-    <DebugType>full</DebugType>
31
-    <Optimize>false</Optimize>
32
-    <OutputPath>bin\</OutputPath>
33
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
34
-    <ErrorReport>prompt</ErrorReport>
35
-    <WarningLevel>4</WarningLevel>
36
-  </PropertyGroup>
37
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
38
-    <DebugType>pdbonly</DebugType>
39
-    <Optimize>true</Optimize>
40
-    <OutputPath>bin\</OutputPath>
41
-    <DefineConstants>TRACE</DefineConstants>
42
-    <ErrorReport>prompt</ErrorReport>
43
-    <WarningLevel>4</WarningLevel>
44
-  </PropertyGroup>
45
-  <ItemGroup>
46
-    <Reference Include="Microsoft.AI.Agent.Intercept, Version=2.0.6.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
47
-      <HintPath>..\..\packages\Microsoft.ApplicationInsights.Agent.Intercept.2.0.6\lib\net45\Microsoft.AI.Agent.Intercept.dll</HintPath>
48
-      <Private>True</Private>
49
-    </Reference>
50
-    <Reference Include="Microsoft.AI.DependencyCollector, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
51
-      <HintPath>..\..\packages\Microsoft.ApplicationInsights.DependencyCollector.2.2.0\lib\net45\Microsoft.AI.DependencyCollector.dll</HintPath>
52
-      <Private>True</Private>
53
-    </Reference>
54
-    <Reference Include="Microsoft.AI.PerfCounterCollector, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
55
-      <HintPath>..\..\packages\Microsoft.ApplicationInsights.PerfCounterCollector.2.2.0\lib\net45\Microsoft.AI.PerfCounterCollector.dll</HintPath>
56
-      <Private>True</Private>
57
-    </Reference>
58
-    <Reference Include="Microsoft.AI.ServerTelemetryChannel, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
59
-      <HintPath>..\..\packages\Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.2.2.0\lib\net45\Microsoft.AI.ServerTelemetryChannel.dll</HintPath>
60
-      <Private>True</Private>
61
-    </Reference>
62
-    <Reference Include="Microsoft.AI.Web, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
63
-      <HintPath>..\..\packages\Microsoft.ApplicationInsights.Web.2.2.0\lib\net45\Microsoft.AI.Web.dll</HintPath>
64
-      <Private>True</Private>
65
-    </Reference>
66
-    <Reference Include="Microsoft.AI.WindowsServer, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
67
-      <HintPath>..\..\packages\Microsoft.ApplicationInsights.WindowsServer.2.2.0\lib\net45\Microsoft.AI.WindowsServer.dll</HintPath>
68
-      <Private>True</Private>
69
-    </Reference>
70
-    <Reference Include="Microsoft.ApplicationInsights, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
71
-      <HintPath>..\..\packages\Microsoft.ApplicationInsights.2.2.0\lib\net45\Microsoft.ApplicationInsights.dll</HintPath>
72
-      <Private>True</Private>
73
-    </Reference>
74
-    <Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
75
-      <HintPath>..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll</HintPath>
76
-      <Private>True</Private>
77
-    </Reference>
78
-    <Reference Include="Microsoft.CSharp" />
79
-    <Reference Include="System.Net.Http" />
80
-    <Reference Include="System.Web.DynamicData" />
81
-    <Reference Include="System.Web.Entity" />
82
-    <Reference Include="System.Web.ApplicationServices" />
83
-    <Reference Include="System.ComponentModel.DataAnnotations" />
84
-    <Reference Include="System" />
85
-    <Reference Include="System.Data" />
86
-    <Reference Include="System.Core" />
87
-    <Reference Include="System.Data.DataSetExtensions" />
88
-    <Reference Include="System.Web.Extensions" />
89
-    <Reference Include="System.Xml.Linq" />
90
-    <Reference Include="System.Drawing" />
91
-    <Reference Include="System.Web" />
92
-    <Reference Include="System.Xml" />
93
-    <Reference Include="System.Configuration" />
94
-    <Reference Include="System.Web.Services" />
95
-    <Reference Include="System.EnterpriseServices" />
96
-  </ItemGroup>
97
-  <ItemGroup>
98
-    <Reference Include="System.Web.Razor">
99
-      <HintPath>..\..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll</HintPath>
100
-    </Reference>
101
-    <Reference Include="System.Web.Webpages">
102
-      <HintPath>..\..\packages\Microsoft.AspNet.Webpages.3.2.3\lib\net45\System.Web.Webpages.dll</HintPath>
103
-    </Reference>
104
-    <Reference Include="System.Web.Webpages.Deployment">
105
-      <HintPath>..\..\packages\Microsoft.AspNet.Webpages.3.2.3\lib\net45\System.Web.Webpages.Deployment.dll</HintPath>
106
-    </Reference>
107
-    <Reference Include="System.Web.Webpages.Razor">
108
-      <HintPath>..\..\packages\Microsoft.AspNet.Webpages.3.2.3\lib\net45\System.Web.Webpages.Razor.dll</HintPath>
109
-    </Reference>
110
-    <Reference Include="System.Web.Helpers">
111
-      <HintPath>..\..\packages\Microsoft.AspNet.Webpages.3.2.3\lib\net45\System.Web.Helpers.dll</HintPath>
112
-    </Reference>
113
-    <Reference Include="Microsoft.Web.Infrastructure">
114
-      <HintPath>..\..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
115
-    </Reference>
116
-    <Reference Include="System.Web.Mvc">
117
-      <HintPath>..\..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll</HintPath>
118
-    </Reference>
119
-    <Reference Include="Newtonsoft.Json">
120
-      <HintPath>..\..\packages\Newtonsoft.Json.6.0.4\lib\net45\Newtonsoft.Json.dll</HintPath>
121
-    </Reference>
122
-    <Reference Include="System.Net.Http.Formatting">
123
-      <HintPath>..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
124
-    </Reference>
125
-    <Reference Include="System.Web.Http">
126
-      <HintPath>..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll</HintPath>
127
-    </Reference>
128
-    <Reference Include="System.Web.Http.WebHost">
129
-      <HintPath>..\..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll</HintPath>
130
-    </Reference>
131
-  </ItemGroup>
132
-  <ItemGroup>
133
-    <Content Include="Global.asax" />
134
-    <Content Include="Web.config" />
135
-  </ItemGroup>
136
-  <ItemGroup>
137
-    <Compile Include="App_Start\RouteConfig.cs" />
138
-    <Compile Include="App_Start\WebApiConfig.cs" />
139
-    <Compile Include="Controllers\BaseController\BaseController.cs" />
140
-    <Compile Include="Controllers\BaseController\ValidateController.cs" />
141
-    <Compile Include="Controllers\UserInfoController.cs" />
142
-    <Compile Include="Global.asax.cs">
143
-      <DependentUpon>Global.asax</DependentUpon>
144
-    </Compile>
145
-    <Compile Include="Properties\AssemblyInfo.cs" />
146
-  </ItemGroup>
147
-  <ItemGroup>
148
-    <Content Include="Views\web.config" />
149
-    <Content Include="packages.config" />
150
-    <Content Include="ApplicationInsights.config">
151
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
152
-    </Content>
153
-    <None Include="Web.Debug.config">
154
-      <DependentUpon>Web.config</DependentUpon>
155
-    </None>
156
-    <None Include="Web.Release.config">
157
-      <DependentUpon>Web.config</DependentUpon>
158
-    </None>
159
-  </ItemGroup>
160
-  <ItemGroup>
161
-    <Folder Include="App_Data\" />
162
-    <Folder Include="Models\" />
163
-  </ItemGroup>
164
-  <ItemGroup>
165
-    <ProjectReference Include="..\..\CallCenterCommon\CallCenter.Utility\CallCenter.Utility.csproj">
166
-      <Project>{4DA219CC-911E-4C81-BB0B-DF5183FD50FF}</Project>
167
-      <Name>CallCenter.Utility</Name>
168
-    </ProjectReference>
169
-    <ProjectReference Include="..\..\CallCenterWeb\CallCenterWeb.Common\CallCenterWeb.Common\CallCenterWeb.Common.csproj">
170
-      <Project>{de11789f-788f-4175-b64d-391b0a566bdc}</Project>
171
-      <Name>CallCenterWeb.Common</Name>
172
-    </ProjectReference>
173
-    <ProjectReference Include="..\CallCenterApi.Common\CallCenterApi.Common.csproj">
174
-      <Project>{61507db3-6539-4161-9812-2103c794d209}</Project>
175
-      <Name>CallCenterApi.Common</Name>
176
-    </ProjectReference>
177
-  </ItemGroup>
178
-  <PropertyGroup>
179
-    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
180
-    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
181
-  </PropertyGroup>
182
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
183
-  <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
184
-  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
185
-  <ProjectExtensions>
186
-    <VisualStudio>
187
-      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
188
-        <WebProjectProperties>
189
-          <UseIIS>True</UseIIS>
190
-          <AutoAssignPort>True</AutoAssignPort>
191
-          <DevelopmentServerPort>54568</DevelopmentServerPort>
192
-          <DevelopmentServerVPath>/</DevelopmentServerVPath>
193
-          <IISUrl>http://localhost:54568/</IISUrl>
194
-          <NTLMAuthentication>False</NTLMAuthentication>
195
-          <UseCustomServer>False</UseCustomServer>
196
-          <CustomServerUrl>
197
-          </CustomServerUrl>
198
-          <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
199
-        </WebProjectProperties>
200
-      </FlavorProperties>
201
-    </VisualStudio>
202
-  </ProjectExtensions>
203
-  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
204
-    <PropertyGroup>
205
-      <ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
206
-    </PropertyGroup>
207
-    <Error Condition="!Exists('..\..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
208
-    <Error Condition="!Exists('..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
209
-  </Target>
210
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
211
-       Other similar extension points exist, see Microsoft.Common.targets.
212
-  <Target Name="BeforeBuild">
213
-  </Target>
214
-  <Target Name="AfterBuild">
215
-  </Target>
216
-  -->
217
-</Project>

+ 0 - 37
CallCenterApi/CallCenterApi_.Interface/CallCenterApi_.Interface.csproj.user

@@ -1,37 +0,0 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
-  <PropertyGroup>
4
-    <UseIISExpress>true</UseIISExpress>
5
-    <WebStackScaffolding_ControllerDialogWidth>600</WebStackScaffolding_ControllerDialogWidth>
6
-    <WebStackScaffolding_IsLayoutPageSelected>True</WebStackScaffolding_IsLayoutPageSelected>
7
-    <WebStackScaffolding_IsPartialViewSelected>False</WebStackScaffolding_IsPartialViewSelected>
8
-    <WebStackScaffolding_IsReferencingScriptLibrariesSelected>True</WebStackScaffolding_IsReferencingScriptLibrariesSelected>
9
-    <WebStackScaffolding_LayoutPageFile />
10
-    <WebStackScaffolding_IsAsyncSelected>False</WebStackScaffolding_IsAsyncSelected>
11
-  </PropertyGroup>
12
-  <ProjectExtensions>
13
-    <VisualStudio>
14
-      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
15
-        <WebProjectProperties>
16
-          <StartPageUrl>
17
-          </StartPageUrl>
18
-          <StartAction>CurrentPage</StartAction>
19
-          <AspNetDebugging>True</AspNetDebugging>
20
-          <SilverlightDebugging>False</SilverlightDebugging>
21
-          <NativeDebugging>False</NativeDebugging>
22
-          <SQLDebugging>False</SQLDebugging>
23
-          <ExternalProgram>
24
-          </ExternalProgram>
25
-          <StartExternalURL>
26
-          </StartExternalURL>
27
-          <StartCmdLineArguments>
28
-          </StartCmdLineArguments>
29
-          <StartWorkingDirectory>
30
-          </StartWorkingDirectory>
31
-          <EnableENC>True</EnableENC>
32
-          <AlwaysStartWebServerOnDebug>True</AlwaysStartWebServerOnDebug>
33
-        </WebProjectProperties>
34
-      </FlavorProperties>
35
-    </VisualStudio>
36
-  </ProjectExtensions>
37
-</Project>

+ 0 - 87
CallCenterApi/CallCenterApi_.Interface/Controllers/BaseController/ValidateController.cs

@@ -1,87 +0,0 @@
1
-using CallCenterApi.Common;
2
-using System;
3
-using System.Collections.Generic;
4
-using System.Linq;
5
-using System.Text.RegularExpressions;
6
-using System.Web;
7
-using System.Web.Http;
8
-using System.Web.Mvc;
9
-
10
-namespace CallCenterApi.Interface.Controllers.BaseController
11
-{
12
-    public class ValidateController : ActionFilterAttribute
13
-    {
14
-        private string _DataType = "";
15
-
16
-        protected override void OnActionExecuting(ActionExecutingContext filterContext)
17
-        {
18
-
19
-            CommonHelper.InsertLog(System.DateTime.Now + " : " + Request.QueryString.ToString());
20
-
21
-            if (string.IsNullOrEmpty(Request["Keys"]))
22
-            {
23
-                filterContext.Result = new EmptyResult();
24
-                filterContext.HttpContext.Response.Write("Error:Request Invalid");
25
-                filterContext.HttpContext.Response.End();
26
-            }
27
-
28
-            #region 解码
29
-            var keyDomain = "api";
30
-            var Keys = "";
31
-            //keyDomain = Regex.Match(Request.UrlReferrer.Host + "", @"(http://)?((\w+\.)+\w+)").Value.ToLower().Replace("http://", "");
32
-            //keyDomain = "23423423";
33
-            //keyDomain = "232";
34
-            //Keys = new SysConfigHelper.DemoKeys(keyDomain).Keys;
35
-            Keys = "LYYU80DV3465QSF1";
36
-            if (keyDomain == "" || Keys == "")
37
-            {
38
-                filterContext.Result = new EmptyResult();
39
-                filterContext.HttpContext.Response.Write("Error:Key Invalid");
40
-                filterContext.HttpContext.Response.End();
41
-            }
42
-            var keyStr = Regex.Split(CommonHelper.DecryptAES(Request["Keys"], Keys), @"\|URL\|", RegexOptions.IgnoreCase);
43
-            if (keyStr.Length < 2)
44
-            {
45
-                filterContext.Result = new EmptyResult();
46
-                filterContext.HttpContext.Response.Write("Error:Decoding Fail");
47
-                filterContext.HttpContext.Response.End();
48
-            }
49
-
50
-            if (keyStr[0] != CommonHelper.EncryptAES(Request["view"], Keys))
51
-            {
52
-                filterContext.Result = new EmptyResult();
53
-                filterContext.HttpContext.Response.Write("Error:Signature Failed");
54
-                filterContext.HttpContext.Response.End();
55
-            }
56
-            //var date = keyStr[1];
57
-            //if (!ValidateString.IsDateTime(date))
58
-            //{
59
-            //    filterContext.Result = new EmptyResult();
60
-            //filterContext.HttpContext.Response.Write("Error:Encryption Failed");
61
-            //    filterContext.HttpContext.Response.End();
62
-            //}
63
-            //if (DateString.DateDiff("S", Convert.ToDateTime(date), DateTime.Now) > new SysConfigHelper.SysConfigPara().ApiTimeOut)
64
-            //{
65
-            //    filterContext.Result = new EmptyResult();
66
-            //    filterContext.HttpContext.Response.Write("Error:Request Timedout");
67
-            //    filterContext.HttpContext.Response.End();
68
-            //}
69
-            #endregion
70
-            var datatype = Request["datatype"] + "";
71
-            _DataType = datatype.ToLower() == "" ? "json" : datatype;
72
-            if (datatype.ToLower() == "xml")
73
-            {
74
-                Response.ContentType = "text/xml";
75
-            }
76
-            base.OnActionExecuting(filterContext);
77
-        }
78
-
79
-        /// <summary>
80
-        /// 1:json;0:xml
81
-        /// </summary>
82
-        public int DataType
83
-        {
84
-            get { return _DataType + "" == "json" ? 1 : 0; }
85
-        }
86
-    }
87
-}

+ 0 - 37
CallCenterApi/CallCenterApi_.Interface/Controllers/BaseController/baseController.cs

@@ -1,37 +0,0 @@
1
-using CallCenter.Utility;
2
-using System;
3
-using System.Collections.Generic;
4
-using System.Linq;
5
-using System.Net;
6
-using System.Net.Http;
7
-using System.Web.Http;
8
-using System.Web.Mvc;
9
-
10
-
11
-namespace CallCenterApi_.Interface.Controllers.BaseController
12
-{
13
-    public class BaseController : ApiController
14
-    {
15
-        //protected virtual JsonResult Success(string message)
16
-        //{
17
-        //    //var person = new
18
-        //    //{
19
-        //    //    Name = "张三",
20
-        //    //    Age = 22,
21
-        //    //    Sex = "男"
22
-        //    //};
23
-        //    //return Json(person);
24
-         
25
-        //    //ss = new AjaxResult { state = ResultTypes.success.ToString(), message = message };
26
-        //    //return (JsonResult)ss;
27
-        //}
28
-        //protected virtual ActionResult Success(string message, object data)
29
-        //{
30
-        //    return Content(new AjaxResult { state = ResultTypes.success.ToString(), message = message, data = data }.ToJson());
31
-        //}
32
-        //protected virtual ActionResult Error(string message)
33
-        //{
34
-        //    return Content(new AjaxResult { state = ResultTypes.error.ToString(), message = message }.ToJson());
35
-        //}
36
-    }
37
-}

+ 0 - 68
CallCenterApi/CallCenterApi_.Interface/Controllers/UserInfoController.cs

@@ -1,68 +0,0 @@
1
-using CallCenterApi_.Interface.Controllers.BaseController;
2
-using System;
3
-using System.Collections.Generic;
4
-using System.Linq;
5
-using System.Net;
6
-using System.Net.Http;
7
-using System.Web.Http;
8
-using CallCenter.Utility;
9
-
10
-namespace CallCenterApi_.Interface.Controllers
11
-{
12
-    public class UserInfoController : BaseController.BaseController
13
-    {
14
-        //[HttpGet]
15
-        // public string PersonInfo()
16
-        // {
17
-        //     var person = new
18
-        //     {
19
-        //         Name = "张三",
20
-        //         Age = 22,
21
-        //         Sex = "男"
22
-        //     };
23
-
24
-        //     return person.ToJson();
25
-        // }
26
-        [HttpGet]
27
-        public string dddfd()
28
-        {
29
-            return "tt";
30
-        }
31
-
32
-        //[HttpGet]
33
-        //public string ss()
34
-        //{
35
-        //    return "ss";
36
-        //}
37
-
38
-
39
-        // GET api/<controller>
40
-        public IEnumerable<string> Get()
41
-        {
42
-            return new string[] { "value1", "value2" };
43
-        }
44
-
45
-    
46
-
47
-        // GET api/<controller>/5
48
-        public string Get(int id)
49
-        {
50
-            return "value";
51
-        }
52
-
53
-        // POST api/<controller>
54
-        public void Post([FromBody]string value)
55
-        {
56
-        }
57
-
58
-        // PUT api/<controller>/5
59
-        public void Put(int id, [FromBody]string value)
60
-        {
61
-        }
62
-
63
-        // DELETE api/<controller>/5
64
-        public void Delete(int id)
65
-        {
66
-        }
67
-    }
68
-}

+ 0 - 1
CallCenterApi/CallCenterApi_.Interface/Global.asax

@@ -1 +0,0 @@
1
-<%@ Application Codebehind="Global.asax.cs" Inherits="CallCenterApi_.Interface.Global" Language="C#" %>

+ 0 - 23
CallCenterApi/CallCenterApi_.Interface/Global.asax.cs

@@ -1,23 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Web;
5
-using System.Web.Mvc;
6
-using System.Web.Routing;
7
-using System.Web.Security;
8
-using System.Web.SessionState;
9
-using System.Web.Http;
10
-
11
-namespace CallCenterApi_.Interface
12
-{
13
-    public class Global : HttpApplication
14
-    {
15
-        void Application_Start(object sender, EventArgs e)
16
-        {
17
-            // 在应用程序启动时运行的代码
18
-            AreaRegistration.RegisterAllAreas();
19
-            GlobalConfiguration.Configure(WebApiConfig.Register);
20
-            RouteConfig.RegisterRoutes(RouteTable.Routes);            
21
-        }
22
-    }
23
-}

+ 0 - 35
CallCenterApi/CallCenterApi_.Interface/Properties/AssemblyInfo.cs

@@ -1,35 +0,0 @@
1
-using System.Reflection;
2
-using System.Runtime.CompilerServices;
3
-using System.Runtime.InteropServices;
4
-
5
-// 有关程序集的常规信息通过下列特性集
6
-// 控制。更改这些特性值可修改
7
-// 与程序集关联的信息。
8
-[assembly: AssemblyTitle("CallCenterApi_.Interface")]
9
-[assembly: AssemblyDescription("")]
10
-[assembly: AssemblyConfiguration("")]
11
-[assembly: AssemblyCompany("")]
12
-[assembly: AssemblyProduct("CallCenterApi_.Interface")]
13
-[assembly: AssemblyCopyright("Copyright ©  2017")]
14
-[assembly: AssemblyTrademark("")]
15
-[assembly: AssemblyCulture("")]
16
-
17
-// 将 ComVisible 设置为 false 会使此程序集中的类型
18
-// 对 COM 组件不可见。如果需要
19
-// 从 COM 访问此程序集中的某个类型,请针对该类型将 ComVisible 特性设置为 true。
20
-[assembly: ComVisible(false)]
21
-
22
-// 如果此项目向 COM 公开,则下列 GUID 用于 typelib 的 ID
23
-[assembly: Guid("2cfc5c63-0992-46ae-bd03-bde1177cfe9a")]
24
-
25
-// 程序集的版本信息由下列四个值组成:
26
-//
27
-//      主版本
28
-//      次版本
29
-//      内部版本号
30
-//      修订版本
31
-//
32
-// 可以指定所有值,也可以使用“修订号”和“内部版本号”的默认值,
33
-// 方法是按如下所示使用 "*":
34
-[assembly: AssemblyVersion("1.0.0.0")]
35
-[assembly: AssemblyFileVersion("1.0.0.0")]

+ 0 - 42
CallCenterApi/CallCenterApi_.Interface/Views/web.config

@@ -1,42 +0,0 @@
1
-<?xml version="1.0"?>
2
-
3
-<configuration>
4
-  <configSections>
5
-    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
6
-      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
7
-      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
8
-    </sectionGroup>
9
-  </configSections>
10
-
11
-  <system.web.webPages.razor>
12
-    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
13
-    <pages pageBaseType="System.Web.Mvc.WebViewPage">
14
-      <namespaces>
15
-        <add namespace="System.Web.Mvc" />
16
-        <add namespace="System.Web.Mvc.Ajax" />
17
-        <add namespace="System.Web.Mvc.Html" />
18
-        <add namespace="System.Web.Routing" />
19
-        <add namespace="CallCenterApi_.Interface" />
20
-      </namespaces>
21
-    </pages>
22
-  </system.web.webPages.razor>
23
-
24
-  <appSettings>
25
-    <add key="webpages:Enabled" value="false" />
26
-  </appSettings>
27
-
28
-  <system.webServer>
29
-    <handlers>
30
-      <remove name="BlockViewHandler"/>
31
-      <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
32
-    </handlers>
33
-  </system.webServer>
34
-
35
-  <system.web>
36
-    <compilation>
37
-      <assemblies>
38
-        <add assembly="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
39
-      </assemblies>
40
-    </compilation>
41
-  </system.web>
42
-</configuration>

+ 0 - 31
CallCenterApi/CallCenterApi_.Interface/Web.Debug.config

@@ -1,31 +0,0 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-
3
-<!-- 有关使用 web.config 转换的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=125889 -->
4
-
5
-<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
6
-  <!--
7
-    在下例中,“SetAttributes”转换将更改 
8
-    “connectionString”的值,以仅在“Match”定位器 
9
-    找到值为“MyDB”的特性“name”时使用“ReleaseSQLServer”。
10
-    
11
-    <connectionStrings>
12
-      <add name="MyDB" 
13
-        connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True" 
14
-        xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
15
-    </connectionStrings>
16
-  -->
17
-  <system.web>
18
-    <!--
19
-      
20
-      在下例中,“Replace”转换将替换 
21
-      web.config 文件的整个 <customErrors> 节。
22
-      请注意,由于 
23
-      在 <system.web> 节点下仅有一个 customErrors 节,因此不需要使用“xdt:Locator”特性。
24
-      
25
-      <customErrors defaultRedirect="GenericError.htm"
26
-        mode="RemoteOnly" xdt:Transform="Replace">
27
-        <error statusCode="500" redirect="InternalError.htm"/>
28
-      </customErrors>
29
-    -->
30
-  </system.web>
31
-</configuration>

+ 0 - 32
CallCenterApi/CallCenterApi_.Interface/Web.Release.config

@@ -1,32 +0,0 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-
3
-<!-- 有关使用 web.config 转换的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=125889 -->
4
-
5
-<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
6
-  <!--
7
-    在下例中,“SetAttributes”转换将更改 
8
-    “connectionString”的值,以仅在“Match”定位器 
9
-    找到值为“MyDB”的特性“name”时使用“ReleaseSQLServer”。
10
-    
11
-    <connectionStrings>
12
-      <add name="MyDB" 
13
-        connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True" 
14
-        xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
15
-    </connectionStrings>
16
-  -->
17
-  <system.web>
18
-    <compilation xdt:Transform="RemoveAttributes(debug)" />
19
-    <!--
20
-      
21
-      在下例中,“Replace”转换将替换 
22
-      web.config 文件的整个 <customErrors> 节。
23
-      请注意,由于 
24
-      在 <system.web> 节点下仅有一个 customErrors 节,因此不需要使用“xdt:Locator”特性。
25
-      
26
-      <customErrors defaultRedirect="GenericError.htm"
27
-        mode="RemoteOnly" xdt:Transform="Replace">
28
-        <error statusCode="500" redirect="InternalError.htm"/>
29
-      </customErrors>
30
-    -->
31
-  </system.web>
32
-</configuration>

+ 0 - 84
CallCenterApi/CallCenterApi_.Interface/Web.config

@@ -1,84 +0,0 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<!--
3
-  有关如何配置 ASP.NET 应用程序的详细信息,请访问
4
-  http://go.microsoft.com/fwlink/?LinkId=169433
5
-  -->
6
-<configuration>
7
-  <appSettings>
8
-    <add key="webpages:Version" value="3.0.0.0"/>
9
-    <add key="webpages:Enabled" value="false"/>
10
-    <add key="PreserveLoginUrl" value="true"/>
11
-    <add key="ClientValidationEnabled" value="true"/>
12
-    <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
13
-  </appSettings>
14
-  <system.web>
15
-    <compilation debug="true" targetFramework="4.5"/>
16
-    <httpRuntime targetFramework="4.5"/>
17
-    <pages>
18
-      <namespaces>
19
-        <add namespace="System.Web.Helpers"/>
20
-        <add namespace="System.Web.Mvc"/>
21
-        <add namespace="System.Web.Mvc.Ajax"/>
22
-        <add namespace="System.Web.Mvc.Html"/>
23
-        <add namespace="System.Web.Routing"/>
24
-        <add namespace="System.Web.WebPages"/>
25
-      </namespaces>     
26
-    </pages>
27
-    <httpModules>
28
-      <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web"/>
29
-    </httpModules>
30
-  </system.web>
31
-  <system.webServer>
32
-    <validation validateIntegratedModeConfiguration="false"/>
33
-    <handlers>
34
-      <remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
35
-      <remove name="OPTIONSVerbHandler"/>
36
-      <remove name="TRACEVerbHandler"/>
37
-      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler"
38
-        preCondition="integratedMode,runtimeVersionv4.0"/>
39
-    </handlers>
40
-    <modules>
41
-      <remove name="ApplicationInsightsWebTracking"/>
42
-      <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web"
43
-        preCondition="managedHandler"/>
44
-    </modules>
45
-  </system.webServer>
46
-  <runtime>
47
-    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
48
-      <dependentAssembly>
49
-        <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed"/>
50
-        <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
51
-      </dependentAssembly>
52
-      <dependentAssembly>
53
-        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
54
-        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
55
-      </dependentAssembly>
56
-      <dependentAssembly>
57
-        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
58
-        <bindingRedirect oldVersion="1.0.0.0-5.2.0.0" newVersion="5.2.0.0"/>
59
-      </dependentAssembly>
60
-      <dependentAssembly>
61
-        <assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35"/>
62
-        <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0"/>
63
-      </dependentAssembly>
64
-      <dependentAssembly>
65
-        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
66
-        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
67
-      </dependentAssembly>
68
-      <dependentAssembly>
69
-        <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35"/>
70
-        <bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234"/>
71
-      </dependentAssembly>
72
-    </assemblyBinding>
73
-  </runtime>
74
-  <system.codedom>
75
-    <compilers>
76
-      <compiler language="c#;cs;csharp" extension=".cs"
77
-        type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
78
-        warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>
79
-      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"
80
-        type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
81
-        warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/>
82
-    </compilers>
83
-  </system.codedom>
84
-</configuration>

+ 0 - 27
CallCenterApi/CallCenterApi_.Interface/packages.config

@@ -1,27 +0,0 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<packages>
3
-  <package id="Microsoft.ApplicationInsights" version="2.2.0" targetFramework="net45" />
4
-  <package id="Microsoft.ApplicationInsights.Agent.Intercept" version="2.0.6" targetFramework="net45" />
5
-  <package id="Microsoft.ApplicationInsights.DependencyCollector" version="2.2.0" targetFramework="net45" />
6
-  <package id="Microsoft.ApplicationInsights.PerfCounterCollector" version="2.2.0" targetFramework="net45" />
7
-  <package id="Microsoft.ApplicationInsights.Web" version="2.2.0" targetFramework="net45" />
8
-  <package id="Microsoft.ApplicationInsights.WindowsServer" version="2.2.0" targetFramework="net45" />
9
-  <package id="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel" version="2.2.0" targetFramework="net45" />
10
-  <package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net45" />
11
-  <package id="Microsoft.AspNet.Mvc.zh-Hans" version="5.2.3" targetFramework="net45" />
12
-  <package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net45" />
13
-  <package id="Microsoft.AspNet.Razor.zh-Hans" version="3.2.3" targetFramework="net45" />
14
-  <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net45" />
15
-  <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net45" />
16
-  <package id="Microsoft.AspNet.WebApi.Client.zh-Hans" version="5.2.3" targetFramework="net45" />
17
-  <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net45" />
18
-  <package id="Microsoft.AspNet.WebApi.Core.zh-Hans" version="5.2.3" targetFramework="net45" />
19
-  <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net45" />
20
-  <package id="Microsoft.AspNet.WebApi.WebHost.zh-Hans" version="5.2.3" targetFramework="net45" />
21
-  <package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net45" />
22
-  <package id="Microsoft.AspNet.WebPages.zh-Hans" version="3.2.3" targetFramework="net45" />
23
-  <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.0" targetFramework="net45" />
24
-  <package id="Microsoft.Net.Compilers" version="1.0.0" targetFramework="net45" developmentDependency="true" />
25
-  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" />
26
-  <package id="Newtonsoft.Json" version="6.0.4" targetFramework="net45" />
27
-</packages>

+ 1 - 2
CallCenterCommon/CallCenter.QuartzService/CallCenter.QuartzService.csproj

@@ -50,9 +50,8 @@
50 50
       <HintPath>..\..\packages\Newtonsoft.Json.10.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
51 51
       <Private>True</Private>
52 52
     </Reference>
53
-    <Reference Include="Quartz, Version=2.5.0.0, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4, processorArchitecture=MSIL">
53
+    <Reference Include="Quartz">
54 54
       <HintPath>..\..\packages\Quartz.2.5.0\lib\net40\Quartz.dll</HintPath>
55
-      <Private>True</Private>
56 55
     </Reference>
57 56
     <Reference Include="System" />
58 57
     <Reference Include="System.Configuration" />

+ 1 - 0
CallCenterCommon/CallCenter.Utility/CallCenter.Utility.csproj

@@ -74,6 +74,7 @@
74 74
     <Compile Include="DirFileHelper.cs" />
75 75
     <Compile Include="EncryptHelper.cs" />
76 76
     <Compile Include="Extend\ExtLinq.cs" />
77
+    <Compile Include="FileExistsHelper.cs" />
77 78
     <Compile Include="FileUp.cs" />
78 79
     <Compile Include="Linq\PredicateExtensionses.cs" />
79 80
     <Compile Include="SaltAndHashHelper.cs" />

+ 52 - 0
CallCenterCommon/CallCenter.Utility/FileExistsHelper.cs

@@ -0,0 +1,52 @@
1
+using System;
2
+using System.Collections.Generic;
3
+using System.Linq;
4
+using System.Net;
5
+using System.Text;
6
+using System.Threading.Tasks;
7
+
8
+namespace CallCenter.Utility
9
+{
10
+    public class FileExistsHelper
11
+    {
12
+        #region 判断远程文件是否存在
13
+        /// <summary>
14
+        /// 判断远程文件是否存在
15
+        /// </summary>
16
+        /// <param name="fileUrl"></param>
17
+        /// <returns></returns>
18
+        public static bool RemoteFileExists(string fileUrl)
19
+        {
20
+            HttpWebRequest re = null;
21
+            HttpWebResponse res = null;
22
+            try
23
+            {
24
+                re = (HttpWebRequest)WebRequest.Create(fileUrl);
25
+                res = (HttpWebResponse)re.GetResponse();
26
+                if (res.ContentLength != 0)
27
+                {
28
+                    //MessageBox.Show("文件存在");
29
+                    return true;
30
+                }
31
+            }
32
+            catch (Exception)
33
+            {
34
+                //MessageBox.Show("无此文件");
35
+                return false;
36
+            }
37
+            finally
38
+            {
39
+                if (re != null)
40
+                {
41
+                    re.Abort();//销毁关闭连接
42
+                }
43
+                if (res != null)
44
+                {
45
+                    res.Close();//销毁关闭响应
46
+                }
47
+            }
48
+            return false;
49
+        }
50
+        #endregion
51
+    }
52
+}

+ 8 - 0
数据库/添加字段.sql

@@ -0,0 +1,8 @@
1
+
2
+--2018-05-16 lihai 于千之前添加的,但是数据库字段没有加,代码也没有更新,不知道有什么用,在周帆的确认下暂时添加了这个字段让项目能正常运行。
3
+
4
+SELECT * FROM dbo.T_Cus_CustomerField
5
+
6
+--ALTER TABLE dbo.T_Cus_CustomerField ADD [F_IsEdit] [int] NULL
7
+--EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'新添加字段' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Cus_CustomerField', @level2type=N'COLUMN',@level2name=N'F_IsEdit'
8
+--GO