Beispiel #1
0
        public static void Perform()
        {
            SendData sendData = new SendEmail(new WebService());

            sendData.Send();
            sendData.BridgeComponents = new ThirdPartyAPI();
            sendData.Send();

            sendData = new SendSMS(new WebService());
            sendData.Send();
            sendData.BridgeComponents = new ThirdPartyAPI();
            sendData.Send();

            Console.WriteLine();
        }
Beispiel #2
0
    /**Method Name: OnGUI
     * Parameters: N/A
     * Returns: N/A
     *
     * A built-in unity function.
     * Used for rendering and handling GUI events.
     * */
    void OnGUI()
    {
        style.fontSize  = 100;
        style.alignment = TextAnchor.MiddleCenter;
        //prints the current score and the game instructions
        GUI.Label(new Rect(100, (Screen.height / 2) - 70, 600, 600), "SCORE: " + score + "", style);


        //check if game count is not max
        if (count >= 15)
        {
            //check if user has passing score
            if (score >= 9)
            {
                GUI.Label((new Rect(100, (Screen.height / 2), 600, 600)), "YOU PASS!", style);
            }
            else if (!StartGame.Practice())
            {
                SendSMS.Send("Hello!");
                Debug.Log("LOSE");
                GUI.Label((new Rect(100, (Screen.height / 2), 600, 600)), "YOU FAIL!", style);
                count = 0;
                score = 0;
            }
            //this is to avoid multiple calls of EndGame
            if (!ended)
            {
                //flips bit so that it wont enter this conditional again
                ended = !ended;
                //calls EndGame after 3 seconds
                Invoke("EndGame", 3);
            }
        }
    }
Beispiel #3
0
    /**Method Name: OnGUI
     * Parameters: N/A
     * Returns: N/A
     *
     * A built-in unity function.
     * Used for rendering and handling GUI events.
     * */
    void OnGUI()
    {
        style.fontSize         = 30;
        style.normal.textColor = Color.white;
        //GUI.Label(new Rect(10, 10, 100, 100), "Try to Finish the Maze",style);

        if (wall_is_touched)
        {
            //GUI.Label(new Rect(10, 80, 100, 100), "You failed -_-");
            if (!StartGame.Practice())
            {
                SendSMS.Send("Sadt..");
                wall_is_touched = false;
                reached_end     = false;
            }

            // prevents multiple cals of EndGame
            if (!ended)
            {
                ended = !ended;
                Invoke("EndGame", 3);
            }
        }
        else if (reached_end && (!wall_is_touched))
        {
            GUI.Label(new Rect(10, 30, 100, 100), "DONE!!!!!!!!", style);

            if (!ended)
            {
                ended = !ended;
                Invoke("EndGame", 3);
            }
        }
    }
Beispiel #4
0
    /**Method Name: OnGUI
     * Parameters: N/A
     * Returns: N/A
     *
     * A built-in unity function.
     * Used for rendering and handling GUI events.
     * */
    void OnGUI()
    {
        style.fontSize         = 50;
        style.normal.textColor = Color.white;
        style.alignment        = TextAnchor.MiddleCenter;
        //prints the current score and the game instructions
        GUI.Label(new Rect(100, 150, 600, 600), "SCORE: " + score + "", style);

        if (count >= 15)
        {
            if (score >= 9)
            {
                GUI.Label((new Rect(100, 50, 600, 600)), "YOU PASS!", style);
            }
            else if (!StartGame.Practice())
            {
                SendSMS.Send("Hello!");
                count = 0;
                score = 0;
            }
            //this is to avoid multiple calls of EndGame
            if (!ended)
            {
                //flips bit so that it wont enter this conditional again
                ended = !ended;
                //calls EndGame after 3 seconds
                Invoke("EndGame", 3);
            }
        }
    }
Beispiel #5
0
 public ActionResult ztest()
 {
     SendSMS.Send(SendSMS.Templates.SUCCESSFUL_REGISTER, "8058758011", "", "", "himanshu", "", "");
     //message = message.Replace("OTP", "123456");
     //Utility.SendMsg(mobile, message);
     return(Ok());
 }
Beispiel #6
0
        static void Main(string[] args)
        {
            SendDataMessage serviceMessage;

            serviceMessage = new SendMail();
            serviceMessage.BridgeMessageService = new GMailService();
            serviceMessage.Send("Message from Bridge Test", "*****@*****.**");

            serviceMessage = new SendSMS();
            serviceMessage.BridgeMessageService = new TwilioService();
            serviceMessage.Send("Message from Bridge Test", "4491091867");

            Console.ReadKey();
        }
Beispiel #7
0
        public donateResponse donate(donatePayload donate, IConfiguration _config, IHostingEnvironment env)
        {
            try
            {
                using (var db = new TrippleNTDBContext()) {
                    var reco = db.Reconciliation.Where(o => o.CompanyId == donate.companyId && o.Status == "Pending").FirstOrDefault();
                    if (reco != null)
                    {
                        return new donateResponse {
                                   status = "failed", msg = "Cannot commit donations becuase you have pending reconcilation payment "
                        }
                    }
                    ;
                    var donation = new Donations();
                    donation.DateDonated    = DateTime.Now;
                    donation.CompanyStaffId = donate.userId;
                    donation.ComapanyId     = donate.companyId;
                    donation.Amount         = donate.amount;
                    donation.Donor          = donate.phoneNumber;
                    donation.Status         = "NR";
                    db.Donations.Add(donation);
                    db.SaveChanges();
                    var donor = db.Donors.Find(donate.phoneNumber);
                    if (donor == null)
                    {
                        var d = new Donors();

                        d.PhoneNumber = donate.phoneNumber;
                        db.Donors.Add(d);
                        db.SaveChanges();
                    }
                    var msg = "Hello, thank you for your donation, Edufund appreciates your commitment to changing the world with your 'SPARE CHANGE'. Your can view your donation badge here https://bit.ly/fRruwQE";
                    var a   = SendSMS.Send(donate.phoneNumber, msg, _config);
                    return(new donateResponse {
                        status = "success", msg = "Donation was Successful. Thank You"
                    });
                }
            }
            catch (Exception ex)
            {
                new Utility.LogWriter(ex.Message + " " + ex.InnerException, env);
                return(new donateResponse {
                    status = "failed", msg = "Something went wrong try again Later"
                });
            }
        }
