Example #1
0
        /// <summary>
        /// 执行分销商返利
        /// </summary>
        /// <param name="order">订单实体</param>
        /// <returns></returns>
        /// <remarks>2015-09-11 杨浩 创建  2015-10-28 王耀发引用</remarks>
        public void ExecuteSellBusinessRebates(SoOrder order)
        {
            CrCustomer customer = GetModel(order.OrderCreatorSysNo);

            if (customer != null)
            {
                int indirect2Id = 0;
                int indirect1Id = 0;
                int recommendId = customer.PSysNo;

                string[] ids    = customer.CustomerSysNos.Trim(',').Split(',');
                int      length = ids.Length;

                if (length >= 3)
                {
                    indirect1Id = int.Parse(ids[length - 3]);
                }

                if (length >= 4)
                {
                    indirect2Id = int.Parse(ids[length - 4]);
                }

                CrSellBusinessRebatesResult sellBusinessRebatesResult = Hyt.DataAccess.CRM.ICrCustomerDao.Instance.ExecuteSellBusinessRebates(customer.PSysNo, order.OrderCreatorSysNo, indirect2Id, indirect1Id, order.SysNo, "2", order.ProductAmount);
            }
        }
Example #2
0
 /// <summary>
 /// 注册
 /// </summary>
 /// <param name="model">数据模型</param>
 public int Register(CrCustomer model)
 {
     return(DBContext.Insert(strTableName)
            .Column("Account", model.Account)
            .Column("Password", model.Password)
            .Column("SerialNumber", model.SerialNumber)
            .Column("OpenId", model.OpenId)
            .Column("ReferrerSysNo", model.ReferrerSysNo)
            .Column("PhoneNumber", model.PhoneNumber)
            .Column("RealName", model.RealName)
            .Column("Nickname", model.Nickname)
            .Column("HeadImgUrl", model.HeadImgUrl)
            .Column("IDNumber", model.IDNumber)
            .Column("TeamCount", model.TeamCount)
            .Column("Grade", model.Grade)
            .Column("Level", model.Level)
            .Column("LevelCustomerStr", model.LevelCustomerStr)
            .Column("Bank", model.Bank)
            .Column("BankNumber", model.BankNumber)
            .Column("WalletAmount", model.WalletAmount)
            .Column("HistoryWalletAmount", model.HistoryWalletAmount)
            .Column("UpgradeFundAmount", model.UpgradeFundAmount)
            .Column("RechargeTotalAmount", model.UpgradeFundAmount)
            .Column("GeneralBonus", model.GeneralBonus)
            .Column("AreaBonus", model.AreaBonus)
            .Column("GlobalBonus", model.GlobalBonus)
            .Column("ExpiresTime", model.ExpiresTime)
            .Column("FollowDate", model.FollowDate)
            .Column("RegisterIP", model.RegisterIP)
            .Column("RegisterDate", model.RegisterDate)
            .Column("LoginCount", model.LoginCount)
            .Column("Status", model.Status)
            .Column("CreatedDate", model.CreatedDate)
            .ExecuteReturnLastId <int>("SysNo"));
 }
Example #3
0
 /// <summary>
 /// 更新过期时间
 /// </summary>
 public int UpdateExpiresTime(CrCustomer model)
 {
     return(DBContext.Sql("update crcustomer set ExpiresTime=@ExpiresTime where SysNo=@SysNo")
            .Parameter("ExpiresTime", model.ExpiresTime)
            .Parameter("SysNo", model.SysNo)
            .Execute());
 }
Example #4
0
 /// <summary>
 /// 续费更新钱包
 /// </summary>
 public int UpdateWalletAmountRenew(CrCustomer model)
 {
     return(DBContext.Sql("update crcustomer set WalletAmount=WalletAmount-@WalletAmount where SysNo=@SysNo")
            .Parameter("WalletAmount", model.WalletAmount)
            .Parameter("SysNo", model.SysNo)
            .Execute());
 }
Example #5
0
 /// <summary>
 /// 更新用户密码
 /// </summary>
 /// <param name="model">会员模型</param>
 public int UpdatePassword(CrCustomer model)
 {
     return(DBContext.Update(strTableName)
            .Column("Password", model.Password)
            .Where("SysNo", model.SysNo)
            .Execute());
 }
Example #6
0
        /// <summary>
        /// 创建票证
        /// </summary>
        /// <param name="customer"></param>
        /// <param name="isPersistent"></param>
        /// <remarks>2013-06-26 杨浩 创建</remarks>
        private void Ticket(CrCustomer customer, bool isPersistent)
        {
            var now = DateTime.Now;

            var ticket = new FormsAuthenticationTicket(
                2,
                customer.SysNo.ToString(),
                now,
                now.Add(FormsAuthentication.Timeout),
                isPersistent,
                customer.Account,
                FormsAuthentication.FormsCookiePath);

            var encryptedTicket = FormsAuthentication.Encrypt(ticket);

            var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);

            cookie.HttpOnly = true;
            if (ticket.IsPersistent)
            {
                cookie.Expires = ticket.Expiration;
            }
            cookie.Secure = FormsAuthentication.RequireSSL;
            cookie.Path   = FormsAuthentication.FormsCookiePath;
            if (FormsAuthentication.CookieDomain != null)
            {
                cookie.Domain = FormsAuthentication.CookieDomain;
            }

            HttpContext.Current.Response.Cookies.Add(cookie);
        }
Example #7
0
 /// <summary>
 /// 更新用户基本资料
 /// </summary>
 /// <param name="model">数据模型</param>
 /// <returns>影响行数</returns>
 public int UpdateBankInfo(CrCustomer model)
 {
     return(DBContext.Update(strTableName)
            .Column("Bank", model.Bank)
            .Column("BankNumber", model.BankNumber)
            .Where("sysNo", model.SysNo)
            .Execute());
 }
Example #8
0
 /// <summary>
 /// 驳回
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public int Reject(CrCustomer model)
 {
     return(DBContext.Sql("update crcustomer set WalletAmount=WalletAmount+@WalletAmount,UpgradeFundAmount=UpgradeFundAmount-@UpgradeFundAmount where SysNo=@SysNo")
            .Parameter("WalletAmount", model.WalletAmount)
            .Parameter("UpgradeFundAmount", model.UpgradeFundAmount)
            .Parameter("SysNo", model.SysNo)
            .Execute());
 }
