예제 #1
0
 /// <summary>
 /// 记录操作日志
 /// </summary>
 /// <param name="operationLogModel"></param>
 /// <param name="funNameString"></param>
 private void SetOperationLog(SalePromotionActivityLogModel operationLogModel, string funNameString)
 {
     try
     {
         using (var logClient = new SalePromotionActivityLogClient())
         {
             var logResult = logClient.InsertAcitivityLogAndDetail(operationLogModel);
             if (!(logResult.Success && logResult.Result))
             {
                 Logger.Log(Level.Warning, $"{funNameString}操作日志记录失败ErrorMessage:{logResult.ErrorMessage}");
             }
         }
     }
     catch (Exception ex)
     {
         Logger.Log(Level.Error, $"{funNameString},操作日志记录异常,ex{ex}");
     }
 }
예제 #2
0
 /// <summary>
 /// 删除操作日志记录
 /// </summary>
 /// <param name="PKID"></param>
 /// <returns></returns>
 private void DeleteLog(int PKID)
 {
     try
     {
         var operationLogModel = new SalePromotionActivityLogModel()
         {
             ReferId          = "ShareBarginProduct_" + PKID.ToString(),
             ReferType        = "ShareBargin",
             OperationLogType = "ShareBargin_Delete",
             CreateDateTime   = DateTime.Now.ToString(),
             CreateUserName   = this.User.Identity.Name,
             //日志详情
             LogDetailList = new List <SalePromotionActivityLogDetail>()
         };
         SetOperationLog(operationLogModel, "DeleteBargainProductById");
     }
     catch (Exception ex)
     {
         Logger.Log(Level.Warning, $"DeleteBargainProductById操作日志记录异常{ex}");
     }
 }
예제 #3
0
        public void InsertLogAndDetail()
        {
            var operationLogModel = new SalePromotionActivityLogModel()
            {
                ReferId          = "日志来源id(活动id)",
                ReferType        = "日志来源类型(打折活动)",
                OperationLogType = "操作类型(新增活动)",
                CreateDateTime   = DateTime.Now.ToString(),
                CreateUserName   = "******",
                //日志详情
                LogDetailList = new List <SalePromotionActivityLogDetail>()
                {
                    new SalePromotionActivityLogDetail()
                    {
                        OperationLogType = "新增商品",
                        Property         = "pid",
                        NewValue         = "商品的关键信息",
                    },
                    new SalePromotionActivityLogDetail()
                    {
                        OperationLogType = "修改活动",
                        Property         = "活动描述",
                        OldValue         = "旧的活动描述",
                        NewValue         = "新的活动描述",
                    },
                    new SalePromotionActivityLogDetail()
                    {
                        OperationLogType = "删除商品",
                        Property         = "pid",
                        OldValue         = "商品的关键信息",
                    },
                }
            };

            using (var client = new SalePromotionActivityLogClient())
            {
                var result = client.InsertAcitivityLogAndDetail(operationLogModel).Result;
                Assert.IsTrue(result);
            }
        }
예제 #4
0
        /// <summary>
        /// 删除大翻牌活动操作日志
        /// </summary>
        /// <param name="pkid"></param>
        private void DeleteFormLog(int?pkid)
        {
            try
            {
                var operationLogType = "BigBrandReward_Delete";

                var operationLogModel = new SalePromotionActivityLogModel()
                {
                    ReferId          = "BigBrandReward_" + pkid,
                    ReferType        = "BigBrandReward",
                    OperationLogType = operationLogType,
                    CreateDateTime   = DateTime.Now.ToString(),
                    CreateUserName   = this.User.Identity.Name,
                    LogDetailList    = new List <SalePromotionActivityLogDetail>()
                };
                SetOperationLog(operationLogModel, "DeleteFormLog");
            }
            catch (Exception ex)
            {
                Logger.Log(Level.Warning, ex, $"DeleteFormLog异常,ex:{ex}");
            }
        }
 public async Task <OperationResult <bool> > InsertAcitivityLogAndDetailAsync(SalePromotionActivityLogModel model)
 {
     return(await SalePromotionActivityLogManager.InsertAcitivityLogAndDetailAsync(model));
 }
 public static async Task <OperationResult <bool> > InsertAcitivityLogAndDetailAsync(SalePromotionActivityLogModel model)
 {
     return(await OperationResult.FromResultAsync(DalSalePromotionActivityLog.InsertAcitivityLogAndDetailAsync(model)));
 }