Beispiel #8
0
    /**Method Name: OnGUI
     * Parameters: N/A
     * Returns: N/A
     *
     * A built-in unity function.
     * Used for rendering and handling GUI events.
     * */
    void OnGUI()
    {
        style.fontSize         = 30;
        style.normal.textColor = Color.white;
        //prints the current score and the game instructions
        GUI.Label(new Rect((Screen.width / 2) - 50, (Screen.height / 2) - 210, 600, 600), "TRIES: " + tries, style);

        //end game if user guesses sequence correctly
        if (clickNum >= sequence.Length)
        {
            GUI.Label((new Rect((Screen.width / 2) - 70, (Screen.height / 2) - 170, 600, 600)), "YOU PASS!", style);
            //this is to avoid multiple calls of EndGame
            if (!ended)
            {
                //flips bit so that it wont enter this conditional again
                ended = !ended;
                //calls EndGame after 3 seconds
                Invoke("EndGame", 3);
            }
        }
        //send sms on failure
        else if (tries <= 0)
        {
            if (!StartGame.Practice())
            {
                SendSMS.Send("Hello!");
                tries = 5;
            }
            if (!ended)
            {
                //flips bit so that it wont enter this conditional again
                ended = !ended;
                //calls EndGame after 3 seconds
                Invoke("EndGame", 3);
            }
        }
    }
Beispiel #9
0
        ///// <summary>
        ///// 获取绑定手机号验证码短信接口--解志辉
        ///// </summary>
        ///// <param name="reqst">The reqst.</param>
        ///// <returns>ResultInfo&lt;System.String&gt;.</returns>
        /////  创 建 者:解志辉
        /////  创建日期:2016-05-25 16:25:37
        //[HttpPost]
        //public ResultInfo<string> GetBindMobileCode(RequestParam<SmsEntity> reqst)
        //{
        //    var ri = new ResultInfo<string>("99999");
        //    try
        //    {
        //        var mobile = reqst.body.mobile;

        //        if (string.IsNullOrEmpty(mobile))
        //        {
        //            ri.code = "1000000000";
        //        }
        //        else if (!ValidateHelper.IsHandset(mobile))
        //        {
        //            ri.code = "1000000001";
        //        }
        //        else if (!_logic.CheckMobile(mobile))
        //        {
        //            ri.code = "1000000010"; //未找到相关记录
        //        }
        //        else
        //        {
        //            #region 发送修改密码短信

        //            var res = SendSms(mobile, 1, 25);
        //            return res;

        //            #endregion
        //        }
        //        ri.message = Settings.Instance.GetErrorMsg(ri.code);
        //        return ri;
        //    }
        //    catch (Exception ex)
        //    {
        //        LoggerHelper.Error(ex.ToString());
        //        LoggerHelper.Error(JsonHelper.Entity2Json(reqst)); ri.code = "500";
        //        ri.message = Settings.Instance.GetErrorMsg(ri.code);
        //        return ri;
        //    }
        //}
        ///// <summary>
        ///// 获取修改手机号验证码短信接口--解志辉
        ///// </summary>
        ///// <param name="reqst">The reqst.</param>
        ///// <returns>ResultInfo&lt;System.String&gt;.</returns>
        /////  创 建 者:解志辉
        /////  创建日期:2016-05-25 16:20:03
        //[HttpPost]
        //public ResultInfo<string> GetModifyMobileCode(RequestParam<RequestBindMobileEntity> reqst)
        //{
        //    var ri = new ResultInfo<string>("99999");
        //    try
        //    {
        //        var userId = ConvertHelper.ParseValue(reqst.body.userId, 0);
        //        var mobile = _logic.SelectUserMobileByUserId(userId);//当前用户手机号

        //        if (string.IsNullOrEmpty(reqst.body.mobile))
        //        {
        //            ri.code = "1000000000";
        //        }
        //        else if (!ValidateHelper.IsHandset(reqst.body.mobile))
        //        {
        //            ri.code = "1000000001";
        //        }
        //        else if (mobile != reqst.body.mobile)
        //        {
        //            ri.code = "1000000013";
        //        }
        //        else
        //        {
        //            #region 发送短信

        //            var res = SendSms(mobile, 1,35);
        //            return res;

        //            #endregion
        //        }
        //        ri.message = Settings.Instance.GetErrorMsg(ri.code);
        //        return ri;
        //    }
        //    catch (Exception ex)
        //    {
        //        LoggerHelper.Error(ex.ToString());
        //        LoggerHelper.Error(JsonHelper.Entity2Json(reqst)); ri.code = "500";
        //        ri.message = Settings.Instance.GetErrorMsg(ri.code);
        //        return ri;
        //    }
        //}


        /// <summary>
        ///  发送短信--解志辉
        /// </summary>
        /// <param name="mobile"></param>
        /// <param name="type"></param>
        /// <param name="messageId"></param>
        /// <returns></returns>
        protected ResultInfo <string> SendSms(string mobile, int type, int messageId)
        {
            var ri = new ResultInfo <string>("99999");

            try
            {
                #region 防止短信过度频繁发送

                #region First 60之内不能再次发送短信

                var cacheKey = "reg_member_get_code_time_" + mobile;
                var cv       = CacheHelper.GetSystemCache(cacheKey);

                if (cv == null)
                {
                    CacheHelper.SetCache(cacheKey, DateTime.Now, 1);
                }
                else
                {
                    var dte = ConvertHelper.ParseValue(cv, DateTime.MinValue);
                    if (dte != DateTime.MinValue)
                    {
                        var sec = Settings.Instance.DateDiff("Second", dte, DateTime.Now);
                        if (sec > 60)
                        {
                            CacheHelper.ClearCache(cacheKey);
                        }
                        else
                        {
                            ri.code = "1000000005"; //短信发送太频繁!请稍后再试
                        }
                    }
                }

                #endregion

                #region Second 同IP间隔60S之后才能再次发送 同时一个IP最多发送8条注册短信

                var t1 = (int)Enum.Parse(typeof(SmsType), SmsType.短信验证码.ToString());

                var t2 = (int)Enum.Parse(typeof(SmsType), SmsType.语音短信验证码.ToString());
                if (!_recordLogic.CheckInOneMinute(Settings.Instance.ClientIp, t1, t2))
                {
                    ri.code = "1000000005"; //短信发送太频繁!请稍后再试
                }

                #endregion

                #region Third 同一IP最多发送8条同类型短信

                if (_recordLogic.CheckIpSendTimes(Settings.Instance.ClientIp, t1, t2) >= 8)
                {
                    ri.code = "1000000006"; //短信发送太频繁!请与客服联系
                }

                #endregion

                #endregion

                #region 验证3分钟之内有没有验证码记录,有则发送

                var ent = _recordLogic.SelectHistory(mobile, t1, t2);
                if (ent != null)
                {
                    if (ent.hits < 4)
                    {
                        ent.orderid = SendSMS.Send(mobile, ent.smscontext);
                        _recordLogic.UpdateRecord(ent);
                    }
                    else
                    {
                        ri.code = "1000000006"; //短信发送太频繁!请与客服联系
                    }
                }
                else //不存在记录,生成新验证码
                {
                    #region 生成验证码 发送短信并记录发送日志

                    var vcode = Utils.RndNum(6);
                    var ebt   = _logic.GetSmsEmailEntity(type, messageId); // 获取验证码邮件内容
                    var sbsms = new StringBuilder(ebt.SEContext);

                    sbsms = sbsms.Replace("#CODE#", vcode);

                    var pm = new SmsRecordEntity
                    {
                        phone_number = mobile,
                        sendtime     = DateTime.Now,
                        senduserid   = 0,
                        smstype      = t1,
                        smscontext   = sbsms.ToString(),
                        orderid      = SendSMS.Send(mobile, sbsms.ToString()),
                        vcode        = vcode,
                        ip           = Settings.Instance.ClientIp
                    };
                    _recordLogic.AddRecord(pm);

                    #endregion

                    ri.code = "1000000099";
                    ri.body = vcode;
                }

                #endregion

                ri.message = Settings.Instance.GetErrorMsg(ri.code);
                return(ri);
            }
            catch (Exception ex)
            {
                LoggerHelper.Error(ex.ToString());
                LoggerHelper.Error("send phone:" + mobile + "type:" + type + " messageId:" + messageId); ri.code = "500";
                ri.message = Settings.Instance.GetErrorMsg(ri.code);
                return(ri);
            }
        }