Example #9
0
 /// <summary>
 /// 更新奖金充值(基金充值[充值方式:奖金余额]、帐户续费[续费方式:奖金余额])
 /// </summary>
 /// <returns></returns>
 public int UpdateBonusRecharge(CrCustomer model)
 {
     return(DBContext.Sql("update crcustomer set WalletAmount=WalletAmount-@WalletAmount,UpgradeFundAmount=UpgradeFundAmount+@UpgradeFundAmount,RechargeTotalAmount=RechargeTotalAmount+@RechargeTotalAmount where SysNo=@SysNo")
            .Parameter("WalletAmount", model.WalletAmount)
            .Parameter("UpgradeFundAmount", model.UpgradeFundAmount)
            .Parameter("RechargeTotalAmount", model.RechargeTotalAmount)
            .Parameter("SysNo", model.SysNo)
            .Execute());
 }
Example #10
0
 /// <summary>
 /// 更新用户基础信息
 /// </summary>
 /// <param name="model">用户信息</param>
 /// <returns>影响行数</returns>
 public int UpdateBaseInfo(CrCustomer model)
 {
     return(DBContext.Update(strTableName)
            .Column("PhoneNumber", model.PhoneNumber)
            .Column("RealName", model.RealName)
            .Column("Grade", model.Grade)
            .Column("Status", model.Status)
            .Where("SysNo", model.SysNo)
            .Execute());
 }
Example #11
0
        /// <summary>
        /// 更新用户登录信息
        /// </summary>
        public int UpdateLogin(CrCustomer model)
        {
            int rowsAffected = DBContext.Update(strTableName)
                               .Column("LastLoginIP", model.LastLoginIP)
                               .Column("LastLoginDate", model.LastLoginDate)
                               .Column("LoginCount", model.LoginCount)
                               .Where("sysNo", model.SysNo)
                               .Execute();

            return(rowsAffected);
        }
Example #12
0
        /// <summary>
        /// 注册前台会员
        /// 初始化相关数据
        /// </summary>
        /// <param name="account">帐号</param>
        /// <param name="password">密码(未加密的)</param>
        /// <param name="phoneStatus">电话验证状态</param>
        /// <param name="mailStatus">邮箱验证状态</param>
        /// <param name="source">注册来源</param>
        /// <returns>返回成功Or失败</returns>
        /// <remarks>2013-10-29 黄波 创建
        /// 2016-03-15 杨云奕 修改 添加会员字段基础信息
        /// </remarks>
        public int RegisterFrontCustomer(
            string account
            , string password
            , Hyt.Model.WorkflowStatus.CustomerStatus.手机状态 phoneStatus = Hyt.Model.WorkflowStatus.CustomerStatus.手机状态.已验证
            , Hyt.Model.WorkflowStatus.CustomerStatus.邮箱状态 mailStatus  = Hyt.Model.WorkflowStatus.CustomerStatus.邮箱状态.未验证
            , Hyt.Model.WorkflowStatus.CustomerStatus.注册来源 source      = Hyt.Model.WorkflowStatus.CustomerStatus.注册来源.PC网站
            )
        {
            var customer = new CrCustomer
            {
                Account                = account,
                Password               = password, // Hyt.Util.EncryptionUtil.EncryptWithMd5AndSalt(password),  余勇修改 2014-09-12
                MobilePhoneNumber      = account,
                MobilePhoneStatus      = (int)phoneStatus,
                EmailStatus            = (int)mailStatus,
                RegisterSource         = ((int)source),
                LevelSysNo             = 1,
                AvailablePoint         = 0,
                ExperienceCoin         = 0,
                ExperiencePoint        = 0,
                IsExperienceCoinFixed  = (int)Hyt.Model.WorkflowStatus.CustomerStatus.惠源币是否固定.固定,
                IsExperiencePointFixed = (int)Hyt.Model.WorkflowStatus.CustomerStatus.经验积分是否固定.固定,
                IsLevelFixed           = (int)Hyt.Model.WorkflowStatus.CustomerStatus.等级是否固定.固定,
                IsReceiveEmail         = (int)Hyt.Model.WorkflowStatus.CustomerStatus.是否接收邮件.是,
                IsReceiveShortMessage  = (int)Hyt.Model.WorkflowStatus.CustomerStatus.是否接收短信.是,
                Status         = (int)Hyt.Model.WorkflowStatus.CustomerStatus.会员状态.效,
                LevelPoint     = 0,
                RegisterDate   = DateTime.Now,
                Birthday       = new DateTime(1880, 1, 1),
                CreatedDate    = new DateTime(1880, 1, 1),
                LastLoginDate  = new DateTime(1880, 1, 1),
                Subscribe      = "0",
                IsSellBusiness = 0
            };


            bool result = Hyt.BLL.Order.SoOrderBo.Instance.CreateCustomer(customer, null);

            if (result)
            {
                try
                {
                    //计算用户等级
                    IPointDao.Instance.UpdateCustomerLevel(customer.SysNo);
                }
                catch
                { }
            }
            return(result ? 1 : 0);
        }
Example #13
0
        /// <summary>
        /// 计算购物车
        /// </summary>
        /// <param name="customer">客户对象</param>
        /// <param name="shoppingCart">购物车对象</param>
        /// <param name="cartGiftItems">赠品明细集合</param>
        /// <param name="promotionToPython">促销计算元数据</param>
        /// <returns>购物车对象</returns>
        /// <remarks>2013-09-03 吴文强 创建</remarks>
        private CrShoppingCart CalculateCart(CrCustomer customer, CrShoppingCart shoppingCart, IList <CBCrShoppingCartItem> cartGiftItems, SpPromotionToPython promotionToPython = null)
        {
            if (shoppingCart.AllPromotions == null)
            {
                return(shoppingCart);
            }

            //检查促销支持的商品
            ScriptEngine engine            = Python.CreateEngine();
            ScriptScope  scope             = engine.CreateScope();
            var          currentPromotions = shoppingCart.AllPromotions.Where(p =>
                                                                              p.PromotionType == (int)PromotionStatus.促销应用类型.应用到分类 ||
                                                                              p.PromotionType == (int)PromotionStatus.促销应用类型.应用到商品 ||
                                                                              p.PromotionType == (int)PromotionStatus.促销应用类型.团购 ||
                                                                              p.PromotionType == (int)PromotionStatus.促销应用类型.组合套餐).OrderBy(p => p.PromotionType).ThenByDescending(p => p.Priority);

            foreach (var rule in currentPromotions)
            {
                ScriptSource sourceCode = engine.CreateScriptSourceFromString(rule.PromotionRule.RuleScript);
                scope.SetVariable("CurrSpPromotion", rule);
                scope.SetVariable("CurrCrCustomer", customer);
                scope.SetVariable("CurrAllPromotion", shoppingCart.AllPromotions);
                scope.SetVariable("CurrCartGiftItems", cartGiftItems);
                scope.SetVariable("CurrSpPromotionToPython", promotionToPython);

                //if (rule.PromotionType == (int)PromotionStatus.促销应用类型.团购)
                //{
                //   GsGroupShopping groupShopping= GroupShoppingBo.Instance.Get()
                //    scope.SetVariable("CurrGroupShopping", );
                //}
                //if (rule.PromotionType == (int)PromotionStatus.促销应用类型.组合套餐)
                //{
                //    scope.SetVariable("CurrCombo", cartGiftItems);
                //}

                sourceCode.Execute(scope);
                try
                {
                    var pyCalculateCart = scope.GetVariable <Func <CrShoppingCart, CrShoppingCart> >("CalculateCart");
                    shoppingCart = pyCalculateCart(shoppingCart);
                }
                catch (Exception ex)
                {
                    SysLog.Instance.Error(LogStatus.系统日志来源.后台, ex.Message, LogStatus.系统日志目标类型.促销, rule.SysNo, ex);
                }
            }

            return(shoppingCart);
        }