예제 #7
0
        /// <summary>
        /// 保存大翻牌配置操作日志
        /// </summary>
        /// <param name="oldInfo"></param>
        /// <param name="newInfo"></param>
        /// <param name="oldWheel"></param>
        /// <param name="newWheel"></param>
        private void SubmitFormLog(BigBrandRewardListEntity oldInfo, BigBrandRewardListEntity newInfo,
                                   IEnumerable <BigBrandWheelEntity> oldWheel, IEnumerable <BigBrandWheelEntity> newWheel)
        {
            try
            {
                var isAdd            = oldInfo?.PKID > 0 ? false : true;
                var operationLogType = isAdd ? "BigBrandReward_Insert" : "BigBrandReward_Update";

                var operationLogModel = new SalePromotionActivityLogModel()
                {
                    ReferId          = "BigBrandReward_" + newInfo.PKID,
                    ReferType        = "BigBrandReward",
                    OperationLogType = operationLogType,
                    CreateDateTime   = DateTime.Now.ToString(),
                    CreateUserName   = this.User.Identity.Name,
                    LogDetailList    = new List <SalePromotionActivityLogDetail>()
                };
                if (newInfo.Title != oldInfo?.Title)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "名称",
                        NewValue = newInfo.Title,
                        OldValue = isAdd ? "" : oldInfo?.Title
                    });
                }
                if (newInfo.BigBrandType != oldInfo?.BigBrandType)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "抽奖类型",
                        NewValue = newInfo.BigBrandType == 1 ? "普通抽奖" : (newInfo.BigBrandType == 2 ? "积分抽奖" : "定人群抽奖"),
                        OldValue = isAdd ? "" : oldInfo?.BigBrandType == 1 ? "普通抽奖" : (oldInfo?.BigBrandType == 2 ? "积分抽奖" : "定人群抽奖")
                    });
                }
                if (newInfo.PreTimes != oldInfo?.PreTimes)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "抽奖次数",
                        NewValue = newInfo.PreTimes.ToString(),
                        OldValue = isAdd ? "" : oldInfo?.PreTimes.ToString()
                    });
                }
                if (newInfo.CompletedTimes != oldInfo?.CompletedTimes)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "抽奖次数(分享后)",
                        NewValue = newInfo.CompletedTimes.ToString(),
                        OldValue = isAdd ? "" : oldInfo?.CompletedTimes.ToString()
                    });
                }
                if (newInfo.Period != oldInfo?.Period || newInfo.PeriodType != oldInfo?.PeriodType)
                {
                    var newType = newInfo.PeriodType == 1 ? "小时" : (newInfo.PeriodType == 2 ? "天" : "月");
                    var oldType = isAdd ? "" : oldInfo?.PeriodType == 1 ? "小时" : (oldInfo?.PeriodType == 2 ? "天" : "月");
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "抽奖周期",
                        NewValue = newInfo.Period + newType,
                        OldValue = isAdd ? "" : oldInfo?.Period + oldType
                    });
                }
                if (newInfo.StartDateTime != oldInfo?.StartDateTime)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "开始时间",
                        NewValue = newInfo.StartDateTime.ToString(),
                        OldValue = isAdd ? "" : oldInfo?.StartDateTime.ToString()
                    });
                }
                if (newInfo.NeedIntegral != oldInfo?.NeedIntegral)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "单次抽奖消耗积分",
                        NewValue = newInfo.NeedIntegral.ToString(),
                        OldValue = isAdd ? "" : oldInfo?.NeedIntegral.ToString()
                    });
                }
                if (newInfo.AfterLoginType != oldInfo?.AfterLoginType)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "抽奖验证类型",
                        NewValue = newInfo.AfterLoginType == 1 ? "微信授权" : "",
                        OldValue = isAdd ? "" : oldInfo?.AfterLoginType == 1 ? "微信授权" : ""
                    });
                }
                if (newInfo.AfterLoginValue != oldInfo?.AfterLoginValue)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "必须关注公众号",
                        NewValue = GetWXName(newInfo.AfterLoginValue),
                        OldValue = GetWXName(oldInfo?.AfterLoginValue)
                    });
                }
                if (newWheel?.Count() > 0 || oldWheel?.Count() > 0)
                {
                    var logModel = new SalePromotionActivityLogDetail()
                    {
                        Property = "对应奖池",
                        NewValue = GetWheelListLogStr(newWheel),
                        OldValue = isAdd ? "" : GetWheelListLogStr(oldWheel)
                    };
                    if (!(!string.IsNullOrWhiteSpace(logModel.OldValue) && logModel.OldValue == logModel.NewValue))
                    {
                        operationLogModel.LogDetailList.Add(logModel);
                    }
                }
                SetOperationLog(operationLogModel, "SubmitFormLog");
            }
            catch (Exception ex)
            {
                Logger.Log(Level.Warning, ex, $"SubmitFormLog异常,ex:{ex}");
            }
        }