Beispiel #10
0
    public bool SendNotification(obj1 obj)
    {
        var sender = new SendSMS();

        return(sender.Send(obj));
    }
Beispiel #11
0
        /// <summary>
        /// 汇付主动通知页面
        /// </summary>
        /// <returns></returns>
        public ActionResult CashBgCallback()
        {
            string str1 = "";
            ReCash m    = new ReCash();

            m.CmdId         = DNTRequest.GetString("CmdId");
            m.RespCode      = DNTRequest.GetString("RespCode");
            m.RespDesc      = HttpUtility.UrlDecode(DNTRequest.GetString("RespDesc"));
            m.MerCustId     = DNTRequest.GetString("MerCustId");
            m.OrdId         = DNTRequest.GetString("OrdId");
            m.UsrCustId     = DNTRequest.GetString("UsrCustId");
            m.TransAmt      = DNTRequest.GetString("TransAmt");
            m.OpenAcctId    = DNTRequest.GetString("OpenAcctId");
            m.OpenBankId    = DNTRequest.GetString("OpenBankId");
            m.FeeAmt        = DNTRequest.GetString("FeeAmt");
            m.FeeCustId     = DNTRequest.GetString("FeeCustId");
            m.FeeAcctId     = DNTRequest.GetString("FeeAcctId");
            m.ServFee       = DNTRequest.GetString("ServFee");
            m.ServFeeAcctId = DNTRequest.GetString("ServFeeAcctId");
            m.RetUrl        = HttpUtility.UrlDecode(DNTRequest.GetString("RetUrl"));
            m.BgRetUrl      = HttpUtility.UrlDecode(DNTRequest.GetString("BgRetUrl"));
            m.MerPriv       = DNTRequest.GetString("MerPriv");
            m.RespExt       = HttpUtility.UrlDecode(DNTRequest.GetString("RespExt"));
            m.ChkValue      = DNTRequest.GetString("ChkValue");
            m.RealTransAmt  = DNTRequest.GetString("RealTransAmt");
            LoggerHelper.Info("后台取现返回报文:" + JsonHelper.Entity2Json(m));

            //验签
            StringBuilder chkVal = new StringBuilder();

            chkVal.Append(m.CmdId);
            chkVal.Append(m.RespCode);
            chkVal.Append(m.MerCustId);
            chkVal.Append(m.OrdId);
            chkVal.Append(m.UsrCustId);
            chkVal.Append(m.TransAmt);
            chkVal.Append(m.OpenAcctId);
            chkVal.Append(m.OpenBankId);
            chkVal.Append(m.FeeAmt);
            chkVal.Append(m.FeeCustId);
            chkVal.Append(m.FeeAcctId);
            chkVal.Append(m.ServFee);
            chkVal.Append(m.ServFeeAcctId);
            chkVal.Append(m.RetUrl);
            chkVal.Append(m.BgRetUrl);
            chkVal.Append(m.MerPriv);
            chkVal.Append(m.RespExt);

            string msg = chkVal.ToString();

            //私钥文件的位置(这里是放在了站点的根目录下)
            string merKeyFile = AppDomain.CurrentDomain.BaseDirectory + Settings.Instance.PgPubk;
            //需要指定提交字符串的长度
            int           len        = Encoding.UTF8.GetBytes(msg).Length;
            StringBuilder sbChkValue = new StringBuilder(256);

            int ret = DllInterop.VeriSignMsg(merKeyFile, msg, msg.Length, m.ChkValue);

            // LoggerHelper.Info("验签返回参数:" + ret.ToString());
            StringBuilder str = new StringBuilder();

            if (ret == 0)
            {
                //提现成功后,得多事务处理账户金额,流水及冻结金额等
                if (m.RespCode == "000")
                {
                    string cachename = m.OrdId + "Cash" + m.UsrCustId;

                    if (Settings.Instance.GeTThirdCache(cachename) == 0)
                    {
                        Settings.Instance.SetThirdCache(cachename);
                        B_usercenter BUC = new B_usercenter();
                        M_ReqExt     mr  = new M_ReqExt();
                        mr = FastJSON.ToObject <M_ReqExt>(m.RespExt.Replace("[", "").Replace("]", ""));
                        int CashOp = BUC.CashTran(m.OpenAcctId, m.OpenBankId, m.OrdId, m.RealTransAmt, m.UsrCustId, m.FeeAmt, mr.FeeObjFlag, mr.CashChl);
                        if (CashOp > 0)
                        {
                            string sql = "select registerid,username,mobile,UsrCustId,available_balance from hx_member_table where UsrCustId='" + m.UsrCustId + "'";
                            LoggerHelper.Info("后台审请取现成功短信sql:" + sql);
                            DataTable dt = DbHelper.Query(sql).Tables[0];
                            if (dt.Rows.Count > 0)
                            {
                                //短信通知
                                //尊敬的#USERANEM#,您已成功提现#MONEY#元,账户余额#MONEY1#.请注意查收!【创利投】
                                MemberLogic _logic = new MemberLogic();

                                var    ebt    = _logic.GetSmsEmailEntity(1, 12); // 获取内容
                                string contxt = ebt.SEContext;

                                StringBuilder sbsms = new StringBuilder(contxt);

                                sbsms = sbsms.Replace("#USERANEM#", dt.Rows[0]["username"].ToString());

                                sbsms = sbsms.Replace("#MONEY#", m.TransAmt);

                                decimal amt = decimal.Parse(dt.Rows[0]["available_balance"].ToString()) - decimal.Parse(m.TransAmt);

                                sbsms = sbsms.Replace("#MONEY1#", amt.ToString());

                                string mobile = dt.Rows[0]["mobile"].ToString();

                                M_td_SMS_record psms    = new M_td_SMS_record();
                                B_td_SMS_record osms    = new B_td_SMS_record();
                                int             smstype = (int)Enum.Parse(typeof(EnumSMSType), EnumSMSType.取现成功.ToString());
                                psms.phone_number = mobile;
                                psms.sendtime     = DateTime.Now;
                                psms.senduserid   = int.Parse(dt.Rows[0]["registerid"].ToString());
                                psms.smstype      = smstype;
                                psms.smscontext   = sbsms.ToString();
                                psms.orderid      = SendSMS.Send(mobile, sbsms.ToString());
                                psms.vcode        = "";
                                osms.Add(psms);
                                DateTime            dti = DateTime.Now;
                                M_td_System_message pm  = new M_td_System_message();
                                pm.MReg     = int.Parse(dt.Rows[0]["registerid"].ToString());
                                pm.Mstate   = 0;
                                pm.MTitle   = "投现成功";
                                pm.MContext = sbsms.ToString();
                                pm.PubTime  = dti;
                                pm.Mtype    = 3;
                                B_usercenter.AddMessage(pm);

                                //即时提现,提现金额小于等于20万自动审核,高于20万人工审核
                                string cashChl = Enum.GetName(typeof(EnumCommon.E_hx_td_UserCash.EnumCashChl), (int)EnumCommon.E_hx_td_UserCash.EnumCashChl.IMMEDIATE);
                                if (mr.CashChl == cashChl && decimal.Parse(m.TransAmt) <= 200000)
                                {
                                    string retUrl   = Settings.Instance.ImagesDomain + "/admin/UserCash/RePostCashProcessing";
                                    string bgRetUrl = Settings.Instance.ImagesDomain + "/admin/Thirdparty/BgCashProcessing";
                                    BusinessLogicHelper.AutoCheckCash(m.UsrCustId, retUrl, bgRetUrl);
                                }
                            }
                        }
                    }
                    str1 = "RECV_ORD_ID_" + m.OrdId;
                }
            }
            return(Content(str1));
        }
    public static bool NotifySms(this ISmsNotification obj)
    {
        var sender = new SendSMS();

        return(sender.Send(obj));
    }
