Exemple #1
0
        /// <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);
            }
        }
Exemple #2
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);
            }
        }
Exemple #3
0
        /// <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(" 优惠券任务对象出错");
            }
        }