duhongyu лет назад: 5
Родитель
Сommit
152947a0be

+ 18 - 0
代码/System.Model/Sys/T_Sys_OutboundTask.cs

@@ -19,7 +19,9 @@ namespace System.Model.Sys
19 19
         private string _f_adduser;
20 20
         private string _f_taskuser;
21 21
         private int? _f_isdelete;
22
+        private int? _f_type;
22 23
         private string _f_remarks;
24
+        private string _f_content;
23 25
         private DateTime? _f_starttime;
24 26
         private DateTime? _f_endtime;
25 27
         private int? _f_state;
@@ -92,6 +94,22 @@ namespace System.Model.Sys
92 94
             set { _f_isdelete = value; }
93 95
             get { return _f_isdelete; }
94 96
         }
97
+        /// <summary>
98
+        /// 
99
+        /// </summary>
100
+        public int? F_Type
101
+        {
102
+            set { _f_type = value; }
103
+            get { return _f_type; }
104
+        }
105
+        /// <summary>
106
+        /// 
107
+        /// </summary>
108
+        public string F_Content
109
+        {
110
+            set { _f_content = value; }
111
+            get { return _f_content; }
112
+        }
95 113
         #endregion Model
96 114
 
97 115
     }

+ 62 - 0
代码/TVShoppingCallCenter_ZLJ/Controllers/AutoDial/OutboundTaskController.cs

@@ -8,6 +8,7 @@ using System.Linq;
8 8
 using System.Model.Sys;
9 9
 using System.Security.Claims;
10 10
 using System.Threading.Tasks;
11
+using Maticsoft.Model;
11 12
 using Microsoft.AspNetCore.Mvc;
12 13
 using SqlSugar;
13 14
 using TVShoppingCallCenter_ZLJ.Models.Inputs.System;
@@ -71,6 +72,8 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.AutoDial
71 72
             model.F_AddUser = user;
72 73
             model.F_TaskUser = input.F_TaskUser;
73 74
             model.F_IsDelete = 0;
75
+            model.F_Type  = input.F_Type ;
76
+            model.F_Content  = input.F_Content; ;
74 77
             model.F_State = input.F_State;
75 78
             model.F_StartTime = input.F_StartTime;
76 79
             model.F_EndTime = input.F_EndTime;
@@ -125,6 +128,65 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.AutoDial
125 128
             }
126 129
         }
127 130
         /// <summary>
131
+        /// 添加中间件外呼任务
132
+        /// </summary>
133
+        /// <param name="input"></param>
134
+        /// <returns></returns>
135
+        [HttpPost("addmiddleware")]
136
+        public async Task<IActionResult> Addmiddleware()
137
+        {
138
+            string user = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
139
+            List<IConditionalModel> conModels = new List<IConditionalModel>();
140
+            conModels.Add(new ConditionalModel() { FieldName = "F_IsDelete", ConditionalType = ConditionalType.Equal, FieldValue = ((int)EnumUserCountState.Enabled).ToString() });
141
+             conModels.Add(new ConditionalCollections()
142
+                {
143
+                    ConditionalList = new List<KeyValuePair<WhereType, ConditionalModel>>()
144
+                    {
145
+                        new  KeyValuePair<WhereType, ConditionalModel>(WhereType.And, new ConditionalModel() { FieldName = "F_TaskUser", ConditionalType = ConditionalType.Like, FieldValue = user }),
146
+                        new  KeyValuePair<WhereType, ConditionalModel>( WhereType.Or , new ConditionalModel() { FieldName = "F_Type", ConditionalType = ConditionalType.Like, FieldValue = "0" })
147
+                    }
148
+                });
149
+            conModels.Add(new ConditionalModel() { FieldName = "F_StartTime", ConditionalType = ConditionalType.GreaterThan , FieldValue = DateTime .Now .ToString() });
150
+            conModels.Add(new ConditionalModel() { FieldName = "F_EndTime", ConditionalType = ConditionalType.LessThanOrEqual , FieldValue = DateTime.Now.ToString() });
151
+            conModels.Add(new ConditionalModel() { FieldName = "F_State", ConditionalType = ConditionalType.LessThanOrEqual, FieldValue = "1" });
152
+            var list = await _sys_outboundTaskrepository.GetListALL (conModels,  "  F_AddTime  desc");
153
+            if (list != null)
154
+            {
155
+                if (list.Count > 0)
156
+                {
157
+                    foreach (var it in list)
158
+                    {
159
+                        List<IConditionalModel> conModel = new List<IConditionalModel>();
160
+                        #region 条件筛选
161
+                        conModel.Add(new ConditionalModel() { FieldName = "F_IsDelete", ConditionalType = ConditionalType.Equal, FieldValue = ((int)EnumUserCountState.Enabled).ToString() });
162
+                        conModel.Add(new ConditionalModel() { FieldName = "F_Parentid", ConditionalType = ConditionalType.Equal, FieldValue = it.F_ID .ToString() });
163
+                        #endregion
164
+                        var modellist = await _sys_autodialrepository.GetListALL (conModels, "  F_ID  asc");
165
+                        if (modellist!=null )
166
+                        {
167
+                            foreach (var iv in modellist)
168
+                            {
169
+                                task tasks = new task();
170
+                                tasks.agent = user;
171
+                                tasks.number  = iv .F_Tel ;
172
+                                tasks.state  =0;
173
+                                tasks.type  = it .F_Type ;
174
+                                tasks.content  = it.F_Content ;
175
+                                tasks.outbound_id   = iv .F_ID ;
176
+                            }
177
+                        }
178
+                    }
179
+                    return Success("任务启动", list.Count);
180
+                }
181
+                else
182
+                    return Success("暂无任务", 0);
183
+            }
184
+            else
185
+                return Success("暂无任务",0);
186
+
187
+            
188
+        }
189
+        /// <summary>
128 190
         /// 添加自动外呼
129 191
         /// </summary>
130 192
         /// <param name="input"></param>

+ 5 - 0
代码/TVShoppingCallCenter_ZLJ/Startup.cs

@@ -32,6 +32,8 @@ using Hangfire.MySql.Core;
32 32
 using System.Data;
33 33
 using System.Repositories.Sys;
34 34
 using System.IRepositories.Sys;
35
+using System.IRepositories.Call;
36
+using System.Repositories.Call;
35 37
 
36 38
 namespace TVShoppingCallCenter_ZLJ
37 39
 {
@@ -202,6 +204,8 @@ namespace TVShoppingCallCenter_ZLJ
202 204
 
203 205
             services.AddTransient<ISys_OutboundTaskReposity, Sys_OutboundTaskReposity>();
204 206
             services.AddTransient<ISys_AutoDialRepository, Sys_AutoDialRepository>();
207
+
208
+            services.AddTransient<ItaskRepository, taskRepository>();
205 209
             #endregion
206 210
 
207 211
 
@@ -256,6 +260,7 @@ namespace TVShoppingCallCenter_ZLJ
256 260
 
257 261
             RecurringJob.AddOrUpdate<HangfireController>(a => a.DailyRecurring(), Cron.Daily, TimeZoneInfo.Local, "daily");
258 262
             RecurringJob.AddOrUpdate<HangfireController>(a => a.MinutelyRecurring(), Cron.Minutely, TimeZoneInfo.Local, "minutely");
263
+           
259 264
             //秒 分 时 日   *每
260 265
             RecurringJob.AddOrUpdate<HangfireController>(a => a.Month12Recurring(), "0 0 0 12 * ?", TimeZoneInfo.Local, "month12");
261 266
             #region steeltoe