public ResponseBaseViewModel <AuditOrderResponseViewModel> Audit([FromBody] AuditOrderRequestViewModel request) { if (request == null) { request = new AuditOrderRequestViewModel(); } request.Cid = this.GetCid(); AuditOrderResponseViewModel responseViewModel = _auditOrderApplication.RunAudit(request); ResponseBaseViewModel <AuditOrderResponseViewModel> v = new ResponseBaseViewModel <AuditOrderResponseViewModel> { Flag = new ResponseCodeViewModel() { Code = responseViewModel.Code, MojoryToken = this.GetToken() }, Data = responseViewModel }; return(v); }
public AuditOrderResponseViewModel RunAudit(AuditOrderRequestViewModel request) { //1.根据Cid查询客户信息 CustomerModel customerModel = _getCustomerServiceBll.GetCustomerByCid(request.Cid); if (string.IsNullOrEmpty(customerModel.IsCheckPerson) || customerModel.IsCheckPerson.ToUpper() != "T") { throw new Exception("当前用户无权审批"); } AuditOrderResponseViewModel responseViewModel = new AuditOrderResponseViewModel(); AuditTypeQueryModel query = new AuditTypeQueryModel() { OrderSourceType = request.OrderSourceType, Cid = request.Cid, Id = request.Id, AuditCustomer = customerModel, IsAgree = request.IsAgree, AuditStep = request.AuditStep }; //机票类型审批 List <OrderSourceTypeEnum> fltOrderSourceTypeList = new List <OrderSourceTypeEnum>() { OrderSourceTypeEnum.Flt, OrderSourceTypeEnum.FltModApply, OrderSourceTypeEnum.FltRetApply }; if (fltOrderSourceTypeList.Contains(query.OrderSourceType)) { using (var transaction = this.Context.Database.BeginTransaction()) { try { //1.进行审批 AuditResultModel auditResultModel = _auditFltOrderServiceBll.RunAudit(query); responseViewModel.Code = auditResultModel.Code; if (auditResultModel.OwnCid != 0) { #region 推送app信息 /** * 这里推送app消息分为两种: * 1.推送审核结果给订单所属用户 * 2.如果存在下一级审核并且当前审核通过,则推送审核给下一级审核人 * */ //1.推送审核结果给订单所属用户 _addSendAppMessageServiceBll.AddAppAuditResultMessage(new SendAppAuditResultMessageModel() { IsAgree = request.IsAgree, AuditResult = auditResultModel.AuditResult, Cid = auditResultModel.OwnCid, OrderId = auditResultModel.Id, OrderType = auditResultModel.OrderType, SendType = SendAppMessageTypeEnum.AuditResultNotice }); //2.如果存在下一级审核并且当前审核通过,则推送审核给下一级审核人 if (auditResultModel.NextAuditCid.HasValue && request.IsAgree) { _addSendAppMessageServiceBll.AddAppWaitAuditMessage(new SendAppAuditResultMessageModel() { Cid = auditResultModel.NextAuditCid.Value, OrderId = auditResultModel.Id, OrderType = auditResultModel.OrderType, SendType = SendAppMessageTypeEnum.WaitAuditNotice }); } #endregion } transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw; } } } else { throw new Exception("审批类型不正确!"); } return(responseViewModel); }