/// <summary> /// 新增价格体系配置 /// </summary> /// <param name="model"></param> /// <returns></returns> public ActionResult AddPackageConfig(PaintDiscountPackageModel model) { if (model == null) { return(Json(new { Status = false, Msg = "未知的添加对象" }, JsonRequestBehavior.AllowGet)); } else if (string.IsNullOrWhiteSpace(model.PackageName)) { return(Json(new { Status = false, Msg = "活动名称不能为空" }, JsonRequestBehavior.AllowGet)); } else if (!Enum.IsDefined(typeof(UserType), model.UserType)) { return(Json(new { Status = false, Msg = "未定义的用户类型" }, JsonRequestBehavior.AllowGet)); } var manager = new PaintDiscountConfigManager(); var isExist = manager.IsExistPaintDiscountPackage(model); if (isExist) { return(Json(new { Status = false, Msg = "活动已存在,不能重复编辑" }, JsonRequestBehavior.AllowGet)); } var user = User.Identity.Name; var result = manager.AddPaintDiscountPackage(model, user); return(Json(new { Status = result > 0, Msg = $"添加{(result > 0 ? "成功" : "失败")}", PackageId = result } , JsonRequestBehavior.AllowGet)); }
/// <summary> /// 刷新喷漆打折旧配置的服务缓存 /// </summary> /// <returns></returns> public ActionResult RefreshPaintDiscountPaintCache() { var manager = new PaintDiscountConfigManager(); var result = manager.RefreshPaintDiscountConfigCache(); return(Json(new { Status = result, Msg = $"刷新缓存{(result ? "成功" : "失败")}" }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 获取该价格体系的城市门店展示 /// </summary> /// <param name="packageId"></param> /// <returns></returns> public ActionResult GetPackageRegionForView(int packageId) { var manager = new PaintDiscountConfigManager(); var result = manager.GetPackageRegionForView(packageId); return(Json(new { Status = result != null, Data = result }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 获取喷漆打折配置 /// </summary> /// <param name="servicePid"></param> /// <param name="carNoPrefix"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public ActionResult SelectPaintConfig(string servicePid, int packageId = 0, int pageIndex = 1, int pageSize = 20) { var manager = new PaintDiscountConfigManager(); var result = manager.SelectPaintDiscountConfig(packageId, servicePid, pageIndex, pageSize); return(Json(new { Status = result != null && result.Item1 != null, Data = result.Item1, TotalCount = result.Item2 }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 批量更新喷漆打折配置 /// </summary> /// <param name="models"></param> /// <returns></returns> public ActionResult MultUpdatePaintConfig(List <PaintDiscountConfigModel> models, string activityImage) { if (models == null || !models.Any()) { return(Json(new { Status = false, Msg = "未知的编辑对象" }, JsonRequestBehavior.AllowGet)); } if (string.IsNullOrEmpty(activityImage)) { return(Json(new { Status = false, Msg = "活动图片不能为空" }, JsonRequestBehavior.AllowGet)); } var manager = new PaintDiscountConfigManager(); foreach (var model in models) { if (string.IsNullOrWhiteSpace(model.ServicePid) || model.SurfaceCount < 1) { return(Json(new { Status = false, Msg = "所有记录的PID不能为空和面数须大于0" }, JsonRequestBehavior.AllowGet)); } else { model.ActivityImage = activityImage; } } var user = User.Identity.Name; var result = manager.MultUpdatePaintConfig(models, user); return(Json(new { Status = result, Msg = $"编辑{(result ? "成功" : "失败")}" }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 更新喷漆打折配置 /// </summary> /// <param name="model"></param> /// <returns></returns> public ActionResult UpdatePaintConfig(PaintDiscountConfigModel model) { if (model == null || string.IsNullOrWhiteSpace(model.ServicePid) || model.SurfaceCount < 1) { return(Json(new { Status = false, Msg = "未知的编辑对象" }, JsonRequestBehavior.AllowGet)); } if (!(model.ActivityPrice > 0)) { return(Json(new { Status = false, Msg = "活动价格须大于0" }, JsonRequestBehavior.AllowGet)); } if (string.IsNullOrWhiteSpace(model.ActivityName)) { return(Json(new { Status = false, Msg = "权益名称不能为空" }, JsonRequestBehavior.AllowGet)); } if (string.IsNullOrWhiteSpace(model.ActivityImage)) { return(Json(new { Status = false, Msg = "活动图片不能为空" }, JsonRequestBehavior.AllowGet)); } var manager = new PaintDiscountConfigManager(); var isExist = manager.IsExistPaintDiscountConfig(model); if (isExist) { return(Json(new { Status = false, Msg = "已存在重复的数据,不能重复编辑" }, JsonRequestBehavior.AllowGet)); } var user = User.Identity.Name; var result = manager.UpdatePaintDiscountConfig(model, user); return(Json(new { Status = result, Msg = $"编辑{(result ? "成功" : "失败")}" }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 获取所有二级城市 /// </summary> /// <returns></returns> public ActionResult GetAllRegions() { var manager = new PaintDiscountConfigManager(); var result = manager.GetAllRegion(); return(Json(new { Status = result != null, Data = result }, JsonRequestBehavior.AllowGet)); }
public ActionResult UploadExcel() { var files = Request.Files; if (files.Count < 1) { return(Json(new { Status = false, Msg = "请选择文件" }, JsonRequestBehavior.AllowGet)); } var file = files[0]; if (file.ContentType != "application/vnd.ms-excel" && file.ContentType != "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") { return(Json(new { Status = false, Msg = "请上传Excel文件" }, JsonRequestBehavior.AllowGet)); } var convertResult = ConvertExcelToList(file); if (!string.IsNullOrEmpty(convertResult.Item2)) { return(Json(new { Status = false, Msg = convertResult.Item2 }, JsonRequestBehavior.AllowGet)); } else if (convertResult.Item1 == null || !convertResult.Item1.Any()) { return(Json(new { Status = false, Msg = "Excel内容为空" }, JsonRequestBehavior.AllowGet)); } else { var manager = new PaintDiscountConfigManager(); var user = User.Identity.Name; var result = manager.UploadPaintDiscountConfig(convertResult.Item1, user); return(Json(new { Status = result, Msg = $"导入{(result ? "成功" : "失败")}" } , JsonRequestBehavior.AllowGet)); } }
/// <summary> /// 查询价格体系配置 /// </summary> /// <param name="packageName"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public ActionResult SelectPackageConfigForView(int packageId, int userType, int pageIndex = 1, int pageSize = 20) { var manager = new PaintDiscountConfigManager(); var result = manager.SelectPaintDiscountPackageForView(packageId, userType, pageIndex, pageSize); return(Json(new { Status = result.Item1 != null, Data = result.Item1, TotalCount = result.Item2 }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 获取该城市下所有喷漆门店 /// </summary> /// <param name="cityId"></param> /// <returns></returns> public ActionResult GetPaintShopsByRegionId(int regionId) { if (regionId < 1) { return(Json(new { Status = false, Msg = "未知的城市" }, JsonRequestBehavior.AllowGet)); } var manager = new PaintDiscountConfigManager(); var result = manager.GetAllPaintShopsByRegionId(regionId); return(Json(new { Status = result.Any(), Data = result }, JsonRequestBehavior.AllowGet)); }
public ActionResult DeletePaintConfig(PaintDiscountConfigModel model) { if (string.IsNullOrWhiteSpace(model.ServicePid) || model.SurfaceCount < 1) { return(Json(new { Status = false, Msg = "未知的删除对象" }, JsonRequestBehavior.AllowGet)); } var manager = new PaintDiscountConfigManager(); var user = User.Identity.Name; var result = manager.DeletePaintDiscountConfig(model.PackageId, model.ServicePid, model.SurfaceCount, user); return(Json(new { Status = result, Msg = $"删除{(result ? "成功" : "失败")}" }, JsonRequestBehavior.AllowGet)); }
public JsonResult GetPaintDiscountOprLog(string servicePid, int surfaceCount, int packageId = 0) { if (string.IsNullOrEmpty(servicePid) || surfaceCount < 1) { return(Json(new { Status = false, Msg = "未知的对象" }, JsonRequestBehavior.AllowGet)); } var logType = "PaintDiscountConfig"; var identityID = $"{packageId}_{servicePid}_{surfaceCount}"; var manager = new PaintDiscountConfigManager(); var result = manager.SelectPaintDiscountOprLog(logType, identityID); return(Json(new { Status = result != null, Data = result }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 编辑城市门店配置 /// </summary> /// <param name="packageId"></param> /// <param name="regionShops"></param> /// <returns></returns> public ActionResult UpsertPackageRegion(int packageId, string regionShops) { if (packageId < 0) { return(Json(new { Status = false, Msg = "未知的喷漆打折价格体系" }, JsonRequestBehavior.AllowGet)); } if (string.IsNullOrWhiteSpace(regionShops)) { return(Json(new { Status = false, Msg = "请配置门店和城市" }, JsonRequestBehavior.AllowGet)); } var manager = new PaintDiscountConfigManager(); var package = manager.GetPaintDiscountPackage(packageId); if (package == null) { return(Json(new { Status = false, Msg = "未知的喷漆打折价格体系" }, JsonRequestBehavior.AllowGet)); } var regionShopPair = null as List <RegionShopPairModel>; try { regionShopPair = JsonConvert.DeserializeObject <List <RegionShopPairModel> >(regionShops); } catch (Exception) { regionShopPair = null; } if (regionShopPair != null && regionShopPair.Any()) { if (regionShopPair.Any(s => (s.RegionId < 1 && s.ShopIds != null && s.ShopIds.Any()) || (s.ShopIds != null && s.ShopIds.Any(v => v < 1)))) { return(Json(new { Status = false, Msg = $"未知的门店" }, JsonRequestBehavior.AllowGet)); } var list = manager.ConvertToPackageRegionModel(packageId, regionShopPair); var exist = manager.GetRepeatPackageRegion(packageId, package.UserType, list); if (exist != null && exist.Any()) { return(Json(new { Status = false, Msg = string.Join("</br>", exist) }, JsonRequestBehavior.AllowGet)); } var result = manager.UpsertPackageRegion(packageId, package.UserType, list, User.Identity.Name); return(Json(new { Status = result, Msg = $"编辑{(result ? "成功" : "失败")}" }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { Status = false, Msg = $"请配置门店和城市" }, JsonRequestBehavior.AllowGet)); } }
/// <summary> /// 移除喷漆打折详情缓存 /// </summary> /// <param name="packageId"></param> /// <param name="servicePid"></param> /// <returns></returns> public ActionResult RemovePaintDiscountDetailCache(int packageId, string servicePid = "") { var manager = new PaintDiscountConfigManager(); var result = false; if (string.IsNullOrWhiteSpace(servicePid)) { result = manager.RefreshPaintDiscountConfigCache(packageId); } else { var cacheKey = $"PaintDiscountPackageDetail/{packageId}/{servicePid}"; result = manager.RemovePaintRedisCache(cacheKey); } return(Json(new { Status = result, Msg = $"刷新缓存{(result ? "成功" : "失败")}" }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 导出数据至Excel /// </summary> /// <returns></returns> public ActionResult ExportExcel() { var workbook = new XSSFWorkbook(); var sheet = workbook.CreateSheet(); var row = sheet.CreateRow(0); var cell = null as ICell; var cellNum = 0; row.CreateCell(cellNum++).SetCellValue("PID"); row.CreateCell(cellNum++).SetCellValue("面数"); row.CreateCell(cellNum++).SetCellValue("活动价"); row.CreateCell(cellNum++).SetCellValue("权益名称"); row.CreateCell(cellNum++).SetCellValue("活动说明"); row.CreateCell(cellNum++).SetCellValue("活动图片"); cellNum = 0; sheet.SetColumnWidth(cellNum++, 14 * 256); sheet.SetColumnWidth(cellNum++, 8 * 256); sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 50 * 256); sheet.SetColumnWidth(cellNum++, 50 * 256); sheet.SetColumnWidth(cellNum++, 28 * 256); var manager = new PaintDiscountConfigManager(); var result = manager.SelectPaintDiscountConfig("", 1, 10000); if (result != null && result.Item1 != null && result.Item1.Any()) { int modelRowCount = 1; foreach (var model in result.Item1) { int modelCol = 0; var modelRow = sheet.CreateRow(modelRowCount); modelRow.CreateCell(modelCol++).SetCellValue(model.ServicePid); modelRow.CreateCell(modelCol++).SetCellValue(model.SurfaceCount); modelRow.CreateCell(modelCol++).SetCellValue((double)model.ActivityPrice); modelRow.CreateCell(modelCol++).SetCellValue(model.ActivityName); modelRow.CreateCell(modelCol++).SetCellValue(model.ActivityExplain); modelRow.CreateCell(modelCol++).SetCellValue(model.ActivityImage); modelRowCount++; } } var ms = new MemoryStream(); workbook.Write(ms); return(File(ms.ToArray(), "application/x-xls", $"喷漆打折配置 {DateTime.Now.ToString("yyyy年MM月dd日HH时mm分ss秒")}.xlsx")); }
/// <summary> /// 移除喷漆打折城市配置缓存 /// </summary> /// <param name="regionId"></param> /// <param name="userType"></param> /// <returns></returns> public ActionResult RemovePackageRegionCache(int packageId, List <int> regionIds) { var result = false; if (packageId < 1 || regionIds == null || !regionIds.Any()) { return(Json(new { Status = false, Msg = "未知的对象" }, JsonRequestBehavior.AllowGet)); } var manager = new PaintDiscountConfigManager(); var package = manager.GetPaintDiscountPackage(packageId); var userTypes = new List <bool>(); switch (package?.UserType) { case (int)UserType.AllUser: userTypes.AddRange(new List <bool>() { true, false }); break; case (int)UserType.NewUser: userTypes.Add(true); break; case (int)UserType.OldUser: userTypes.Add(false); break; default: break; } if (userTypes.Any()) { result = regionIds.All(regionId => userTypes.All(isnew => { var cacheKey = $"PaintDiscountPackageRegion/{regionId}/{isnew}"; return(manager.RemovePaintRedisCache(cacheKey)); })); } return(Json(new { Status = result, Msg = $"刷新缓存{(result ? "成功" : "失败")}" } , JsonRequestBehavior.AllowGet)); }
/// <summary> /// 更新价格体系配置 /// </summary> /// <param name="model"></param> /// <returns></returns> public ActionResult UpdatePackageConfig(PaintDiscountPackageModel model) { if (model == null || model.PKID < 1) { return(Json(new { Status = false, Msg = "未知的编辑对象" }, JsonRequestBehavior.AllowGet)); } if (string.IsNullOrWhiteSpace(model.PackageName)) { return(Json(new { Status = false, Msg = "活动名称不能为空" }, JsonRequestBehavior.AllowGet)); } var manager = new PaintDiscountConfigManager(); var isExist = manager.IsExistPaintDiscountPackage(model); if (isExist) { return(Json(new { Status = false, Msg = "已存在重复的数据,不能重复编辑" }, JsonRequestBehavior.AllowGet)); } var user = User.Identity.Name; var result = manager.UpdatePaintDiscountPackage(model, user); return(Json(new { Status = result, Msg = $"编辑{(result ? "成功" : "失败")}" }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 导出数据至Excel /// </summary> /// <returns></returns> public ActionResult ExportExcel(int packageId = 0) { var workbook = new XSSFWorkbook(); var sheet = workbook.CreateSheet(); var row = sheet.CreateRow(0); var cell = null as ICell; var cellNum = 0; row.CreateCell(cellNum++).SetCellValue("PID"); row.CreateCell(cellNum++).SetCellValue("面数"); row.CreateCell(cellNum++).SetCellValue("活动价"); row.CreateCell(cellNum++).SetCellValue("权益名称"); row.CreateCell(cellNum++).SetCellValue("活动说明"); row.CreateCell(cellNum++).SetCellValue("活动图片"); cellNum = 0; sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 14 * 256); sheet.SetColumnWidth(cellNum++, 8 * 256); sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 50 * 256); sheet.SetColumnWidth(cellNum++, 50 * 256); sheet.SetColumnWidth(cellNum++, 28 * 256); var manager = new PaintDiscountConfigManager(); var packageName = string.Empty; if (packageId > 0) { var package = manager.GetPaintDiscountPackage(packageId); if (package == null) { return(Json(new { Status = false, Msg = "未知的喷漆打折价格体系" }, JsonRequestBehavior.AllowGet)); } else { packageName = package.PackageName; } } var result = manager.GetPaintDiscountDetailByPackageId(packageId); if (result != null && result.Any()) { int modelRowCount = 1; foreach (var model in result) { int modelCol = 0; var modelRow = sheet.CreateRow(modelRowCount); modelRow.CreateCell(modelCol++).SetCellValue(model.ServicePid); modelRow.CreateCell(modelCol++).SetCellValue(model.SurfaceCount); modelRow.CreateCell(modelCol++).SetCellValue((double)model.ActivityPrice); modelRow.CreateCell(modelCol++).SetCellValue(model.ActivityName); modelRow.CreateCell(modelCol++).SetCellValue(model.ActivityExplain); modelRow.CreateCell(modelCol++).SetCellValue(model.ActivityImage); modelRowCount++; } } var ms = new MemoryStream(); workbook.Write(ms); return(File(ms.ToArray(), "application/x-xls", $"喷漆打折价格体系{packageName}的服务价格配置 {DateTime.Now.ToString("yyyy年MM月dd日HH时mm分ss秒")}.xlsx")); }