public AccountManageController(UserStoreService userStoreService, UserManager <ApplicationUser> userManager, ILoggerFactory loggerFactory, IMapper mapper)
 {
     _userManager      = userManager;
     _userStoreService = userStoreService;
     _logger           = loggerFactory.CreateLogger <AccountManageController>();
     _mapper           = mapper;
 }
Ejemplo n.º 2
0
 public void TearDown()
 {
     userStoreService     = null;
     fakeUserStoreService = null;
     stubUserStoreService = null;
     spyUserStoreService  = null;
     //mockUserStoreService = null;
 }
Ejemplo n.º 3
0
 public void Setup()
 {
     userStoreService     = new UserStoreService(dummyClass);
     fakeUserStoreService = new FakeUserStoreService();
     stubUserStoreService = new StubUserStoreService();
     spyUserStoreService  = new SpyUserStoreService();
     //mockUserStoreService = new MockUserStoreService();
 }
Ejemplo n.º 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));
        }
Ejemplo n.º 5
0
 public AccountController()
 {
    var storeService = new UserStoreService(
       new ApplicationDbContext());
    var userManager =
      new UserManager<Contact>(storeService) { };
    UserManager = userManager;
    UserStoreService = storeService;
 }
Ejemplo n.º 6
0
        public AccountController()
        {
            var storeService = new UserStoreService(
                new ApplicationDbContext());
            var userManager =
                new UserManager <Contact>(storeService)
            {
            };

            UserManager      = userManager;
            UserStoreService = storeService;
        }
