コード例 #1
0
        /// <summary>
        /// 更新收货地址
        /// </summary>
        /// <param name="arg"></param>
        /// <returns></returns>
        public ActionResult Update(ConsigneeUpdateArgs arg)
        {
            ShippingAddress address = new ShippingAddress
            {
                Address_Id = arg.AddressId,
                Is_Default = arg.IsDefault,
                Is_Del     = 0,
                Tag_Name   = arg.TagName,
                Owner_Id   = arg.OwnerType == Address_Owner_Type.个人用户 ? Package.UserId : arg.OwnerId,
                Consignee  = new ConsigneeInfo
                {
                    Address        = arg.Address,
                    Mobile_No      = arg.MobileNo,
                    Post_Code      = arg.PostCode,
                    Region_Id      = arg.RegionId,
                    Consignee_Name = arg.ConsigneeName
                }
            };
            ConsigneeProvider provider = new ConsigneeProvider();

            if (!provider.Update(address))
            {
                return(FailResult(provider.PromptInfo.CustomMessage, (int)provider.PromptInfo.ResultType));
            }
            return(SuccessResult());
        }
コード例 #2
0
ファイル: ShippingAddressTest.cs プロジェクト: Baiqu/User
        public void DeleteTest()
        {
            int addressId = 1;
            ConsigneeProvider provider = new ConsigneeProvider();
            bool res = provider.Delete(addressId);

            Assert.IsTrue(res);
        }
コード例 #3
0
ファイル: ShippingAddressTest.cs プロジェクト: Baiqu/User
        public void SetDefaultTest()
        {
            int addressId = 2;
            ConsigneeProvider provider = new ConsigneeProvider();
            bool res = provider.SetDefault(addressId);

            Assert.IsTrue(res);
        }
コード例 #4
0
ファイル: ShippingAddressTest.cs プロジェクト: Baiqu/User
        public void GetListTest()
        {
            int ownerId = 3999999;
            Address_Owner_Type ownerType = Address_Owner_Type.个人用户;
            ConsigneeProvider  provider  = new ConsigneeProvider();
            List <Winner.Consignee.Entities.AddressInfo> list = provider.List(ownerId, ownerType);

            Assert.IsTrue(list != null && list.Count > 0);
        }
コード例 #5
0
        /// <summary>
        /// 设置默认收货地址
        /// </summary>
        /// <param name="AddressId"></param>
        /// <returns></returns>
        public ActionResult SetDefault(int AddressId)
        {
            ConsigneeProvider provider = new ConsigneeProvider();

            if (!provider.SetDefault(AddressId))
            {
                return(FailResult(provider.PromptInfo.CustomMessage, (int)provider.PromptInfo.ResultType));
            }
            return(SuccessResult());
        }
コード例 #6
0
        /// <summary>
        /// 查询所有收货地址
        /// </summary>
        /// <param name="OwnerId"></param>
        /// <param name="OwnerType"></param>
        /// <returns></returns>
        public ActionResult List(int OwnerId, int OwnerType)
        {
            if (OwnerType == (int)Address_Owner_Type.个人用户)
            {
                OwnerId = Package.UserId;
            }
            ConsigneeProvider provider = new ConsigneeProvider();

            provider.ChangePage = this.ChangePage();
            var list = provider.List(OwnerId, (Address_Owner_Type)OwnerType);

            return(SuccessResultList(list, provider.ChangePage));
        }
コード例 #7
0
ファイル: ShippingAddressTest.cs プロジェクト: Baiqu/User
        public void CreateTest()
        {
            int ownerId = 3999999;
            Address_Owner_Type ownerType     = Address_Owner_Type.个人用户;
            string             address       = "新安街道留仙一路高新奇科技园";
            string             consigneeName = "Jason";
            string             mobileno      = "18600001111";
            int regionId = 2334;
            ConsigneeProvider provider = new ConsigneeProvider();
            bool res = provider.Create(ownerId, ownerType, false, address, consigneeName, mobileno, regionId);

            Assert.IsTrue(res);
        }
コード例 #8
0
        /// <summary>
        /// 删除收货地址
        /// </summary>
        /// <param name="AddressId"></param>
        /// <param name="OwnerId"></param>
        /// <param name="OwnerType"></param>
        /// <returns></returns>
        public ActionResult Delete(int AddressId, int OwnerId, int OwnerType)
        {
            if (OwnerType == (int)Address_Owner_Type.个人用户)
            {
                OwnerId = Package.UserId;
            }
            ConsigneeProvider provider = new ConsigneeProvider();

            if (!provider.Delete(AddressId))
            {
                return(FailResult(provider.PromptInfo.CustomMessage, (int)provider.PromptInfo.ResultType));
            }
            return(SuccessResult());
        }
