using YLErp.Modules.ClientModule; namespace YLErp.Web.Controllers { public class clientblackController : BaseController { [MyAuthorize("客户管理-黑名单客户")] public ActionResult clientblacklist() { return View(); } [HttpPost] public JsonResult clientblacklistQuery(ClientBlackReq req) { var sList = new ClientBlackService(CurUser).SearchList(req); return Json(sList); } public ActionResult clientblackAdd(int id = 0) { var clientBlack = DataCacheProvider.GetClientBlackDataSource().GetData(id) ?? new client_black(); return View(clientBlack); } public JsonResult ClientBlackAddJson(client_black client, bool checkStatus) { if (string.IsNullOrEmpty(client.Name)) { return JsonError("客户名称不能为空"); } new ClientBlackService(CurUser).AddClientBlack(new[] { client }, checkStatus); return JsonSuccess("", client); } /// /// 导入黑名单 /// public ActionResult UploadSettlementBill(IFormFile file, bool checkStatus) { try { if (file == null || string.IsNullOrWhiteSpace(file.FileName)) { return JsonError("未获取上传文件"); } var fileExtension = Path.GetExtension(file.FileName); using var inputStream = file.OpenReadStream(); new ClientBlackService(CurUser).ImportxlsxClientBlack(inputStream, checkStatus); return JsonSuccess("导入成功"); } catch (Exception ex) { LogFactory.GetLogger("导入黑名单").Error("导入黑名单出错", ex); return JsonError(ex.Messages()); } } public ActionResult DeleteClientBlack(string ids) { var datalist = ids.Split(','); var list = new List(); foreach (var item in datalist) { var data = clientDB.client_black.Find(int.Parse(item)); if (data == null) { return JsonError("未找到要删除的数据"); } else { var clitid = clientDB.client.Where(c => c.Name == data.Name).FirstOrDefault(); if (clitid != null) { clientDB.ClientAuditLog.Add(new ClientAuditLog { ClientId = clitid.id, OptType = "移除黑名单", Changes = string.Empty, DataType = "00", OptId = UserId, OptName = UserName, OptDate = DateTime.Now }); } clientDB.client_black.Remove(data); } } clientDB.SaveChanges(); return JsonSuccess("删除成功"); } /// /// 黑名单导出 /// [HttpPost] public object ExportClientBlack(ClientBlackReq req) { var bytes = new ClientBlackService(CurUser).ExportClientBlack(req); return File(bytes, xlsxMimeType, $"黑名单导出-{DateTime.Now:yyyy-MM-dd}.xlsx"); } } }