Example #14
0
        /// <summary>
        /// 创建会员
        /// </summary>
        /// <param name="customer">会员实体</param>
        /// <returns>返回受影响行</returns>
        /// <remarks>2013-06-09 苟治国 创建</remarks>
        public int CreateCustomer(CrCustomer customer)
        {
            bool result = Hyt.BLL.Order.SoOrderBo.Instance.CreateCustomer(customer, null);

            if (result)
            {
                BLL.Log.SysLog.Instance.Info(LogStatus.系统日志来源.后台, string.Format("创建会员{0}", customer.Account), LogStatus.系统日志目标类型.客户管理, Authentication.AdminAuthenticationBo.Instance.Current.Base.SysNo);
                return(customer.SysNo);
            }
            else
            {
                BLL.Log.SysLog.Instance.Info(LogStatus.系统日志来源.后台, string.Format("创建会员{0}失败", customer.Account), LogStatus.系统日志目标类型.客户管理, Authentication.AdminAuthenticationBo.Instance.Current.Base.SysNo);
                return(0);
            }
        }
Example #15
0
        public JsonResult Profile(ProfileRequest request)
        {
            var response = new JResult()
            {
                Status = false
            };

            var result = VHelper.ValidatorRule(
                new Rule_NotAllowNull(request.BankNumber, "输入银行卡!")
                );

            if (!result.IsPass)
            {
                response.Status  = false;
                response.Message = result.Message;
                return(Json(response, JsonRequestBehavior.AllowGet));
            }

            //当前上下文
            var context = CustomerContext.Context;

            if (context == null)
            {
                response.Message = "用户已超时、请重新登录﹗";
                return(Json(response, JsonRequestBehavior.AllowGet));
            }

            var model = new CrCustomer()
            {
                SysNo      = context.SysNo,
                Bank       = request.Bank,
                BankNumber = request.BankNumber,
            };
            int row = CustomerApp.Instance.UpdateBankInfo(model);

            if (row > 0)
            {
                response.Status  = true;
                response.Message = "更新用户资料成功﹗";
            }
            else
            {
                response.Message = "更新用户资料失败﹗";
            }
            return(Json(response, JsonRequestBehavior.AllowGet));
        }
Example #16
0
        /// <summary>
        ///  不注册会员直接购买,模拟一个会员
        /// </summary>
        /// <param name="shopid">门店</param>
        /// <param name="userid">用户编号</param>
        /// <param name="isnew">是否必须新生成一个唯一账号</param>
        /// <returns></returns>
        /// <remarks>2016-05-25 杨浩 创建</remarks>
        public CrCustomer AutoNoMobileShopCustomer(int shopid, int userid, bool isnew = true)
        {
            string     defaultAccount = "d" + userid.ToString().PadLeft(10, '0');
            CrCustomer customer       = new CrCustomer();

            customer.Account = defaultAccount;
            if (isnew == true)
            {
                customer.Account = "d" + DateTime.Now.Ticks.ToString(); //生成唯一编码,尽量避免重复
            }
            customer.NickName               = "非会员顾客";
            customer.Name                   = "非会员顾客";
            customer.EmailStatus            = (int)Hyt.Model.WorkflowStatus.CustomerStatus.邮箱状态.未验证;
            customer.MobilePhoneStatus      = (int)Hyt.Model.WorkflowStatus.CustomerStatus.手机状态.未验证;
            customer.RegisterSource         = (int)Hyt.Model.WorkflowStatus.CustomerStatus.注册来源.门店;
            customer.RegisterSourceSysNo    = shopid.ToString();
            customer.IsReceiveShortMessage  = (int)Hyt.Model.WorkflowStatus.CustomerStatus.是否接收短信.否;
            customer.IsReceiveEmail         = (int)Hyt.Model.WorkflowStatus.CustomerStatus.是否接收邮件.否;
            customer.IsPublicAccount        = (int)Hyt.Model.WorkflowStatus.CustomerStatus.是否是公共账户.否;
            customer.RegisterDate           = DateTime.Now;
            customer.LevelSysNo             = CustomerLevel.初级;
            customer.Password               = WebUtil.GeneratePwd(1, 5);
            customer.Status                 = (int)Hyt.Model.WorkflowStatus.CustomerStatus.会员状态.无效;
            customer.CreatedBy              = userid;
            customer.CreatedDate            = DateTime.Now;
            customer.IsExperienceCoinFixed  = (int)Hyt.Model.WorkflowStatus.CustomerStatus.惠源币是否固定.固定;
            customer.IsExperiencePointFixed = (int)Hyt.Model.WorkflowStatus.CustomerStatus.经验积分是否固定.固定;
            customer.IsLevelFixed           = (int)Hyt.Model.WorkflowStatus.CustomerStatus.等级是否固定.固定;
            customer.PSysNo                 = 0;
            var oldCustomer = BLL.Web.CrCustomerBo.Instance.GetCustomerByCellphone(customer.Account);//当前账号不存在

            if (oldCustomer == null)
            {
                Hyt.BLL.Order.SoOrderBo.Instance.CreateCustomer(customer, null); //创建新账号
            }
            else if (isnew == false)                                             //不必新建,用原始账号
            {
                customer = oldCustomer;
            }
            else
            {
                throw new HytException("请求未响应,请重试!");
            }
            return(customer);
        }
