public Tuple <bool, string> InsertRebateConfig(RebateConfigModel data, string user)
        {
            var result = 0;
            var msg    = string.Empty;

            try
            {
                dbScopeManager.Execute(conn =>
                {
                    var existedData = DALRebateConfig.SelectRebateApplyConfigByParam(conn, data);
                    existedData     = existedData.Where(_ => String.Equals(_.Source, "爱卡") || String.Equals(_.Source, "汽车之家")).ToList();
                    if (existedData?.Where(x => String.Equals(x.OrderId, data.OrderId)).Count() > 0 ||
                        existedData?.Where(x => String.Equals(x.UserPhone, data.UserPhone)).Count() > 0)
                    {
                        msg = "每个客户只能参与一次(包含手机号、订单号、微信号)均视为同一客户";
                    }
                    else
                    {
                        data.RebateMoney = 58M;
                        data.Status      = Status.Applying;
                        result           = DALRebateConfig.InsertRebateConfig(conn, data);
                    }
                });
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }
            InsertLog(result.ToString(), "InsertRebateConfig", result > 0 ? "添加成功" : "添加失败", $"PKID:{result.ToString()},Status:Applying", string.Empty, string.Empty, user);
            return(Tuple.Create(result > 0, msg));
        }
示例#2
0
        public JsonResult UpsertRebateApplyConfig(RebateConfigModel data)
        {
            RebateConfigManager manager = new RebateConfigManager();
            var result = manager.UpdateRebateApplyRemarks(data, User.Identity.Name);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
示例#3
0
        public JsonResult UpsertRebateApplyConfig(RebateConfigModel data)
        {
            RebateConfigManager manager = new RebateConfigManager();
            var result = manager.InsertRebateConfig(data, User.Identity.Name);

            return(Json(new { status = result.Item1, msg = result.Item2 }, JsonRequestBehavior.AllowGet));
        }
        public Tuple <bool, string> InsertRebateConfig(RebateConfigModel data, string user)
        {
            var result = 0;
            var msg    = string.Empty;

            try
            {
                dbScopeManager.CreateTransaction(conn =>
                {
                    var existedData = DALRebateConfig.SelectRebateApplyConfigByParam(conn, data);

                    if (String.Equals(data.Source, "Rebate25"))
                    {
                        existedData = existedData.Where(_ => String.Equals(_.Source, "Rebate25")).ToList();
                        if (existedData?.Where(x => String.Equals(x.OrderId, data.OrderId)).Count() > 0 ||
                            existedData?.Where(x => String.Equals(x.UserPhone, data.UserPhone)).Count() > 0)
                        {
                            data.Remarks += "  重复返现";
                        }
                        data.RebateMoney   = 25M;
                        data.Status        = Status.Complete;
                        data.RebateTime    = DateTime.Now;
                        data.InstallShopId = OrderService.FetchOrderByOrderId(data.OrderId)?.InstallShopId ?? 0;
                        data.PKID          = DALRebateConfig.InsertRebateConfig(conn, data);
                        if (data.PKID > 0 && data.ImgList != null && data.ImgList.Any())
                        {
                            foreach (var item in data.ImgList)
                            {
                                DALRebateConfig.InsertRebateImgConfig(conn, data.PKID, item.ImgUrl, ImgSource.UserImg, string.Empty);
                            }
                        }
                        result = data.PKID;
                    }
                    else
                    {
                        existedData = existedData.Where(_ => String.Equals(_.Source, "爱卡") || String.Equals(_.Source, "汽车之家")).ToList();
                        if (existedData?.Where(x => String.Equals(x.OrderId, data.OrderId)).Count() > 0 ||
                            existedData?.Where(x => String.Equals(x.UserPhone, data.UserPhone)).Count() > 0)
                        {
                            msg = "每个客户只能参与一次(包含手机号、订单号、微信号)均视为同一客户";
                        }
                        else
                        {
                            data.RebateMoney   = 58M;
                            data.Status        = Status.Applying;
                            data.InstallShopId = OrderService.FetchOrderByOrderId(data.OrderId)?.InstallShopId ?? 0;
                            result             = DALRebateConfig.InsertRebateConfig(conn, data);
                        }
                    }
                });
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }
            InsertLog(result.ToString(), "InsertRebateConfig", result > 0 ? "添加成功" : "添加失败", $"PKID:{result.ToString()},Status:Applying", string.Empty, string.Empty, user);
            return(Tuple.Create(result > 0, msg));
        }
示例#5
0
        public static int UpdateRebateApplyConfig(SqlConnection conn, RebateConfigModel data)
        {
            const string sql = @"
            UPDATE  Activity..RebateApplyConfig
            SET     Remarks = @Remarks ,
                    UpdateTime = GETDATE()
            WHERE   PKID = @PKID;";

            return(conn.Execute(sql, new
            {
                PKID = data.PKID,
                Remarks = data.Remarks
            }, commandType: CommandType.Text));
        }
示例#6
0
        public bool UpdateRebateApplyRemarks(RebateConfigModel data, string user)
        {
            var result = false;

            try
            {
                result = dbScopeManager.Execute(conn => DALRebateConfig.UpdateRebateApplyConfig(conn, data)) > 0;
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }
            InsertLog(data.PKID.ToString(), "UpdateRemarks", result ? "更新成功" : "更新失败", $"PKID:{data.PKID.ToString()},Remarks:{data.Remarks}", string.Empty, string.Empty, user);
            return(result);
        }
        public RebateConfigModel SelectRebateConfigByPKID(int pkid)
        {
            RebateConfigModel result = null;

            try
            {
                dbScopeReadManager.Execute(conn =>
                {
                    result         = DALRebateConfig.SelectRebateConfigByPKID(conn, pkid);
                    result.ImgList = DALRebateConfig.GetRebateApplyImageConfig(conn, pkid, ImgSource.UserImg);
                });
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }
            return(result);
        }
示例#8
0
        private Tuple <List <RebateConfigModel>, string> ConvertExcelToList(HttpFileCollectionBase files)
        {
            var result = new List <RebateConfigModel>();
            var msg    = string.Empty;
            var stream = files[0].InputStream;
            var buffer = new byte[stream.Length];

            stream.Read(buffer, 0, buffer.Length);
            var workBook = new XSSFWorkbook(new MemoryStream(buffer));
            var sheet    = workBook.GetSheetAt(0);

            #region
            Func <ICell, string> getStringValue = cell =>
            {
                if (cell != null)
                {
                    if (cell.CellType == CellType.Numeric)
                    {
                        return(DateUtil.IsCellDateFormatted(cell) ?
                               cell.DateCellValue.ToString("yyyy-MM-dd HH:mm:ss.fff") :
                               cell.NumericCellValue.ToString());
                    }
                    return(cell?.StringCellValue ?? string.Empty);
                }
                return(null);
            };
            #endregion
            var titleRow = sheet.GetRow(sheet.FirstRowNum);
            var index    = titleRow.FirstCellNum;
            if (titleRow.GetCell(index++)?.StringCellValue == "途虎订单号" &&
                titleRow.GetCell(index++)?.StringCellValue == "联系方式" &&
                titleRow.GetCell(index++)?.StringCellValue == "微信号" &&
                titleRow.GetCell(index++)?.StringCellValue == "微信昵称" &&
                titleRow.GetCell(index++)?.StringCellValue == "客户姓名" &&
                titleRow.GetCell(index++)?.StringCellValue == "车牌号" &&
                titleRow.GetCell(index++)?.StringCellValue == "来源" &&
                titleRow.GetCell(index++)?.StringCellValue == "发帖链接" &&
                titleRow.GetCell(index++)?.StringCellValue == "审核状态" &&
                titleRow.GetCell(index++)?.StringCellValue == "返现状态" &&
                titleRow.GetCell(index++)?.StringCellValue == "备注" &&
                titleRow.GetCell(index++)?.StringCellValue == "对应编号" &&
                titleRow.GetCell(index++)?.StringCellValue == "发帖时间")
            {
                for (var rowIndex = sheet.FirstRowNum + 1; rowIndex <= sheet.LastRowNum; rowIndex++)
                {
                    var row = sheet.GetRow(rowIndex);
                    if (row == null)
                    {
                        continue;
                    }
                    var cellIndex = row.FirstCellNum;
                    var item      = new RebateConfigModel {
                    };
                    try
                    {
                        item.OrderId    = int.Parse(getStringValue(row.GetCell(cellIndex++)));
                        item.UserPhone  = getStringValue(row.GetCell(cellIndex++));
                        item.WXId       = getStringValue(row.GetCell(cellIndex++));
                        item.WXName     = getStringValue(row.GetCell(cellIndex++));
                        item.UserName   = getStringValue(row.GetCell(cellIndex++));
                        item.CarNumber  = getStringValue(row.GetCell(cellIndex++));
                        item.Source     = getStringValue(row.GetCell(cellIndex++));
                        item.ContentUrl = getStringValue(row.GetCell(cellIndex++));
                        cellIndex++;
                        cellIndex++;
                        cellIndex++;
                        item.PrincipalPerson = getStringValue(row.GetCell(cellIndex++));
                        item.CreateTime      = Convert.ToDateTime(getStringValue(row.GetCell(cellIndex++)));
                        result.Add(item);
                    }
                    catch (Exception ex)
                    {
                    }
                }
            }
            else
            {
                msg = "导入模板有误";
            }
            return(Tuple.Create(result, msg));
        }
示例#9
0
        public static int InsertRebateConfig(SqlConnection conn, RebateConfigModel data)
        {
            const string sql = @"
            INSERT  INTO Activity..RebateApplyConfig
                    ( OrderId ,
                      UserPhone ,
                      Status ,
                      WXId ,
                      WXName ,
                      QRCodeImg ,
                      BaiDuId ,
                      BaiDuName ,
                      PrincipalPerson ,
                      RebateMoney ,
                      RebateTime ,
                      InstallShopId ,
                      Remarks ,
                      UserName ,
                      CarNumber ,
                      Source ,
                      ContentUrl ,
                      CreateTime ,
                      UpdateTime
                    )
            OUTPUT  Inserted.PKID
            VALUES  ( @OrderId ,
                      @UserPhone ,
                      @Status ,
                      @WXId ,
                      @WXName ,
                      @QRCodeImg ,
                      @BaiDuId ,
                      @BaiDuName ,
                      @PrincipalPerson ,
                      @RebateMoney ,
                      @RebateTime ,
                      @InstallShopId ,
                      @Remarks ,
                      @UserName ,
                      @CarNumber ,
                      @Source ,
                      @ContentUrl ,
                      GETDATE() ,
                      GETDATE()
                    );";

            return(Convert.ToInt32(conn.ExecuteScalar(sql, new
            {
                OrderId = data.OrderId,
                UserPhone = data.UserPhone,
                WXId = data.WXId,
                WXName = data.WXName,
                QRCodeImg = data.QRCodeImg,
                BaiDuId = data.BaiDuId,
                Status = data.Status.ToString(),
                BaiDuName = data.BaiDuName,
                PrincipalPerson = data.PrincipalPerson,
                RebateMoney = data.RebateMoney,
                RebateTime = data.RebateTime,
                Remarks = data.Remarks,
                UserName = data.UserName,
                CarNumber = data.CarNumber,
                Source = data.Source,
                ContentUrl = data.ContentUrl,
                InstallShopId = data.InstallShopId
            }, commandType: CommandType.Text)));
        }
示例#10
0
        public static List <RebateConfigModel> SelectRebateApplyConfigByParam(SqlConnection conn, RebateConfigModel data)
        {
            const string sql = @"
                SELECT  rac.OrderId ,
                        rac.UserPhone ,
                        rac.PKID ,
                        rac.Status ,
                        rac.WXId ,
                        rac.WXName ,
                        rac.BaiDuId ,
                        rac.RebateMoney ,
                        rac.PrincipalPerson ,
                        rac.Remarks ,
                        rac.BaiDuName ,
                        rac.Source 
                FROM    Activity..RebateApplyConfig AS rac WITH ( NOLOCK )
                WHERE   rac.IsDelete = 0
                        AND rac.Status IN ( 'Applying', 'Approved', 'Complete' )
                        AND PKID <> @PKID 
                        AND ( rac.OrderId = @OrderId
                              OR rac.UserPhone = @UserPhone
                            );";

            return(conn.Query <RebateConfigModel>(sql, new
            {
                PKID = data.PKID,
                OrderId = data.OrderId,
                UserPhone = data.UserPhone
            }, commandType: CommandType.Text).ToList());
        }