Exemplo n.º 1
0
        public JsonResult ApplyWithDrawSubmit(string openid, string nickname, decimal amount, string pwd)
        {
            var success = Application.MemberApplication.VerificationPayPwd(CurrentUser.Id, pwd);

            if (!success)
            {
                throw new HimallException("支付密码不对,请重新输入!");
            }
            var capitalInfo = _iMemberCapitalService.GetCapitalInfo(CurrentUser.Id);

            if (amount > capitalInfo.Balance)
            {
                throw new HimallException("提现金额不能超出可用金额!");
            }
            if (amount <= 0)
            {
                throw new HimallException("提现金额不能小于等于0!");
            }
            ApplyWithDrawInfo model = new ApplyWithDrawInfo()
            {
                ApplyAmount = amount,
                ApplyStatus = ApplyWithDrawInfo.ApplyWithDrawStatus.WaitConfirm,
                ApplyTime   = DateTime.Now,
                MemId       = CurrentUser.Id,
                OpenId      = openid,
                NickName    = nickname
            };

            _iMemberCapitalService.AddWithDrawApply(model);
            return(Json(new { success = true }));
        }
Exemplo n.º 2
0
        public ActionResult Index()
        {
            IMemberCapitalService memberCapitalService = ServiceHelper.Create <IMemberCapitalService>();
            CapitalInfo           capitalInfo          = memberCapitalService.GetCapitalInfo(base.CurrentUser.Id);

            return(View(capitalInfo));
        }
Exemplo n.º 3
0
        public JsonResult ApplyWithDrawSubmit(string nickname, decimal amount, string pwd)
        {
            var success = MemberApplication.VerificationPayPwd(CurrentUser.Id, pwd);

            if (!success)
            {
                throw new HimallException("支付密码不对,请重新输入!");
            }
            var capitalInfo = _iMemberCapitalService.GetCapitalInfo(CurrentUser.Id);

            if (amount > capitalInfo.Balance)
            {
                throw new HimallException("提现金额不能超出可用金额!");
            }
            if (amount <= 0)
            {
                throw new HimallException("提现金额不能小于等于0!");
            }
            var    openid  = Core.Helper.WebHelper.GetCookie(CookieKeysCollection.HIMALL_USER_OpenID);
            string strNick = string.Empty;

            if (!string.IsNullOrWhiteSpace(openid))
            {
                openid = Core.Helper.SecureHelper.AESDecrypt(openid, "Mobile");
                var siteSetting = _iSiteSettingService.GetSiteSettings();
                if (!(string.IsNullOrWhiteSpace(siteSetting.WeixinAppId) || string.IsNullOrWhiteSpace(siteSetting.WeixinAppSecret)))
                {
                    string token    = AccessTokenContainer.TryGetToken(siteSetting.WeixinAppId, siteSetting.WeixinAppSecret);
                    var    userinfo = Senparc.Weixin.MP.CommonAPIs.CommonApi.GetUserInfo(token, openid);
                    if (userinfo != null)
                    {
                        strNick = userinfo.nickname;
                    }
                }
            }
            else
            {
                throw new HimallException("数据异常,OpenId不能为空!");
            }

            ApplyWithDrawInfo model = new ApplyWithDrawInfo()
            {
                ApplyAmount = amount,
                ApplyStatus = ApplyWithDrawInfo.ApplyWithDrawStatus.WaitConfirm,
                ApplyTime   = DateTime.Now,
                MemId       = CurrentUser.Id,
                OpenId      = openid,
                NickName    = strNick
            };

            _iMemberCapitalService.AddWithDrawApply(model);
            return(Json(new { success = true }));
        }
        public ActionResult ApplyWithDraw()
        {
            SiteSettingsInfo siteSettings = ServiceHelper.Create <ISiteSettingService>().GetSiteSettings();

            if (string.IsNullOrWhiteSpace(siteSettings.WeixinAppId) || string.IsNullOrWhiteSpace(siteSettings.WeixinAppSecret))
            {
                throw new HimallException("Can not Set WeiXin AppId");
            }
            string     str        = AccessTokenContainer.TryGetToken(siteSettings.WeixinAppId, siteSettings.WeixinAppSecret, true);
            SceneModel sceneModel = new SceneModel(QR_SCENE_Type.WithDraw)
            {
                Object = base.CurrentUser.Id.ToString()
            };
            int num = (new SceneHelper()).SetModel(sceneModel, 600);
            CreateQrCodeResult createQrCodeResult = QrCodeApi.Create(str, 300, num, 10000);

            ViewBag.ticket  = createQrCodeResult.ticket;
            ViewBag.Sceneid = num;
            IMemberCapitalService memberCapitalService = ServiceHelper.Create <IMemberCapitalService>();
            CapitalInfo           capitalInfo          = memberCapitalService.GetCapitalInfo(base.CurrentUser.Id);

            if (capitalInfo == null)
            {
                ViewBag.ApplyWithMoney = 0;
            }
            else
            {
                dynamic viewBag = base.ViewBag;
                decimal?balance = capitalInfo.Balance;
                ViewBag.ApplyWithMoney = balance.Value;
            }
            string membersId = this.CurrentUser.UserName;
            IEnumerable <WithDrawInfo> WithDraws = ServiceHelper.Create <IWithDrawService>().GetWithDrawByMembersId(membersId);//因为UserName值唯一,所以没有登录账号ID去获取信息

            String[] Array = new String[WithDraws.Count()];
            int      i     = 0;

            foreach (var item in WithDraws)
            {
                Array[i] = item.WithdrawType + "【" + item.AccountNumber + "," + item.Name + "】";
                i++;
            }
            ViewBag.List = Array;
            ViewBag.Num  = Array.Length;


            base.ViewBag.IsSetPwd = (string.IsNullOrWhiteSpace(base.CurrentUser.PayPwd) ? false : true);
            return(View());
        }