Beispiel #13
0
    public bool Notify()
    {
        var sender = new SendSMS();

        return(sender.Send(this));
    }
Beispiel #14
0
        /// <summary>
        /// 投资成功,汇付后台主动通知
        /// </summary>
        /// <returns></returns>
        public ActionResult CallbackBgRetUrl()
        {
            int                id       = 0;
            string             srt      = "";
            ReInitiativeTender p        = new ReInitiativeTender();
            B_usercenter       BUC      = new B_usercenter();
            string             OrdId    = "";
            int                useridc  = 0;
            string             targetid = "0";

            id = DNTRequest.GetInt("id", 0);
            LoggerHelper.Info("主动通知后台有响应成功!");
            p.CmdId       = DNTRequest.GetString("CmdId");
            p.RespCode    = DNTRequest.GetString("RespCode");
            p.RespDesc    = HttpUtility.UrlDecode(DNTRequest.GetString("RespDesc"));
            p.MerCustId   = DNTRequest.GetString("MerCustId");
            p.OrdId       = DNTRequest.GetString("OrdId");
            p.OrdDate     = DNTRequest.GetString("OrdDate");
            p.TransAmt    = DNTRequest.GetString("TransAmt");
            p.UsrCustId   = DNTRequest.GetString("UsrCustId");
            p.TrxId       = DNTRequest.GetString("TrxId");
            p.IsFreeze    = DNTRequest.GetString("IsFreeze");
            p.FreezeOrdId = DNTRequest.GetString("FreezeOrdId");
            p.FreezeTrxId = DNTRequest.GetString("FreezeTrxId");
            p.RetUrl      = HttpUtility.UrlDecode(DNTRequest.GetString("RetUrl"));
            p.BgRetUrl    = HttpUtility.UrlDecode(DNTRequest.GetString("BgRetUrl"));
            string merp = DNTRequest.GetString("MerPriv");

            if (merp.Length > 0)
            {
                p.MerPriv = HttpUtility.UrlDecode(merp);
            }
            else
            {
                p.MerPriv = merp;
            }

            p.RespExt  = HttpUtility.UrlDecode(DNTRequest.GetString("RespExt"));
            p.ChkValue = DNTRequest.GetString("ChkValue");
            StringBuilder chkVal = new StringBuilder();

            chkVal.Append(p.CmdId);
            chkVal.Append(p.RespCode);
            chkVal.Append(p.MerCustId);
            chkVal.Append(p.OrdId);
            chkVal.Append(p.OrdDate);
            chkVal.Append(p.TransAmt);
            chkVal.Append(p.UsrCustId);
            chkVal.Append(p.TrxId);
            chkVal.Append(p.IsFreeze);
            chkVal.Append(p.FreezeOrdId);
            chkVal.Append(p.FreezeTrxId);
            chkVal.Append(p.RetUrl);
            chkVal.Append(p.BgRetUrl);
            chkVal.Append(p.MerPriv);
            chkVal.Append(p.RespExt);
            string chkv = chkVal.ToString();

            //私钥文件的位置(这里是放在了站点的根目录下)

            string merKeyFile = AppDomain.CurrentDomain.BaseDirectory + Settings.Instance.PgPubk;

            int ret = DllInterop.VeriSignMsg(merKeyFile, chkv, chkv.Length, p.ChkValue);

            LoggerHelper.Info("投标后台主动投标返回报文:" + JsonHelper.Entity2Json(p));

            string sql = "";

            merp = p.MerPriv;
            string deviceKey = PickoutDeviceFlag(ref merp);//pick out device code from comment field

            p.MerPriv = merp;
            int invcount = 0; //记录用户是否是首次投资

            #region 验签
            if (ret == 0)
            {
                if (p.RespCode == "000" || p.RespCode == "534" || p.RespCode == "360" || p.RespCode == "099")//p.RespCode == "322" ||
                {
                    string cachename = p.OrdId + "Invest" + p.UsrCustId;

                    if (Settings.Instance.GeTThirdCache(cachename) == 0)
                    {
                        Settings.Instance.SetThirdCache(cachename);
                        if (p.FreezeTrxId != "")
                        {
                            sql = "select ordstate  from hx_Bid_records  where ordstate =0 and  OrdId='" + p.OrdId + "'";
                            LoggerHelper.Info("CallbackBgRetUrl===p.OrdId:" + p.OrdId);
                            LoggerHelper.Info("sql :" + sql);
                            DataTable dts = DbHelper.Query(sql).Tables[0];

                            if (dts.Rows.Count > 0)
                            {
                                //同步处理用户金额
                                int d = BUC.ReInvest_success(p.UsrCustId, p.FreezeOrdId, p.TransAmt, p.FreezeTrxId, p.OrdId, p.MerPriv);
                                LoggerHelper.Info("后台投标:id" + id.ToString() + "返回唯一冻结标识:" + p.FreezeTrxId + "事务执行结果:" + d.ToString());

                                if (d > 0)
                                {
                                    sql = "select targetid,bid_records_id, borrowing_title,investor_registerid ,username,mobile,invitationcode,investment_amount,life_of_loan,unit_day,borrowing_balance,bonusAmt  from  V_hx_Bid_records_borrowing_target where OrdId='" + p.OrdId + "'";

                                    DataTable dt = DbHelper.Query(sql).Tables[0];

                                    if (dt.Rows.Count > 0)
                                    {
                                        decimal invdesc = decimal.Parse(dt.Rows[0]["investment_amount"].ToString());

                                        OrdId   = p.OrdId;
                                        useridc = int.Parse(dt.Rows[0]["investor_registerid"].ToString());

                                        targetid = dt.Rows[0]["targetid"].ToString();

                                        LoggerHelper.Info(" /*此处加入活动*/:" + targetid);
                                        //参与所有活动规则
                                        if (!string.IsNullOrWhiteSpace(deviceKey))
                                        {
                                            using (ActFacade actFacade = new ActFacade())
                                            {
                                                actFacade.SendBonusAfterInvest(dt, Utils.GetDevicePlatformCode(deviceKey));
                                            }
                                        }
                                        #region MyRegion  邀请注册奖历 投资成功奖励 --已过期
                                        //invcount = B_usercenter.GetIsNews(useridc);
                                        //ActTable act = new ActTable();
                                        //#region 首次投资活动奖励
                                        //if (invcount == 1)
                                        //{
                                        //    //首次投资活动奖励
                                        //    act.UsrFirstInvest(useridc, decimal.Parse(p.TransAmt), 3, 1);

                                        //}

                                        /////续投用户
                                        //if (invcount >= 2)
                                        //{
                                        //    act.UsrFirstInvest(useridc, decimal.Parse(p.TransAmt), 3, 6);
                                        //}

                                        //#region 所有用户
                                        ////所有用户
                                        //act.UsrFirstInvest(useridc, decimal.Parse(p.TransAmt), 3, 5);

                                        //#endregion


                                        //#region 投标最大的用户
                                        ////投标最大的用户
                                        //decimal borrowing_balance = decimal.Parse(dt.Rows[0]["borrowing_balance"].ToString());
                                        //DataTable dmax = B_usercenter.Topinvestor(int.Parse(targetid));
                                        //if (dmax.Rows.Count > 0)
                                        //{
                                        //    decimal amtc = decimal.Parse(dmax.Rows[0]["InvCount_Amt"].ToString());
                                        //    if (borrowing_balance == amtc)
                                        //    {
                                        //        act.UsrFirstInvest(int.Parse(dmax.Rows[0]["investor_registerid"].ToString()), decimal.Parse(dmax.Rows[0]["maxamt"].ToString()), 3, 4);
                                        //    }
                                        //}
                                        //#endregion

                                        //#region 每标首投用户
                                        ////每标首投用户
                                        //if (B_usercenter.TopNum(targetid) == 1)
                                        //{
                                        //    act.UsrFirstInvest(useridc, decimal.Parse(p.TransAmt), 3, 3);
                                        //}
                                        //#endregion

                                        //#endregion


                                        //#region 渠道合作 第一投标调用接口

                                        //B_member_table bmt = new B_member_table();
                                        //M_member_table mmt = new M_member_table();

                                        //mmt = bmt.GetModel(int.Parse(dt.Rows[0]["investor_registerid"].ToString()));


                                        //if (mmt.Tid != null && mmt.Channelsource == 1)
                                        //{
                                        //    if (B_usercenter.GetIsNews(mmt.registerid) == 1)
                                        //    {
                                        //        string ret3 = Utils.GetCoopAPI(mmt.Tid, invdesc.ToString("0.00"), 2);

                                        //        LoggerHelper.Info("渠道合作第一次返回结果:" + ret3 + "  用户id:" + mmt.registerid + " 订单id " + p.OrdId);
                                        //    }

                                        //}
                                        //#endregion



                                        /*此处注册奖励业务*/

                                        ////注册奖历

                                        //B_bonus_account bb = new B_bonus_account();
                                        //M_bonus_account mb = new M_bonus_account();

                                        //M_bonus_account_water mbaw = new M_bonus_account_water();
                                        //B_bonus_account_water bbaw = new B_bonus_account_water();

                                        //string invcode = dt.Rows[0]["invitationcode"].ToString();
                                        //string uid = dt.Rows[0]["investor_registerid"].ToString();



                                        //LoggerHelper.Info(" /*验证码*/:" + invcode);
                                        //if (invcode != null && invcode != "")
                                        //{

                                        //    DateTime dte = DateTime.Now;

                                        //    string codesql = "SELECT invcode,Invpeopleid,invpersonid from  hx_td_Userinvitation where invcode='" + invcode + "' and invpersonid=" + uid + " ";//查询本人是否已经被邀请注册过

                                        //    LoggerHelper.Info("codesql2:" + codesql);
                                        //    DataTable dtcode = DbHelperSQL.GET_DataTable_List(codesql);
                                        //    if (dtcode.Rows.Count > 0)
                                        //    {
                                        //        int uuid = int.Parse(dtcode.Rows[0]["Invpeopleid"].ToString()); //邀请用户id
                                        //        B_member_table oy = new B_member_table();
                                        //        M_member_table py = new M_member_table();
                                        //        //获取 邀请用户身份渠道用户不执行
                                        //        py = oy.GetModel(uuid);

                                        //        if (py.useridentity != 4)
                                        //        {

                                        //            //受邀好友首次成功投资
                                        //            #region 首次投资活动奖励

                                        //            ACTInvitation aci = new ACTInvitation();

                                        //            #region 受邀好友首次成功投资给予活动奖励
                                        //            if (invcount == 1) //受邀好友首次成功投资给予活动奖励
                                        //            {
                                        //                hx_UserAct hut = aci.YaoAmtAct(uuid, int.Parse(dtcode.Rows[0]["invpersonid"].ToString()), -1, 4, 1, 1, 0, 5);
                                        //                if (hut != null)
                                        //                {
                                        //                    mbaw.bonus_account_id = hut.UserAct;
                                        //                    mbaw.membertable_registerid = uuid;
                                        //                    mbaw.income = decimal.Parse(hut.Amt.ToString());
                                        //                    mbaw.expenditure = 0.00M;
                                        //                    mbaw.time_of_occurrence = DateTime.Now;
                                        //                    mbaw.award_description = "邀请好友首次投资成功" + hut.Amt.ToString() + "元奖励";
                                        //                    mbaw.water_type = 0;
                                        //                    bbaw.Add(mbaw);
                                        //                }

                                        //            }


                                        //            #endregion


                                        //            #region 受邀用户续投奖励
                                        //            ///受邀用户续投奖励
                                        //            if (invcount >= 2)
                                        //            {
                                        //                if (py.LostInvitation == 0)
                                        //                {
                                        //                    //这里需要取出受邀用户奖总数

                                        //                    int biyaoUsrid = int.Parse(dt.Rows[0]["invpersonid"].ToString());

                                        //                    decimal totAmt = B_usercenter.GetInviUserTotalAmt(uuid, biyaoUsrid);

                                        //                    hx_UserAct hut = aci.YaoAmtAct(uuid, biyaoUsrid, decimal.Parse(p.TransAmt), 4, 2, 1, totAmt, 5);

                                        //                    if (hut != null)
                                        //                    {
                                        //                        mbaw.bonus_account_id = hut.UserAct;
                                        //                        mbaw.membertable_registerid = uuid;
                                        //                        mbaw.income = decimal.Parse(hut.Amt.ToString());
                                        //                        mbaw.expenditure = 0.00M;
                                        //                        mbaw.time_of_occurrence = DateTime.Now;
                                        //                        mbaw.award_description = "受邀用户续投奖励" + hut.Amt.ToString() + "元奖励";
                                        //                        mbaw.water_type = 0;
                                        //                        bbaw.Add(mbaw);
                                        //                    }

                                        //                }

                                        //            }
                                        //            #endregion

                                        //            /*
                                        //            int bbid = bb.Add(mb);
                                        //            if (bbid > 0) //奖励记录成功后插入明细记录
                                        //            {
                                        //                mbaw.bonus_account_id = bbid;
                                        //                mbaw.membertable_registerid = uuid;
                                        //                mbaw.income = mb.amount_of_reward;
                                        //                mbaw.expenditure = 0.00M;
                                        //                mbaw.time_of_occurrence = mb.entry_time;
                                        //                // mbaw.
                                        //                mbaw.award_description = "邀请投资成功10元奖励";
                                        //                mbaw.water_type = 0;
                                        //                bbaw.Add(mbaw);

                                        //                DbHelperSQL.RunSql(" update hx_td_Userinvitation  set InvitesStates=1  where invcode='" + invcode + "' and invpersonid=" + uid + " and  InvitesStates=2 ");
                                        //                LoggerHelper.Info(" 后台更新数据邀请状态 update hx_td_Userinvitation  set InvitesStates=1  where invcode='" + invcode + "' and invpersonid=" + uid + " and  InvitesStates=2 ");
                                        //            }*/



                                        //        }
                                        //    }
                                        //}


                                        //#endregion
                                        #endregion


                                        #region MyRegion  系统消息
                                        DateTime dti = DateTime.Now;

                                        M_td_System_message pm = new M_td_System_message();
                                        pm.MReg     = int.Parse(dt.Rows[0]["investor_registerid"].ToString());
                                        pm.Mstate   = 0;
                                        pm.MTitle   = "投资成功";
                                        pm.MContext = "尊敬的用户" + dt.Rows[0]["username"].ToString() + ":您好!恭喜您成功投资了项目【" + dt.Rows[0]["borrowing_title"].ToString() + "】,投资金额是:" + dt.Rows[0]["investment_amount"].ToString() + "。如有问题可咨询创利投的客服!谢谢!";
                                        pm.PubTime  = dti;
                                        pm.Mtype    = 1;
                                        B_usercenter.AddMessage(pm);
                                        #endregion



                                        #region MyRegion//短信通知

                                        MemberLogic _logic    = new MemberLogic();
                                        var         smsEntity = _logic.GetSmsEmailEntity(1, 15); // 短信通知



                                        StringBuilder sbsms = new StringBuilder(smsEntity.SEContext);

                                        sbsms = sbsms.Replace("#USERANEM#", dt.Rows[0]["username"].ToString());

                                        sbsms = sbsms.Replace("#PID#", dt.Rows[0]["targetid"].ToString());

                                        sbsms = sbsms.Replace("#MONEY#", dt.Rows[0]["investment_amount"].ToString());


                                        string mobile = dt.Rows[0]["mobile"].ToString();

                                        M_td_SMS_record psms    = new M_td_SMS_record();
                                        B_td_SMS_record osms    = new B_td_SMS_record();
                                        int             smstype = (int)Enum.Parse(typeof(EnumSMSType), EnumSMSType.投资成功.ToString());
                                        psms.phone_number = mobile;
                                        psms.sendtime     = DateTime.Now;
                                        psms.senduserid   = int.Parse(dt.Rows[0]["investor_registerid"].ToString());
                                        psms.smstype      = smstype;
                                        psms.smscontext   = sbsms.ToString();
                                        psms.orderid      = SendSMS.Send(mobile, sbsms.ToString());
                                        psms.vcode        = "";

                                        osms.Add(psms);
                                        #endregion
                                    }
                                    //远程调用生成合同

                                    //var values = new NameValueCollection
                                    //{
                                    //    {"action","MUserPDF"},
                                    //    {"data",targetid},
                                    //    {"uc",useridc.ToString()},
                                    //    {"OrdId",OrdId}
                                    //};
                                    //HttpHelper.Post(Settings.Instance.SiteDomain + "/pdf", values);
                                }
                            }
                            else
                            {
                            }
                            srt = "RECV_ORD_ID_" + p.OrdId;
                        }
                    }/*缓存检查结束位置*/
                }
                else
                {
                }
            }

            #endregion
            return(Content(srt));
        }
