/// <summary> /// 审核通过的处理 /// </summary> /// <param name="entity"></param> protected virtual void PassAudit(SOIncomeRefundInfo entity) { if (entity.RefundCashAmt > 0 && entity.RefundPayType == RefundPayType.GiftCardRefund && (entity.OrderType == RefundOrderType.AO || entity.OrderType == RefundOrderType.OverPayment)) { //调用IM接口创建一张电子礼品卡,礼品卡类型为[CS补偿电子卡] var giftCardResultCode = ExternalDomainBroker.CreateElectronicGiftCard(entity.SOSysNo.Value, entity.CustomerSysNo.Value, 1, entity.RefundCashAmt.Value , ECCentral.BizEntity.IM.GiftCardType.Compensate, "退款转礼品卡", entity.CompanyCode); //发送邮件通知用户 SendGiftCardEmail(entity, giftCardResultCode); //记录操作日志 ObjectFactory<ICommonBizInteract>.Instance.CreateOperationLog( GetMessageString("SOIncomeRefund_Log_PassAudit", ServiceContext.Current.UserSysNo, entity.SysNo, entity.RefundCashAmt) , BizLogType.AuditRefund_Update , entity.SysNo.Value , entity.CompanyCode); } //更新用户账户余额 if (entity.RefundPayType == RefundPayType.PrepayRefund && entity.RefundCashAmt != 0) { if (entity.OrderType == RefundOrderType.AO) { ExternalDomainBroker.AdjustCustomerPerpayAmount(entity.CustomerSysNo.Value, entity.OrderSysNo.Value, entity.RefundCashAmt.Value, PrepayType.BOReturn, GetMessageString("SOIncomeRefund_AuditAOAdjustBalanceNote")); } else if (entity.OrderType == RefundOrderType.OverPayment) { ExternalDomainBroker.AdjustCustomerPerpayAmount(entity.CustomerSysNo.Value, entity.OrderSysNo.Value, entity.RefundCashAmt.Value, PrepayType.RemitReturn, GetMessageString("SOIncomeRefund_AuditOverPayAdjustBalanceNote")); } else if (entity.OrderType == RefundOrderType.RO && entity.HaveAutoRMA == true) { ExternalDomainBroker.AdjustCustomerPerpayAmount(entity.CustomerSysNo.Value, entity.OrderSysNo.Value, entity.RefundCashAmt.Value, PrepayType.ROReturn, GetMessageString("SOIncomeRefund_AuditROShipRejectPrepayRefundNote")); } //else if (entity.OrderType == RefundOrderType.RO_Adjsut) //{ // ExternalDomainBroker.AdjustCustomerPerpayAmount(entity.CustomerSysNo.Value, entity.OrderSysNo.Value, entity.RefundCashAmt.Value, PrepayType.RO_AdjustReturn, GetMessageString("SOIncomeRefund_AuditROAdjustNote")); //} } }