예제 #8
0
        /// <summary>
        /// 修改砍价配置操作日志
        /// </summary>
        /// <param name="oldModel"></param>
        /// <param name="newModel"></param>
        private void UpdateBargainProductLog(ShareBargainProductModel oldModel, ShareBargainProductModel newModel)
        {
            try
            {
                var operationLogModel = new SalePromotionActivityLogModel()
                {
                    ReferId          = "ShareBarginProduct_" + newModel.PKID.ToString(),
                    ReferType        = "ShareBargin",
                    OperationLogType = "ShareBargin_UpdateShareBargin",
                    CreateDateTime   = DateTime.Now.ToString(),
                    CreateUserName   = this.User.Identity.Name,
                    //日志详情
                    LogDetailList = new List <SalePromotionActivityLogDetail>()
                };
                if (oldModel.BeginDateTime != newModel.BeginDateTime)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "上架时间",
                        OldValue = oldModel.BeginDateTime.ToString(),
                        NewValue = newModel.BeginDateTime.ToString(),
                    });
                }
                if (oldModel.EndDateTime != newModel.EndDateTime)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "下架时间",
                        OldValue = oldModel.EndDateTime.ToString(),
                        NewValue = newModel.EndDateTime.ToString(),
                    });
                }
                if (oldModel.ShowBeginTime != newModel.ShowBeginTime)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "商品开始显示时间",
                        OldValue = oldModel.ShowBeginTime.ToString(),
                        NewValue = newModel.ShowBeginTime.ToString(),
                    });
                }
                if (oldModel.SimpleDisplayName != newModel.SimpleDisplayName)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "商品简称",
                        OldValue = oldModel.SimpleDisplayName,
                        NewValue = newModel.SimpleDisplayName
                    });
                }
                if (oldModel.OriginalPrice != newModel.OriginalPrice)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "商品售价",
                        OldValue = oldModel.OriginalPrice.ToString("0.00"),
                        NewValue = newModel.OriginalPrice.ToString("0.00")
                    });
                }
                if (oldModel.FinalPrice != newModel.FinalPrice)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "商品活动价",
                        OldValue = oldModel.FinalPrice.ToString("0.00"),
                        NewValue = newModel.FinalPrice.ToString("0.00")
                    });
                }
                if (oldModel.TotalStockCount != newModel.TotalStockCount)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "商品库存上限",
                        OldValue = oldModel.TotalStockCount.ToString(),
                        NewValue = newModel.TotalStockCount.ToString()
                    });
                }
                if (oldModel.Sequence != newModel.Sequence)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "商品显示顺序",
                        OldValue = oldModel.Sequence.ToString(),
                        NewValue = newModel.Sequence.ToString()
                    });
                }
                if (oldModel.Image1 != newModel.Image1 &&
                    (!string.IsNullOrWhiteSpace(oldModel.Image1) || !string.IsNullOrWhiteSpace(newModel.Image1)))
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "商品宣传图片",
                        OldValue = oldModel.Image1,
                        NewValue = newModel.Image1
                    });
                }
                if (oldModel.WXShareTitle != newModel.WXShareTitle)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "小程序分享标题",
                        OldValue = oldModel.WXShareTitle,
                        NewValue = newModel.WXShareTitle
                    });
                }
                if (oldModel.APPShareId != newModel.APPShareId)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "APP分享ID",
                        OldValue = oldModel.APPShareId,
                        NewValue = newModel.APPShareId
                    });
                }
                if (oldModel.ProductDetailImg1 != newModel.ProductDetailImg1)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "商品详情图片1",
                        OldValue = oldModel.ProductDetailImg1,
                        NewValue = newModel.ProductDetailImg1
                    });
                }
                if (oldModel.ProductDetailImg2 != newModel.ProductDetailImg2)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "商品详情图片2",
                        OldValue = oldModel.ProductDetailImg2,
                        NewValue = newModel.ProductDetailImg2
                    });
                }
                if (oldModel.ProductDetailImg3 != newModel.ProductDetailImg3)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "商品详情图片3",
                        OldValue = oldModel.ProductDetailImg3,
                        NewValue = newModel.ProductDetailImg3
                    });
                }
                if (oldModel.ProductDetailImg4 != newModel.ProductDetailImg4)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "商品详情图片4",
                        OldValue = oldModel.ProductDetailImg4,
                        NewValue = newModel.ProductDetailImg4
                    });
                }
                if (oldModel.ProductDetailImg5 != newModel.ProductDetailImg5)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "商品详情图片5",
                        OldValue = oldModel.ProductDetailImg5,
                        NewValue = newModel.ProductDetailImg5
                    });
                }

                SetOperationLog(operationLogModel, "UpdateBargainProductById");
            }
            catch (Exception ex)
            {
                Logger.Log(Level.Warning, $"UpdateBargainProductById操作日志异常:{ex}");
            }
        }
