Example #1
0
        public static void SendBuyerFeedbackSms(Trade trade, SkuView sku)
        {
            string feedbackUrl = String.Format(@"{0}/zh-TW/buyerfeedback/{1}", WebApplication.Instance.WebUrl, trade.Guid);
            string shortUrl    = Google.GetShortUrl(feedbackUrl, WebApplication.Instance.GoogleApiKey);

            string smsTemplate = GetBuyerFeedbackSmsTemplate(trade.BuyerLanguageCode);

            smsTemplate = smsTemplate.Replace("{CustomerName}", trade.BuyerUserName);
            smsTemplate = smsTemplate.Replace("{SkuName}", sku.FullName);
            smsTemplate = smsTemplate.Replace("{Link}", shortUrl);

            SmsUtil.SendMessage(trade.BuyerPhoneNumber, smsTemplate, "mooketplace");
        }
Example #2
0
        /// <summary>
        /// 会议提醒
        /// </summary>
        /// <returns></returns>
        public void RemindMeet()
        {
            try
            {
                var rep  = ContainerManager.Resolve <IEfRepository>();
                var dt   = DateTime.UtcNow.AddHours(8);
                var list = from a in rep.Where <MeetInfo>(s => s.IsDeleted != 1 && s.MeetStartTime > dt)
                           join b in rep.Where <MyMeetOrder>(s => s.IsDeleted != 1 && s.HasReminded != 1 && s.IsRemind == 1) on a.Id equals b.MeetId
                           join c in rep.Where <WxUserModel>(s => s.IsDeleted != 1 && s.Mobile != null) on b.UnionId equals c.UnionId
                           select new
                {
                    MeetOrderId = b.Id,
                    a.MeetTitle,
                    a.MeetStartTime,
                    c.Mobile,
                    b.RemindOffsetMinutes
                };

                if (list == null || list.Count() == 0)
                {
                    return;
                }

                var list2 = from a in list.ToList()
                            where a.MeetStartTime.Value.AddMinutes(a.RemindOffsetMinutes) <= DateTime.UtcNow.AddHours(8)
                            select a;

                foreach (var item in list2)
                {
                    if (string.IsNullOrEmpty(item.Mobile))
                    {
                        continue;
                    }
                    try
                    {
                        string title = item.MeetTitle;
                        string time  = item.MeetStartTime?.ToString(Time_Format) ?? "";

                        SendSmsModel sm = new SendSmsModel
                        {
                            CompanyCode = "4033",
                            ParamName   = JsonConvert.SerializeObject(new
                            {
                                systemName  = System_Name,
                                meetingTime = time,
                                meetingType = title
                            }).Base64Encoding(),
                            PhoneNumbers = item.Mobile,
                            SystemId     = "3",
                            SignName     = "费卡中国",
                            TemplateId   = "FKSMS0046"
                        };

                        LoggerHelper.WriteLogInfo($"[RemindMeet]:******发送会议提醒短信开始******");
                        LoggerHelper.WriteLogInfo($"[RemindMeet]:PhoneNumbers={sm.PhoneNumbers}");
                        LoggerHelper.WriteLogInfo($"[RemindMeet]:meetingTime={time}");
                        LoggerHelper.WriteLogInfo($"[RemindMeet]:meetingType={title}");
                        var smsResult = SmsUtil.SendMessage(sm);
                        if (smsResult?.ResultFlag ?? false)
                        {
                            LoggerHelper.WriteLogInfo($"[RemindMeet]:smsResult.ResultFlag=true");
                            var meetOrder = rep.FirstOrDefault <MyMeetOrder>(s => s.IsDeleted != 1 && s.Id == item.MeetOrderId);
                            if (meetOrder != null)
                            {
                                meetOrder.HasReminded = 1; //已发送提醒短信
                                rep.Update(meetOrder);
                                rep.SaveChanges();
                                LoggerHelper.WriteLogInfo($"[RemindMeet]:set HasReminded to 1");
                            }
                        }
                        LoggerHelper.WriteLogInfo($"[RemindMeet]:******发送会议提醒短信结束******");
                    }
                    catch (Exception ex)
                    {
                        LoggerHelper.Error($"--------------------------------------------------------------------------------");
                        LoggerHelper.Error($"[MSG]:{ex.Message};\n");
                        LoggerHelper.Error($"[Source]:{ex.Source}\n");
                        LoggerHelper.Error($"[StackTrace]:{ex.StackTrace}\n");
                        LoggerHelper.Error($"[StackTrace]:{ex.TargetSite.Name}\n");
                        LoggerHelper.Error($"[MethodName]:[[SSPC_One_HCP.WebApi.Jobs.RemindJob.RemindMeet]]\n");
                        LoggerHelper.Error($"--------------------------------------------------------------------------------");
                    }
                }
            }
            catch (Exception ex)
            {
                LoggerHelper.Error($"--------------------------------------------------------------------------------");
                LoggerHelper.Error($"[MSG]:{ex.Message};\n");
                LoggerHelper.Error($"[Source]:{ex.Source}\n");
                LoggerHelper.Error($"[StackTrace]:{ex.StackTrace}\n");
                LoggerHelper.Error($"[StackTrace]:{ex.TargetSite.Name}\n");
                LoggerHelper.Error($"[MethodName]:[[SSPC_One_HCP.WebApi.Jobs.RemindJob.RemindMeet]]\n");
                LoggerHelper.Error($"--------------------------------------------------------------------------------");
                //throw ex;
            }
        }