Example #17
0
        /// <summary>
        /// 创建会员
        /// </summary>
        /// <param name="customer">会员信息</param>
        /// <returns>会员id</returns>
        /// <remarks>2013-06-09 黄志勇 创建</remarks>
        public override int CreateCustomer(CrCustomer customer)
        {
            if (customer.Birthday == DateTime.MinValue)
            {
                customer.Birthday = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue;
            }
            if (customer.LastLoginDate == DateTime.MinValue)
            {
                customer.LastLoginDate = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue;
            }
            customer.Subscribe = "0";
            var result = Context.Insert <CrCustomer>("CrCustomer", customer)
                         .AutoMap(x => x.SysNo)
                         .ExecuteReturnLastId <int>("SysNo");

            customer.SysNo = result;
            return(result);
        }
Example #18
0
        /// <summary>
        /// 调整会员币
        /// </summary>
        /// <param name="customer">会员信息</param>
        /// <param name="userSysNo">系统用户编号</param>
        /// <param name="changeType">惠源币变更类型</param>
        /// <param name="amount">会员币数量(正数:增加;负数:减少)</param>
        /// <param name="description">变更说明</param>
        /// <param name="transactionSysNo">事务编号</param>
        /// <returns>void</returns>
        /// <remarks>2013-07-10 黄波 创建</remarks>
        private void UpdateExperienceCoin(CrCustomer customer, int userSysNo, CustomerStatus.惠源币变更类型 changeType, int amount, string description, string transactionSysNo)
        {
            var customerSysNo = customer.SysNo;

            var model = new CrExperienceCoinLog
            {
                TransactionSysNo  = transactionSysNo,
                CustomerSysNo     = customerSysNo,
                ChangeDate        = DateTime.Now,
                ChangeDescription = description,
                ChangeType        = (int)changeType,
                CreatedBy         = userSysNo,
                CreatedDate       = DateTime.Now,
                Surplus           = customer.ExperienceCoin + amount,
                Increased         = amount > 0 ? amount : 0,
                Decreased         = amount > 0 ? 0 : amount
            };

            //更新用户会员币
            IPointDao.Instance.AdjustExperienceCoin(customerSysNo, amount, model);
        }
Example #19
0
        /// <summary>
        /// 获取购物车对象(可适合无购物车对象计算,如:前端未登录用户,公共账户,退换货)
        /// </summary>
        /// <param name="platformType">使用平台</param>
        /// <param name="customer">客户对象</param>
        /// <param name="shoppingCartItems">购物车明细集合</param>
        /// <param name="promotionSysNo">促销系统编号集合</param>
        /// <param name="couponCode">优惠券代码</param>
        /// <param name="isAutoPromotion">是否自动使用当前有效促销</param>
        /// <param name="areaSysNo">区域系统编号</param>
        /// <param name="deliveryTypeSysNo">配送方式系统编号</param>
        /// <param name="promotionCode">促销代码</param>
        /// <param name="isFrontProduct">是否只允许前台下单的商品(默认:true)</param>
        /// <param name="promotionToPython">促销计算元数据</param>
        /// <param name="warehouseSysNo">发货仓库.</param>
        /// <param name="expensesAmount">太平洋保险</param>
        /// <returns>购物车对象</returns>
        /// <remarks>2013-08-12 吴文强 创建</remarks>
        public CrShoppingCart GetShoppingCart(PromotionStatus.促销使用平台[] platformType, CrCustomer customer,
                                              IList <CBCrShoppingCartItem> shoppingCartItems,
                                              int[] promotionSysNo, string couponCode = null,
                                              bool isAutoPromotion  = false, int?areaSysNo       = null,
                                              int?deliveryTypeSysNo = null, string promotionCode = null, bool isFrontProduct = true, SpPromotionToPython promotionToPython = null, int?warehouseSysNo = null, decimal expensesAmount = 0M)
        {
            //移除下架的商品
            shoppingCartItems = CrShoppingCartConvertBo.Instance.RemoveSoldoutProduct(shoppingCartItems, customer.SysNo, isFrontProduct);

            var shoppingCart = SpPromotionEngineBo.Instance.CalculateShoppingCart(platformType, customer,
                                                                                  shoppingCartItems,
                                                                                  promotionSysNo, couponCode,
                                                                                  isAutoPromotion, areaSysNo,
                                                                                  deliveryTypeSysNo,
                                                                                  promotionCode, warehouseSysNo, true, promotionToPython, expensesAmount);

            //移除前台不能下单的赠品
            shoppingCart = CrShoppingCartConvertBo.Instance.RemoveSoldoutGift(shoppingCart, isFrontProduct);

            return(shoppingCart);
        }
Example #20
0
        /// <summary>
        /// 调用wcf服务获取SSO客户信息
        /// </summary>
        /// <param name="customer">客户信息</param>
        /// <returns>返回ssoID</returns>
        /// <remarks>
        /// 2014-06-26 余勇 创建
        /// </remarks>
        public int InsertCrSsoCustomerAssociation(CrCustomer customer)
        {
            //var ssoId = 0;
            var emailStatus = customer.EmailStatus == (int)Hyt.Model.WorkflowStatus.CustomerStatus.邮箱状态.已验证 ? 1 : 0;
            var phoneStatus = customer.MobilePhoneStatus == (int)Hyt.Model.WorkflowStatus.CustomerStatus.手机状态.已验证 ? 1 : 0;
            var request     = new CustomerRegisterReturnIdRequest
            {
                Account               = customer.Account,
                EmailAddress          = customer.EmailAddress,
                IsValidateEmail       = emailStatus,
                IsValidateMobilePhone = phoneStatus,
                MobilePhoneNumber     = customer.MobilePhoneNumber,
                Password              = customer.Password,
                RegisterDate          = customer.RegisterDate,
                Status = customer.Status
            };

            try
            {
                //调用wcf服务通过客户账号获取SSO客户信息
                using (var client = new ServiceProxy <ICustomerService>())
                {
                    var r = client.Channel.CustomerRegisterReturnId(request);
                    if (!r.IsError)
                    {
                        //ssoId = r.Data;
                        return(r.Id);
                    }
                    SysLog.Instance.Error(LogStatus.系统日志来源.后台, "创建新会员调用wcf服务失败:" + r.ErrMsg, LogStatus.系统日志目标类型.客户管理, customer.SysNo, null);
                    return(-1);
                }
            }
            catch (Exception ex)
            {
                SysLog.Instance.Error(LogStatus.系统日志来源.后台, "创建新会员调用wcf服务错误", LogStatus.系统日志目标类型.客户管理, customer.SysNo, ex);
                throw ex;
            }
        }
