コード例 #1
0
        public void Deal(EventContract msg)
        {
            var     bus = MqBusMgr.GetInstance();
            OptEnum operation;

            Enum.TryParse(msg.Operation.ToString(), out operation);

            var evaluation = new ObjectEvaluationFacade();
            var list       = evaluation.GetEvaluationEntityListByOrderId(msg.Id);

            foreach (var entity in list)
            {
                var evaluationContract = new OrderCommentsContract()
                {
                    Operation = operation,
                };
                if (msg.Operation != Zmind.EventBus.Contract.OptEnum.Delete)
                {
                    var type = string.Empty;
                    evaluationContract.CommentType = entity.ObjectID == entity.OrderID ? 2 : 1;
                    evaluationContract.CreateTime  = entity.CreateTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
                    evaluationContract.IsAnonymity = entity.IsAnonymity.Value;
                    evaluationContract.ItemComment = entity.Content;
                    evaluationContract.ItemLevel   = entity.StarLevel.Value;
                    evaluationContract.OrderId     = entity.OrderID;
                    evaluationContract.SkuID       = entity.ObjectID;
                    evaluationContract.StarLevel1  = entity.StarLevel1.Value;
                    evaluationContract.StarLevel2  = entity.StarLevel2.Value;
                    evaluationContract.StarLevel3  = entity.StarLevel3.Value;
                    evaluationContract.VipId       = entity.VipID;

                    bus.Publish <IZmindToXgx>(evaluationContract);
                }
            }
        }
コード例 #2
0
        public void Deal(EventContract msg)
        {
            var     bus = MqBusMgr.GetInstance();
            OptEnum operation;

            Enum.TryParse(msg.Operation.ToString(), out operation);
            operation = OptEnum.Create;
            var sysVipCardType = new SysVipCardTypeContract()
            {
                Operation     = operation,
                VipCardTypeID = Convert.ToInt32(msg.Id)
            };

            if (msg.Operation != Zmind.EventBus.Contract.OptEnum.Delete)
            {
                var sysVipCardTypeFacade = new SysVipCardTypeFacade();
                var result = sysVipCardTypeFacade.GetCardTypeIDByTypeId(sysVipCardType.VipCardTypeID);
                if (result == null)
                {
                    return;
                }
                sysVipCardType.VipCardTypeName = result.VipCardTypeName;
                sysVipCardType.VipCardLevel    = result.VipCardLevel.ToString();
            }
            bus.Publish <IZmindToXgx>(sysVipCardType);
        }
コード例 #3
0
        public void Deal(EventContract msg)
        {
            var     bus = MqBusMgr.GetInstance();
            OptEnum operation;

            Enum.TryParse(msg.Operation.ToString(), out operation);
            var vipContract = new VipContract
            {
                Operation = operation,
                VipId     = msg.Id
            };

            if (msg.Operation != Zmind.EventBus.Contract.OptEnum.Delete)
            {
                var vipFacade = new VipFacade();
                var vipEntity = vipFacade.GetById(msg.Id);
                if (vipEntity == null)
                {
                    return;
                }
                vipContract.VipName    = vipEntity.VipName;
                vipContract.VipCode    = vipEntity.VipCode;
                vipContract.CreateTime = vipEntity.CreateTime;
                vipContract.ModifyTime = vipEntity.LastUpdateTime;

                vipContract.Phone    = vipEntity.Phone;
                vipContract.IdType   = vipEntity.IDType;
                vipContract.IdNumber = vipEntity.IDNumber;
                if (string.IsNullOrEmpty(vipEntity.Birthday))
                {
                    vipContract.Birthday = null;
                }
                else
                {
                    vipContract.Birthday = DateTime.Parse(vipEntity.Birthday);
                }
                vipContract.Gender   = vipEntity.Gender != null ? vipEntity.Gender.Value : 1;
                vipContract.Email    = vipEntity.Email;
                vipContract.OpenID   = vipEntity.WeiXinUserId;
                vipContract.WeiXinID = vipEntity.WeiXin;
                //  vipContract.VipLevel = vipEntity.VipLevel != null ? vipEntity.VipLevel.Value : 1;
                //获取会员对应的卡类别
                //查询最低等级的会员卡类型
                SysVipCardTypeFacade _SysVipCardTypeFacade = new SysVipCardTypeFacade();
                SysVipCardTypeEntity vipCardTypeInfo       = _SysVipCardTypeFacade.GetVipCardTypeByVipID(msg.Id);
                if (vipCardTypeInfo != null)
                {
                    vipContract.VipCardTypeID = (int)vipCardTypeInfo.VipCardTypeID;
                }
                vipContract.OldVipID = msg.OtherCon;
            }


            bus.Publish <IZmindToXgx>(vipContract);
        }