Ejemplo n.º 7
0
        public void TestCanCeateUserStore()
        {
            IUserStore userstoreservice = new UserStoreService();
            UserStore  userstore        = new UserStore
            {
                ID   = Guid.NewGuid(),
                Bady = new Bady {
                    ID = new Guid("3B5B342C-8E09-4854-8C1D-05600B5C9955")
                },
                Comment  = 100,
                Liked    = 0,
                Rank     = 40,
                Statues  = 1,
                Record   = 40,
                Page     = 1,
                Link     = "www.baidu.com",
                Username = "******"
            };
            Guid id = userstoreservice.Create(userstore);

            Assert.AreEqual(id, userstore.ID);
        }
        public IHttpActionResult PayOrder([FromBody] PayOrderParam param)
        {
            SimpleResult result = new SimpleResult();
            IRecordsOfConsumptionService _service   = new RecordsOfConsumptionService();
            ICouponService      _couponService      = new CouponService();
            IUseWalletService   _useWalletService   = new UseWalletService();
            IStoreService       _stoeservice        = new StoreService();
            IProductInfoService _productInfoService = new ProductInfoService();

            try
            {
                if (UserAuthorization)
                {
                    LogHelper.WriteLog("PayOrder接口");
                    LogHelper.WriteLog("productCode  param.userCode" + param.paytype);
                    LogHelper.WriteLog("productCode param.money " + param.money);
                    LogHelper.WriteLog("productCode param.orderCode" + param.orderCode);
                    LogHelper.WriteLog("productCode param.peopleCount" + param.peopleCount);
                    LogHelper.WriteLog("productCode param.productCode" + param.productCode);
                    LogHelper.WriteLog("productCode param.storeId" + param.storeId);
                    LogHelper.WriteLog("productCode param.userCode " + param.userCode);
                    LogHelper.WriteLog("productCode param.couponCode " + param.couponCode);
                    var isExistProduct = _productInfoService.IsExistProduct(param.productCode);
                    if (!isExistProduct)
                    {
                        result.Status   = Result.SYSTEM_ERROR;
                        result.Msg      = "商品已失效或不存在";
                        result.Resource = null;
                    }
                    if (param.paytype == 0)
                    {
                        LogHelper.WriteLog("会员支付 " + param.paytype);

                        var isPay = true;
                        if (!string.IsNullOrEmpty(param.couponCode))
                        {
                            var n = _couponService.Exist(param.couponCode);
                            if (n == 1)
                            {
                                result.Status   = Result.SYSTEM_ERROR;
                                result.Msg      = "优惠卷不存在";
                                result.Resource = null;
                                isPay           = false;
                            }
                            else if (n == 2)
                            {
                                result.Status   = Result.SYSTEM_ERROR;
                                result.Msg      = "优惠卷已经被使用";
                                result.Resource = null;
                                isPay           = false;
                            }
                        }

                        if (isPay)
                        {
                            if (_useWalletService.ExistMoney(param.userCode, param.money))
                            {
                                var re = _service.PayOrder(param.productCode, param.userCode, param.peopleCount, param.dateTime, param.money, param.storeId, param.orderCode, param.couponCode);
                                result.Resource = "SUCCEED";
                                result.Status   = Result.SUCCEED;
                                LogHelper.WriteLog("result.Status " + Result.SUCCEED);
                            }
                            else
                            {
                                result.Status   = Result.SYSTEM_ERROR;
                                result.Msg      = "账号余额不足";
                                result.Resource = null;
                                LogHelper.WriteLog("result.Status " + Result.SYSTEM_ERROR);
                            }
                        }
                    }
                    else
                    {
                        var isPay = true;
                        if (!string.IsNullOrEmpty(param.couponCode))
                        {
                            var n = _couponService.Exist(param.couponCode);
                            if (n == 1)
                            {
                                result.Status   = Result.SYSTEM_ERROR;
                                result.Msg      = "优惠卷不存在";
                                result.Resource = null;
                                isPay           = false;
                            }
                            else if (n == 2)
                            {
                                result.Status   = Result.SYSTEM_ERROR;
                                result.Msg      = "优惠卷已经被使用";
                                result.Resource = null;
                                isPay           = false;
                            }
                        }
                        if (isPay)
                        {
                            using (var scope = new TransactionScope())//创建事务
                            {
                                LogHelper.WriteLog("微信支付 " + param.userCode);
                                IUserStoreService _userStoreservice = new UserStoreService();
                                var store        = _stoeservice.GetStore(param.storeId);
                                var couponser    = _couponService.GetCouponByCode(param.couponCode);
                                var userStoreser = _userStoreservice.GetUserStorebyUserCodestoreCode(param.userCode, param.storeId);
                                if (userStoreser != null)
                                {
                                    if (param.money != 0)
                                    {
                                        //生成微信预支付订单
                                        var wxprepay = Common.wxPayOrderSomething(userStoreser.OpenID, param.money.ToString(), couponser?.CouponTypeName, store);
                                        if (wxprepay != null)
                                        {
                                            var order = _service.WxPayOrder(param.productCode, param.userCode, param.peopleCount, param.dateTime, param.money, wxprepay.prepayid, param.storeId, param.orderCode, param.couponCode);
                                            if (!string.IsNullOrEmpty(param.couponCode))
                                            {
                                                _couponService.UsedUpdate(param.couponCode, param.userCode, order.OrderCode);
                                            }
                                            WxOrder wxorder = new WxOrder();
                                            wxorder.orderCode    = order.OrderCode;
                                            wxorder.wxJsApiParam = wxprepay.wxJsApiParam;
                                            wxorder.prepayid     = wxprepay.prepayid;
                                            wxorder.IsWxPay      = true;
                                            result.Resource      = wxorder;
                                            result.Status        = Result.SUCCEED;
                                        }
                                        else
                                        {
                                            result.Msg    = "微信下单失败,重新提交订单";
                                            result.Status = Result.SYSTEM_ERROR;
                                        }
                                    }
                                    else
                                    {
                                        var order = _service.WxPayNoMoneyOrder(param.productCode, param.userCode, param.peopleCount, param.dateTime, param.money, null, param.couponCode);
                                        _couponService.UsedUpdate(param.couponCode, param.userCode, order.OrderCode);
                                        LogHelper.WriteLog("更新的钱包和优惠券couponCode: " + param.couponCode);

                                        LogHelper.WriteLog("报表写入数据开始");
                                        IFinancialStatementsService _financialStatementsService = new FinancialStatementService();
                                        LogHelper.WriteLog("报表表数据更新");
                                        financialStatements fs = _financialStatementsService.getData(param.userCode, order, "微信");
                                        LogHelper.WriteLog("报表表数据更新完成");

                                        _financialStatementsService.Insert(fs);
                                        LogHelper.WriteLog("报表写入数据结束" + fs.Code);
                                        WxOrder wxorder = new WxOrder();
                                        wxorder.orderCode = order.OrderCode;
                                        result.Resource   = "SUCCEED";
                                        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("WxPayOrder PayOrder ", ex);
                result.Status = Result.FAILURE;
                result.Msg    = ex.Message;

                LogHelper.WriteLog("微信支付", ex);
            }
            LogHelper.WriteLog("PayOrder result" + Json(result));
            return(Json(result));
        }
Ejemplo n.º 9
0
        public static addCard GetCardExt(Store store, string userCode)
        {
            LogHelper.WriteLog("GetCardExt start");
            IUserStoreService userStoreService = new UserStoreService();

            var     cardId  = ConfigurationManager.AppSettings["cardId"].ToString();
            addCard addCard = new addCard();

            addCard.cardId = cardId;
            CardExt cardExt = new CardExt();

            LogHelper.WriteLog("store.appid:" + store.appid.Trim());
            LogHelper.WriteLog("store.accessToken:" + store.accessToken);
            LogHelper.WriteLog("store.api_ticket:" + store.api_ticket);
            LogHelper.WriteLog("store.accessTokenCreateTime:" + store.accessTokenCreateTime);
            var userStore = userStoreService.GetUserStorebyUserCodestoreCode(userCode, store.StoreCode);

            if (!string.IsNullOrEmpty(store.accessToken) && !string.IsNullOrEmpty(store.api_ticket) && store.accessTokenCreateTime > DateTime.Now.AddHours(-1))
            {
                var api_ticket = store.api_ticket;
                cardExt.code      = WxPayApi.GenerateNonceStr();
                cardExt.openid    = userStore.OpenID;
                cardExt.nonce_str = WxPayApi.GenerateNonceStr();
                cardExt.timestamp = WxPayApi.GenerateTimeStamp();
                cardExt.signature = GetSignature(api_ticket, cardExt.nonce_str, cardExt.timestamp, cardExt.code, cardExt.openid, cardId);
                LogHelper.WriteLog("api_ticket :" + api_ticket);
                LogHelper.WriteLog("nonce_str :" + cardExt.nonce_str);
                LogHelper.WriteLog("timestamp :" + cardExt.timestamp);
                LogHelper.WriteLog("code :" + cardExt.code);
                LogHelper.WriteLog("openid :" + cardExt.openid);
                LogHelper.WriteLog("cardId :" + cardId);
            }
            else
            {
                var accessToken = wxAccessToken(store.appid.Trim(), store.secret.Trim());
                if (accessToken != null)
                {
                    if (!string.IsNullOrEmpty(accessToken.access_token))
                    {
                        var wt = apiticket(accessToken.access_token);
                        if (wt != null)
                        {
                            if (!string.IsNullOrEmpty(wt?.ticket))
                            {
                                IStoreService _stoeservice = new StoreService();
                                store.accessToken           = accessToken.access_token;
                                store.api_ticket            = wt?.ticket;
                                store.accessTokenCreateTime = DateTime.Now;
                                LogHelper.WriteLog("store.accessToken:" + store.accessToken);
                                LogHelper.WriteLog("store.api_ticket:" + store.api_ticket);
                                LogHelper.WriteLog("store.accessTokenCreateTime:" + store.accessTokenCreateTime);
                                _stoeservice.UpdateStoreaccessToken(store);

                                var api_ticket = store.api_ticket;
                                cardExt.code      = WxPayApi.GenerateNonceStr();
                                cardExt.openid    = userStore.OpenID;
                                cardExt.nonce_str = WxPayApi.GenerateNonceStr();
                                cardExt.timestamp = WxPayApi.GenerateTimeStamp();
                                cardExt.signature = GetSignature(api_ticket, cardExt.nonce_str, cardExt.timestamp, cardExt.code, cardExt.openid, ConfigurationManager.AppSettings["Company"].ToString());
                                LogHelper.WriteLog("api_ticket :" + api_ticket);
                                LogHelper.WriteLog("nonce_str :" + cardExt.nonce_str);
                                LogHelper.WriteLog("timestamp :" + cardExt.timestamp);
                                LogHelper.WriteLog("code :" + cardExt.code);
                                LogHelper.WriteLog("openid :" + cardExt.openid);
                                LogHelper.WriteLog("cardId :" + cardId);
                            }
                            else

                            {
                                return(null);
                            }
                        }
                        else

                        {
                            return(null);
                        }
                    }
                    else

                    {
                        return(null);
                    }
                }
                else

                {
                    return(null);
                }
            }
            addCard.cardExt = cardExt;
            LogHelper.WriteLog("GetCardExt end");
            return(addCard);
        }
Ejemplo n.º 10
0
        public IHttpActionResult GetOrderList(string userCode)
        {
            LogHelper.WriteLog("GetOrderList userCode" + userCode);
            SimpleResult      result            = new SimpleResult();
            IOrderService     _service          = new OrderService();
            IUserStoreService _userStoreService = new UserStoreService();
            IStoreService     _Storeservice     = new StoreService();

            try
            {
                if (UserAuthorization)
                {
                    var list      = _service.GetOrderList(userCode);
                    var userSotre = _userStoreService.GetUserStorebyUserCode(userCode);
                    var store     = _Storeservice.GetStore(userSotre.MembershipCardStore);
                    if (store != null)
                    {
                        using (var scope = new TransactionScope())//创建事务
                        {
                            foreach (var item in list)
                            {
                                if (!string.IsNullOrEmpty(item.WxPrepayId) && item.PayTime == null)
                                {
                                    var PayTime = Common.wxPayOrderQuery(item.WxPrepayId, store.appid.Trim(), store.mchid);
                                    if (!string.IsNullOrEmpty(PayTime))
                                    {
                                        LogHelper.WriteLog("GetOrderList PayTime" + PayTime);
                                        DateTime dt = DateTime.ParseExact(PayTime, "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);
                                        item.PayTime = dt;
                                        _service.UpdateOrder(item);

                                        LogHelper.WriteLog("报表写入数据开始");
                                        IFinancialStatementsService _financialStatementsService = new FinancialStatementService();
                                        LogHelper.WriteLog("报表表数据更新");
                                        financialStatements fs = _financialStatementsService.getData(userCode, item, "微信");

                                        LogHelper.WriteLog("报表表数据更新完成");

                                        _financialStatementsService.Insert(fs);
                                        LogHelper.WriteLog("报表写入数据结束" + fs.Code);
                                    }
                                }
                            }
                            scope.Complete();//这是最后提交事务
                        }
                    }
                    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("GetOrderList userCode" + userCode, ex);
                result.Status = Result.FAILURE;
                result.Msg    = ex.Message;
            }
            LogHelper.WriteLog("GetOrderList result" + Json(result));
            return(Json(result));
        }
Ejemplo n.º 11
0
        public static void GetUserBadyInfo()
        {
            IBady          badyservice = new BadyService();
            PaginationInfo paging      = new PaginationInfo();
            IList <Bady>   badys       = badyservice.Get(null, null, null, 1, 0, null, out paging);

            dt = GetTableSchema2();
            foreach (Bady b in badys)
            {
                if (!string.IsNullOrEmpty(b.Twitterid))
                {
                    string          url              = "http://www.meilishuo.com/share/" + b.Twitterid;
                    CookieContainer cookie           = new CookieContainer();
                    string          html             = HttpHelper.GetHtml(url, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0", "application/json, text/javascript, */*; q=0.01", null, null, Encoding.UTF8);
                    HtmlAgilityPack.HtmlDocument doc = new HtmlDocument();
                    doc.LoadHtml(html);
                    var      liked   = 0;
                    var      comment = 0;
                    var      record  = 0;
                    HtmlNode node    = doc.DocumentNode.SelectSingleNode("//span[@class='likeNum poster_like_num']");
                    if (node != null)
                    {
                        liked = int.Parse(node.InnerText);
                    }

                    node = doc.DocumentNode.SelectSingleNode("//span[@class='poster_forward_num']");

                    if (node != null)
                    {
                        record = int.Parse(node.InnerText);
                    }

                    node = doc.DocumentNode.SelectSingleNode("//em[@class='twitter_comment_num']");

                    if (node != null)
                    {
                        comment = int.Parse(node.InnerText);
                    }

                    UserStore model = new UserStore
                    {
                        ID         = Guid.NewGuid(),
                        Bady       = b,
                        Comment    = comment,
                        Username   = b.Username,
                        Createby   = "admin",
                        Createtime = DateTime.Now.ToString(),
                        Updatetime = DateTime.Now.ToString(),
                        Statues    = 1,
                        Updateby   = "admin",
                        Page       = 0,
                        Rank       = 0,
                        Liked      = liked,
                        Record     = record,
                        mtype      = ""
                    };

                    DataRow dataRow = dt.NewRow();
                    dataRow[0]  = model.ID;
                    dataRow[1]  = model.Username;
                    dataRow[2]  = model.Bady.ID.ToString();
                    dataRow[3]  = model.Page;
                    dataRow[4]  = DBNull.Value;
                    dataRow[5]  = model.Liked;
                    dataRow[6]  = model.Record;
                    dataRow[7]  = model.Comment;
                    dataRow[8]  = DBNull.Value;
                    dataRow[9]  = model.Rank;
                    dataRow[10] = model.Createby;
                    dataRow[11] = model.Createtime;
                    dataRow[12] = model.Updateby;
                    dataRow[13] = model.Updatetime;
                    dataRow[14] = model.Statues;
                    dataRow[15] = model.mtype;
                    dt.Rows.Add(dataRow);
                }
            }



            IUserStore service = new UserStoreService();

            service.DeleteAll();
            service.Createbatch(dt, "userstore");

            Console.WriteLine("完成 宝贝数据量" + dt.Rows.Count.ToString());
            dt = null;
        }
Ejemplo n.º 12
0
        public static void UpdateUserStore()
        {
            IUserStore firstpageargservice = new UserStoreService();

            firstpageargservice.UpdateAll();
        }
Ejemplo n.º 13
0
        //http://localhost:10010//api/Message/BangMessageOk?userCode=18235139350
        public IHttpActionResult BangMessageOk(string userCode)
        {
            LogHelper.WriteLog("BangMessageOk :" + userCode);

            ICouponService     _service           = new CouponService();
            IUserInfo          _userservice       = new UserInfo();
            ICouponTypeService _couponTypeservice = new CouponTypeService();
            IUserTaskService   _userTaskservice   = new UserTaskService();
            IStoreService      storeService       = new StoreService();
            IUserStoreService  userStoreService   = new UserStoreService();
            SimpleResult       result             = new SimpleResult();

            try
            {
                if (UserAuthorization)
                {
                    var user = userInfo.GetUserByCode(userCode);
                    if (user != null)
                    {
                        var userStore = userStoreService.GetUserStorebyUserCode(userCode);
                        if (userStore != null)
                        {
                            var store = storeService.GetStore(userStore.MembershipCardStore);
                            if (store != null)
                            {
                                var cardId = ConfigurationManager.AppSettings["cardId"].ToString();
                                var card   = getcardlist(store.accessToken, userStore.OpenID, cardId);
                                if (card != null && card.FirstOrDefault()?.code != null)
                                {
                                    var code       = card.FirstOrDefault()?.code;
                                    var cardstatus = getcardstatus(store.accessToken, code, cardId);
                                    if (cardstatus.user_card_status.Equals("NORMAL"))
                                    {
                                        //写入到手机号和和数据库
                                        var count = userInfo.UpdateIsMemberByuserCode(userCode, code);
                                        if (count > 0)
                                        {
                                            if (!string.IsNullOrEmpty(user.RecommendedPhone))
                                            {
                                                IUserStoreService _userStoreservice = new UserStoreService();

                                                if (store != null)
                                                {
                                                    var recouser = _userservice.GetUserByphone(user.RecommendedPhone, store.StoreCode);
                                                    //判断是不是已经领够了2次
                                                    if (recouser != null && recouser.IsMember)
                                                    {
                                                        if (_service.checkCoupon(recouser.Code, "2"))
                                                        {
                                                            var couponType = _couponTypeservice.GetCouponTypeByIsGivedType("2");
                                                            if (couponType != null)
                                                            {
                                                                Coupon coupon = new Coupon();
                                                                coupon.CouponCode     = Guid.NewGuid().ToString();
                                                                coupon.UserCode       = recouser.Code;
                                                                coupon.CouponTypeCode = couponType.CouponTypeCode;
                                                                coupon.StratTime      = DateTime.Now;
                                                                coupon.VersionEndTime = DateTime.MaxValue;
                                                                coupon.IsGiveed       = true;
                                                                coupon.CouponUseCode  = Str(10, true);
                                                                //没有添加任务优惠券
                                                                var re = _service.Insert(coupon);
                                                                //更改任务状态
                                                                var userTask = _userTaskservice.GetUserTaskList(recouser.Code);
                                                                var ut       = userTask.Where(u => u.TaskCode == "2").FirstOrDefault();
                                                                ut.IsComplete = true;
                                                                _userTaskservice.UpdateUserTask(ut.UserTaskCode, 1);
                                                                result.Resource = re;
                                                                result.Status   = Result.SUCCEED;
                                                            }
                                                            else
                                                            {
                                                                result.Resource = "好友赠送任务已经结束";
                                                                result.Status   = Result.SYSTEM_ERROR;
                                                            }
                                                        }
                                                        else
                                                        {
                                                            result.Resource = "好友已经达到任务奖励上限";

                                                            result.Status = Result.SYSTEM_ERROR;
                                                        }
                                                    }
                                                    else
                                                    {
                                                        result.Resource = "您还没有注册会员";
                                                        result.Status   = Result.SYSTEM_ERROR;
                                                    }
                                                }
                                                else
                                                {
                                                    result.Resource = "店铺不存在";
                                                    result.Status   = Result.SYSTEM_ERROR;
                                                }
                                            }
                                            if (!user.IsMember)
                                            {
                                                //
                                                //添加赠送本人
                                                if (_service.checkCoupon(userCode, "1"))
                                                {
                                                    var couponType = _couponTypeservice.GetCouponTypeByIsGivedType("1");
                                                    if (couponType != null)
                                                    {
                                                        Coupon coupon = new Coupon();
                                                        coupon.CouponCode     = Guid.NewGuid().ToString();
                                                        coupon.UserCode       = userCode;
                                                        coupon.CouponTypeCode = couponType.CouponTypeCode;
                                                        coupon.StratTime      = DateTime.Now;
                                                        coupon.VersionEndTime = DateTime.MaxValue;
                                                        coupon.IsGiveed       = true;
                                                        coupon.CouponUseCode  = Str(10, true);
                                                        //没有添加任务优惠券
                                                        var re = _service.Insert(coupon);
                                                        //更改任务状态
                                                        //更改任务状态
                                                        var userTask = _userTaskservice.GetUserTaskList(userCode);
                                                        var ut       = userTask.Where(u => u.TaskCode == "1").FirstOrDefault();
                                                        ut.IsComplete = true;
                                                        _userTaskservice.UpdateUserTask(ut.UserTaskCode, 1);
                                                        result.Resource = re;
                                                        result.Status   = Result.SUCCEED;
                                                    }
                                                }
                                            }

                                            result.Resource = count;
                                            result.Status   = Result.SUCCEED;
                                        }
                                        else
                                        {
                                            result.Status   = Result.SYSTEM_ERROR;
                                            result.Resource = "添加没有成功,请重试。";
                                        }
                                    }
                                    else
                                    {
                                        result.Status   = Result.SYSTEM_ERROR;
                                        result.Resource = "添加没有成功,请重试。";
                                    }
                                }
                                else
                                {
                                    result.Status   = Result.SYSTEM_ERROR;
                                    result.Resource = "添加没有成功,请重试。";
                                }
                            }
                        }
                        else
                        {
                            result.Status   = Result.SYSTEM_ERROR;
                            result.Resource = "添加没有成功,请重试。";
                        }
                    }
                    else
                    {
                        result.Status   = Result.SYSTEM_ERROR;
                        result.Resource = "当前用户不存在";
                    }
                }
                else
                {
                    result.Status   = ResultType;
                    result.Resource = ReAccessToken;
                    result.Msg      = TokenMessage;
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog("BangMessageOk:" + ex.Message, ex);
                LogHelper.WriteLog("BangMessageOk:" + ex.StackTrace, ex);
                result.Status = Result.FAILURE;
                result.Msg    = ex.Message;
            }
            LogHelper.WriteLog("BangMessageOk result" + Json(result));
            return(Json(result));
        }
Ejemplo n.º 14
0
        //http://localhost:10010//api/Message/BangMessageCode?phone=18235139350&verificationCode=232232&userCode=121ewe&birthday='yyyy-mm-dd'
        public IHttpActionResult BangMessageCode(string phone, string verificationCode, string userCode, string storeCode, string birthday, string recommendedPhone = null)
        {
            LogHelper.WriteLog("BangMessageCode phone" + phone);
            LogHelper.WriteLog("BangMessageCode verificationCode" + verificationCode);
            LogHelper.WriteLog("BangMessageCode userCode" + userCode);
            LogHelper.WriteLog("BangMessageCode storeCode" + storeCode);
            LogHelper.WriteLog("BangMessageCode birthday" + birthday);
            LogHelper.WriteLog("BangMessageCode recommendedPhone" + recommendedPhone);
            IStoreService      storeService       = new StoreService();
            ICouponService     _service           = new CouponService();
            IUserInfo          _userservice       = new UserInfo();
            ICouponTypeService _couponTypeservice = new CouponTypeService();
            IUserTaskService   _userTaskservice   = new UserTaskService();
            IUserStoreService  userStoreService   = new UserStoreService();
            SimpleResult       result             = new SimpleResult();

            try
            {
                if (UserAuthorization)
                {
                    if (verificationService.CheckVerification(phone, verificationCode))
                    {
                        DateTime birthdaydate = new DateTime();
                        if (DateTime.TryParse(birthday, out birthdaydate))
                        {
                            var store = storeService.GetStore(storeCode);
                            if (store != null)
                            {
                                var use = userInfo.GetUserByCode(userCode);
                                if (use != null)
                                {
                                    var userStore = userStoreService.GetUserStorebyUserCode(userCode);
                                    if (userStore != null)
                                    {
                                        var recouser = _userservice.GetUserByphone(recommendedPhone, store.StoreCode);
                                        //判断是不是已经领够了2次
                                        if (recouser != null && recouser.IsMember)
                                        {
                                            if (_service.checkCoupon(recouser.Code, "2"))
                                            {
                                                var couponType = _couponTypeservice.GetCouponTypeByIsGivedType("2");
                                                if (couponType != null)
                                                {
                                                    Coupon coupon = new Coupon();
                                                    coupon.CouponCode     = Guid.NewGuid().ToString();
                                                    coupon.UserCode       = recouser.Code;
                                                    coupon.CouponTypeCode = couponType.CouponTypeCode;
                                                    coupon.StratTime      = DateTime.Now;
                                                    coupon.VersionEndTime = DateTime.MaxValue;
                                                    coupon.IsGiveed       = true;
                                                    coupon.CouponUseCode  = Str(10, true);
                                                    //没有添加任务优惠券
                                                    var re = _service.Insert(coupon);
                                                    //更改任务状态
                                                    var userTask = _userTaskservice.GetUserTaskList(recouser.Code);
                                                    var ut       = userTask.Where(u => u.TaskCode == "2").FirstOrDefault();
                                                    ut.IsComplete = true;
                                                    _userTaskservice.UpdateUserTask(ut.UserTaskCode, 1);
                                                    result.Resource = re;
                                                    result.Status   = Result.SUCCEED;
                                                }
                                                else
                                                {
                                                    result.Resource = "好友赠送任务已经结束";
                                                    result.Status   = Result.SYSTEM_ERROR;
                                                }
                                            }
                                        }
                                        //添加赠送本人
                                        if (_service.checkCoupon(userCode, "1"))
                                        {
                                            var couponType = _couponTypeservice.GetCouponTypeByIsGivedType("1");
                                            if (couponType != null)
                                            {
                                                Coupon coupon = new Coupon();
                                                coupon.CouponCode     = Guid.NewGuid().ToString();
                                                coupon.UserCode       = userCode;
                                                coupon.CouponTypeCode = couponType.CouponTypeCode;
                                                coupon.StratTime      = DateTime.Now;
                                                coupon.VersionEndTime = DateTime.MaxValue;
                                                coupon.IsGiveed       = true;
                                                coupon.CouponUseCode  = Str(10, true);
                                                //没有添加任务优惠券
                                                var re = _service.Insert(coupon);
                                                //更改任务状态
                                                //更改任务状态
                                                var userTask = _userTaskservice.GetUserTaskList(userCode);
                                                var ut       = userTask.Where(u => u.TaskCode == "1").FirstOrDefault();
                                                ut.IsComplete = true;
                                                _userTaskservice.UpdateUserTask(ut.UserTaskCode, 1);
                                                result.Resource = re;
                                                result.Status   = Result.SUCCEED;
                                            }
                                        }
                                        var cardId = ConfigurationManager.AppSettings["cardId"].ToString();
                                        var card   = getcardlist(store.accessToken, userStore.OpenID, cardId);
                                        if (card != null && card.FirstOrDefault()?.code != null)
                                        {
                                            var code       = card.FirstOrDefault()?.code;
                                            var cardstatus = getcardstatus(store.accessToken, code, cardId);
                                            if (cardstatus.user_card_status.Equals("NORMAL"))
                                            {
                                                var count = userInfo.UpdateByuserCodePhone(userCode, phone, birthdaydate, code);

                                                if (count > 0)
                                                {
                                                    result.Status = Result.SUCCEED;
                                                }
                                                else
                                                {
                                                    result.Status = Result.SYSTEM_ERROR;
                                                    result.Msg    = "当前用户绑定手机号失败";
                                                }
                                            }
                                            else
                                            {
                                                var wxc = Common.GetCardExt(store, userCode);
                                                if (wxc != null)
                                                {
                                                    //写入到手机号和和数据库
                                                    var count = userInfo.UpdateByPhone(userCode, phone, birthdaydate, wxc.cardExt.code, recommendedPhone);
                                                    if (count > 0)
                                                    {
                                                        result.Status = Result.SUCCEED;
                                                        LogHelper.WriteLog("BangMessageCode :" + result.Status);
                                                        LogHelper.WriteLog("wxc :" + wxc);
                                                        LogHelper.WriteLog("code :" + wxc.cardExt.code);
                                                        result.Resource = wxc;
                                                    }
                                                    else
                                                    {
                                                        result.Status = Result.SYSTEM_ERROR;
                                                        result.Msg    = "获取配置失败重新获取";
                                                    }
                                                }
                                                else
                                                {
                                                    result.Status = Result.USER_AUTH_ERROR;
                                                    result.Msg    = "获取配置失败重新获取";
                                                }
                                            }
                                        }
                                        else
                                        {
                                            var wxc = Common.GetCardExt(store, userCode);
                                            if (wxc != null)
                                            {
                                                //写入到手机号和和数据库
                                                var count = userInfo.UpdateByPhone(userCode, phone, birthdaydate, wxc.cardExt.code, recommendedPhone);
                                                if (count > 0)
                                                {
                                                    result.Status = Result.SUCCEED;
                                                    LogHelper.WriteLog("BangMessageCode :" + result.Status);
                                                    LogHelper.WriteLog("wxc :" + wxc);
                                                    LogHelper.WriteLog("code :" + wxc.cardExt.code);
                                                    result.Resource = wxc;
                                                }
                                                else
                                                {
                                                    result.Status = Result.SYSTEM_ERROR;
                                                    result.Msg    = "获取配置失败重新获取";
                                                }
                                            }
                                            else
                                            {
                                                result.Status = Result.USER_AUTH_ERROR;
                                                result.Msg    = "获取配置失败重新获取";
                                            }
                                        }
                                    }
                                    else
                                    {
                                        result.Status = Result.SYSTEM_ERROR;
                                        result.Msg    = "当前用户不存在";
                                    }
                                }
                                else
                                {
                                    result.Status = Result.SYSTEM_ERROR;
                                    result.Msg    = "当前用户不存在";
                                }
                            }
                            else
                            {
                                result.Status = Result.SYSTEM_ERROR;
                                result.Msg    = "店铺不存在";
                            }
                        }
                        else
                        {
                            result.Status = Result.SYSTEM_ERROR;
                            result.Msg    = "选择生日有误";
                        }
                    }
                    else
                    {
                        result.Status = Result.SYSTEM_ERROR;
                        result.Msg    = "验证码错误或者已经过期,请重新获取验证码。";
                    }
                }
                else
                {
                    result.Status   = ResultType;
                    result.Resource = ReAccessToken;
                    result.Msg      = TokenMessage;
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog("BangMessageCode:", ex);
                result.Status = Result.FAILURE;
                result.Msg    = ex.Message;
            }
            LogHelper.WriteLog("BangMessageCode result" + Json(result));

            return(Json(result));
        }
Ejemplo n.º 15
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));
        }
Ejemplo n.º 16
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));
        }