Example #21
0
        /// <summary>
        /// 调整等级积分
        /// </summary>
        /// <param name="customer">会员信息</param>
        /// <param name="userSysNo">系统用户编号</param>
        /// <param name="changeType">等级积分变更类型</param>
        /// <param name="point">积分数量(正数:增加;负数:减少)</param>
        /// <param name="description">变更说明</param>
        /// <param name="transactionSysNo">事务编号</param>
        /// <returns>void</returns>
        /// <remarks>2013-07-10 黄波 创建</remarks>
        private void UpdateLevelPoint(CrCustomer customer, int userSysNo, CustomerStatus.等级积分日志变更类型 changeType, int point, string description, string transactionSysNo)
        {
            var customerSysNo = customer.SysNo;

            var levelPointModel = new CrLevelPointLog
            {
                ChangeDescription = description,
                ChangeType        = (int)changeType,
                LastUpdateDate    = DateTime.Now,
                CreatedBy         = userSysNo,
                LastUpdateBy      = userSysNo,
                CreatedDate       = DateTime.Now,
                CustomerSysNo     = customerSysNo,
                Increased         = point > 0 ? point : 0,
                Decreased         = point > 0 ? 0 : point,
                TransactionSysNo  = transactionSysNo
            };

            //更新等级积分并记录日志
            IPointDao.Instance.AdjustLevelPoint(customerSysNo, point, levelPointModel);
            //更新等级
            IPointDao.Instance.UpdateCustomerLevel(customerSysNo, userSysNo, changeType, description);
        }
Example #22
0
        /// <summary>
        /// 调整可用积分
        /// </summary>
        /// <param name="customer">会员信息</param>
        /// <param name="userSysNo">系统用户编号</param>
        /// <param name="changeType">积分变更类型</param>
        /// <param name="point">积分数量(正数:增加;负数:减少)</param>
        /// <param name="description">变更说明</param>
        /// <param name="transactionSysNo">事务编号</param>
        /// <remarks>2013-10-31 黄波 创建</remarks>
        public void UpdateAvailablePoint(CrCustomer customer, int userSysNo, CustomerStatus.可用积分变更类型 changeType, int point, string description, string transactionSysNo)
        {
            if (string.IsNullOrEmpty(description))
            {
                description = "积分兑换";
            }
            var nowDate = DateTime.Now;
            var crAvailablePointLogmodel = new CrAvailablePointLog
            {
                TransactionSysNo = transactionSysNo,
                CustomerSysNo    = customer.SysNo,
                ChangeDate       = nowDate,
                CreatedBy        = userSysNo,
                CreatedDate      = nowDate,
                Surplus          = customer.AvailablePoint + point,
                PointType        = (int)changeType,
                PointDescription = description,//"积分兑换",
                Increased        = point > 0 ? point : 0,
                Decreased        = point > 0 ? 0 : point
            };

            IPointDao.Instance.UpdateAvailablePoint(customer.SysNo, point, crAvailablePointLogmodel);
        }
Example #23
0
        /// <summary>
        /// 检查商品支持的促销规则
        /// </summary>
        /// <param name="customer">客户对象</param>
        /// <param name="promotions">有效促销集合</param>
        /// <param name="shoppingCartItems">购物车明细集合</param>
        /// <param name="promotionToPython">促销计算元数据</param>
        /// <returns>购物车明细集合</returns>
        /// <remarks>2013-09-03 吴文强 创建</remarks>
        private IList <CBCrShoppingCartItem> CheckPromotionProduct(CrCustomer customer, IList <CBSpPromotion> promotions, IList <CBCrShoppingCartItem> shoppingCartItems, SpPromotionToPython promotionToPython = null)
        {
            if (shoppingCartItems == null || shoppingCartItems.Count == 0)
            {
                return(new List <CBCrShoppingCartItem>());
            }

            //检查促销支持的商品
            ScriptEngine engine            = Python.CreateEngine();
            ScriptScope  scope             = engine.CreateScope();
            var          currentPromotions = promotions.Where(p =>
                                                              p.PromotionType == (int)PromotionStatus.促销应用类型.应用到分类 ||
                                                              p.PromotionType == (int)PromotionStatus.促销应用类型.应用到商品 ||
                                                              p.PromotionType == (int)PromotionStatus.促销应用类型.团购 ||
                                                              p.PromotionType == (int)PromotionStatus.促销应用类型.组合套餐).OrderBy(p => p.PromotionType).ThenByDescending(p => p.Priority);

            foreach (var rule in currentPromotions)
            {
                ScriptSource sourceCode = engine.CreateScriptSourceFromString(rule.PromotionRule.RuleScript);
                scope.SetVariable("CurrSpPromotion", rule);
                scope.SetVariable("CurrCrCustomer", customer);
                scope.SetVariable("CurrAllPromotion", promotions);
                scope.SetVariable("CurrSpPromotionToPython", promotionToPython);
                sourceCode.Execute(scope);
                try
                {
                    var pyCheckPromotionProduct = scope.GetVariable <Func <IList <CBCrShoppingCartItem>, IList <CBCrShoppingCartItem> > >("CheckPromotionProduct");
                    shoppingCartItems = pyCheckPromotionProduct(shoppingCartItems);
                }
                catch (Exception ex)
                {
                    SysLog.Instance.Error(LogStatus.系统日志来源.后台, ex.Message, LogStatus.系统日志目标类型.促销, rule.SysNo, ex);
                }
            }
            return(shoppingCartItems);
        }
Example #24
0
 /// <summary>
 /// 检查用户惠源币是否固定
 /// </summary>
 /// <param name="customer">用户实体</param>
 /// <returns>是否</returns>
 /// <remarks>2014-03-04 黄波 创建</remarks>
 private bool CheckExperienceCoinIsFixed(CrCustomer customer)
 {
     return(customer.IsExperienceCoinFixed == (int)CustomerStatus.惠源币是否固定.固定);
 }