コード例 #4
0
ファイル: UnitDomainService.cs プロジェクト: radtek/crm
        public void Deal(EventContract msg)
        {
            var     bus = MqBusMgr.GetInstance();
            OptEnum operation;

            Enum.TryParse(msg.Operation.ToString(), out operation);
            var unitContract = new UnitContract
            {
                Operation = operation,
                UnitId    = msg.Id
            };

            if (msg.Operation != Zmind.EventBus.Contract.OptEnum.Delete)
            {
                var unitFacade = new t_unitFacade();
                var result     = unitFacade.GetUnitById(msg.Id);
                if (result == null)
                {
                    return;
                }
                unitContract.UnitCode      = result.unit_code;
                unitContract.UnitName      = result.unit_name;
                unitContract.TypeCode      = result.type_code;
                unitContract.ParentUnitId  = result.src_unit_id;
                unitContract.UnitNameEn    = result.unit_name_en;
                unitContract.UnitNameShort = result.unit_name_short;
                unitContract.City1Name     = result.city1_name;
                unitContract.City2Name     = result.city2_name;
                unitContract.City3Name     = result.city3_name;
                unitContract.UnitAddress   = result.unit_address;
                unitContract.UnitContact   = result.unit_contract;
                unitContract.UnitTel       = result.unit_tel;
                unitContract.UnitFax       = result.unit_fax;
                unitContract.UnitEmail     = result.unit_email;
                unitContract.UnitPostcode  = result.unit_postcode;
                unitContract.UnitRemark    = result.unit_remark;
                unitContract.CreateTime    = string.IsNullOrEmpty(result.create_time) ? null : DateTime.Parse(result.create_time);
                unitContract.ModifyTime    = string.IsNullOrEmpty(result.modify_time) ? null : DateTime.Parse(result.modify_time);
                unitContract.StoreType     = result.StoreType;
            }
            bus.Publish <IZmindToXgx>(unitContract);
        }
コード例 #5
0
ファイル: UserDomainService.cs プロジェクト: radtek/crm
        public void Deal(EventContract msg)
        {
            var     bus = MqBusMgr.GetInstance();
            OptEnum operation;

            Enum.TryParse(msg.Operation.ToString(), out operation);
            var userContract = new UserContract
            {
                Operation = operation,
                UnitId    = msg.Id
            };

            if (msg.Operation != Zmind.EventBus.Contract.OptEnum.Delete)
            {
                var userFacade = new T_UserFacade();
                var result     = userFacade.GetUserById(msg.Id);
                if (result == null)
                {
                    return;
                }
                userContract.UserCode      = result.user_code;
                userContract.UserName      = result.user_name;
                userContract.UserTelephone = result.user_telephone;
                userContract.CreateTime    = string.IsNullOrEmpty(result.create_time) ? null : DateTime.Parse(result.create_time);
                userContract.ModifyTime    = string.IsNullOrEmpty(result.modify_time) ? null : DateTime.Parse(result.modify_time);
                userContract.UnitId        = result.unit_id;
                userContract.RoleCode      = new List <RoleEnum>();
                var roleResult = userFacade.GetUserRoleCode(msg.Id);
                if (roleResult != null)
                {
                    foreach (var i in roleResult)
                    {
                        RoleEnum role;
                        Enum.TryParse(i, out role);
                        userContract.RoleCode.Add(role);
                    }
                }
            }
            bus.Publish <IZmindToXgx>(userContract);
        }
コード例 #6
0
        public void Deal(EventContract msg)
        {
            var     bus = MqBusMgr.GetInstance();
            OptEnum operation;

            Enum.TryParse(msg.Operation.ToString(), out operation);
            var paymentDetails = new OrderPaymentDetailsContract()
            {
                Operation = operation
            };

            if (msg.Operation != Zmind.EventBus.Contract.OptEnum.Delete)
            {
                var paymentFacade = new PaymentDetailFacade();
                var result        = paymentFacade.GetPaymentById(msg.Id);

                paymentDetails.OrderId     = result.Inout_Id;
                paymentDetails.PayAmount   = result.Price;
                paymentDetails.PayTime     = result.CreateTime;
                paymentDetails.PaymentType = GetEnumByCode(result.Payment_Type_Code);
            }

            bus.Publish <IZmindToXgx>(paymentDetails);
        }
