Пример #1
0
        public IHttpActionResult GetRechargeRecordListByUserCode(string userCode)
        {
            LogHelper.WriteLog("GetRechargeRecordListByUserCode userCode" + userCode);
            SimpleResult           result   = new SimpleResult();
            IRechargeRecordService _service = new RechargeRecordService();

            try
            {
                if (UserAuthorization)
                {
                    var list = _service.GetRechargeRecordListByUserCode(userCode);
                    list            = list.OrderByDescending(t => t.Createtime)?.ToList();
                    result.Resource = list;
                    result.Status   = Result.SUCCEED;
                }
                else
                {
                    result.Status   = ResultType;
                    result.Resource = ReAccessToken;
                    result.Msg      = TokenMessage;
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog("GetRechargeRecordListByUserCode userCode" + userCode, ex);
                result.Status = Result.FAILURE;
                result.Msg    = ex.Message;
            }
            LogHelper.WriteLog("GetRechargeRecordListByUserCode result" + Json(result));
            return(Json(result));
        }
Пример #2
0
        public IHttpActionResult InsertRechargeRecord(RechargeRecord record)
        {
            LogHelper.WriteLog("InsertRechargeRecord " + record);
            SimpleResult           result   = new SimpleResult();
            IRechargeRecordService _service = new RechargeRecordService();

            try
            {
                if (UserAuthorization)
                {
                    var list = _service.InsertRechargeRecord(record);
                    result.Resource = list;
                    result.Status   = Result.SUCCEED;
                }
                else
                {
                    result.Status   = ResultType;
                    result.Resource = ReAccessToken;
                    result.Msg      = TokenMessage;
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog("InsertRechargeRecord record" + record.ToString(), ex);
                result.Status = Result.FAILURE;
                result.Msg    = ex.Message;
            }
            LogHelper.WriteLog("InsertRechargeRecord result" + Json(result));
            return(Json(result));
        }
Пример #3
0
        public IHttpActionResult GetRechargeRecordList()
        {
            LogHelper.WriteLog("GetProductInfoListByListCode start");
            SimpleResult           result   = new SimpleResult();
            IRechargeRecordService _service = new RechargeRecordService();

            try
            {
                if (UserAuthorization)
                {
                    var list = _service.GetRechargeRecordList();
                    result.Resource = list;
                    result.Status   = Result.SUCCEED;
                }
                else
                {
                    result.Status   = ResultType;
                    result.Resource = ReAccessToken;
                    result.Msg      = TokenMessage;
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog("GetRechargeRecordList", ex);
                result.Status = Result.FAILURE;
                result.Msg    = ex.Message;
            }
            LogHelper.WriteLog("GetRechargeRecordList result" + Json(result));
            return(Json(result));
        }
Пример #4
0
        public IHttpActionResult GetUseWalletInfoByUserCode(string userCode)
        {
            LogHelper.WriteLog("GetUseWalletInfoByUserCode userCode" + userCode);

            SimpleResult           result   = new SimpleResult();
            IUseWalletService      _service = new UseWalletService();
            ITopupOrderServrce     tos      = new TopupOrderServrce();
            IRechargeRecordService _RechargeRecordService = new RechargeRecordService();
            IStoreService          _Storeservice          = new StoreService();
            IUserStoreService      _userStoreService      = new UserStoreService();

            try
            {
                if (UserAuthorization)
                {
                    //查看没有给微信支付核对的订单继续核对
                    var topupOrder = tos.GetTopupOrderbyuserCode(userCode);
                    var userSotre  = _userStoreService.GetUserStorebyUserCode(userCode);
                    var store      = _Storeservice.GetStore(userSotre.MembershipCardStore);

                    if (store != null)
                    {
                        foreach (var item in topupOrder)
                        {
                            if (!string.IsNullOrEmpty(item.WallePrCode) && item.PayDatetime == null)
                            {
                                var PayTime = Common.wxPayOrderQuery(item.WallePrCode, store.appid.Trim(), store.mchid);
                                if (!string.IsNullOrEmpty(PayTime))
                                {
                                    LogHelper.WriteLog("GetUseWalletInfoByUserCode PayTime" + PayTime);
                                    DateTime dt = DateTime.ParseExact(PayTime, "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);
                                    item.PayDatetime = dt;
                                    tos.UpdateTopupOrder(item.WallePrCode, item.PayDatetime);
                                    _RechargeRecordService.Recharge(item.RechargeTypeCode, item.UserCode, item.RecordsMoney, store.StoreCode);
                                }
                            }
                        }
                    }
                    var list = _service.GetUseWalletInfoByUserCode(userCode);
                    result.Resource = list;
                    result.Status   = Result.SUCCEED;
                }
                else
                {
                    result.Status   = ResultType;
                    result.Resource = ReAccessToken;
                    result.Msg      = TokenMessage;
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog("GetUseWalletInfoByUserCode userCode" + userCode, ex);
                result.Status = Result.FAILURE;
                result.Msg    = ex.Message;
            }
            LogHelper.WriteLog("GetUseWalletInfoByUserCode result" + Json(result));
            return(Json(result));
        }
Пример #5
0
        //充值
        public ActionResult Recharge()
        {
            string          userName        = Request["username"];
            UserInfoService userInfoService = new UserInfoService();
            UserInfo        user            = userInfoService.LoadEntities(s => s.Name == userName).FirstOrDefault();

            if (user == null)
            {
                throw new Exception("充值失败,充值用户不存!");
            }
            string money = Request["Money"];

            if (!string.IsNullOrEmpty(money))
            {
                decimal rechargeMoney = decimal.Parse(money);
                if (rechargeMoney > 0)
                {
                    //增加一条充值记录
                    RechargeRecord rechargeRecord = new RechargeRecord();
                    rechargeRecord.userId        = user.id;
                    rechargeRecord.RechargeBy    = User.Identity.Name;
                    rechargeRecord.RechargeDate  = DateTime.Now;
                    rechargeRecord.RechargeMoney = rechargeMoney;
                    RechargeRecordService rrs = new RechargeRecordService();
                    rrs.AddEntity(rechargeRecord);
                    //更新用户账户信息
                    Account account = accountService.LoadEntities(s => s.UserId == user.id).FirstOrDefault();
                    if (account == null)
                    {
                        Account accountNew = new Account();
                        accountNew.UserId  = user.id;
                        accountNew.IsValid = true;
                        accountNew.Balance = rechargeMoney;
                        accountService.AddEntity(accountNew);
                    }
                    else
                    {
                        account.Balance = account.Balance + rechargeMoney;
                        accountService.UpdateEntity(account);
                    }

                    return(Content("ok"));
                }
                else
                {
                    return(Content("充值失败,充值金额有误!"));
                }
            }
            else
            {
                return(Content("充值失败,充值金额为空!"));
            }
        }
Пример #6
0
        public IHttpActionResult wxPrePay(string prepayid, string storeCode)
        {
            LogHelper.WriteLog("wxPrePay prepayid" + prepayid);
            LogHelper.WriteLog("wxPrePay storeCode" + storeCode);

            SimpleResult           result            = new SimpleResult();
            IRechargeRecordService _service          = new RechargeRecordService();
            ITopupOrderServrce     tos               = new TopupOrderServrce();
            IStoreService          _Storeservice     = new StoreService();
            IUserStoreService      _userStoreService = new UserStoreService();

            try
            {
                if (UserAuthorization)
                {
                    using (var scope = new TransactionScope())//创建事务
                    {
                        var opupOrder = tos.GetTopupOrderbyWallePrCode(prepayid);
                        if (opupOrder != null)
                        {
                            var userSotre = _userStoreService.GetUserStorebyUserCode(opupOrder.UserCode);
                            var store     = _Storeservice.GetStore(userSotre.MembershipCardStore);
                            if (store != null)
                            {
                                if (!string.IsNullOrEmpty(prepayid))
                                {
                                    if (ConfigurationManager.AppSettings["isWxpay"] != null && ConfigurationManager.AppSettings["isWxpay"].ToString() == "true")
                                    {
                                        var PayTime = Common.wxPayOrderQuery(prepayid, store.appid.Trim(), store.mchid);
                                        if (!string.IsNullOrEmpty(PayTime))
                                        {
                                            LogHelper.WriteLog("wxPrePay PayTime" + PayTime);
                                            DateTime dt      = DateTime.ParseExact(PayTime, "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);
                                            var      payTime = dt;
                                            //更新TopupOrder 的支付时间
                                            tos.UpdateTopupOrder(prepayid, payTime);
                                            var tosmodel = tos.GetTopupOrderbyWallePrCode(prepayid);
                                            var list     = _service.Recharge(tosmodel.RechargeTypeCode, tosmodel.UserCode, tosmodel.RecordsMoney, storeCode);
                                            result.Resource = list;
                                            result.Status   = Result.SUCCEED;
                                        }
                                    }
                                    else
                                    {
                                        var payTime = DateTime.Now;
                                        //更新TopupOrder 的支付时间
                                        tos.UpdateTopupOrder(prepayid, payTime);
                                        var tosmodel = tos.GetTopupOrderbyWallePrCode(prepayid);
                                        var list     = _service.Recharge(tosmodel.RechargeTypeCode, tosmodel.UserCode, tosmodel.RecordsMoney, storeCode);
                                        result.Resource = list;
                                        result.Status   = Result.SUCCEED;
                                    }
                                }
                            }
                        }
                        scope.Complete();//这是最后提交事务
                    }
                }
                else
                {
                    result.Status   = ResultType;
                    result.Resource = ReAccessToken;
                    result.Msg      = TokenMessage;
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog("wxPrePay prepayid" + prepayid + " storeCode" + storeCode, ex);
                result.Status = Result.FAILURE;
                result.Msg    = ex.Message;
            }
            LogHelper.WriteLog("wxPrePay result" + Json(result));
            return(Json(result));
        }
Пример #7
0
        public IHttpActionResult  Recharge(string typeCode, string userCode, string storeCode, decimal?money = 0)
        {
            LogHelper.WriteLog("Recharge typeCode" + typeCode);
            LogHelper.WriteLog("Recharge userCode" + userCode);
            LogHelper.WriteLog("Recharge storeCode" + storeCode);
            LogHelper.WriteLog("Recharge money" + money);
            ICouponService         _couponService    = new CouponService();
            IUseWalletService      _useWalletService = new UseWalletService();
            IStoreService          _stoeservice      = new StoreService();
            SimpleResult           result            = new SimpleResult();
            IRechargeRecordService _service          = new RechargeRecordService();

            try
            {
                if (UserAuthorization)
                {
                    using (var scope = new TransactionScope())//创建事务
                    {
                        IUserStoreService    _userStoreservice = new UserStoreService();
                        IRechargeTypeService s   = new RechargeTypeService();
                        ITopupOrderServrce   tos = new TopupOrderServrce();
                        var store        = _stoeservice.GetStore(storeCode);
                        var userStoreser = _userStoreservice.GetUserStorebyUserCodestoreCode(userCode, storeCode);
                        if (userStoreser != null)
                        {//生成微信预支付订单
                            string  rechargeTypeName = "充值";
                            decimal?donationAmount   = 0;
                            if (typeCode == "0")
                            {
                                donationAmount = 0;
                            }
                            else
                            {
                                var type = s.GetRechargeTypeByCode(typeCode);
                                rechargeTypeName = type.RechargeTypeName;
                                donationAmount   = type?.DonationAmount;
                                money            = type?.Money;
                            }
                            var wxprepay = Common.wxPayOrderSomething(userStoreser.OpenID, money.ToString(), rechargeTypeName, store);
                            if (wxprepay != null)
                            {
                                //更新充值预订单
                                //给TopupOrder写数据
                                tos.InsertTopupOrder(userCode, wxprepay.prepayid, typeCode, money);

                                WxOrder wxorder = new WxOrder();
                                wxorder.orderCode    = null;
                                wxorder.wxJsApiParam = wxprepay.wxJsApiParam;
                                wxorder.prepayid     = wxprepay.prepayid;
                                result.Resource      = wxorder;
                                wxorder.IsWxPay      = true;
                                result.Status        = Result.SUCCEED;
                            }
                            else
                            {
                                result.Resource = "微信充值失败,重新充值";
                                result.Status   = Result.SYSTEM_ERROR;
                            }
                        }
                        scope.Complete();//这是最后提交事务
                    }
                }
                else
                {
                    result.Status   = ResultType;
                    result.Resource = ReAccessToken;
                    result.Msg      = TokenMessage;
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog("wxPrePay typeCode" + typeCode + " userCode" + userCode + " storeCode" + storeCode + " money" + money, ex);
                result.Status = Result.FAILURE;
                result.Msg    = ex.Message;
            }
            LogHelper.WriteLog("Recharge result" + Json(result));
            return(Json(result));
        }