Example #25
0
        /// <summary>
        /// 添加交易订单
        /// </summary>
        /// <param name="orderSysno"></param>
        /// <returns>2016-09-07 杨浩 创建</returns>
        public override Result AddOrderTrade(int orderSysno)
        {
            var result = new Result <string>();

            result.Status     = true;
            result.StatusCode = 0;
            result.Message    = "接口调用成功";

            if (orderSysno <= 0)
            {
                return(result);
            }

            try
            {
                var orderInfo = BLL.Order.SoOrderBo.Instance.GetEntity(orderSysno);

                CBFnOnlinePayment payment = FinanceBo.Instance.GetOnPaymentBySourceSysNo(orderInfo.SysNo);

                CrCustomer customer = Hyt.BLL.CRM.CrCustomerBo.Instance.GetModel(orderInfo.CustomerSysNo);

                var order = new AddWuZhouRequest();

                order.item_list = new List <Item_Lists>();

                var pager = new Pager <AddWuZhouRequest>()
                {
                    PageSize = 999999, CurrentPage = 1
                };
                //pager = Hyt.BLL.ApiLogistics.WuZhou.WuZhouBll.PdProductBo.Instance.GetWuZhouList(pager);
                IList <CBSoOrderItem> datao = SoOrderBo.Instance.GetCBOrderItemsByOrderId(orderInfo.SysNo);

                orderInfo.OrderItemList = new List <SoOrderItem>();
                List <int> ProSysNo = new List <int>();
                foreach (CBSoOrderItem item in datao)
                {
                    ProSysNo.Add(item.ProductSysNo);

                    orderInfo.OrderItemList.Add(item);
                }
                IList <CBPdProduct> productList = Hyt.BLL.Product.PdProductBo.Instance.GetProductInfoList(ProSysNo);
                foreach (var mod in productList)
                {
                    var tempitem = datao.First(p => p.ProductSysNo == mod.SysNo);
                    if (tempitem != null)
                    {
                        tempitem.OrginCountry = Hyt.BLL.Basic.OriginBo.Instance.GetEntity(mod.OriginSysNo).Origin_Name;
                    }
                }

                SoReceiveAddress srenity = Hyt.BLL.Order.OutboundReturnBo.Instance.GetSoReceiveAddressBysoOrderSysNo(orderSysno);


                #region 订单信息

                order.outer_code         = orderSysno.ToString();
                order.goods_total        = orderInfo.OrderAmount;
                order.order_pay          = orderInfo.OrderAmount;
                order.logis_pay          = orderInfo.FreightAmount;
                order.favourable         = orderInfo.CouponAmount;
                order.item_count         = 0;
                order.ebp_account        = customer.Account;
                order.buyer_name         = customer.Name;
                order.buyer_idtype       = 1;
                order.buyer_idnumber     = customer.IDCardNo;
                order.buyer_tel          = customer.MobilePhoneNumber;
                order.consignee          = srenity.Name;
                order.consignee_postcode = srenity.ZipCode;
                order.consignee_tel      = srenity.MobilePhoneNumber;
                order.consignee_province = srenity.AreaSysNo.ToString();
                order.consignee_city     = srenity.AreaSysNo.ToString();
                order.consignee_district = srenity.AreaSysNo.ToString();
                order.consignee_addr     = srenity.StreetAddress;
                order.consignee_email    = srenity.EmailAddress;
                order.ebc_code           = "";
                order.ebp_code           = "";
                order.pay_code           = "";
                order.payment_no         = "";
                order.is_ordermsg        = 1;
                order.is_paymsg          = 1;
                order.is_logismsg        = 1;
                order.is_invtmsg         = 1;
                order.express_name       = "";
                order.logis_num          = "";
                order.note = orderInfo.Remarks;

                #endregion

                //循环商品信息
                foreach (var item in datao)
                {
                    var productInfo = productList.Where(x => x.SysNo == item.ProductSysNo).FirstOrDefault();
                    if (productInfo == null)
                    {
                        result.Status     = false;
                        result.StatusCode = 1;
                        result.Message    = "产品系统编号【" + item.ProductSysNo + "】在系统中不存在";
                        return(result);
                    }

                    var orderItem = new Item_Lists();
                    orderItem.sku_code  = item.TransactionSysNo;
                    orderItem.chcus_sku = item.ProductSysNo.ToString();
                    orderItem.sku_price = item.SalesUnitPrice;
                    orderItem.qty       = item.Quantity;
                    orderItem.total     = item.SalesUnitPrice;
                    orderItem.discount  = 0;
                    orderItem.note      = orderInfo.DeliveryRemarks;

                    order.item_list.Add(orderItem);
                }


                //Dictionary<string, string> dicKeyList = new Dictionary<string, string>();
                //dicKeyList.Add("outer_code", orderSysno.ToString());


                //ERP的合作者帐号
                string partner = "";
                //由ERP分配
                string send_key = "";
                //ERP的外部接口帐号
                string interface_id = "";
                //请求业务
                string method = "neworder";

                //将数组装换为json格式
                var orders = Hyt.Util.Serialization.JsonUtil.EntityToJson(order);
                //进行md5加密
                string md5 = MD5Encrypt(orders + send_key).ToLower();
                //进行Base64编码
                string base64 = EncodeBase64(md5);
                //进行url编码
                string sign = UrlEncode(base64);
                //请求参数
                string requiredParameter = "/" + method + "/?partner=" + partner + "&interface_id=" + interface_id + "&sign=" + sign + "&content=" + orders + "";
                //请求地址
                string requestUrl = "ht";
                //完整参数
                string url = requestUrl + requiredParameter;

                string testData = MyHttp.GetResponse(url, orders, "utf-8");
                //{"success":true,"errCode":"","errMsg":"","courierCode":"SF","mailNo":"444746031132"}
                PosDataResult postResult = JsonUtil.ToObject <PosDataResult>(testData);
                if (postResult.success)
                {
                    Hyt.BLL.CrossBorderLogistics.CrossBorderLogisticsOrderBo.Instance.InsertEntity(
                        new CrossBorderLogisticsOrder()
                    {
                        ExpressNo        = postResult.courierCode + "_" + postResult.mailNo,
                        LogisticsCode    = 0,
                        LogisticsOrderId = "",
                        SoOrderSysNo     = orderSysno,
                    }
                        );
                    string express = postResult.courierCode + "_" + postResult.mailNo;
                    BLL.Order.SoOrderBo.Instance.UpdateOrderApiStatus((int)Hyt.Model.WorkflowStatus.OrderStatus.跨境物流推送状态.成功, 3, orderInfo.SysNo);
                    result.Status = postResult.success;
                }
                else
                {
                    result.Status  = postResult.success;
                    result.Message = testData;
                }
            }
            catch (Exception e)
            {
                result.Status  = false;
                result.Message = e.Message;
            }
            return(result);
        }