예제 #9
0
        /// <summary>
        /// 修改全局配置记录操作日志
        /// </summary>
        /// <param name="oldModel"></param>
        /// <param name="newModel"></param>
        private void UpdateGlobalConfiguctLog(BargainGlobalConfigModel oldModel, BargainGlobalConfigModel newModel)
        {
            try
            {
                oldModel = oldModel == null ? new BargainGlobalConfigModel() : oldModel;
                var operationLogModel = new SalePromotionActivityLogModel()
                {
                    ReferId          = "ShareBargin_GlobalConfig",
                    ReferType        = "ShareBargin",
                    OperationLogType = "ShareBargin_UpdateGlobalConfig",
                    CreateDateTime   = DateTime.Now.ToString(),
                    CreateUserName   = this.User.Identity.Name,
                    LogDetailList    = new List <SalePromotionActivityLogDetail>()
                };
                if (oldModel.QAData != newModel.QAData)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "问答组",
                        OldValue = GetQALogString(oldModel.BargainRule),
                        NewValue = GetQALogString(newModel.BargainRule)
                    });
                }
                if (oldModel.RulesCount != newModel.RulesCount)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "活动规则数量",
                        OldValue = oldModel.RulesCount.ToString(),
                        NewValue = newModel.RulesCount.ToString()
                    });
                }
                if (oldModel.SliceShowText != newModel.SliceShowText)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "砍价成功轮播文案",
                        OldValue = oldModel.SliceShowText,
                        NewValue = newModel.SliceShowText,
                    });
                }
                if (oldModel.WXAPPListShareText != newModel.WXAPPListShareText)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "小程序列表分享文案",
                        OldValue = oldModel.WXAPPListShareText,
                        NewValue = newModel.WXAPPListShareText,
                    });
                }
                if (oldModel.WXAPPListShareImg != newModel.WXAPPListShareImg)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "小程序列表分享图片",
                        OldValue = oldModel.WXAPPListShareImg,
                        NewValue = newModel.WXAPPListShareImg,
                    });
                }
                if (oldModel.APPListShareTag != newModel.APPListShareTag)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "APP列表页分享标签",
                        OldValue = oldModel.APPListShareTag,
                        NewValue = newModel.APPListShareTag,
                    });
                }
                if (oldModel.WXAPPDetailShareText != newModel.WXAPPDetailShareText)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "小程序详情分享文案",
                        OldValue = oldModel.WXAPPDetailShareText,
                        NewValue = newModel.WXAPPDetailShareText
                    });
                }
                if (oldModel.AppDetailShareTag != newModel.AppDetailShareTag)
                {
                    operationLogModel.LogDetailList.Add(new SalePromotionActivityLogDetail()
                    {
                        Property = "APP详情分享标签",
                        OldValue = oldModel.AppDetailShareTag,
                        NewValue = newModel.AppDetailShareTag
                    });
                }

                SetOperationLog(operationLogModel, "UpdateGlobalConfiguctLog");
            }
            catch (Exception ex)
            {
                Logger.Log(Level.Warning, $"UpdateGlobalConfiguctLog操作日志异常:{ex}");
            }
        }