コード例 #7
0
        /// <summary>
        /// 发送邮件请求到MQ
        /// </summary>
        /// <param name="eRequest"></param>
        /// <returns></returns>
        public EmailResponse SendEmail(EmailRequest eRequest)
        {
            if (!CheckParas(eRequest))
            {
                return(_eResponse);
            }
            var emailId     = Guid.NewGuid().ToString("N");
            var emailFacade = new EmailFacade();

            try
            {
                while (emailFacade.IsEmailIdExist(emailId))
                {
                    emailId = Guid.NewGuid().ToString("N");
                }
            }
            catch (Exception ex)
            {
                loger.Error("数据库查询EmailId是否存在失败--EmailId:{0}--Exception:{1}".FormatWith(new object[] { emailId, ex }));
            }
            var emailDto = ConverToCommonDTO(emailId, eRequest);

            _eResponse.Success = true;
            _eResponse.EmailId = emailId;
            _eResponse.ErrMsg  = "";
            loger.Info("开始转发--EmailId:{0}".FormatWith(emailId));
            var bus = MqBusMgr.GetInstance();

            if (!bus.IsConnected || bus.IsNull())
            {
                _eResponse.Success = false;
                _eResponse.ErrMsg  = "无法连接RabbitMQ";
                loger.Error("无法连接RabbitMQ--EmailId:{0}".FormatWith(emailId));
            }
            else
            {
                try
                {
                    bus.PublishAsync(emailDto).ContinueWith(task =>
                    {
                        if (!(task.IsCompleted && !task.IsFaulted))
                        {
                            _eResponse.Success = false;
                            _eResponse.ErrMsg  = string.Format("发送RabbitMQ失败");
                            loger.Error("发送RabbitMQ失败--EmailId:{0}--Exception:{1}".FormatWith(new object[] { emailId, task.Exception }));
                        }
                    }).Wait();
                }
                catch (Exception ex)
                {
                    _eResponse.Success = false;
                    _eResponse.ErrMsg  = string.Format("发送RabbitMQ失败");
                    loger.Error("发送RabbitMQ失败--EmailId:{0}--Exception:{1}".FormatWith(new object[] { emailId, ex }));
                }
            }
            //保存数据库
            var email = new Email
            {
                EmailId           = emailDto.Id,
                AppId             = emailDto.AppId,
                EmailCC           = emailDto.CC,
                EmailContent      = emailDto.Content,
                EmailErrMsg       = _eResponse.ErrMsg,
                EmailReceivedTime = DateTime.Now,
                EmailSentTime     = DateTime.Now,
                EmailStatus       = EmailStatus.Received.ToString(),
                EmailSubject      = emailDto.Subject,
                EmailToAddr       = emailDto.ToAddr
            };

            try
            {
                emailFacade.AddEmail(email);
            }
            catch (Exception ex)
            {
                loger.Error("数据库增加Email记录失败--EmailId:{0}--Exception:{1}".FormatWith(new object[] { emailId, ex }));
            }
            loger.Info("结束转发--EmailId:{0}--结果:{1}".FormatWith(new object[] { emailId, _eResponse.Success }));
            return(_eResponse);
        }
コード例 #8
0
 protected void Application_Start(object sender, EventArgs e)
 {
     log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo("log4net.config"));
     var bus = MqBusMgr.GetInstance();
 }
コード例 #9
0
ファイル: Global.asax.cs プロジェクト: radtek/CustomerManage
 protected void Application_Start(object sender, EventArgs e)
 {
     var bus = MqBusMgr.GetInstance();
 }
