/// <summary> /// 添加优惠券产品类别 /// </summary> /// <param name="model"></param> /// <returns></returns> public static bool Insert(PromotionTaskProductCategory model) { if (model == null) { return(false); } if (string.IsNullOrWhiteSpace(model.CreateBy)) { model.CreateBy = ""; } if (string.IsNullOrWhiteSpace(model.LastUpdateBy)) { model.LastUpdateBy = ""; } #region sql 脚本 var strSql = @" INSERT INTO [Activity].[dbo].[tbl_PromotionTaskProductCategory] ([PromotionTaskId] ,[ProductCategoryId] ,[ParentCategoryId] ,[NodeNo] ,[IsCheckAll] ,[CategoryName] ,[CreateBy] ,[LastUpdateBy] ) VALUES ( @PromotionTaskId ,@ProductCategoryId ,@ParentCategoryId ,@NodeNo ,@IsCheckAll ,@CategoryName ,@CreateBy ,@LastUpdateBy )"; #endregion using (var cmd = new SqlCommand(strSql)) { cmd.Parameters.AddWithValue("@PromotionTaskId", model.PromotionTaskId); cmd.Parameters.AddWithValue("@ProductCategoryId", model.ProductCategoryId); cmd.Parameters.AddWithValue("@ParentCategoryId", model.ParentCategoryId); cmd.Parameters.AddWithValue("@NodeNo", model.NodeNo); cmd.Parameters.AddWithValue("@IsCheckAll", model.IsCheckAll); cmd.Parameters.AddWithValue("@CategoryName", model.CategoryName); cmd.Parameters.AddWithValue("@CreateBy", model.CreateBy); cmd.Parameters.AddWithValue("@LastUpdateBy", model.LastUpdateBy); return(DbHelper.ExecuteNonQuery(cmd) > 0); } }
/// <summary> /// 根据业务对象获取优惠券任务集合 /// </summary> /// <param name="model"></param> /// <returns></returns> public static List <PromotionTaskProductCategory> GetList(PromotionTaskProductCategory model) { var strbSql = new StringBuilder(); #region sql脚本 strbSql.Append(@" SELECT [PKID] , [PromotionTaskId] , [ProductCategoryId] , [ParentCategoryId] , [NodeNo] , [IsCheckAll] , [CategoryName] , [CreateBy] , [CreateTime] , [LastUpdateBy] , [LastUpdateDateTime] , [IsDeleted] FROM [Activity].[dbo].[tbl_PromotionTaskProductCategory] WITH(Nolock) WHERE IsDeleted = 0 "); #endregion var parmentList = new List <SqlParameter>(); if (model.PromotionTaskId > 0) { strbSql.Append(" AND PromotionTaskId =@PromotionTaskId"); parmentList.Add(new SqlParameter("@PromotionTaskId", model.PromotionTaskId)); } using (var cmd = new SqlCommand(strbSql.ToString())) { if (parmentList.Count > 0) { cmd.Parameters.AddRange(parmentList.ToArray()); } var dt = DbHelper.ExecuteDataTable(cmd); if (dt != null) { return(dt.ConvertTo <PromotionTaskProductCategory>().ToList()); } return(null); } }
/// <summary> /// 创建优惠券任务 /// </summary> /// <param name="promotionTask">优惠券任务对象</param> /// <param name="cellPhones">需要发送优惠券的用户列表</param> /// <returns></returns> public int CreatePromotionTask(PromotionTask promotionTask, List <string> TaskPromotionListIds = null, List <string> cellPhones = null) { try { var oper = ThreadIdentity.Operator.Name; var task = DalPromotionJob.GetPromotionTaskById(promotionTask.PromotionTaskId ?? 0); if (task != null && task.TaskStatus > 0) //已经审核或者关闭的任务不能修改 { return(0); } if (promotionTask.PromotionTaskId != null && promotionTask.PromotionTaskId > 0) { //如果是修改了数据源,则要释放原来的数据源 if (promotionTask.SelectUserType == 3 && task.PromotionTaskActivityId != promotionTask.PromotionTaskActivityId) { DalPromotionJob.ResetPromotionTaskActivity(task.PromotionTaskActivityId, task.PromotionTaskId); } } //新增或者修改优惠券任务 resultId 会会员任务Id var resultId = handler.CreatePromotionTask(promotionTask, oper, TaskPromotionListIds, cellPhones); if (promotionTask.TaskType.HasValue && promotionTask.TaskType.Value == (int)PromotionTaskType.Repeat) { //先删除该Id下所选品类 DalPromotionTaskProductCategory.DeletePromotionTaskProductCategory(resultId); //将优惠券任务产品类型保存到关系表 if (!string.IsNullOrWhiteSpace(promotionTask.ProductCategoryIds) && promotionTask.ProductCategoryIds.Trim().Length > 0) { var categoryIdList = promotionTask.ProductCategoryIds.Split(','); var parentCategoryIds = promotionTask.ParentCategoryIds.Split(','); var categoryNames = promotionTask.CategoryNames.Split(','); var nodeNos = promotionTask.NodeNos.Split(','); for (int i = 0; i < categoryIdList.Length; i++) { var model = new PromotionTaskProductCategory() { PromotionTaskId = resultId, ProductCategoryId = Convert.ToInt32(categoryIdList[i]), ParentCategoryId = Convert.ToInt32(parentCategoryIds[i]), NodeNo = nodeNos[i], CategoryName = categoryNames[i], CreateBy = oper, LastUpdateBy = oper }; DalPromotionTaskProductCategory.Insert(model); } } } if (promotionTask.SelectUserType == 3) { //如果是从BI库里获取数据,则要同步taskid DalPromotionJob.SetPromotionTaskActivity(promotionTask.PromotionTaskActivityId.Value, resultId); } using (var log = new ConfigLogClient()) { log.InsertDefaultLogQueue("PromotionConfigLog", JsonConvert.SerializeObject(new { ObjectId = resultId, ObjectType = "PromTask", BeforeValue = "", AfterValue = JsonConvert.SerializeObject(promotionTask), Operate = promotionTask?.PromotionTaskId == null ? "新增优惠券任务" : "修改优惠券任务", Author = oper })); } return(resultId); } catch (Exception ex) { throw new Exception(" 优惠券任务对象出错"); } }