Exemplo n.º 5
0
        public ActionResult ApplyWithDraw()
        {
            SiteSettingsInfo siteSettings = ServiceHelper.Create <ISiteSettingService>().GetSiteSettings();

            if (string.IsNullOrWhiteSpace(siteSettings.WeixinAppId) || string.IsNullOrWhiteSpace(siteSettings.WeixinAppSecret))
            {
                throw new HimallException("未配置公众号参数");
            }

            //string str = AccessTokenContainer.TryGetToken(siteSettings.WeixinAppId, siteSettings.WeixinAppSecret, false);
            string str = CommonApi.GetToken(siteSettings.WeixinAppId, siteSettings.WeixinAppSecret).access_token;
            //
            SceneModel sceneModel = new SceneModel(QR_SCENE_Type.WithDraw)
            {
                Object = base.CurrentUser.Id.ToString()
            };
            int num = (new SceneHelper()).SetModel(sceneModel, 600);

            //CreateQrCodeResult createQrCodeResult = Senparc.Weixin.MP.AdvancedAPIs.QrCodeApi.Create(str, 300, num, 10000);
            CreateQrCodeResult createQrCodeResult = Senparc.Weixin.MP.AdvancedAPIs.QrCodeApi.Create(str, 300, num, Senparc.Weixin.MP.QrCode_ActionName.QR_SCENE);

            ViewBag.ticket  = createQrCodeResult.ticket;
            ViewBag.Sceneid = num;
            IMemberCapitalService memberCapitalService = ServiceHelper.Create <IMemberCapitalService>();
            CapitalInfo           capitalInfo          = memberCapitalService.GetCapitalInfo(base.CurrentUser.Id);

            if (capitalInfo == null)
            {
                ViewBag.ApplyWithMoney = 0;
            }
            else
            {
                dynamic viewBag = base.ViewBag;
                decimal?balance = capitalInfo.Balance;
                viewBag.ApplyWithMoney = balance.Value;
            }
            base.ViewBag.IsSetPwd = (string.IsNullOrWhiteSpace(base.CurrentUser.PayPwd) ? false : true);
            return(View());
        }
Exemplo n.º 6
0
        public ActionResult Index()
        {
            IMemberCapitalService memberCapitalService = ServiceHelper.Create <IMemberCapitalService>();
            CapitalInfo           capitalInfo          = memberCapitalService.GetCapitalInfo(base.CurrentUser.Id);
            decimal num = new decimal(0);

            if (capitalInfo != null)
            {
                num = (
                    from e in capitalInfo.Himall_CapitalDetail
                    where e.SourceType == CapitalDetailInfo.CapitalDetailType.RedPacket
                    select e).Sum <CapitalDetailInfo>((CapitalDetailInfo e) => e.Amount);
                dynamic viewBag = base.ViewBag;
                ICollection <CapitalDetailInfo> himallCapitalDetail = capitalInfo.Himall_CapitalDetail;
                viewBag.CapitalDetails = (
                    from e in himallCapitalDetail
                    orderby e.CreateTime descending
                    select e).Take(15);
            }
            ViewBag.RedPacketAmount = num;
            base.ViewBag.IsSetPwd   = (string.IsNullOrWhiteSpace(base.CurrentUser.PayPwd) ? false : true);
            return(View(capitalInfo));
        }
 /// <summary>
 /// 取会员资产
 /// </summary>
 /// <param name="userid">会员ID</param>
 /// <returns></returns>
 public static CapitalInfo GetCapitalInfo(long userid)
 {
     return(_iMemberCapitalService.GetCapitalInfo(userid));
 }