コード例 #10
0
ファイル: SmsRepeater.cs プロジェクト: hablan/Mainline
        /// <summary>
        /// 发送邮件请求到MQ
        /// </summary>
        /// <param name="eRequest"></param>
        /// <returns></returns>
        public SMSResponse SendSMS(SMSRequest eRequest)
        {
            if (!CheckParas(eRequest))
            {
                return(_eResponse);
            }
            var smsId     = Guid.NewGuid().ToString("N");
            var smsFacade = new SMSFacade();

            try
            {
                while (smsFacade.IsSMSIdExist(smsId))
                {
                    smsId = Guid.NewGuid().ToString("N");
                }
            }
            catch (Exception ex)
            {
                loger.Error("数据库查询SMSId是否存在失败--SMSId:{0}--Exception:{1}".FormatWith(new object[] { smsId, ex }));
            }
            var smsDto = ConverToCommonDTO(smsId, eRequest);

            _eResponse.Success = true;
            _eResponse.SMSId   = smsId;
            _eResponse.ErrMsg  = "";

            loger.Info("开始转发--SMSId:{0}".FormatWith(smsId));
            var bus = MqBusMgr.GetInstance();

            if (!bus.IsConnected || bus.IsNull())
            {
                _eResponse.Success = false;
                _eResponse.ErrMsg  = "无法连接RabbitMQ";
                loger.Error("无法连接RabbitMQ--SMSId:{0}".FormatWith(smsId));
            }
            try
            {
                bus.PublishAsync(smsDto).ContinueWith(task =>
                {
                    if (!(task.IsCompleted && !task.IsFaulted))
                    {
                        _eResponse.Success = false;
                        _eResponse.ErrMsg  = string.Format("发送RabbitMQ失败");
                        loger.Error("发送RabbitMQ失败--SMSId:{0}--Exception:{1}".FormatWith(new object[] { smsId, task.Exception }));
                    }
                }).Wait();
            }
            catch (Exception ex)
            {
                _eResponse.Success = false;
                _eResponse.ErrMsg  = string.Format("发送RabbitMQ失败");
                loger.Error("发送RabbitMQ失败--SMSId:{0}--Exception:{1}".FormatWith(new object[] { smsId, ex }));
            }
            //保存数据库
            var sms = new SMS
            {
                SMSId           = smsDto.Id,
                AppId           = smsDto.AppId,
                SMSContent      = smsDto.Content,
                SMSErrMsg       = _eResponse.ErrMsg,
                SMSMobile       = smsDto.Mobile,
                SMSReceivedTime = DateTime.Now,
                SMSSentTime     = DateTime.Now,
                SMSStatus       = SMSStatus.Received.ToString()
            };

            try
            {
                smsFacade.AddSMS(sms);
            }
            catch (Exception ex)
            {
                loger.Error("数据库增加SMS记录失败--SMSId:{0}--Exception:{1}".FormatWith(new object[] { smsId, ex }));
            }
            loger.Info("结束转发--SMSId:{0}--结果:{1}".FormatWith(new object[] { smsId, _eResponse.Success }));
            return(_eResponse);
        }
コード例 #11
0
ファイル: Program.cs プロジェクト: radtek/crm
 private static void Publish1<T>(T msg) where T : IZmindToXgx
 {
     var bus = MqBusMgr.GetInstance();
     bus.Publish<IZmindToXgx>(msg);
     bus.Dispose();
 }
コード例 #12
0
ファイル: Program.cs プロジェクト: radtek/crm
 private static void Publish<T>(T msg) where T : IXgxToZmind
 {
     var bus = MqBusMgr.GetInstance();
     bus.Publish<IXgxToZmind>(msg);
     bus.Dispose();
 }
