public JsonResult EditTaskConfig(TaskConfigModel request) { var actionList = new List <string> { "0SignOn", "1FirstOrder", "2LuckyMoney", "4BindWX", "5Follow", "6AddCar", "7Authentication", "8Comment", "9TireInsurance" }; var code = 1; var info = "操作完成"; if (request.ConditionList.Distinct(g => g.ActionName).Count() > 1 && actionList.Intersect(request.ConditionList.Select(g => g.ActionName)).Any()) { code = 0; info = "任务完成条件不符合要求"; } else { var result = TaskConfigManager.EditTaskConfig(request, ThreadIdentity.Operator.Name); if (result == 0) { code = 0; info = "任务完成条件不符合要求"; } if (result == 2) { code = 2; info = "更新数据库失败"; } if (result == 3) { code = 3; info = "操作失败,缓存刷新失败"; } } return(Json(new { Code = code, Info = info })); }
public static int EditTaskConfig(TaskConfigModel request, string Operator) { var taskId = Guid.Empty; var result = true; var operate = default(string); var triggerData = request.TriggerList.Select( g => new TriggerTaskModel { TriggerTaskId = g.TaskId, TriggerTaskName = g.TaskName, TriggerType = 1, IsTimeout = false }) .Union(request.DisplayTriggerList.Select( g => new TriggerTaskModel { TriggerTaskId = g.TaskId, TriggerTaskName = g.TaskName, TriggerType = 0, IsTimeout = false })) .Union(request.TimeoutTriggerList.Select( g => new TriggerTaskModel { TriggerTaskId = g.TaskId, TriggerTaskName = g.TaskName, TriggerType = 0, IsTimeout = true })) .ToList(); foreach (var item in request.ConditionList) { if (item.ActionName.Equals("10BuyProduct")) { var specialpara = new List <string>(); var data = item.SpecialPara.Split(';').Where(g => !string.IsNullOrEmpty(g)).ToList(); foreach (var paraItem in data) { if (int.TryParse(paraItem, out var value)) { specialpara.Add($"OR{value.ToString("D8")}"); } else if (paraItem.StartsWith("OR")) { specialpara.Add(paraItem); } } if (!specialpara.Any()) { return(0); } item.SpecialPara = string.Join(";", specialpara); } } using (var dbHelper = Component.Common.DbHelper.CreateDefaultDbHelper()) { dbHelper.BeginTransaction(); if (request.TaskId == Guid.Empty) { request.TaskId = Guid.NewGuid(); taskId = request.TaskId; operate = "Create"; result = DalTask.AddTaskConfig(request, Operator, dbHelper); if (result) { result = DalTask.AddCondition(request.TaskId, request.ConditionList, dbHelper); } if (result && triggerData.Any()) { result = DalTask.AddTriggerTask(request.TaskId, triggerData, dbHelper); } if (result && request.CouponList.Any()) { result = DalTask.AddCoupon(request.TaskId, request.CouponList, dbHelper); } } else { taskId = request.TaskId; operate = "Update"; result = DalTask.UpdateTaskConfig(request, dbHelper); if (result) { result = DalTask.EditCoupon(request.TaskId, request.CouponList, dbHelper); } if (result) { result = DalTask.UpdateTriggerTask(request.TaskId, triggerData, dbHelper); } if (result) { result = DalTask.DeleteCondition(request.TaskId, dbHelper); if (result) { result = DalTask.AddCondition(request.TaskId, request.ConditionList, dbHelper); } } } if (result) { result = RefreshCache(); dbHelper.Commit(); } else { dbHelper.Rollback(); return(2); } if (result) { TaskOprLog(request.TaskId, Operator, operate, JsonConvert.SerializeObject(request)); } return(result ? 1 : 3); } }
public static bool UpdateTaskConfig(TaskConfigModel request, BaseDbHelper dbHelper) { const string sqlStr = @" update Configuration..TaskConfigInfo with (rowlock) set TaskName = @taskName, TaskIcon = @taskicon, DisplayStatus = @displayStatus, TaskLink = @taskLink, TaskText = @taskText, Duration = @duration, AwardText = @awardText, AwardLink = @awardLink, AwardImg = @awardImg, Integral = @integral, TireInsurance = @tireInsurance, RandomCoupon = @randomCoupon, TaskRule = @taskrule, TaskType = @taskType, LastUpdateDateTime = GETDATE(), Sequence = @sequence, PopulationsTag = @populationsTag, StartVersion = @startVersion, EndVersion = @endVersion, RequireActionCount = @requireActionCount, RecommendImg = @recommendImg, RecommendLevel = @recommendLevel, TaskChannel = @taskChannel, WXAwardAppId = @wxAwardAppId, WXAwardLink = @wxAwardLink, WXTaskAppId = @wxTaskAppId, WXTaskLink = @wxTaskLink where TaskId = @taskid;"; using (var cmd = new SqlCommand(sqlStr)) { cmd.Parameters.AddWithValue("@taskName", request.TaskName); cmd.Parameters.AddWithValue("@taskIcon", request.TaskIcon); cmd.Parameters.AddWithValue("@displayStatus", request.DisplayStatus); cmd.Parameters.AddWithValue("@taskLink", request.TaskLink); cmd.Parameters.AddWithValue("@taskText", request.TaskText); cmd.Parameters.AddWithValue("@duration", request.Duration); cmd.Parameters.AddWithValue("@awardText", request.AwardText); cmd.Parameters.AddWithValue("@awardLink", request.AwardLink); cmd.Parameters.AddWithValue("@awardImg", request.AwardImg); cmd.Parameters.AddWithValue("@integral", request.Integral); cmd.Parameters.AddWithValue("@tireInsurance", request.TireInsurance); cmd.Parameters.AddWithValue("@randomCoupon", request.RandomCoupon); cmd.Parameters.AddWithValue("@taskrule", request.TaskRule); cmd.Parameters.AddWithValue("@taskid", request.TaskId); cmd.Parameters.AddWithValue("@taskType", request.TaskType); cmd.Parameters.AddWithValue("@sequence", request.Sequence); cmd.Parameters.AddWithValue("@populationsTag", request.PopulationsTag); cmd.Parameters.AddWithValue("@startVersion", request.StartVersion); cmd.Parameters.AddWithValue("@endVersion", request.EndVersion); cmd.Parameters.AddWithValue("@requireActionCount", request.RequireActionCount); cmd.Parameters.AddWithValue("@recommendImg", request.RecommendImg); cmd.Parameters.AddWithValue("@recommendLevel", request.RecommendLevel); cmd.Parameters.AddWithValue("@taskChannel", request.TaskChannel); cmd.Parameters.AddWithValue("@wxAwardAppId", request.WXAwardAppId); cmd.Parameters.AddWithValue("@wxAwardLink", request.WXAwardLink); cmd.Parameters.AddWithValue("@wxTaskAppId", request.WXTaskAppId); cmd.Parameters.AddWithValue("@wxTaskLink", request.WXTaskLink); return(dbHelper.ExecuteNonQuery(cmd) > 0); } }
public static bool AddTaskConfig(TaskConfigModel request, string Operator, BaseDbHelper dbHelper) { const string sqlStr = @" insert into Configuration..TaskConfigInfo ( TaskId, TaskName, TaskType, TaskIcon, DisplayStatus, TaskLink, TaskText, TriggerTime, Duration, AwardText, AwardLink, ButtonText, AwardImg, Integral, TaskRule, TireInsurance, RandomCoupon, Operator, IsDelete, Sequence, PopulationsTag, StartVersion, EndVersion, RequireActionCount, RecommendImg, RecommendLevel, TaskChannel, WXAwardAppId, WXAwardLink, WXTaskAppId, WXTaskLink ) values (@taskid, @taskname, @tasktype, @taskicon, @displaystatus, @tasklink, @tasktext, @triggertime, @duration, @awardtext, @awardlink, '', @awardimg, @integral, @taskrule, @tireinsurance, @randomcoupon, @operator, 0, @sequence, @populationsTag, @startVersion, @endVersion, @requireActionCount, @recommendImg, @recommendLevel, @taskChannel, @wxAwardAppId, @wxAwardLink, @wxTaskAppId, @wxTaskLink);"; using (var cmd = new SqlCommand(sqlStr)) { cmd.Parameters.AddWithValue("@taskid", request.TaskId); cmd.Parameters.AddWithValue("@taskname", request.TaskName); cmd.Parameters.AddWithValue("@tasktype", request.TaskType); cmd.Parameters.AddWithValue("@taskicon", request.TaskIcon); cmd.Parameters.AddWithValue("@displaystatus", request.DisplayStatus); cmd.Parameters.AddWithValue("@tasklink", request.TaskLink); cmd.Parameters.AddWithValue("@tasktext", request.TaskText); cmd.Parameters.AddWithValue("@triggertime", request.TriggerTime); cmd.Parameters.AddWithValue("@duration", request.Duration); cmd.Parameters.AddWithValue("@awardtext", request.AwardText); cmd.Parameters.AddWithValue("@awardlink", request.AwardLink); cmd.Parameters.AddWithValue("@awardimg", request.AwardImg); cmd.Parameters.AddWithValue("@integral", request.Integral); cmd.Parameters.AddWithValue("@taskrule", request.TaskRule); cmd.Parameters.AddWithValue("@tireinsurance", request.TireInsurance); cmd.Parameters.AddWithValue("@randomcoupon", request.RandomCoupon); cmd.Parameters.AddWithValue("@operator", Operator); cmd.Parameters.AddWithValue("@sequence", request.Sequence); cmd.Parameters.AddWithValue("@populationsTag", request.PopulationsTag); cmd.Parameters.AddWithValue("@startVersion", request.StartVersion); cmd.Parameters.AddWithValue("@endVersion", request.EndVersion); cmd.Parameters.AddWithValue("@requireActionCount", request.RequireActionCount); cmd.Parameters.AddWithValue("@recommendImg", request.RecommendImg); cmd.Parameters.AddWithValue("@recommendLevel", request.RecommendLevel); cmd.Parameters.AddWithValue("@taskChannel", request.TaskChannel); cmd.Parameters.AddWithValue("@wxAwardAppId", request.WXAwardAppId); cmd.Parameters.AddWithValue("@wxAwardLink", request.WXAwardLink); cmd.Parameters.AddWithValue("@wxTaskAppId", request.WXTaskAppId); cmd.Parameters.AddWithValue("@wxTaskLink", request.WXTaskLink); return(dbHelper.ExecuteNonQuery(cmd) > 0); } }