Exemplo n.º 8
0
        // GET: Web/UserCenter
        public ActionResult Home()
        {
            UserCenterHomeModel viewModel = new UserCenterHomeModel();
            var model = _iMemberService.GetUserCenterModel(CurrentUser.Id);

            viewModel.userCenterModel = model;
            viewModel.UserName        = CurrentUser.Nick == "" ? CurrentUser.UserName : CurrentUser.Nick;
            viewModel.Logo            = CurrentUser.Photo;
            var items = _iCartService.GetCart(CurrentUser.Id).Items.OrderByDescending(a => a.AddTime).Select(p => p.ProductId).Take(3).ToArray();

            viewModel.ShoppingCartItems = _iProductService.GetProductByIds(items).ToArray();
            var UnEvaluatProducts = _iCommentService.GetUnEvaluatProducts(CurrentUser.Id).ToArray();

            viewModel.UnEvaluatProductsNum  = UnEvaluatProducts.Count();
            viewModel.Top3UnEvaluatProducts = UnEvaluatProducts.Take(3).ToArray();
            viewModel.Top3RecommendProducts = _iProductService.GetPlatHotSaleProductByNearShop(8, CurrentUser.Id).ToArray();
            viewModel.BrowsingProducts      = BrowseHistrory.GetBrowsingProducts(4, CurrentUser == null ? 0 : CurrentUser.Id);

            var messagePlugins = PluginsManagement.GetPlugins <IMessagePlugin>();
            var data           = messagePlugins.Select(item => new PluginsInfo
            {
                ShortName       = item.Biz.ShortName,
                PluginId        = item.PluginInfo.PluginId,
                Enable          = item.PluginInfo.Enable,
                IsSettingsValid = item.Biz.IsSettingsValid,
                IsBind          = !string.IsNullOrEmpty(_iMessageService.GetDestination(CurrentUser.Id, item.PluginInfo.PluginId, Himall.Model.MemberContactsInfo.UserTypes.General))
            });

            viewModel.BindContactInfo = data;
            var orders = _iOrderService.GetOrders <OrderInfo>(new OrderQuery
            {
                PageNo   = 1,
                PageSize = int.MaxValue,
                UserId   = CurrentUser.Id
            });

            viewModel.OrderCount = orders.Total;
            //交易预约单 待结算
            viewModel.OrderWaitReceiving = orders.Models.Where(c => c.OrderStatus == OrderInfo.OrderOperateStatus.WaitReceiving).Count();
            //交易预约单 待付款
            viewModel.OrderWaitPay = orders.Models.Where(c => c.OrderStatus == OrderInfo.OrderOperateStatus.WaitPay).Count();
            //交易预约单 待评价
            var productEvaluations = _iCommentService.GetProductEvaluation(new CommentQuery
            {
                UserID   = CurrentUser.Id,
                PageSize = int.MaxValue,
                PageNo   = 1,
                Sort     = "PComment"
            });
            var orderEvaluations = productEvaluations.Models.Where(item => item.EvaluationStatus == false).Select(item => item.OrderId).Distinct();

            viewModel.OrderEvaluationStatus = orderEvaluations.Count();
            //TODO:[LLY]增加我的资产
            var capitalInfo = _iMemberCapitalService.GetCapitalInfo(CurrentUser.Id);
            var balance     = 0M;

            if (capitalInfo != null && capitalInfo.Balance.HasValue)
            {
                balance = capitalInfo.Balance.Value;
            }
            viewModel.Balance = balance;
            //TODO:[YZG]增加账户安全等级
            MemberAccountSafety memberAccountSafety = new MemberAccountSafety();

            memberAccountSafety.AccountSafetyLevel = 1;
            if (CurrentUser.PayPwd != null)
            {
                memberAccountSafety.PayPassword         = true;
                memberAccountSafety.AccountSafetyLevel += 1;
            }
            var ImessageService = _iMessageService;

            foreach (var messagePlugin in data)
            {
                if (messagePlugin.PluginId.IndexOf("SMS") > 0)
                {
                    if (messagePlugin.IsBind)
                    {
                        memberAccountSafety.BindPhone           = true;
                        memberAccountSafety.AccountSafetyLevel += 1;
                    }
                }
                else
                {
                    if (messagePlugin.IsBind)
                    {
                        memberAccountSafety.BindEmail           = true;
                        memberAccountSafety.AccountSafetyLevel += 1;
                    }
                }
            }
            viewModel.memberAccountSafety = memberAccountSafety;
            return(View(viewModel));
        }