Example #26
0
        private void AddBaseTaskObjectToList(List <BaseTask> listObject)
        {
            BaseTask bsAT                    = new BsArea();
            BaseTask bsDP                    = new BsDeliveryPayment();
            BaseTask bsPT                    = new BsPaymentType();
            BaseTask bsCode                  = new BsCode();
            BaseTask bsOrganization          = new BsOrganization();
            BaseTask bsOrganizationWarehouse = new BsOrganizationWarehouse();

            BaseTask crCustomer = new CrCustomer();
            BaseTask crCL       = new CrCustomerLevel();
            BaseTask crCQ       = new CrCustomerQuestion();
            BaseTask crRA       = new CrReceiveAddress();

            BaseTask dsMallType      = new DsMallType();
            BaseTask dsDealerLevel   = new DsDealerLevel();
            BaseTask feArticle       = new FeArticle();
            BaseTask feAC            = new FeArticleCategory();
            BaseTask feCS            = new FeCommentSupport();
            BaseTask fepc            = new FeProductComment();
            BaseTask fePCI           = new FeProductCommentImage();
            BaseTask fePCR           = new FeProductCommentReply();
            BaseTask feSearchKeyword = new FeSearchKeyword();
            BaseTask feadvertgroup   = new FeAdvertGroup();
            BaseTask feadvertitem    = new FeAdvertItem();
            BaseTask feproductgroup  = new FeProductGroup();
            BaseTask feproductitem   = new FeProductItem();

            BaseTask fnIT      = new FnInvoiceType();
            BaseTask fninvoice = new FnInvoice();

            BaseTask fnpv = new  FnReceiptVoucher();
            BaseTask fnReceiptVoucherItem = new FnReceiptVoucherItem();
            BaseTask fnop                 = new FnOnlinePayment();
            BaseTask fnPaymentVoucher     = new FnPaymentVoucher();
            BaseTask fnPaymentVoucherItem = new FnPaymentVoucherItem();

            BaseTask lgDelivery              = new LgDelivery();
            BaseTask lgDI                    = new LgDeliveryItem();
            BaseTask lgDS                    = new LgDeliveryScope();
            BaseTask lgDT                    = new LgDeliveryType();
            BaseTask lgDUC                   = new LgDeliveryUserCredit();
            BaseTask lgPT                    = new LgPickupType();
            BaseTask lgsettlement            = new LgSettlement();
            BaseTask lgSI                    = new LgSettlementItem();
            BaseTask lgDeliveryPrintTemplate = new LgDeliveryPrintTemplate();
            BaseTask pdAttribute             = new PdAttribute();
            BaseTask pdAG                    = new PdAttributeGroup();
            BaseTask pdAGA                   = new PdAttributeGroupAssociation();
            BaseTask pdAO                    = new PdAttributeOption();
            BaseTask pdBrand                 = new PdBrand();
            BaseTask pdCGA                   = new PdCatAttributeGroupAso();
            BaseTask pdCategory              = new PdCategory();
            BaseTask pdCA                    = new PdCategoryAssociation();
            BaseTask pdPrice                 = new PdPrice();
            BaseTask pdProduct               = new PdProduct();
            BaseTask pdPA                    = new PdProductAssociation();
            BaseTask pdProductAttribute      = new PdProductAttribute();
            BaseTask pdPI                    = new PdProductImage();
            BaseTask pdTemplate              = new PdTemplate();
            BaseTask pdProductStatistics     = new PdProductStatistics();

            BaseTask soOrder         = new SoOrder();
            BaseTask soOrderItem     = new SoOrderItem();
            BaseTask soRA            = new SoReceiveAddress();
            BaseTask SyUG            = new SyUserGroup();
            BaseTask syGU            = new SyGroupUser();
            BaseTask syMenu          = new SyMenu();
            BaseTask syMenuPrivilege = new SyMenuPrivilege();
            BaseTask syPrivilege     = new SyPrivilege();
            BaseTask syRole          = new SyRole();
            BaseTask syRoleMenu      = new SyRoleMenu();
            BaseTask syRolePrivilege = new SyRolePrivilege();
            BaseTask syPermission    = new SyPermission();
            BaseTask syUser          = new SyUser();
            BaseTask syUW            = new SyUserWarehouse();
            BaseTask syMyMenu        = new SyMyMenu();

            BaseTask spcombo                  = new SpCombo();
            BaseTask spComboItem              = new SpComboItem();
            BaseTask spcopon                  = new spcoupon();
            BaseTask sqpromotion              = new SPpromotion();
            BaseTask spromotiongift           = new SPpromotiongift();
            BaseTask sppromotionoverlay       = new SPpromotionoverlay();
            BaseTask sppromotionrule          = new SPpromotionrule();
            BaseTask sppromotionrulecondition = new SPpromotionrulecondition();
            BaseTask sppromotionrulekeyvalue  = new SPpromotionrulekeyvalue();
            BaseTask syTaskConfig             = new SyTaskConfig();

            BaseTask whStockOut     = new WhStockOut();
            BaseTask whStockOutItem = new WhstockOutItem();
            BaseTask whwarehouse    = new WhWarehouse();
            BaseTask whwa           = new WHwarehousearea();
            BaseTask whwdy          = new WHwarehouseDeliveryType();
            BaseTask whWPT          = new WhWarehousePickupType();
            BaseTask whstockin      = new WhStockIn();
            BaseTask whstockinItem  = new WHStockinItem();
            BaseTask rcReturn       = new RCReturn();
            BaseTask rcReturnItem   = new RcReturnItem();

            listObject.Add(bsAT);
            listObject.Add(bsDP);
            listObject.Add(bsPT);
            listObject.Add(bsCode);
            listObject.Add(bsOrganization);
            listObject.Add(bsOrganizationWarehouse);

            listObject.Add(crCustomer);
            listObject.Add(crCL);
            listObject.Add(crCQ);
            listObject.Add(crRA);
            listObject.Add(dsMallType);
            listObject.Add(dsDealerLevel);
            listObject.Add(feArticle);
            listObject.Add(feAC);
            listObject.Add(feCS);
            listObject.Add(fePCI);
            listObject.Add(fePCR);
            listObject.Add(fepc);
            listObject.Add(feSearchKeyword);
            listObject.Add(feadvertgroup);
            listObject.Add(feadvertitem);
            listObject.Add(feproductgroup);
            listObject.Add(feproductitem);

            listObject.Add(fnIT);
            listObject.Add(fnpv);
            listObject.Add(fnReceiptVoucherItem);
            listObject.Add(fnop);
            listObject.Add(fninvoice);

            listObject.Add(fnPaymentVoucher);
            listObject.Add(fnPaymentVoucherItem);

            listObject.Add(lgDelivery);
            listObject.Add(lgDI);
            listObject.Add(lgDS);
            listObject.Add(lgDT);
            listObject.Add(lgPT);
            listObject.Add(lgsettlement);
            listObject.Add(lgSI);
            listObject.Add(lgDeliveryPrintTemplate);

            listObject.Add(pdAttribute);
            listObject.Add(pdAG);
            listObject.Add(pdAGA);
            listObject.Add(pdAO);
            listObject.Add(pdBrand);
            listObject.Add(pdCGA);
            listObject.Add(pdCategory);
            listObject.Add(pdCA);
            listObject.Add(pdPrice);
            listObject.Add(pdProduct);
            listObject.Add(pdPA);
            listObject.Add(pdProductAttribute);
            listObject.Add(pdTemplate);
            listObject.Add(pdProductStatistics);

            listObject.Add(soOrder);
            listObject.Add(soOrderItem);

            listObject.Add(spcombo);
            listObject.Add(spComboItem);
            listObject.Add(spcopon);
            listObject.Add(sqpromotion);
            listObject.Add(spromotiongift);
            //listObject.Add(sppromotionoverlay);
            listObject.Add(sppromotionrule);
            listObject.Add(sppromotionrulecondition);
            listObject.Add(sppromotionrulekeyvalue);

            listObject.Add(syGU);
            listObject.Add(syUW);
            listObject.Add(SyUG);
            listObject.Add(syMenu);
            listObject.Add(syUser);
            listObject.Add(syPermission);

            listObject.Add(syMenuPrivilege);
            listObject.Add(syPrivilege);
            listObject.Add(syRole);
            listObject.Add(syRoleMenu);
            listObject.Add(syRolePrivilege);
            listObject.Add(syMyMenu);
            listObject.Add(syTaskConfig);

            listObject.Add(whStockOut);
            listObject.Add(whStockOutItem);
            listObject.Add(whwarehouse);
            listObject.Add(whwa);
            listObject.Add(whwdy);
            listObject.Add(whWPT);
            listObject.Add(whstockin);
            listObject.Add(whstockinItem);
            listObject.Add(rcReturn);
            listObject.Add(rcReturnItem);
            listObject.Add(lgDUC);
            listObject.Add(pdPI);
            listObject.Add(soRA);
        }
