示例#1
0
        public async Task <IActionResult> Edit(string id, Menber menber)
        {
            if (id != menber.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(menber);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!MenberExists(menber.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(menber));
        }
示例#2
0
        public async Task <IActionResult> Create(Menber menber)
        {
            if (ModelState.IsValid)
            {
                _context.Add(menber);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(menber));
        }
示例#3
0
        public IActionResult PromoCode()
        {
            try
            {
                var    openId = HttpContext.Session.GetString("OpenId");
                Menber menber = _context.Menbers.FirstOrDefault(x => x.WeChatOpenId == openId);
                var    result = Senparc.Weixin.MP.AdvancedAPIs.QrCodeApi.Create(WeiXinConfig.appId, 2592000, 1222, Senparc.Weixin.MP.QrCode_ActionName.QR_STR_SCENE, menber.Id);

                ViewBag.urlstr = result.url;
            }
            catch (Exception ex)
            {
                RCLog.Error(this, ex.ToString());
            }
            return(View());
        }
示例#4
0
        public async Task <IActionResult> Me()
        {
            MeVM   vm     = new MeVM();
            Menber menber = null;

            ViewBag.headerUrl = HttpContext.Session.GetString("headimgurl");
            try
            {
                var weChatOpenId = HttpContext.Session.GetString("OpenId");
                menber = await _context.Menbers.FirstOrDefaultAsync(x => x.WeChatOpenId == weChatOpenId);

                if (menber == null)
                {
                    menber              = new Menber();
                    menber.Username     = HttpContext.Session.GetString("nickname");
                    menber.WeChatOpenId = weChatOpenId;
                    _context.Add(menber);
                    _context.SaveChanges();
                    ViewBag.headerUrl = HttpContext.Session.GetString("headimgurl");
                    return(RedirectToAction("ModifPhoneNumber", "wechat"));
                }
                else
                {
                    menber.Username = HttpContext.Session.GetString("nickname");
                    _context.Update(menber);
                    _context.SaveChanges();
                }
                vm.Balance     = (decimal)(menber.AccountSum * 0.01);//转化为元
                vm.IntegralSum = menber.IntegralSum;
                vm.Username    = menber.Username;
                vm.PhoneNo     = string.IsNullOrEmpty(menber.PhoneNumber) ? "无" : menber.PhoneNumber;
                vm.OrderSum    = await _context.Orders.Where(x => x.OwnerId == menber.Id).CountAsync();
            }
            catch (Exception ex)
            {
                RCLog.Error(this, ex.ToString());
            }
            return(View(vm));
        }
        public override IResponseMessageBase OnEventRequest(IRequestMessageEventBase requestMessage)
        {
            switch (requestMessage.Event)
            {
            case Event.ENTER:
                break;

            case Event.LOCATION:
                break;

            case Event.subscribe:
                var requestMessagenew = (RequestMessageEvent_Subscribe)requestMessage;
                //RCLog.Info(this, "EventKey:" + requestMessagenew.EventKey);///推荐人openId
                //RCLog.Info(this, "FromUserName:" + requestMessagenew.FromUserName);///订阅人Id
                //RCLog.Info(this, "ToUserName:" + requestMessagenew.ToUserName);///服务号Id

                var result = _context.Menbers.FirstOrDefault(x => x.WeChatOpenId == requestMessagenew.FromUserName);
                if (result == null)
                {
                    var    ReferrerId = requestMessagenew.EventKey.Replace("qrscene_", "");
                    Menber menber     = new Menber();
                    menber.WeChatOpenId = requestMessagenew.FromUserName;
                    menber.ReferrerId   = requestMessagenew.FromUserName == ReferrerId ?"": ReferrerId;
                    _context.Add(menber);
                    _context.SaveChanges();
                }
                break;

            case Event.unsubscribe:
                break;

            case Event.CLICK:
                break;

            case Event.scan:
                break;

            case Event.VIEW:
                break;

            case Event.MASSSENDJOBFINISH:
                break;

            case Event.TEMPLATESENDJOBFINISH:
                break;

            case Event.scancode_push:
                break;

            case Event.scancode_waitmsg:
                break;

            case Event.pic_sysphoto:
                break;

            case Event.pic_photo_or_album:
                break;

            case Event.pic_weixin:
                break;

            case Event.location_select:
                break;

            case Event.card_pass_check:
                break;

            case Event.card_not_pass_check:
                break;

            case Event.user_get_card:
                break;

            case Event.user_del_card:
                break;

            case Event.kf_create_session:
                break;

            case Event.kf_close_session:
                break;

            case Event.kf_switch_session:
                break;

            case Event.poi_check_notify:
                break;

            case Event.WifiConnected:
                break;

            case Event.user_consume_card:
                break;

            case Event.user_view_card:
                break;

            case Event.user_enter_session_from_card:
                break;

            case Event.merchant_order:
                break;

            case Event.submit_membercard_user_info:
                break;

            case Event.ShakearoundUserShake:
                break;

            case Event.user_gifting_card:
                break;

            case Event.user_pay_from_pay_cell:
                break;

            case Event.update_member_card:
                break;

            case Event.card_sku_remind:
                break;

            case Event.card_pay_order:
                break;

            case Event.qualification_verify_success:
                break;

            case Event.qualification_verify_fail:
                break;

            case Event.naming_verify_success:
                break;

            case Event.naming_verify_fail:
                break;

            case Event.annual_renew:
                break;

            case Event.verify_expired:
                break;

            case Event.weapp_audit_success:
                break;

            case Event.weapp_audit_fail:
                break;

            default:
                break;
            }
            return(base.OnEventRequest(requestMessage));
        }
示例#6
0
        /// <summary>
        /// JS-SDK支付回调地址(在统一下单接口中设置notify_url)
        /// </summary>
        /// <returns></returns>
        public ActionResult PayNotifyUrl()
        {
            try
            {
                RCLog.Info(this, "支付返回");
                ResponseHandler resHandler = new ResponseHandler(HttpContext);

                string return_code = resHandler.GetParameter("return_code");
                string return_msg  = resHandler.GetParameter("return_msg");

                string res = null;

                resHandler.SetKey(WeiXinConfig.Key);
                //验证请求是否从微信发过来(安全)
                if (resHandler.IsTenpaySign() && return_code.ToUpper() == "SUCCESS")
                {
                    res = "success"; //正确的订单处理
                                     //直到这里,才能认为交易真正成功了,可以进行数据库操作,但是别忘了返回规定格式的消息!
                    string total_fee    = resHandler.GetParameter("total_fee");
                    string out_trade_no = resHandler.GetParameter("out_trade_no");
                    string openid       = resHandler.GetParameter("openid");
                    string package      = resHandler.GetParameter("attach");



                    Menber      owner       = _context.Menbers.FirstOrDefault(x => x.WeChatOpenId == openid);
                    AccountInfo accountinfo = _context.AccountInfos.FirstOrDefault(x => x.TradeNo == out_trade_no);

                    accountinfo.BeforeMoney = owner.AccountSum;
                    accountinfo.AfterMoney  = owner.AccountSum + int.Parse(total_fee);
                    accountinfo.OwnerId     = owner.Id;
                    accountinfo.Money       = int.Parse(total_fee);
                    accountinfo.CreateTime  = DateTime.Now;
                    accountinfo.TradeNo     = out_trade_no;
                    accountinfo.TradeName   = package;
                    owner.AccountSum        = accountinfo.AfterMoney;
                    //_context.Add(accountinfo);
                    _context.SaveChanges();
                }
                else
                {
                    res = "wrong";//错误的订单处理
                }

                /* 这里可以进行订单处理的逻辑 */

                //发送支付成功的模板消息

                string xml = string.Format(@"<xml>
<return_code><![CDATA[{0}]]></return_code>
<return_msg><![CDATA[{1}]]></return_msg>
</xml>", return_code, return_msg);
                RCLog.Info(this, xml);
                return(Content(xml, "text/xml"));
            }
            catch (Exception ex)
            {
                RCLog.Error(this, $"发生错误{ex.ToString()}");
                throw;
            }
        }