Exemplo n.º 9
0
        public ActionResult Center()
        {
            MemberCenterModel model = new MemberCenterModel();
            var orders  = _iOrderService.GetTopOrders(int.MaxValue, CurrentUser.Id);
            var setting = _iDistributionService.GetDistributionSetting();

            model.CanDistribution = false;
            if (setting != null && setting.Enable)
            {
                model.CanDistribution = true;
            }
            //待评价
            //var queryModel = new OrderQuery()
            //{
            //    Status = Model.OrderInfo.OrderOperateStatus.Finish,
            //    UserId = CurrentUser.Id,
            //    PageSize = int.MaxValue,
            //    PageNo = 1,
            //    Commented = false
            //};
            //ViewBag.WaitingForComments = _iOrderService.GetOrders<OrderInfo>(queryModel).Total;

            var member = _iMemberService.GetMember(CurrentUser.Id);

            model.Member            = member;
            model.AllOrders         = orders.Count();
            model.WaitingForRecieve = orders.Count(item => item.UserId == CurrentUser.Id && (item.OrderStatus == Model.OrderInfo.OrderOperateStatus.WaitReceiving || item.OrderStatus == OrderInfo.OrderOperateStatus.WaitSelfPickUp)); //获取待收货订单数
            model.WaitingForPay     = orders.Count(item => item.OrderStatus == Model.OrderInfo.OrderOperateStatus.WaitPay);                                                                                                             //获取待支付订单数
            var waitdelordnum   = orders.Count(item => item.OrderStatus == Model.OrderInfo.OrderOperateStatus.WaitDelivery);                                                                                                            //获取待发货订单数
            var fgwaitdelordnum = _iOrderService.GetFightGroupOrderByUser(CurrentUser.Id);

            model.WaitingForDelivery = waitdelordnum - fgwaitdelordnum;
            model.WaitingForComments = orders.Count(item => item.OrderStatus == Model.OrderInfo.OrderOperateStatus.Finish && item.OrderCommentInfo.Count == 0);

            //拼团
            model.CanFightGroup         = FightGroupApplication.IsOpenMarketService();
            model.BulidFightGroupNumber = FightGroupApplication.CountJoiningOrder(CurrentUser.Id);

            RefundQuery query = new RefundQuery()
            {
                UserId   = CurrentUser.Id,
                PageNo   = 1,
                PageSize = int.MaxValue
            };
            var      refundPage = _iRefundService.GetOrderRefunds(query);
            DateTime endsrtime  = DateTime.Now.Date;

            if (CurrentSiteSetting.SalesReturnTimeout > 0)
            {
                endsrtime = endsrtime.AddDays(-CurrentSiteSetting.SalesReturnTimeout).Date;
            }
            model.RefundOrders = refundPage.Models.Where(e => e.ManagerConfirmStatus == OrderRefundInfo.OrderRefundConfirmStatus.UnConfirm ||
                                                         (e.SellerAuditStatus == OrderRefundInfo.OrderRefundAuditStatus.UnAudit && e.OrderItemInfo.OrderInfo.FinishDate >= endsrtime)).Count();
            var     capital = _iMemberCapitalService.GetCapitalInfo(CurrentUser.Id);
            decimal cap;

            if (capital != null)
            {
                cap = capital.Balance.HasValue ? capital.Balance.Value : 0;
            }
            else
            {
                cap = 0;
            }
            model.Capital = cap;
            var CouponsCount = _iCouponService.GetAllUserCoupon(CurrentUser.Id).Count();

            CouponsCount      += _iShopBonusService.GetCanUseDetailByUserId(CurrentUser.Id).Count();
            model.CouponsCount = CouponsCount;

            var userInte  = MemberIntegralApplication.GetMemberIntegral(UserId);
            var userGrade = MemberGradeApplication.GetMemberGradeByUserIntegral(userInte.HistoryIntegrals);

            model.GradeName = userGrade.GradeName;
            model.MemberAvailableIntegrals = userInte.AvailableIntegrals;
            model.CollectionShop           = _iVShopService.GetUserConcernVShops(CurrentUser.Id, 1, int.MaxValue).Count();

            model.CanSignIn      = _iMemberSignInService.CanSignInByToday(CurrentUser.Id);
            model.SignInIsEnable = _iMemberSignInService.GetConfig().IsEnable;
            model.userMemberInfo = CurrentUser;
            return(View(model));
        }