Beispiel #15
0
        /// <summary>
        /// 投资成功,汇付回调页面
        /// </summary>
        /// <returns></returns>
        public ActionResult CallbackRetUrl()
        {
            ViewBag.UserId = 0;
            ReInitiativeTender p = new ReInitiativeTender();
            B_usercenter       BUC = new B_usercenter();
            string             OrdId = "", sql = "";
            int    useridc  = 0;
            string targetid = "0";

            p.CmdId       = DNTRequest.GetString("CmdId");
            p.RespCode    = DNTRequest.GetString("RespCode");
            p.RespDesc    = HttpUtility.UrlDecode(DNTRequest.GetString("RespDesc"));
            p.MerCustId   = DNTRequest.GetString("MerCustId");
            p.OrdId       = DNTRequest.GetString("OrdId");
            p.OrdDate     = DNTRequest.GetString("OrdDate");
            p.TransAmt    = DNTRequest.GetString("TransAmt");
            p.UsrCustId   = DNTRequest.GetString("UsrCustId");
            p.TrxId       = DNTRequest.GetString("TrxId");
            p.IsFreeze    = DNTRequest.GetString("IsFreeze");
            p.FreezeOrdId = DNTRequest.GetString("FreezeOrdId");
            p.FreezeTrxId = DNTRequest.GetString("FreezeTrxId");
            p.RetUrl      = HttpUtility.UrlDecode(DNTRequest.GetString("RetUrl"));
            p.BgRetUrl    = HttpUtility.UrlDecode(DNTRequest.GetString("BgRetUrl"));
            string merp = DNTRequest.GetString("MerPriv");

            if (merp.Length > 0)
            {
                p.MerPriv = HttpUtility.UrlDecode(merp);
            }
            else
            {
                p.MerPriv = merp;
            }
            p.RespExt  = HttpUtility.UrlDecode(DNTRequest.GetString("RespExt"));
            p.ChkValue = DNTRequest.GetString("ChkValue");
            StringBuilder chkVal = new StringBuilder();

            chkVal.Append(p.CmdId);
            chkVal.Append(p.RespCode);
            chkVal.Append(p.MerCustId);
            chkVal.Append(p.OrdId);
            chkVal.Append(p.OrdDate);
            chkVal.Append(p.TransAmt);
            chkVal.Append(p.UsrCustId);
            chkVal.Append(p.TrxId);
            chkVal.Append(p.IsFreeze);
            chkVal.Append(p.FreezeOrdId);
            chkVal.Append(p.FreezeTrxId);
            chkVal.Append(p.RetUrl);
            chkVal.Append(p.BgRetUrl);
            chkVal.Append(p.MerPriv);
            chkVal.Append(p.RespExt);

            //   LoggerHelper.Info("投标RespCode" + p.RespCode + "RespExt:" + p.RespExt);
            string chkv = chkVal.ToString();

            //私钥文件的位置(这里是放在了站点的根目录下)
            string merKeyFile = AppDomain.CurrentDomain.BaseDirectory + Settings.Instance.PgPubk;

            int ret = DllInterop.VeriSignMsg(merKeyFile, chkv, chkv.Length, p.ChkValue);

            // LoggerHelper.Info("验签:" + ret.ToString());

            LoggerHelper.Info("前台主动投标返回报文:" + JsonHelper.Entity2Json(p));
            int invcount = 0; //记录用户是否为首次投资,汲及到邀请人的操作

            merp = p.MerPriv;
            string deviceKey = PickoutDeviceFlag(ref merp);//pick out device code from comment field

            p.MerPriv = merp;
            int registerid = 0;

            #region 验签
            if (ret == 0)
            {
                if (p.RespCode == "000" || p.RespCode == "534" || p.RespCode == "360" || p.RespCode == "099")//p.RespCode == "322" ||
                {
                    string cachename = p.OrdId + "Invest" + p.UsrCustId;

                    //LoggerHelper.Info("cachename:" + cachename);
                    if (Settings.Instance.GeTThirdCache(cachename) == 0)
                    {
                        Settings.Instance.SetThirdCache(cachename);
                        if (p.FreezeTrxId != "")
                        {
                            sql = "select ordstate  from hx_Bid_records  where ordstate =0 and  OrdId='" + p.OrdId + "'";
                            LoggerHelper.Info("CallbackRetUrl===p.OrdId:" + p.OrdId);
                            DataTable dts = DbHelper.Query(sql).Tables[0];
                            if (dts.Rows.Count > 0)
                            {
                                //同步处理用户金额
                                int d = BUC.ReInvest_success(p.UsrCustId, p.FreezeOrdId, p.TransAmt, p.FreezeTrxId, p.OrdId, p.MerPriv);
                                LoggerHelper.Info("返回唯一冻结标识:" + p.FreezeTrxId + "事务执行结果:" + d);
                                if (d > 0)
                                {
                                    sql = "select targetid,bid_records_id, borrowing_title,investor_registerid ,username,mobile,invitationcode,investment_amount,life_of_loan,unit_day,borrowing_balance,bonusAmt,registerid  from  V_hx_Bid_records_borrowing_target where OrdId='" + p.OrdId + "'";
                                    DataTable dt = DbHelper.Query(sql).Tables[0];
                                    if (dt.Rows.Count > 0)
                                    {
                                        decimal invdesc = decimal.Parse(dt.Rows[0]["investment_amount"].ToString());
                                        OrdId      = p.OrdId;
                                        useridc    = int.Parse(dt.Rows[0]["investor_registerid"].ToString());
                                        targetid   = dt.Rows[0]["targetid"].ToString();
                                        registerid = Convert.ToInt32(dt.Rows[0]["registerid"]);
                                        LoggerHelper.Info(" /*此处加入活动*/:" + targetid + " DeviceKey:" + deviceKey);
                                        //参与所有活动规则
                                        if (!string.IsNullOrWhiteSpace(deviceKey))
                                        {
                                            using (ActFacade actFacade = new ActFacade())
                                            {
                                                actFacade.SendBonusAfterInvest(dt, Utils.GetDevicePlatformCode(deviceKey));
                                            }
                                        }
                                        ViewBag.UserId = Convert.ToInt32(dt.Rows[0]["registerid"]);
                                        #region MyRegion  系统消息
                                        DateTime            dti = DateTime.Now;
                                        M_td_System_message pm  = new M_td_System_message();
                                        pm.MReg     = int.Parse(dt.Rows[0]["investor_registerid"].ToString());
                                        pm.Mstate   = 0;
                                        pm.MTitle   = "投资成功";
                                        pm.MContext = "尊敬的用户" + dt.Rows[0]["username"].ToString() + ":您好!恭喜您成功投资了项目【" + dt.Rows[0]["borrowing_title"].ToString() + "】,投资金额是:" + dt.Rows[0]["investment_amount"].ToString() + "。如有问题可咨询创利投的客服!谢谢!";
                                        pm.PubTime  = dti;
                                        pm.Mtype    = 1;
                                        B_usercenter.AddMessage(pm);
                                        #endregion

                                        #region MyRegion//短信通知

                                        MemberLogic _logic    = new MemberLogic();
                                        var         smsEntity = _logic.GetSmsEmailEntity(1, 15); // 短信通知



                                        StringBuilder sbsms = new StringBuilder(smsEntity.SEContext);
                                        sbsms = sbsms.Replace("#USERANEM#", dt.Rows[0]["username"].ToString());
                                        sbsms = sbsms.Replace("#PID#", dt.Rows[0]["targetid"].ToString());
                                        sbsms = sbsms.Replace("#MONEY#", dt.Rows[0]["investment_amount"].ToString());
                                        string          mobile  = dt.Rows[0]["mobile"].ToString();
                                        M_td_SMS_record psms    = new M_td_SMS_record();
                                        B_td_SMS_record osms    = new B_td_SMS_record();
                                        int             smstype = (int)Enum.Parse(typeof(EnumSMSType), EnumSMSType.投资成功.ToString());
                                        psms.phone_number = mobile;
                                        psms.sendtime     = DateTime.Now;
                                        psms.senduserid   = int.Parse(dt.Rows[0]["investor_registerid"].ToString());
                                        psms.smstype      = smstype;
                                        psms.smscontext   = sbsms.ToString();
                                        psms.orderid      = SendSMS.Send(mobile, sbsms.ToString());
                                        psms.vcode        = "";

                                        osms.Add(psms);
                                        #endregion
                                    }
                                }
                            }
                        }
                    }
                }/*缓存检查结束位置*/
            }
            #endregion
            return(View(p));
        }