コード例 #13
0
ファイル: OrderDomainService.cs プロジェクト: radtek/crm
        public void Deal(EventContract msg)
        {
            var     bus = MqBusMgr.GetInstance();
            OptEnum operation;

            Enum.TryParse(msg.Operation.ToString(), out operation);
            var orderContract = new OrderContract()
            {
                Operation = operation,
                OrderId   = msg.Id
            };

            if (msg.Operation != Zmind.EventBus.Contract.OptEnum.Delete)
            {
                var orderFacade = new T_InoutFacade();
                var result      = orderFacade.GetOrderByOrderId(msg.Id);
                if (result == null)
                {
                    return;
                }

                var orderStatus = (EnumOrderStatus)Enum.Parse(typeof(EnumOrderStatus), result.Field7);
                if (orderStatus != EnumOrderStatus.PendingPay)
                {
                    //return;
                }
                orderContract.OrderNo            = result.order_no;
                orderContract.OrderType          = GetEnumOrderType(result.order_type_id);
                orderContract.OrderReason        = GetEnumOrderReason(result.order_reason_id);
                orderContract.OrderDate          = result.order_date ?? String.Empty;
                orderContract.RequestDate        = result.reserveDay ?? String.Empty;
                orderContract.RequestDateQuantum = result.reserveQuantum ?? String.Empty;
                orderContract.CompleteDate       = result.complete_date ?? String.Empty;
                orderContract.CreateUnit         = result.unit_id ?? String.Empty;
                orderContract.TotalAmount        = result.total_amount;
                orderContract.DiscountRate       = result.discount_rate;
                orderContract.ActualAmount       = result.actual_amount;
                orderContract.ReceivePoints      = result.receive_points;
                orderContract.PayPoints          = result.pay_points;
                orderContract.Remark             = result.remark ?? String.Empty;
                orderContract.Status             = orderStatus;
                orderContract.TotalQty           = result.total_qty;
                orderContract.TotalRetail        = result.total_retail;
                orderContract.KeepTheChange      = result.keep_the_change;
                orderContract.WipingZero         = result.wiping_zero;
                orderContract.VipNo         = result.vip_no ?? String.Empty;
                orderContract.CreateTime    = result.create_time ?? String.Empty;
                orderContract.CreateUserId  = result.create_user_id ?? String.Empty;
                orderContract.ApproveTime   = result.approve_time ?? String.Empty;
                orderContract.ApproveUserId = result.approve_user_id ?? String.Empty;
                orderContract.SendUserId    = result.send_user_id ?? String.Empty;
                orderContract.SendTime      = result.send_time ?? String.Empty;
                orderContract.AccpectUserId = result.accpect_user_id ?? String.Empty;
                orderContract.AccpectTime   = result.accpect_time ?? String.Empty;
                orderContract.ModifyUserId  = result.modify_user_id ?? String.Empty;
                orderContract.ModifyTime    = result.modify_time ?? String.Empty;
                orderContract.DataFrom      =
                    (EnumOrderDataFrom)Enum.Parse(typeof(EnumOrderDataFrom), result.data_from_id ?? _dataFrom);
                orderContract.SalesUnt          = result.sales_unit_id ?? String.Empty;
                orderContract.PurchaseUnit      = result.purchase_unit_id ?? String.Empty;
                orderContract.SalesWarehouse    = result.sales_warehouse_id ?? String.Empty;
                orderContract.PurchaseWarehouse = result.purchase_warehouse_id ?? String.Empty;
                orderContract.IsPay             = (EnumIsPay)int.Parse(result.Field1);
                orderContract.TrackingNumber    = result.Field2 ?? String.Empty;
                orderContract.BalancePayment    = result.Field3 ?? String.Empty;
                orderContract.Address           = result.Field4 ?? String.Empty;
                orderContract.Phone             = result.Field6 ?? String.Empty;
                orderContract.Delivery          = (EnumDelivery)int.Parse(result.Field8);
                orderContract.DeliveryDateTime  = result.Field9 ?? String.Empty;
                orderContract.UserName          = result.Field14 ?? String.Empty;
                orderContract.CashBack          = result.ReturnCash;
                orderContract.DetailList        = new List <OrderDetail>();

                #region 明细数据

                var orderDetailFacade = new T_InoutDetailFacade();
                var itemFacade        = new T_ItemFacade();

                var         resultList = orderDetailFacade.GetOrderDetailListByOrderId(msg.Id);
                OrderDetail tmpDetail;

                foreach (var detialEntity in resultList)
                {
                    var item = itemFacade.GetItemBySkuId(detialEntity.sku_id);

                    tmpDetail = new OrderDetail();
                    tmpDetail.OrderDetailId  = detialEntity.order_detail_id;
                    tmpDetail.SKUID          = detialEntity.sku_id;
                    tmpDetail.UnitId         = orderContract.CreateUnit;
                    tmpDetail.OrderQty       = detialEntity.order_qty;
                    tmpDetail.EnterQty       = detialEntity.enter_qty;
                    tmpDetail.EnterPrice     = detialEntity.enter_price;
                    tmpDetail.EnterAmount    = detialEntity.enter_amount;
                    tmpDetail.StdPrice       = detialEntity.std_price;
                    tmpDetail.RetailPrice    = detialEntity.retail_price;
                    tmpDetail.RetailAmount   = detialEntity.retail_amount;
                    tmpDetail.PlanPrice      = detialEntity.plan_price;
                    tmpDetail.ReceiverPoints = detialEntity.receive_points;
                    tmpDetail.PayPoints      = detialEntity.pay_points;
                    tmpDetail.Remark         = detialEntity.remark;
                    tmpDetail.PosOrderCode   = detialEntity.pos_order_code;
                    tmpDetail.DisplayIndex   = detialEntity.display_index;
                    tmpDetail.CreateTime     = detialEntity.create_time;
                    tmpDetail.CreateUserId   = detialEntity.create_user_id;
                    tmpDetail.ModifyTime     = detialEntity.modify_time;
                    tmpDetail.ModifyUser     = detialEntity.modify_user_id;
                    tmpDetail.ReturnCash     = detialEntity.ReturnCash;

                    if (item.ifservice == 1)
                    {
                        tmpDetail.SKUID = ConfigMgr.VirtualGoodsSkuId;
                    }

                    orderContract.DetailList.Add(tmpDetail);
                }
                #endregion
            }
            var json = new JavaScriptSerializer().Serialize(orderContract);//测试用,抓对象的json格式
            bus.Publish <IZmindToXgx>(orderContract);
        }