public async Task <dynamic> CreateTicket([FromBody] SupportCreateModel ticket) { var steamId = User.GetSteamId(); if (!ModelState.IsValid) { return(BadRequest(ticket)); } var res = await _ticketService.AdminCreateTicket(new AdminCreateTicketRequest { Message = new InputMessage { MessageBody = ticket.Message, Name = ticket.Name }, SteamId = ticket.SteamId, Title = ticket.Title }); if (res.DataCase == SingleTicketResponse.DataOneofCase.Error) { return(new ObjectResult(res.Error) { StatusCode = 503 }); } return(Ok(res)); }
public IActionResult CreateSupport(SupportCreateModel model) { Facade.SupportFacade support = new Facade.SupportFacade(); if (!support.Create(model)) { return(FailMessage(support.Msg)); } return(SuccessMessage("创建工单成功!")); }
/// <summary> /// 消息推送表 /// </summary> /// <param name="model"></param> /// <param name="sid"></param> /// <returns></returns> private bool InsertPush(SupportCreateModel model, int sid) { if (model.Push == null) { return(true); } TASM_SUPPORT_PUSH_Da da = new TASM_SUPPORT_PUSH_Da(); TASM_SUPPORT_PUSH pushModel = new TASM_SUPPORT_PUSH() { SID = sid, CC = model.Push.CC, CONDUCTOR = model.Push.CONDUCTOR, CONTENT = model.Push.CONTENT, CREATETIME = DateTime.Now, POINT = (int)Entites.SupportHisType.创建工单, STATUS = 0, TID = sid }; return(da.CurrentDb.Insert(pushModel)); }
/// <summary> /// 修改附件归属 /// </summary> /// <param name="model"></param> /// <param name="sid"></param> /// <returns></returns> private bool UpdateAttachment(SupportCreateModel model, int sid) { if (model.Filelist == null || model.Filelist.Count <= 0) { return(true); } foreach (var item in model.Filelist) { TASM_ATTACHMENTManager manager = new TASM_ATTACHMENTManager(); TASM_ATTACHMENT attModel = manager.CurrentDb.GetById(item.ID); attModel.TYPE = 1; attModel.PID = sid; if (!manager.CurrentDb.Update(attModel)) { Msg = "修改附近信息失败!"; return(false); } } return(true); }
/// <summary> /// 创建工单主表 /// </summary> /// <param name="model"></param> /// <param name="da"></param> /// <param name="sid"></param> /// <param name="supportModel"></param> /// <returns></returns> private bool InsertSupport(SupportCreateModel model, TASM_SUPPORT_Da da, ref int sid, ref TASM_SUPPORT supportModel) { TASM_PROJECTManager projectda = new TASM_PROJECTManager(); TASM_PROJECT projectmodel = projectda.CurrentDb.GetById(model.ProjectId); string code = projectmodel.CODE + "-" + da.SelectSupprotCodeIndex(); supportModel = new TASM_SUPPORT() { CREATOR = model.CreatorId, CONDUCTOR = model.ConductorId, CONTENT = model.Content, CREATETIME = DateTime.Now, FINDATE = model.FindDate, MEMBERID = 0, PROJECT = model.ProjectId, SEVERITY = model.Severity, STATUS = 0, TITLE = model.Title, TYPE = model.Type, STATE = 0, MID = model.Mid, CODE = code }; sid = da.CurrentDb.InsertReturnIdentity(supportModel); if (sid <= 0) { Msg = "添加操作历史失败!"; return(false); } return(true); }
/// <summary> /// 创建工单 /// </summary> /// <param name="model"></param> /// <returns></returns> public bool Create(SupportCreateModel model) { DataAccess.TASM_SUPPORT_Da da = new TASM_SUPPORT_Da(); try { da.Db.BeginTran(); Logger.LogInformation("=====开始创建工单========"); int sid = 0; TASM_SUPPORT supportModel = new TASM_SUPPORT(); //插入工单表 if (!InsertSupport(model, da, ref sid, ref supportModel)) { Logger.LogInformation("插入工单表失败"); da.Db.RollbackTran(); return(false); } //插入操作历史表 if (!InsertHistory(supportModel, sid)) { Logger.LogInformation("插入历史表失败"); da.Db.RollbackTran(); return(false); } //添加处理人表 if (!InsertPersonal(supportModel, sid)) { Logger.LogInformation("插入处理人表失败"); da.Db.RollbackTran(); return(false); } //修改附件信息 if (!UpdateAttachment(model, sid)) { Logger.LogInformation("修改附件信息失败"); da.Db.RollbackTran(); return(false); } //添加推送消息 if (!InsertPush(model, sid)) { Logger.LogInformation("添加推送消息失败"); da.Db.RollbackTran(); return(false); } //发送通知-----非推送消息,推送消息 需要windows服务去跑 if (!PushMessage(sid, da)) { Logger.LogInformation("推送消息失败"); da.Db.RollbackTran(); return(false); } Logger.LogInformation("=====结束创建工单========"); da.Db.CommitTran(); this.Msg = "创建成功!"; return(true); } catch (Exception e) { da.Db.RollbackTran(); Logger.LogInformation("" + e); this.Msg = "创建工单失败!"; return(false); } }