/// <summary> /// 更新优惠券审核记录 /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <int> UpdateCouponGetRuleAuditAsync(GetCouponRuleAuditModel request, CancellationToken cancellationToken) { GetCouponRuleAuditEntity entity = ObjectMapper.ConvertTo <GetCouponRuleAuditModel, GetCouponRuleAuditEntity>(request); int pkid = await _ICouponGetRuleAuditRepository.UpdateAsync(entity, cancellationToken).ConfigureAwait(false) ? entity.PKID : 0; return(pkid); }
/// <summary> /// 审核成功 同步到领取规则 /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async ValueTask <int> SaveAuditToGetRuleAsync(GetCouponRuleAuditModel request, CancellationToken cancellationToken) { int pkid = 0; try { CouponGetRuleEntity entity = ObjectMapper.ConvertTo <GetCouponRuleAuditModel, CouponGetRuleEntity>(request); entity.PKID = request.GetCouponRulePKID; if (entity.PKID > 0) { pkid = await _ICouponGetRuleRepository.UpdateAsync(entity, cancellationToken).ConfigureAwait(false) ? entity.PKID : 0; } else { pkid = await _ICouponGetRuleRepository.CreateAsync(entity, cancellationToken).ConfigureAwait(false); } return(pkid); } catch (Exception ex) { _logger.Error($"UpdateCouponGetRuleAuditAsync Exception {JsonConvert.SerializeObject(request)}", ex); return(0); } }
/// <summary> /// 更新优惠券审核状态 【工单审核成功通知MQ中调用】 /// </summary> /// <param name="request"></param> /// <returns></returns> public async override ValueTask <OperationResult <bool> > UpdateCouponGetRuleAuditAsync([FromBody] UpdateCouponGetRuleAuditRequest request) { #region 1.更新审核记录的状态 并 添加日志 //1.获取优惠券审核的信息 var couponGetRuleAuditList = await _ICouponGetRuleAuditManager.GetCouponGetRuleAuditByWorkOrderIdAsync(request.WorkOrderId, HttpContext.RequestAborted).ConfigureAwait(false); GetCouponRuleAuditModel couponGetRuleAuditModelBefore = couponGetRuleAuditList.Where(p => p.AuditStatus == (int)WorkOrderAuditStatusEnum.审批中).FirstOrDefault(); if (couponGetRuleAuditModelBefore == null) { return(OperationResult.FromError <bool>("-1", $@"未查询到WorkOrderId ={request.WorkOrderId}审核记录")); } GetCouponRuleAuditModel couponGetRuleAuditModelAfter = ObjectMapper.ConvertTo <GetCouponRuleAuditModel, GetCouponRuleAuditModel>(couponGetRuleAuditModelBefore); couponGetRuleAuditModelAfter.Auditor = request.Auditor; WorkOrderAuditStatusEnum status; Enum.TryParse(request.AuditStatus, out status); couponGetRuleAuditModelAfter.AuditStatus = (int)(status); couponGetRuleAuditModelAfter.AuditDateTime = request.AuditDateTime == new DateTime() ? DateTime.Now : request.AuditDateTime; couponGetRuleAuditModelAfter.AuditMessage = request.AuditMessage; couponGetRuleAuditModelAfter.Auditor = request.Auditor; //更新审核记录的审核信息 var UpdateAudit = await _ICouponGetRuleAuditManager.UpdateCouponGetRuleAuditAsync(couponGetRuleAuditModelAfter, HttpContext.RequestAborted).ConfigureAwait(false); if (UpdateAudit == 0) { return(OperationResult.FromError <bool>("-1", $@"更新审核记录异常")); } //2.添加日志 GetCouponGetRuleAuditorResponse response = new GetCouponGetRuleAuditorResponse(); var ConfigResult = await _IConfigLogService.InsertDefaultLogQueue(GlobalConstant.LogTypeCouponGetRuleAudit, JsonConvert.SerializeObject(new { ObjectId = couponGetRuleAuditModelBefore.PKID, ObjectType = GlobalConstant.LogObjectTypeCouponGetRuleAudit, BeforeValue = JsonConvert.SerializeObject(couponGetRuleAuditModelBefore), AfterValue = JsonConvert.SerializeObject(couponGetRuleAuditModelAfter), Operate = "修改审核记录", Author = couponGetRuleAuditModelAfter.Auditor })).ConfigureAwait(false); #endregion #region 2.将审核通过的内容更新到领取规则表 & 推送给申请人 & 添加日志 if (couponGetRuleAuditModelAfter.AuditStatus == (int)WorkOrderAuditStatusEnum.审批通过) //审核通过 { //审核成功 同步到领取规则 var pkid = await _ICouponGetRuleManager.SaveAuditToGetRuleAsync(couponGetRuleAuditModelAfter, HttpContext.RequestAborted).ConfigureAwait(false); if (pkid == 0) { return(OperationResult.FromError <bool>("-1", "审核成功,更新优惠券领取规则失败")); } else//更新优惠券领取规则 成功 { ConfigResult = await _IConfigLogService.InsertDefaultLogQueue(GlobalConstant.LogTypeCouponGetRuleAudit, JsonConvert.SerializeObject(new { ObjectId = pkid, ObjectType = GlobalConstant.LogObjectTypeCouponGetRule, BeforeValue = "", AfterValue = JsonConvert.SerializeObject(couponGetRuleAuditModelAfter), Operate = "审核成功同步优惠券领取规则", Author = couponGetRuleAuditModelAfter.Auditor })).ConfigureAwait(false); //3.更新优惠券领取规则的缓存 var refreshResult = await _ICreatePromotionService.RefreshGetCouponRulesCache(couponGetRuleAuditModelAfter.GetRuleGUID).ConfigureAwait(false); } } #endregion return(OperationResult.FromResult(UpdateAudit > 0)); }