コード例 #9
0
ファイル: ShippingAddressTest.cs プロジェクト: Baiqu/User
        public void UpdateTest()
        {
            bool   isDefault    = false;
            string tagName      = "英雄会公司";
            string postCode     = null;
            string address      = null; //"a new address";
            string consigneName = null; // "张先生";
            string mobileno     = "18600001221";
            int    regionId     = 0;
            int    addressId    = 11;

            ConsigneeProvider provider = new ConsigneeProvider();
            bool res = provider.Update(addressId, isDefault, address, consigneName, mobileno, regionId, postCode, tagName);

            if (!res)
            {
                Debug.WriteLine(provider.PromptInfo.Message);
            }
            Assert.IsTrue(res);
        }
コード例 #10
0
ファイル: OrderCreationProvider.cs プロジェクト: Baiqu/User
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public bool CreateOrder()
        {
            if (_arg == null || _arg.UserCollection == null || _arg.UserCollection.Length <= 0)
            {
                Alert("请指定VIP升级会员");
                return(false);
            }
            decimal amount = GetOrderAmount(_arg.DeviceModel) * _arg.UserCollection.Length;

            if (amount <= 0)
            {
                Alert("指定型号的设备已停止赠送");
                return(false);
            }
            IUser user = GetUserById(_arg.UserId);

            if (user == null)
            {
                Alert("付款账号不存在");
                return(false);
            }
            string order_no;

            BeginTransaction();
            Tvip_Order daOrder = new Tvip_Order();

            daOrder.ReferenceTransactionFrom(Transaction);
            daOrder.Amount     = amount;
            daOrder.Order_Type = (int)_arg.OrderType;
            daOrder.Pay_Type   = (int)_arg.PayType;
            daOrder.Status     = 0;
            daOrder.User_Id    = _arg.UserId;
            daOrder.Device_Id  = _arg.DeviceModel;
            if (!string.IsNullOrEmpty(_arg.Org_Code))
            {
                daOrder.Biz_Args = "{\"Org_Code\":\"" + _arg.Org_Code + "\"}";
            }
            if (_arg.ConsigneeId.HasValue)
            {
                daOrder.Delivery_Type = 1;
            }
            if (!daOrder.Insert("VIP", out order_no))
            {
                Rollback();
                Alert("创建订单失败");
                return(false);
            }
            if (_arg.ConsigneeId.HasValue)
            {
                ConsigneeProvider consignee = new ConsigneeProvider();
                AddressInfo       address   = consignee.GetAddressById(_arg.ConsigneeId.Value);
                if (address == null)
                {
                    Rollback();
                    Alert("无效的收货地址");
                    return(false);
                }
                Tvip_Express daExpress = new Tvip_Express();
                daExpress.ReferenceTransactionFrom(Transaction);
                daExpress.Order_Id       = daOrder.Order_Id;
                daExpress.Receiver       = address.ConsigneeName;
                daExpress.Contract_Phone = address.MobileNo;
                daExpress.Province_Name  = address.ProvinceName;
                daExpress.City_Name      = address.CityName;
                daExpress.Region_Name    = address.RegionName;
                daExpress.Full_Address   = address.Address;
                daExpress.Status         = 0;
                if (!daExpress.Insert())
                {
                    Rollback();
                    Alert("收货地址保存失败");
                    return(false);
                }
            }
            foreach (string userCode in _arg.UserCollection)
            {
                IUser vipUser = GetUserByCode(userCode);
                if (vipUser == null)
                {
                    Rollback();
                    Alert(userCode + "不存在");
                    return(false);
                }
                //if (vipUser.Grade.Level == (int)UserLevel.DIP会员 || vipUser.Grade.Level == (int)UserLevel.VIP会员)
                //{
                //    Alert("您已经是VIP,不能重复申请");
                //    Rollback();
                //    return false;
                //}
                Tvip_Sub_Order daSub = new Tvip_Sub_Order();
                daSub.ReferenceTransactionFrom(Transaction);
                daSub.Order_Id = daOrder.Order_Id;
                daSub.User_Id  = vipUser.UserId;
                if (!daSub.Insert())
                {
                    Rollback();
                    Alert("创建订单失败");
                    return(false);
                }
            }
            string voucher = order_no;

            if (xUtils.IsCashPayment(_arg.PayType))
            {
                var gpuRes = CreateGpuOrder(user, order_no, amount, _arg.PayType);
                if (!gpuRes.Success)
                {
                    Rollback();
                    Alert(gpuRes.Message);
                    return(false);
                }
                voucher     = gpuRes.Content.Voucher;
                this.PayUrl = gpuRes.Content.PayUrl;
            }
            daOrder.Voucher = voucher;
            if (!daOrder.Update())
            {
                Rollback();
                Alert("获取支付凭证号失败");
                return(false);
            }
            Commit();
            this.OrderNo = order_no;
            this.Voucher = voucher;
            this.Amount  = amount;

            return(true);
        }