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)); }
public JsonResult UpsertRebateApplyConfig(RebateConfigModel data) { RebateConfigManager manager = new RebateConfigManager(); var result = manager.UpdateRebateApplyRemarks(data, User.Identity.Name); return(Json(result, JsonRequestBehavior.AllowGet)); }
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)); }
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)); }
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); }
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)); }
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))); }
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()); }