Example #3
0
 public static void HandleSmsMessage(SmsMessage message)
 {
     SmsUtil.SendMessage(message.PhoneNumber, message.Message, message.SenderId);
 }
Example #4
0
        /// <summary>
        /// 发送验证码
        /// </summary>
        /// <param name="workUser"></param>
        /// <param name="mobile">手机号</param>
        /// <returns></returns>
        public ReturnValueModel SendVerifyCode(WorkUser workUser, string mobile)
        {
            LoggerHelper.WriteLogInfo("[SendVerifyCode]:******发送验证码开始******");
            ReturnValueModel rvm     = new ReturnValueModel();
            string           unionId = workUser?.WxUser?.UnionId;

            var wxUser = _rep.FirstOrDefault <WxUserModel>(s => s.IsDeleted != 1 && s.UnionId == unionId);

            LoggerHelper.WriteLogInfo("[SendVerifyCode]:wxUser------is null: " + (wxUser == null));
            LoggerHelper.WriteLogInfo("[SendVerifyCode]:wxUser------UnionId:" + unionId);
            LoggerHelper.WriteLogInfo("[SendVerifyCode]:wxUser------手机号:" + mobile);

            if (wxUser != null)
            {
                //手机号唯一 才允许注册
                var isReginUser = (_rep.Where <WxUserModel>(x => x.IsDeleted != 1 && x.IsCompleteRegister == 1 && x.Mobile.Equals(mobile))?.Count() ?? 0) > 0;
                if (isReginUser)
                {
                    rvm.Msg     = "fail";
                    rvm.Success = false;
                    LoggerHelper.WriteLogInfo(mobile + "拒绝注册" + unionId);
                    LoggerHelper.WriteLogInfo("[SendVerifyCode]:******短信验证码结束******");
                    return(rvm);
                }
                var code = RandomUtil.GenerateRandomCode(6);
                wxUser.Code = code;
                LoggerHelper.WriteLogInfo("[SendVerifyCode]验证码:" + code);

                //wxUser.Mobile = mobile;
                wxUser.CodeTime = DateTime.Now.AddMinutes(1);

                //发送验证码
                //SendVerifyCode(Mobile, code);
                SendSmsModel ssm = new SendSmsModel
                {
                    PhoneNumbers = mobile,
                    CompanyCode  = "4033",
                    TemplateId   = "FKSMS0047",
                    SystemId     = "3",
                    SignName     = "费卡中国",
                    ParamName    = JsonConvert.SerializeObject(new { code = code }).Base64Encoding()
                };

                _rep.Update(wxUser);
                _rep.SaveChanges();
                LoggerHelper.WriteLogInfo("[SendVerifyCode]短信发送开始:");
                var sr = SmsUtil.SendMessage(ssm);
                LoggerHelper.WriteLogInfo("[SendVerifyCode]短信发送结束:");
                rvm.Msg     = "success";
                rvm.Success = true;
                rvm.Result  = new
                {
                    sr
                };
            }
            else
            {
                rvm.Msg     = "fail";
                rvm.Success = false;
            }
            LoggerHelper.WriteLogInfo("[SendVerifyCode]:发送结果:" + rvm.Msg);
            LoggerHelper.WriteLogInfo("[SendVerifyCode]:******短信验证码结束******");
            return(rvm);
        }