Example #27
0
 /// <summary>
 /// 创建会员
 /// </summary>
 /// <param name="customer">会员</param>
 /// <returns>会员id</returns>
 /// <remarks>2013-06-09 黄志勇 创建</remarks>
 public abstract int CreateCustomer(CrCustomer customer);
Example #28
0
        /// <summary>
        /// 调整经验积分
        /// </summary>
        /// <param name="customer">会员信息</param>
        /// <param name="userSysNo">系统用户编号</param>
        /// <param name="changeType">经验积分变更类型</param>
        /// <param name="point">积分数量(正数:增加;负数:减少)</param>
        /// <param name="description">变更说明</param>
        /// <param name="transactionSysNo">事务编号</param>
        /// <returns>void</returns>
        /// <remarks>2013-07-10 黄波 创建</remarks>
        private void UpdateExperiencePoint(CrCustomer customer, int userSysNo, CustomerStatus.经验积分变更类型 changeType, int point, string description, string transactionSysNo)
        {
            var customerSysNo             = customer.SysNo;
            var nowDate                   = DateTime.Now;
            var experiencePointCahngeType = (int)changeType;
            var availablePointChangeType  = 0;

            if (experiencePointCahngeType == (int)CustomerStatus.经验积分变更类型.参与活动)
            {
                availablePointChangeType = (int)CustomerStatus.可用积分变更类型.参与活动;
            }
            else if (experiencePointCahngeType == (int)CustomerStatus.经验积分变更类型.过期调整)
            {
                availablePointChangeType = (int)CustomerStatus.可用积分变更类型.过期调整;
            }
            else if (experiencePointCahngeType == (int)CustomerStatus.经验积分变更类型.积分兑换)
            {
                availablePointChangeType = (int)CustomerStatus.可用积分变更类型.积分兑换;
            }
            else if (experiencePointCahngeType == (int)CustomerStatus.经验积分变更类型.交易变更)
            {
                availablePointChangeType = (int)CustomerStatus.可用积分变更类型.交易变更;
            }
            else if (experiencePointCahngeType == (int)CustomerStatus.经验积分变更类型.客服调整)
            {
                availablePointChangeType = (int)CustomerStatus.可用积分变更类型.客服调整;
            }
            else
            {
                availablePointChangeType = (int)CustomerStatus.可用积分变更类型.系统赠送;
            }

            var experiencePointLogmodel = new CrExperiencePointLog
            {
                TransactionSysNo = transactionSysNo,
                CustomerSysNo    = customerSysNo,
                ChangeDate       = nowDate,
                CreatedBy        = userSysNo,
                CreatedDate      = nowDate,
                Surplus          = customer.ExperiencePoint + point,
                PointType        = experiencePointCahngeType,
                PointDescription = description,
                Increased        = point > 0 ? point : 0,
                Decreased        = point > 0 ? 0 : point
            };
            var availablePointLogModel = new CrAvailablePointLog
            {
                TransactionSysNo = transactionSysNo,
                CustomerSysNo    = customerSysNo,
                ChangeDate       = nowDate,
                CreatedBy        = userSysNo,
                CreatedDate      = nowDate,
                Surplus          = customer.AvailablePoint + point,
                PointType        = availablePointChangeType,
                PointDescription = description,
                Increased        = point > 0 ? point : 0,
                Decreased        = point > 0 ? 0 : point
            };

            IPointDao.Instance.AdjustExperiencePoint(customerSysNo, point, experiencePointLogmodel, availablePointLogModel);
        }
Example #29
0
 /// <summary>
 /// 检查用户经验积分是否固定
 /// </summary>
 /// <param name="customer">用户实体</param>
 /// <returns>是否</returns>
 /// <remarks>2014-03-04 黄波 创建</remarks>
 private bool CheckExperiencePointIsFixed(CrCustomer customer)
 {
     return(customer.IsExperiencePointFixed == (int)CustomerStatus.经验积分是否固定.固定);
 }
Example #30
0
 /// <summary>
 /// 帐号积分是否可以使用
 /// </summary>
 /// <param name="customer">用户实体</param>
 /// <returns>是否</returns>
 /// <remarks>2014-03-07 黄波 创建</remarks>
 public bool AccountPointDisable(CrCustomer customer)
 {
     return(customer.IsExperiencePointFixed == (int)CustomerStatus.经验积分是否固定.固定 || customer.IsExperienceCoinFixed == (int)CustomerStatus.惠源币是否固定.固定);
 }