예제 #10
0
        /// <summary>
        /// 插入操作日志 包含日志详情
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static async Task <bool> InsertAcitivityLogAndDetailAsync(SalePromotionActivityLogModel model)
        {
            bool   result = true;
            int    PKID;
            string SqlInsertLog = @"Insert into [Activity].[dbo].[SalePromotionActivityLog](
                                                 [ReferId],[ReferType],OperationLogType,
                                                 [CreateDateTime],[CreateUserName])
                        values(@ReferId,@ReferType,@OperationLogType,getdate(),@CreateUserName);
                        SELECT SCOPE_IDENTITY();";

            using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Gungnir"].ConnectionString))
            {
                conn.Open();
                using (var tran = conn.BeginTransaction())
                {
                    using (var cmd = new SqlCommand("", conn, tran))
                    {
                        try
                        {
                            //插入日志
                            cmd.CommandText = SqlInsertLog;
                            cmd.Parameters.Add(new SqlParameter("@ReferId", model.ReferId ?? ""));
                            cmd.Parameters.Add(new SqlParameter("@ReferType", model.ReferType ?? ""));
                            cmd.Parameters.Add(new SqlParameter("@OperationLogType", model.OperationLogType ?? ""));
                            cmd.Parameters.Add(new SqlParameter("@CreateUserName", model.CreateUserName ?? ""));
                            //获取自增主键
                            int.TryParse((await cmd.ExecuteScalarAsync()).ToString(), out PKID);
                            cmd.Parameters.Clear();
                            //插入日志详情
                            if (PKID > 0 && model?.LogDetailList?.Count > 0)
                            {
                                var logTmp = model.LogDetailList.Select(item => new
                                {
                                    FPKID            = PKID,
                                    OperationLogType = item.OperationLogType,
                                    Property         = item.Property,
                                    OldValue         = item.OldValue,
                                    NewValue         = item.NewValue
                                });
                                DataTable productDT = ToDataTable(logTmp);
                                cmd.CommandText = @"CREATE TABLE #logTmp([FPKID] [int] NOT NULL,
	                                                                     [OperationLogType] [nvarchar](100) NULL,
	                                                                     [Property] [nvarchar](100) NULL,
	                                                                     [OldValue] [nvarchar](1000) NULL,
	                                                                     [NewValue] [nvarchar](1000) NULL);"    ;
                                await cmd.ExecuteNonQueryAsync();

                                using (SqlBulkCopy bulkcopy = new SqlBulkCopy(conn, SqlBulkCopyOptions.KeepIdentity, tran))
                                {
                                    bulkcopy.BulkCopyTimeout      = 660;
                                    bulkcopy.DestinationTableName = "#logTmp";
                                    bulkcopy.WriteToServer(productDT);
                                    bulkcopy.Close();
                                }
                                string sqlInsert = @"insert into [Activity].[dbo].[SalePromotionActivityLogDetail](
                                                            [FPKID],[OperationLogType],[Property],[OldValue],[NewValue])
                                                    select  [FPKID],[OperationLogType],[Property],[OldValue],[NewValue]
                                                     from   #logTmp";
                                cmd.CommandText = sqlInsert;
                                await cmd.ExecuteNonQueryAsync();
                            }
                            if (result)
                            {
                                tran.Commit();
                            }
                            else
                            {
                                tran.Rollback();
                            }
                        }
                        catch (Exception e)
                        {
                            result = false;
                            tran.Rollback();
                            throw;
                        }
                    }
                }
            }
            return(result);
        }