Ejemplo n.º 1
0
        //修改分销商密码
        private string RetailSetPassWord(string pRequest)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <RetailSetPassWordRP> >();
            var loggingSessionInfo = Default.GetBSLoggingSession(rp.CustomerID, rp.UserID);

            string pNewPass = MD5Helper.Encryption(rp.Parameters.pNewPWD);

            //pOldPWD = MD5Helper.Encryption(pOldPWD);
            rp.Parameters.pOldPWD = EncryptManager.Hash(rp.Parameters.pOldPWD, HashProviderType.MD5);

            //组装参数
            var rd         = new RetailSetPassWordRD();
            var rsp        = new SuccessResponse <IAPIResponseData>(rd);
            var serviceBll = new RetailTraderBLL(loggingSessionInfo);
            var entity     = serviceBll.GetByID(rp.Parameters.pID);//获取分销商实体

            //if (pOldPWD == entity.User_Password)
            if (rp.Parameters.pOldPWD == entity.RetailTraderPass)
            {
                entity.RetailTraderPass = pNewPass;
                entity.LastUpdateBy     = "1";
                entity.LastUpdateTime   = DateTime.Now;
                //new cUserService(CurrentUserInfo).SetUserInfo(entity, entity.userRoleInfoList, out error);
                serviceBll.Update(entity);
                rsp.Message = "";
            }
            else
            {
                rsp.ResultCode = 135;
                rsp.Message    = "旧密码不正确";
            }
            return(rsp.ToJSON());
        }
Ejemplo n.º 2
0
        public string ToggleRetailStatus(string pRequest)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <ToggleRetailStatusRP> >();

            if (string.IsNullOrEmpty(rp.Parameters.RetailTraderID))
            {
                throw new APIException("缺少参数【RetailTraderID】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }
            if (string.IsNullOrEmpty(rp.Parameters.Status))
            {
                throw new APIException("缺少参数【Status】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }

            var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo;
            var bll = new RetailTraderBLL(loggingSessionInfo);

            RetailTraderEntity en = new RetailTraderEntity();

            en.RetailTraderID = rp.Parameters.RetailTraderID;
            en.Status         = rp.Parameters.Status;
            bll.Update(en, null, false);

            var rd  = new EmptyRD();
            var rsp = new SuccessResponse <IAPIResponseData>(rd);


            return(rsp.ToJSON());
        }
Ejemplo n.º 3
0
        protected override GetVipFansListRD ProcessRequest(DTO.Base.APIRequest <GetVipFansListRP> pRequest)
        {
            var rd              = new GetVipFansListRD();
            var VipBLL          = new VipBLL(CurrentUserInfo);
            var RetailTraderBLL = new RetailTraderBLL(CurrentUserInfo);

            //var RetailTrader = RetailTraderBLL.GetByID(pRequest.UserID);
            //string vipid = RetailTrader == null ? "" : RetailTrader.MultiLevelSalerFromVipId;

            int StarePage = pRequest.Parameters.PageIndex * pRequest.Parameters.PageSize;
            int EndPage   = (pRequest.Parameters.PageIndex + 1) * pRequest.Parameters.PageSize;

            rd.VipFansList = VipBLL.GetVipFansList(pRequest.UserID, pRequest.Parameters.Code, pRequest.Parameters.VipName, StarePage, EndPage);
            rd.TotalCount  = VipBLL.GetVipFansListCount(pRequest.UserID, pRequest.Parameters.Code, pRequest.Parameters.VipName);
            int PageSum = 0;

            //分页
            if (rd.TotalCount > 0)
            {
                PageSum = rd.TotalCount / pRequest.Parameters.PageSize;
                if (rd.TotalCount % pRequest.Parameters.PageSize != 0)
                {
                    PageSum++;
                }
            }
            rd.TotalPageCount = PageSum;
            return(rd);
        }
Ejemplo n.º 4
0
        public string GetRetailTraders(string pRequest)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <SellUserMainAchieveRP> >();

            var pageSize  = rp.Parameters.PageSize;
            var pageIndex = rp.Parameters.PageIndex;


            var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo;
            var bll = new RetailTraderBLL(loggingSessionInfo);
            var rd  = new GetRetailTradersBySellUserRD();
            var rsp = new SuccessResponse <IAPIResponseData>(rd);
            //获取分销商的信息,loggingSessionInfo.ClientID
            var ds = bll.GetRetailTraders(rp.Parameters.RetailTraderName, rp.Parameters.RetailTraderAddress, rp.Parameters.RetailTraderMan,
                                          rp.Parameters.Status, rp.Parameters.CooperateType, rp.Parameters.UnitID, "", loggingSessionInfo.ClientID, loggingSessionInfo.UserID, pageIndex ?? 1, pageSize ?? 15, rp.Parameters.OrderBy, rp.Parameters.OrderType); //获取



            //判断账号是否存在
            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                var tempDt = ds.Tables[1];
                rd.RetailTraderList = DataTableToObject.ConvertToList <RetailTraderInfo>(tempDt);//直接根据所需要的字段反序列化
                rd.TotalCount       = Convert.ToInt32(ds.Tables[0].Rows[0]["TotalCount"]);
                rd.TotalPages       = Convert.ToInt32(Math.Ceiling(Convert.ToDecimal(Convert.ToInt32(ds.Tables[0].Rows[0]["TotalCount"]) * 1.00 / (pageSize ?? 15) * 1.00)));
            }

            return(rsp.ToJSON());
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 根据CustomerId获取成为经销商条件
        /// </summary>
        /// <param name="pRequest"></param>
        /// <returns></returns>
        private string GetVipMultiLevelSalerConfig(string pRequest)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <EmptyRequestParameter> >();

            if (string.IsNullOrEmpty(rp.UserID))
            {
                throw new APIException("缺少参数【UserID】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }
            var loggingSessionInfo = Default.GetBSLoggingSession(rp.CustomerID, "1");
            var RetailTraderBLL    = new RetailTraderBLL(loggingSessionInfo);
            var ds = RetailTraderBLL.GetVMultiLevelSalerConfigByCId(rp.CustomerID);

            var rd = new VipMultiLevelSalerConfigRP();

            rd.config = new VipMultiLevelSalerConfigEntity();
            if (ds != null && ds.Tables[0].Rows.Count > 0)
            {
                rd.config.Id            = ds.Tables[0].Rows[0]["Id"].ToString();
                rd.config.MustBuyAmount = ds.Tables[0].Rows[0]["MustBuyAmount"].ToString();
                rd.config.Agreement     = ds.Tables[0].Rows[0]["Agreement"].ToString();
                rd.config.CustomerId    = ds.Tables[0].Rows[0]["CustomerId"].ToString();
            }
            var rsp = new SuccessResponse <VipMultiLevelSalerConfigRP>(rd);

            return(rsp.ToJSON());
        }
Ejemplo n.º 6
0
        public string SaveRetailTraderItemMapping(string pRequest)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <RetailTraderItemMappingRP> >();

            var loggingSessionInfo = Default.GetBSLoggingSession(rp.CustomerID, rp.UserID);
            var bll = new RetailTraderItemMappingBLL(loggingSessionInfo);
            var rd  = new EmptyRD();
            var rsp = new SuccessResponse <IAPIResponseData>(rd);

            var itemService  = new ItemService(loggingSessionInfo);
            var bllTrader    = new RetailTraderBLL(loggingSessionInfo);
            var entityTrader = bllTrader.GetByID(rp.Parameters.RetailTraderId);

            entityTrader.SalesType = "Sales";
            bllTrader.Update(entityTrader, null, false);


            bll.DeleteData(rp.Parameters.RetailTraderId);
            if (rp.Parameters.ItemList.Count() > 0)
            {
                foreach (var item in rp.Parameters.ItemList)
                {
                    RetailTraderItemMappingEntity entityRTIM = new RetailTraderItemMappingEntity();
                    entityRTIM.ItemId         = item.ItemId;
                    entityRTIM.RetailTraderId = rp.Parameters.RetailTraderId;
                    entityRTIM.CustomerID     = rp.CustomerID;
                    bll.Create(entityRTIM);
                    itemService.CreateTraderQRCode(rp.CustomerID, item.ItemId, item.ItemName, rp.Parameters.RetailTraderId, entityRTIM.MappingId.ToString());
                }
            }
            return(rsp.ToJSON());
        }
Ejemplo n.º 7
0
        public string GetMonthVipList(string pRequest)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <SellUserMainAchieveRP> >();

            if (string.IsNullOrEmpty(rp.UserID))
            {
                throw new APIException("缺少参数【UserID】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }

            var loggingSessionInfo = Default.GetBSLoggingSession(rp.CustomerID, "1");
            var bll = new RetailTraderBLL(loggingSessionInfo);
            var rd  = new GetMonthVipListRD();
            var rsp = new SuccessResponse <IAPIResponseData>(rd);
            //获取分销商的信息,loggingSessionInfo.ClientID
            int year  = DateTime.Now.Year;
            int month = DateTime.Now.Month;
            var ds    = bll.GetMonthVipList(rp.UserID, loggingSessionInfo.ClientID, month, year); //获取

            //判断账号是否存在
            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                var tempDt = ds.Tables[0];
                rd.VipList = DataTableToObject.ConvertToList <VipInfo>(tempDt);//直接根据所需要的字段反序列化
            }

            return(rsp.ToJSON());
        }
Ejemplo n.º 8
0
        public string GetRetailMonthRewardList(string pRequest)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <GetSellUserRewardListRP> >();

            var pageSize  = rp.Parameters.PageSize;
            var pageIndex = rp.Parameters.PageIndex;


            var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo;
            var bll = new RetailTraderBLL(loggingSessionInfo);
            var rd  = new GetRetailMonthRewardListRD();
            var rsp = new SuccessResponse <IAPIResponseData>(rd);
            //获取分销商的信息,loggingSessionInfo.ClientID,必须要传customerID
            var ds = bll.GetRetailMonthRewardList(rp.Parameters.UnitID, rp.Parameters.SellerOrRetailName, rp.Parameters.Year,
                                                  rp.Parameters.Month, loggingSessionInfo.ClientID, loggingSessionInfo.UserID, pageIndex ?? 1, pageSize ?? 15, rp.Parameters.OrderBy, rp.Parameters.OrderType); //获取

            //判断账号是否存在
            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                var tempDt = ds.Tables[1];
                rd.RetailMonthRewardList = DataTableToObject.ConvertToList <RetailMonthRewards>(tempDt);//直接根据所需要的字段反序列化
                rd.TotalCount            = ds.Tables[0].Rows.Count;
                rd.TotalPages            = Convert.ToInt32(Math.Ceiling(Convert.ToDecimal(ds.Tables[0].Rows.Count * 1.00 / (pageSize ?? 15) * 1.00)));
            }

            return(rsp.ToJSON());
        }
Ejemplo n.º 9
0
        /// <summary>
        /// 用户接受协议成为分经销商
        /// </summary>
        /// <param name="pRequest"></param>
        /// <returns></returns>
        public string SetPreRetailTraderToNomal(string pRequest)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <RetailTraderRP> >();

            if (string.IsNullOrEmpty(rp.UserID))
            {
                throw new APIException("缺少参数【UserID】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }
            var loggingSessionInfo = Default.GetBSLoggingSession(rp.CustomerID, "1");
            var RetailTraderBLL    = new RetailTraderBLL(loggingSessionInfo);
            var VipBLL             = new VipBLL(loggingSessionInfo);

            var Data = RetailTraderBLL.GetByID(rp.UserID);

            if (Data == null)
            {
                throw new APIException("参数【rp.Parameters.RetailTraderID】错误找不到对应经销商")
                      {
                          ErrorCode = 136
                      };
            }
            var vipData = VipBLL.GetByID(Data.MultiLevelSalerFromVipId);

            if (vipData != null)
            {
                if (!string.IsNullOrWhiteSpace(vipData.SetoffUserId))//经销商二维码扫码关注的会员,成为经销商时,自动被集客
                {
                    DataSet ds = RetailTraderBLL.GetMultiLevelBeAddNode(vipData.SetoffUserId);
                    if (ds.Tables[0].Rows.Count > 0)
                    {
                        Data.HigheRetailTraderID = ds.Tables[0].Rows[0]["BeAddNode"].ToString();
                        if (ds.Tables[0].Rows[0]["BeAddNodeFlag"] != DBNull.Value)
                        {
                            int Flag = Convert.ToInt32(ds.Tables[0].Rows[0]["BeAddNodeFlag"]);
                            if (Flag == 1)//添加经销商拓展节点记录
                            {
                                var T_HierarchySystemExNodeBLL = new T_HierarchySystemExNodeBLL(loggingSessionInfo);
                                T_HierarchySystemExNodeBLL.AddHierarchySystemExNode(Data.RetailTraderID);
                            }
                        }
                    }
                }
            }
            Data.Status = "1";

            RetailTraderBLL.Update(Data);
            var response = new EmptyRD();
            var rsp      = new SuccessResponse <IAPIResponseData>(response);

            return(rsp.ToJSON());
        }
Ejemplo n.º 10
0
        public string GetRewardsDayRiseList(string pRequest)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <SellUserMainAchieveRP> >();

            if (string.IsNullOrEmpty(rp.Parameters.UserOrRetailID))
            {
                throw new APIException("缺少参数【UserOrRetailID】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }

            var loggingSessionInfo = Default.GetBSLoggingSession(rp.CustomerID, "1");
            var bll = new RetailTraderBLL(loggingSessionInfo);
            var rd  = new MonthDayRewardsRD();
            var rsp = new SuccessResponse <IAPIResponseData>(rd);
            //获取分销商的信息,loggingSessionInfo.ClientID
            // int month = DateTime.Now.Month;
            //int year = DateTime.Now.Year;//目前只取今年的
            //int month = DateTime.Now.Month;//目前只取今年的
            DateTime nowDay      = Convert.ToDateTime(DateTime.Now.ToShortDateString());                                                                                        //
            var      ds          = bll.GetRewardsDayRiseList(rp.Parameters.UserOrRetailID, loggingSessionInfo.ClientID, nowDay.AddDays(-14), nowDay.AddDays(1).AddSeconds(-1)); //获取今天和前面14天的数据
            var      VipRiseList = new List <RewardsDayRiseTrand>();

            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                var tempDt = ds.Tables[0];
                VipRiseList = DataTableToObject.ConvertToList <RewardsDayRiseTrand>(tempDt);//直接根据所需要的字段反序列化
            }
            int currentDay = DateTime.Now.Day;

            //判断账号是否存在
            rd.MonthRewardList = new List <RewardsDayRiseTrand>();
            for (DateTime i = nowDay.AddDays(-14); i <= nowDay; i = i.AddDays(1))
            {
                RewardsDayRiseTrand temp = VipRiseList.Where(p => p.formatDate == i.ToString("yyyy-MM-dd")).SingleOrDefault();//直接根据所需要的字段反序列化
                if (temp == null)
                {
                    temp            = new RewardsDayRiseTrand();
                    temp.Year       = i.Year;
                    temp.Month      = i.Month;
                    temp.Day        = i.Day;
                    temp.formatDate = temp.Year + "-" + temp.Month + "-" + temp.Day;

                    temp.DayAmount      = 0;
                    temp.DayVipAmount   = 0;
                    temp.DayTradeAmount = 0;
                }
                temp.myDate = temp.Month + "/" + temp.Day;
                rd.MonthRewardList.Add(temp);
            }
            return(rsp.ToJSON());
        }
Ejemplo n.º 11
0
        public string MonthRewards(string pRequest)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <SellUserMainAchieveRP> >();

            if (string.IsNullOrEmpty(rp.Parameters.UserOrRetailID))
            {
                throw new APIException("缺少参数【UserOrRetailID】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }

            var loggingSessionInfo = Default.GetBSLoggingSession(rp.CustomerID, "1");
            var bll = new RetailTraderBLL(loggingSessionInfo);
            var rd  = new MonthRewardsRD();
            var rsp = new SuccessResponse <IAPIResponseData>(rd);
            //获取分销商的信息,loggingSessionInfo.ClientID
            // int month = DateTime.Now.Month;
            int year        = DateTime.Now.Year;                                                                 //目前只取今年的
            int month       = DateTime.Now.Month;                                                                //目前只取今年的
            var ds          = bll.MonthRewards(rp.Parameters.UserOrRetailID, loggingSessionInfo.ClientID, year); //获取
            var VipRiseList = new List <MonthRewardInfo>();

            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                var tempDt = ds.Tables[0];
                VipRiseList = DataTableToObject.ConvertToList <MonthRewardInfo>(tempDt);//直接根据所需要的字段反序列化
            }


            int currentMonth = DateTime.Now.Month;

            //判断账号是否存在
            rd.MonthRewardList = new List <MonthRewardInfo>();
            for (int i = 1; i <= currentMonth; i++)
            {
                MonthRewardInfo temp = VipRiseList.Where(p => p.Month == i).SingleOrDefault();//直接根据所需要的字段反序列化
                if (temp == null)
                {
                    temp                  = new MonthRewardInfo();
                    temp.Year             = year;
                    temp.Month            = i;
                    temp.MonthAmount      = 0;
                    temp.MonthVipAmount   = 0;
                    temp.MonthTradeAmount = 0;
                }
                rd.MonthRewardList.Add(temp);
            }

            rd.MonthRewardList.Reverse();//顺序反转
            return(rsp.ToJSON());
        }
Ejemplo n.º 12
0
        public string SellUserMainAchieve(string pRequest)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <SellUserMainAchieveRP> >();

            if (string.IsNullOrEmpty(rp.UserID))
            {
                throw new APIException("缺少参数【UserID】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }

            var loggingSessionInfo = Default.GetBSLoggingSession(rp.CustomerID, "1");
            var bll = new RetailTraderBLL(loggingSessionInfo);
            var rd  = new SellUserMainAchieveRD();
            var rsp = new SuccessResponse <IAPIResponseData>(rd);
            //获取分销商的信息,loggingSessionInfo.ClientID
            var ds = bll.GetRetailTradersBySellUser("", rp.UserID, loggingSessionInfo.ClientID);   //获取

            //判断账号是否存在
            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                rd.RetailTraderCount = ds.Tables[0].Rows.Count;
            }
            else
            {
                rd.RetailTraderCount = 0;
            }
            //取该账号下面的分销商的会员的数量
            int VipCount = bll.GetVipCountBySellUser(rp.UserID, loggingSessionInfo.ClientID);   //获取

            rd.VipCount = VipCount;

            //销售员头像
            ObjectImagesBLL    _ObjectImagesBLL = new ObjectImagesBLL(loggingSessionInfo);
            ObjectImagesEntity en = new ObjectImagesEntity();

            en.ObjectId = rp.UserID;
            List <ObjectImagesEntity> ImgList = _ObjectImagesBLL.QueryByEntity(en, null).OrderByDescending(p => p.CreateTime).ToList();

            if (ImgList != null && ImgList.Count != 0)
            {
                // string fileDNS = customerBasicSettingBll.GetSettingValueByCode("FileDNS"); ;//http://182.254.156.57:811
                rd.HeadImg = ImgList[0].ImageURL;
            }


            return(rsp.ToJSON());
        }
Ejemplo n.º 13
0
        public string DownloadQRCode(string pRequest)
        {
            //try
            //{
            var rd  = new RetailTraderItemQRCodeRD();
            var rsp = new SuccessResponse <IAPIResponseData>(rd);

            string path = "";
            var    rp   = pRequest.DeserializeJSONTo <APIRequest <RetailTraderItemQRCode> >();

            if (string.IsNullOrEmpty(rp.Parameters.RetailTraderId))
            {
                throw new APIException("请输入RetailTraderId参数")
                      {
                          ErrorCode = 000
                      }
            }
            ;
            var         loggingSessionInfo = new SessionManager().CurrentUserLoginInfo;
            var         bll                = new RetailTraderBLL(loggingSessionInfo);
            HttpContext context            = System.Web.HttpContext.Current;
            var         entityRetailTrader = bll.GetByID(rp.Parameters.RetailTraderId);
            DataSet     ds = bll.RetailTraderItemQRCode(rp.Parameters.RetailTraderId);

            try
            {
                if (ds != null && ds.Tables[0].Rows.Count > 0)
                {
                    List <GetRetailTraderItemQRCode> list = DataTableToObject.ConvertToList <GetRetailTraderItemQRCode>(ds.Tables[0]).ToList();
                    path = CreateZipAndResponse(list, context.Response, entityRetailTrader.RetailTraderName);
                    if (!string.IsNullOrEmpty(path))
                    {
                        rd.FilePath = path;
                    }
                }
                else
                {
                    throw new Exception("未绑定商品!");
                    //context.Response.Write("<script languge='javascript'>alert('No Data'); window.location.href='index.aspx'</script>");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }


            return(rsp.ToJSON());
        }
Ejemplo n.º 14
0
        public string GetRetailVipInfos(string pRequest)//	获取本月新增会员数量、累计会员数量、本月交易量接口(取该会员的订单数)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <GetRetailVipInfosRP> >();

            if (string.IsNullOrEmpty(rp.Parameters.RetailTraderID))
            {
                throw new APIException("缺少参数【RetailTraderID】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }



            var loggingSessionInfo = Default.GetBSLoggingSession(rp.CustomerID, "1");
            var bll = new RetailTraderBLL(loggingSessionInfo);
            var rd  = new GetRetailVipInfosRD();
            var rsp = new SuccessResponse <IAPIResponseData>(rd);

            int year  = DateTime.Now.Year;
            int month = DateTime.Now.Month;
            int day   = DateTime.Now.Day;
            //今日新增会员数量
            var ds = bll.GetRetailVipInfos(rp.Parameters.RetailTraderID, loggingSessionInfo.ClientID, year, month, day);   //获取

            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                var tempDt = ds.Tables[0];
                rd.DayVipCount = tempDt.Rows.Count;
            }
            //本月新增会员数量
            var ds2 = bll.GetRetailVipInfos(rp.Parameters.RetailTraderID, loggingSessionInfo.ClientID, year, month, -1);   //获取

            if (ds2 != null && ds2.Tables.Count > 0 && ds2.Tables[0].Rows.Count > 0)
            {
                var tempDt = ds2.Tables[0];
                rd.MonthVipCount = tempDt.Rows.Count;
            }
            //累计会员数量
            var ds3 = bll.GetRetailVipInfos(rp.Parameters.RetailTraderID, loggingSessionInfo.ClientID, -1, -1, -1);   //获取

            if (ds3 != null && ds3.Tables.Count > 0 && ds3.Tables[0].Rows.Count > 0)
            {
                var tempDt = ds3.Tables[0];
                rd.TotalVipCount = tempDt.Rows.Count;
            }
            return(rsp.ToJSON());
        }
Ejemplo n.º 15
0
        //本月奖励金额、发展会员奖励(17)、会员消费奖励接口(消费奖励分为14会员首次消费奖励和15关注三个月内奖励)
        public string GetRewards(string pRequest)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <SellUserMainAchieveRP> >();

            if (string.IsNullOrEmpty(rp.Parameters.UserOrRetailID))
            {
                throw new APIException("缺少参数【UserOrRetailID】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }

            var loggingSessionInfo = Default.GetBSLoggingSession(rp.CustomerID, "1");
            var bll = new RetailTraderBLL(loggingSessionInfo);
            var rd  = new GetRewardsRD();
            var rsp = new SuccessResponse <IAPIResponseData>(rd);
            //本月新增会员数量
            int year           = DateTime.Now.Year;
            int month          = DateTime.Now.Month;
            int day            = DateTime.Now.Day;
            var UserOrRetailID = rp.Parameters.UserOrRetailID;
            ////本月首次关注奖励
            //decimal attenAmount = bll.RetailRewardByAmountSource(UserOrRetailID, loggingSessionInfo.ClientID, month, year, "17");   //获取
            ////本月首次消费奖励
            //decimal firstTradeAmount = bll.RetailRewardByAmountSource(UserOrRetailID, loggingSessionInfo.ClientID, month, year, "14");   //获取 = MonthTradeCount;
            ////本月三月内消费奖励
            //decimal threeMonthAmount = bll.RetailRewardByAmountSource(UserOrRetailID, loggingSessionInfo.ClientID, month, year, "15");   //获取 = MonthTradeCount;
            //今日奖励
            decimal DayRewards = bll.RetailRewardByAmountSource(UserOrRetailID, loggingSessionInfo.ClientID, year, month, day, "17")
                                 + bll.RetailRewardByAmountSource(UserOrRetailID, loggingSessionInfo.ClientID, year, month, day, "14")
                                 + bll.RetailRewardByAmountSource(UserOrRetailID, loggingSessionInfo.ClientID, year, month, day, "15");      //获取
            //本月奖励
            decimal MonthRewards = bll.RetailRewardByAmountSource(UserOrRetailID, loggingSessionInfo.ClientID, year, month, -1, "17")
                                   + bll.RetailRewardByAmountSource(UserOrRetailID, loggingSessionInfo.ClientID, year, month, -1, "14")
                                   + bll.RetailRewardByAmountSource(UserOrRetailID, loggingSessionInfo.ClientID, year, month, -1, "15");    //获取
            //累积奖励
            decimal TotalRewards = bll.RetailRewardByAmountSource(UserOrRetailID, loggingSessionInfo.ClientID, -1, -1, -1, "17")
                                   + bll.RetailRewardByAmountSource(UserOrRetailID, loggingSessionInfo.ClientID, -1, -1, -1, "14")
                                   + bll.RetailRewardByAmountSource(UserOrRetailID, loggingSessionInfo.ClientID, -1, -1, -1, "15");    //获取

            rd.DayRewards   = DayRewards;
            rd.MonthRewards = MonthRewards;
            rd.TotalRewards = TotalRewards;
            return(rsp.ToJSON());
        }
Ejemplo n.º 16
0
        public string GetAchievements(string pRequest)//	获取本月新增会员数量、累计会员数量、本月交易量接口(取该会员的订单数)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <SellUserMainAchieveRP> >();

            if (string.IsNullOrEmpty(rp.UserID))
            {
                throw new APIException("缺少参数【UserID】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }

            var loggingSessionInfo = Default.GetBSLoggingSession(rp.CustomerID, "1");
            var bll = new RetailTraderBLL(loggingSessionInfo);
            var rd  = new GetAchievementsRD();
            var rsp = new SuccessResponse <IAPIResponseData>(rd);
            //本月新增会员数量
            int year  = DateTime.Now.Year;
            int month = DateTime.Now.Month;
            var ds    = bll.GetMonthVipList(rp.UserID, loggingSessionInfo.ClientID, month, year); //获取

            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                var tempDt = ds.Tables[0];
                rd.MonthVipCount = tempDt.Rows.Count;//直接根据所需要的字段反序列化
            }
            //累计会员数量
            var ds2 = bll.GetMonthVipList(rp.UserID, loggingSessionInfo.ClientID, -1, -1);   //获取

            if (ds2 != null && ds2.Tables.Count > 0 && ds2.Tables[0].Rows.Count > 0)
            {
                var tempDt = ds2.Tables[0];
                rd.TotalVipCount = tempDt.Rows.Count;//直接根据所需要的字段反序列化
            }
            //本月交易量
            int MonthTradeCount = bll.GetMonthTradeCount(rp.UserID, loggingSessionInfo.ClientID, month, year);   //获取

            rd.MonthTradeCount = MonthTradeCount;

            return(rsp.ToJSON());
        }
Ejemplo n.º 17
0
        public string RetailTraderLogin(string pRequest)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <RetailTraderLoginRP> >();

            //string customerCode = rp.Parameters.CustomerCode;
            //if (string.IsNullOrEmpty(customerCode))
            //{
            //    throw new APIException("客户代码不能为空") { ErrorCode = 135 };
            //}

            if (rp.Parameters.RetailTraderLogin == null)
            {
                throw new APIException("缺少参数【RetailTraderLogin】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }
            if (rp.Parameters.RetailTraderPass == null)
            {
                throw new APIException("缺少参数【RetailTraderPass】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }
            // var loggingSessionInfo = Default.GetBSLoggingSession(rp.CustomerID, "1");

            //WMenuBLL menuServer = new WMenuBLL(Default.GetAPLoggingSession(""));
            //string customerId = menuServer.GetCustomerIDByCustomerCode(customerCode);

            //if (string.IsNullOrEmpty(customerId))
            //{
            //    throw new APIException("客户代码对应的客户不存在") { ErrorCode = Error_CustomerCode_NotExist };
            //}


            var bll2 = new RetailTraderBLL(Default.GetAPLoggingSession(""));//用空的登陆信息去查

            var ds = bll2.getRetailTraderInfoByLogin2(rp.Parameters.RetailTraderLogin, "", "");
            var retailTraderInfo = new RetailTraderInfo();


            var    rd         = new SaveRetailTraderRD();
            var    rsp        = new SuccessResponse <IAPIResponseData>(rd);
            string customerId = "";

            //判断账号是否存在
            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                var tempDt = ds.Tables[0];
                retailTraderInfo = DataTableToObject.ConvertToObject <RetailTraderInfo>(tempDt.Rows[0]);//直接根据所需要的字段反序列化

                customerId = retailTraderInfo.CustomerId;
            }
            else
            {
                rsp.Message    = "登陆名不存在";
                rsp.ResultCode = 136;
                return(rsp.ToJSON());
            }



            var loggingSessionInfo = Default.GetBSLoggingSession(customerId, "1");
            var bll = new RetailTraderBLL(loggingSessionInfo);



            //获取分销商的信息,包括头像等loggingSessionInfo.ClientID
            ds = bll.getRetailTraderInfoByLogin(rp.Parameters.RetailTraderLogin, "", loggingSessionInfo.ClientID);
            retailTraderInfo = new RetailTraderInfo();
            //判断账号是否存在
            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                var tempDt = ds.Tables[0];
                retailTraderInfo = DataTableToObject.ConvertToObject <RetailTraderInfo>(tempDt.Rows[0]);//直接根据所需要的字段反序列化
            }
            else
            {
                rsp.Message    = "登陆名不存在";
                rsp.ResultCode = 136;
                return(rsp.ToJSON());
            }
            //判断密码是否正确
            if (retailTraderInfo.RetailTraderPass != rp.Parameters.RetailTraderPass)
            {
                rsp.Message    = "登陆密码不正确";
                rsp.ResultCode = 136;
                return(rsp.ToJSON());
            }
            //判断密码是否正确
            //if (retailTraderInfo.Status != "1")
            //{
            //    rsp.Message = "该分销商账号已经被停用";
            //    rsp.ResultCode = 136;
            //    return rsp.ToJSON();
            //}


            //正确时返回分销商数据
            rd.RetailTraderInfo = retailTraderInfo;


            return(rsp.ToJSON());
        }
Ejemplo n.º 18
0
        public string GetRetailTraderByID(string pRequest)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <RetailTraderLoginRP> >();

            if (rp.Parameters.RetailTraderID == null)
            {
                throw new APIException("缺少参数【RetailTraderID】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }

            var loggingSessionInfo = Default.GetBSLoggingSession(rp.CustomerID, "1");
            var bll = new RetailTraderBLL(loggingSessionInfo);
            var rd  = new SaveRetailTraderRD();

            var rsp = new SuccessResponse <IAPIResponseData>(rd);
            //获取分销商的信息,包括头像等loggingSessionInfo.ClientID
            var ds = bll.getRetailTraderInfoByLogin("", rp.Parameters.RetailTraderID, loggingSessionInfo.ClientID);
            var retailTraderInfo = new RetailTraderInfo();

            //判断账号是否存在
            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                var tempDt = ds.Tables[0];
                retailTraderInfo = DataTableToObject.ConvertToObject <RetailTraderInfo>(tempDt.Rows[0]);//直接根据所需要的字段反序列化
            }



            //正确时返回分销商数据
            rd.RetailTraderInfo = retailTraderInfo;//分销商

            //获取奖励规则
            SysRetailRewardRuleEntity[] ruleList = null;
            SysRetailRewardRuleBLL      _SysRetailRewardRuleBLL = new SysRetailRewardRuleBLL(loggingSessionInfo);
            //先看该分销商自己是否有奖励规则
            SysRetailRewardRuleEntity en = new SysRetailRewardRuleEntity();

            en.IsTemplate     = 0;
            en.CooperateType  = retailTraderInfo.CooperateType;
            en.RetailTraderID = rp.Parameters.RetailTraderID;
            en.CustomerId     = rp.CustomerID;
            en.IsDelete       = 0;
            //获取奖励模板
            ruleList = _SysRetailRewardRuleBLL.QueryByEntity(en, null);


            //  SysRetailRewardRuleEntity en = new SysRetailRewardRuleEntity();
            if (ruleList == null || ruleList.Count() == 0)
            {
                SysRetailRewardRuleEntity en2 = new SysRetailRewardRuleEntity();
                en2.IsTemplate    = 1;
                en2.CooperateType = retailTraderInfo.CooperateType;
                en2.IsDelete      = 0;
                en2.CustomerId    = rp.CustomerID;                           //加上这个,否则多个客户的奖励规则一起取了
                //获取奖励模板
                ruleList = _SysRetailRewardRuleBLL.QueryByEntity(en2, null); //这里不能用en了,用en会包含之前的RetailTraderID属性了
            }

            StringBuilder sb = new StringBuilder("");

            if (ruleList != null || ruleList.Count() != 0)
            {
                for (int i = 0; i < ruleList.Count(); i++)
                {
                    if (ruleList[i].RetailTraderReward > 0)
                    {
                        sb.Append(ruleList[i].RewardTypeName);
                        int temp = (int)ruleList[i].RetailTraderReward;//判断一下小数点后面是不是0,如果是0,就不要了
                        if (ruleList[i].RetailTraderReward > temp)
                        {
                            sb.Append(ruleList[i].RetailTraderReward);
                        }
                        else
                        {
                            sb.Append(temp);
                        }
                        if (ruleList[i].AmountOrPercent == 1)
                        {
                            sb.Append("元");
                        }
                        else
                        {
                            sb.Append("%");
                        }
                        if (ruleList[i].RewardTypeCode == "AttentThreeMonth")
                        {
                            sb.Append("(不包含首笔交易)");
                        }
                        sb.Append(",");
                    }
                }
                if (sb.ToString() != "")
                {
                    sb.Replace(',', '。', sb.Length - 1, 1);
                }
            }
            else
            {
                if (retailTraderInfo.CooperateType == "TwoWay")
                {
                    sb.Append(retailTraderInfo.UnitName).Append("门店帮您发放优惠券,也可向您的门店带来潜在的顾客。 ");
                }
            }



            rd.RewardNotic = sb.ToString();//奖励规则说明



            return(rsp.ToJSON());
        }
Ejemplo n.º 19
0
        public string SaveRetailTrader(string pRequest)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <SaveRetailTraderRP> >();

            if (rp.Parameters.RetailTraderInfo == null)
            {
                throw new APIException("缺少参数【RetailTraderInfo】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }
            if (rp.Parameters.IsNewHeadImg == null)
            {
                throw new APIException("缺少参数【IsNewHeadImg】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }
            var loggingSessionInfo = Default.GetBSLoggingSession(rp.CustomerID, "1");
            var bll = new RetailTraderBLL(loggingSessionInfo);
            var rd  = new SaveRetailTraderRD();
            var rsp = new SuccessResponse <IAPIResponseData>(rd);
            //判断登陆名是否有重复的,要从ap库里取
            var ds = bll.getRetailTraderInfoByLogin2(rp.Parameters.RetailTraderInfo.RetailTraderLogin, "", loggingSessionInfo.ClientID);
            var retailTraderInfo = new RetailTraderInfo();

            //判断账号是否存在
            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                var tempDt = ds.Tables[0];
                retailTraderInfo = DataTableToObject.ConvertToObject <RetailTraderInfo>(tempDt.Rows[0]); //直接根据所需要的字段反序列化
                if (retailTraderInfo.RetailTraderID != rp.Parameters.RetailTraderInfo.RetailTraderID)    //如果取出来的实体的id和传过来的参数的id不一样,说明不是同一个实体
                {
                    rsp.Message    = "该登陆账号已经存在,不能重复使用";
                    rsp.ResultCode = 137;
                    return(rsp.ToJSON());//这里要返回
                }
            }


            //从RetailTraderInfo转到RetailTraderEntity
            RetailTraderEntity en = new RetailTraderEntity();

            en.RetailTraderID = rp.Parameters.RetailTraderInfo.RetailTraderID;
            if (rp.Parameters.RetailTraderInfo.RetailTraderID == null || rp.Parameters.RetailTraderInfo.RetailTraderID.ToString() == "")
            {
                en.RetailTraderID = Guid.NewGuid().ToString();
                //获取当前最大的
                //如果是新增,则取本客户下的最大编号作为分销商编号
                en.RetailTraderCode = bll.getMaxRetailTraderCode(rp.CustomerID) + 1;

                en.CreateTime = DateTime.Now;
                en.CreateBy   = rp.UserID;
            }
            en.RetailTraderName  = rp.Parameters.RetailTraderInfo.RetailTraderName;
            en.RetailTraderLogin = rp.Parameters.RetailTraderInfo.RetailTraderLogin;
            if (!string.IsNullOrEmpty(rp.Parameters.RetailTraderInfo.RetailTraderPass))
            {
                en.RetailTraderPass = MD5Helper.Encryption(rp.Parameters.RetailTraderInfo.RetailTraderPass);
            }
            en.RetailTraderMan     = rp.Parameters.RetailTraderInfo.RetailTraderMan;
            en.RetailTraderPhone   = rp.Parameters.RetailTraderInfo.RetailTraderPhone;
            en.RetailTraderAddress = rp.Parameters.RetailTraderInfo.RetailTraderAddress;
            en.CooperateType       = rp.Parameters.RetailTraderInfo.CooperateType;
            en.SalesType           = rp.Parameters.RetailTraderInfo.SalesType;
            en.SellUserID          = rp.Parameters.RetailTraderInfo.SellUserID;
            en.UnitID = rp.Parameters.RetailTraderInfo.UnitID;
            en.Status = "1";//启用状态

            en.LastUpdateTime = DateTime.Now;
            en.LastUpdateBy   = rp.UserID;
            en.IsDelete       = 0;
            en.CustomerId     = rp.CustomerID;
            if (rp.Parameters.RetailTraderInfo.RetailTraderID == null || rp.Parameters.RetailTraderInfo.RetailTraderID.ToString() == "")
            {
                bll.Create(en);
                //  rp.Parameters.RetailTraderInfo.RetailTraderID = en.RetailTraderID;//为了返回数据时使用
            }
            else
            {
                bll.Update(en, null, false);//不更新空值的字段
            }
            //另外要保存到ap库里,这样才能登陆时从ap库里统一取出分销商信息,和对应的customerid
            if (rp.Parameters.RetailTraderInfo.RetailTraderID == null || rp.Parameters.RetailTraderInfo.RetailTraderID.ToString() == "")
            {
                bll.Create2Ap(en);                                                 //ap库里的RetailTraderID和商户里的RetailTraderID是一样的
                rp.Parameters.RetailTraderInfo.RetailTraderID = en.RetailTraderID; //为了返回数据时使用,到这里才赋值***
            }
            else
            {
                bll.Update2Ap(en, null, false);//不更新空值的字段
            }

            //如果IsNewHeadImg为1时,即上传图片时,则删除之前的关联图片(逻辑删除)
            if (rp.Parameters.IsNewHeadImg == 1)
            {
                ObjectImagesBLL    _ObjectImagesBLL = new ObjectImagesBLL(loggingSessionInfo);
                ObjectImagesEntity ObjectImagesEn   = new ObjectImagesEntity();

                _ObjectImagesBLL.DeleteByObjectID(en.RetailTraderID.ToString());
            }

            rd.RetailTraderInfo = rp.Parameters.RetailTraderInfo;


            return(rsp.ToJSON());
        }
Ejemplo n.º 20
0
        public string RetailTraderMain(string pRequest)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <GetRetailVipInfosRP> >();

            if (string.IsNullOrEmpty(rp.Parameters.RetailTraderID))
            {
                throw new APIException("缺少参数【RetailTraderID】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }

            var loggingSessionInfo = Default.GetBSLoggingSession(rp.CustomerID, "1");
            var bll           = new RetailTraderBLL(loggingSessionInfo);
            var rd            = new RetailTraderMainRD();
            var rsp           = new SuccessResponse <IAPIResponseData>(rd);
            var CouponTypeBll = new CouponTypeBLL(loggingSessionInfo);
            //  BringVipCount//我为兰博士带多少会员
            //  RewardAmount//奖励多少钱
            //累计会员数量
            var ds3 = bll.GetRetailVipInfos(rp.Parameters.RetailTraderID, loggingSessionInfo.ClientID, -1, -1, -1);   //获取

            if (ds3 != null && ds3.Tables.Count > 0 && ds3.Tables[0].Rows.Count > 0)
            {
                var tempDt = ds3.Tables[0];
                rd.BringVipCount = tempDt.Rows.Count;
            }
            //累积奖励
            decimal TotalRewards = bll.RetailRewardByAmountSource(rp.Parameters.RetailTraderID, loggingSessionInfo.ClientID, -1, -1, -1, "17")
                                   + bll.RetailRewardByAmountSource(rp.Parameters.RetailTraderID, loggingSessionInfo.ClientID, -1, -1, -1, "14")
                                   + bll.RetailRewardByAmountSource(rp.Parameters.RetailTraderID, loggingSessionInfo.ClientID, -1, -1, -1, "15");    //获取

            rd.RewardAmount = TotalRewards;

            int?pageIndex = 1;
            int?pageSize  = 10000;
            //未核销优惠券列表
            int NoWriteOffCouponCount = 0;
            var ds4 = bll.GetRetailCoupon(rp.Parameters.RetailTraderID, loggingSessionInfo.ClientID, 0, pageIndex ?? 1, pageSize ?? 15, rp.Parameters.OrderBy, rp.Parameters.OrderType);   //获取

            if (ds4 != null && ds4.Tables.Count > 0 && ds4.Tables[0].Rows.Count > 0)
            {
                //var tempDt = ds4.Tables[0];
                NoWriteOffCouponCount = Convert.ToInt32(ds4.Tables[0].Rows[0]["TotalCount"].ToString());//tempDt.Rows.Count;
                //  rd.WriteOffCouponList = DataTableToObject.ConvertToList<RetailCouponInfo>(ds4.Tables[1]);
            }

            var ds5 = bll.GetRetailCoupon(rp.Parameters.RetailTraderID, loggingSessionInfo.ClientID, 1, pageIndex ?? 1, pageSize ?? 15, rp.Parameters.OrderBy, rp.Parameters.OrderType);   //获取

            if (ds5 != null && ds5.Tables.Count > 0 && ds5.Tables[0].Rows.Count > 0)
            {
                //var tempDt = ds5.Tables[0];
                rd.UsedCoupon = Convert.ToInt32(ds5.Tables[0].Rows[0]["TotalCount"].ToString());
                //  rd.WriteOffCouponList = DataTableToObject.ConvertToList<RetailCouponInfo>(ds3.Tables[1]);
            }


            //    rd.AllCouponCouponCount = rd.WriteOffCouponCount + rd.NoWriteOffCouponCount;


            rd.SendCouponCount = rd.UsedCoupon + NoWriteOffCouponCount;//	兰博士为我发券数量

            #region 获取适用所有门店的券
            var CouponTypeList = CouponTypeBll.QueryByEntity(new CouponTypeEntity()
            {
                SuitableForStore = 3, CustomerId = loggingSessionInfo.ClientID
            }, null).ToList();
            if (CouponTypeList.Count > 0)
            {
                foreach (var item in CouponTypeList)
                {
                    int Count = CouponTypeBll.GetCouponCount(item.CouponTypeID.ToString());
                    rd.SendCouponCount += Count;
                }
            }
            #endregion


            return(rsp.ToJSON());
        }
Ejemplo n.º 21
0
        public string RetailCoupon(string pRequest)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <GetRetailVipInfosRP> >();

            if (string.IsNullOrEmpty(rp.Parameters.RetailTraderID))
            {
                throw new APIException("缺少参数【RetailTraderID】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }
            var pageSize  = rp.Parameters.PageSize;
            var pageIndex = rp.Parameters.PageIndex;

            var loggingSessionInfo = Default.GetBSLoggingSession(rp.CustomerID, "1");
            var bll           = new RetailTraderBLL(loggingSessionInfo);
            var rd            = new RetailCouponRD();
            var rsp           = new SuccessResponse <IAPIResponseData>(rd);
            var CouponTypeBll = new CouponTypeBLL(loggingSessionInfo);


            //优惠券状态为1代表已经使用,为0
            //已核销优惠券列表
            var ds3 = bll.GetRetailCoupon(rp.Parameters.RetailTraderID, loggingSessionInfo.ClientID, 1, pageIndex ?? 1, pageSize ?? 15, rp.Parameters.OrderBy, rp.Parameters.OrderType);   //获取

            if (ds3 != null && ds3.Tables.Count > 0 && ds3.Tables[0].Rows.Count > 0)
            {
                rd.WriteOffCouponCount = Convert.ToInt32(ds3.Tables[0].Rows[0]["TotalCount"].ToString());
                rd.WriteOffCouponList  = DataTableToObject.ConvertToList <RetailCouponInfo>(ds3.Tables[1]);
            }



            //未核销优惠券列表
            var ds4 = bll.GetRetailCoupon(rp.Parameters.RetailTraderID, loggingSessionInfo.ClientID, 0, pageIndex ?? 1, pageSize ?? 15, rp.Parameters.OrderBy, rp.Parameters.OrderType);   //获取

            if (ds4 != null && ds4.Tables.Count > 0 && ds4.Tables[0].Rows.Count > 0)
            {
                rd.NoWriteOffCouponCount = Convert.ToInt32(ds4.Tables[0].Rows[0]["TotalCount"].ToString());
                rd.NoWriteOffCouponList  = DataTableToObject.ConvertToList <RetailCouponInfo>(ds4.Tables[1]);
            }

            rd.AllCouponCouponCount = rd.WriteOffCouponCount + rd.NoWriteOffCouponCount;

            #region 获取适用所有门店的券
            var CouponTypeList = CouponTypeBll.QueryByEntity(new CouponTypeEntity()
            {
                SuitableForStore = 3, CustomerId = loggingSessionInfo.ClientID
            }, null).ToList();
            if (CouponTypeList.Count > 0)
            {
                foreach (var item in CouponTypeList)
                {
                    int Count = CouponTypeBll.GetCouponCount(item.CouponTypeID.ToString());
                    rd.AllCouponCouponCount += Count;
                }
            }
            #endregion

            return(rsp.ToJSON());
        }
Ejemplo n.º 22
0
        /// <summary>
        /// 核销优惠劵
        /// </summary>
        /// <param name="pRequest"></param>
        /// <returns></returns>
        private string BestowCoupon(string pRequest)
        {
            RespData respData = new RespData();

            try
            {
                var reqObj = pRequest.DeserializeJSONTo <reqConunbondata>();
                if (string.IsNullOrEmpty(reqObj.userId))
                {
                    respData.ResultCode = "103";
                    respData.Message    = "登陆用户不能为空";
                }
                if (string.IsNullOrEmpty(reqObj.Parameters.doorID))
                {
                    respData.ResultCode = "103";
                    respData.Message    = "此APP版本无法核销,请升级到新版本。";
                    return(respData.ToJSON());
                }
                var loggingSessionInfo = Default.GetBSLoggingSession(reqObj.customerId, reqObj.userId);
                var couponUseBll       = new CouponUseBLL(loggingSessionInfo);             //优惠券使用BLL实例化
                var vcmBll             = new VipCouponMappingBLL(loggingSessionInfo);      //优惠券BLL实例化
                var couponTypeBll      = new CouponTypeBLL(loggingSessionInfo);            //优惠券类型
                var mappingBll         = new CouponTypeUnitMappingBLL(loggingSessionInfo); //优惠券和门店映射
                //var vcmEntity = new VipCouponMappingEntity();
                CouponBLL bll = new CouponBLL(loggingSessionInfo);



                //判断是否有权限核销优惠券
                CouponEntity couponEntity = null;
                if (!string.IsNullOrEmpty(reqObj.Parameters.couponCode))
                {
                    CouponEntity[] couponEntityArray = bll.QueryByEntity(new CouponEntity()
                    {
                        CouponCode = reqObj.Parameters.couponCode, CustomerID = reqObj.customerId
                    }, null);
                    if (couponEntityArray.Length != 0)
                    {
                        couponEntity = couponEntityArray[0];
                    }
                }
                else
                {
                    couponEntity = bll.GetByID(reqObj.Parameters.cuponID);
                }


                if (couponEntity != null)
                {
                    List <IWhereCondition> wheresOrderNo = new List <IWhereCondition>();
                    wheresOrderNo.Add(new EqualsCondition()
                    {
                        FieldName = "CouponID", Value = couponEntity.CouponID
                    });
                    var resultCouponVipID = vcmBll.Query(wheresOrderNo.ToArray(), null);

                    var couponTypeInfo = couponTypeBll.GetByID(couponEntity.CouponTypeID);
                    if (couponTypeInfo != null)
                    {
                        if (couponTypeInfo.SuitableForStore == 2)//下面的doorid传的是门店的id,如果等于1所有门店都能用,如果等于3所有分销商都能用
                        {
                            var couponTypeUnitMapping = mappingBll.QueryByEntity(new CouponTypeUnitMappingEntity()
                            {
                                CouponTypeID = new Guid(couponEntity.CouponTypeID.ToString()), ObjectID = reqObj.Parameters.doorID
                            }, null).FirstOrDefault();

                            if (couponTypeUnitMapping == null)
                            {
                                respData.ResultCode = "104";
                                respData.Message    = "请到指定门店/分销商使用";
                                return(respData.ToJSON());
                            }
                        }
                        if (couponTypeInfo.SuitableForStore == 3)//下面的doorid传的是门店的id,如果等于1所有门店都能用,如果等于3所有分销商都能用
                        {
                            //doorid必须是获取,分销商如果没数据,就报错。
                            RetailTraderBLL    _RetailTraderBLL = new RetailTraderBLL(loggingSessionInfo);
                            RetailTraderEntity en = _RetailTraderBLL.GetByID(reqObj.Parameters.doorID);
                            if (en == null)
                            {
                                respData.ResultCode = "104";
                                respData.Message    = "请到指定分销商使用";
                                return(respData.ToJSON());
                            }
                        }
                        if (couponTypeInfo.SuitableForStore == 1)//下面的doorid传的是门店的id,如果等于1所有门店都能用,如果等于3所有分销商都能用
                        {
                            //doorid必须是获取,门店如果没有数据,就报错。
                            TUnitBLL    _TUnitBLL = new TUnitBLL(loggingSessionInfo);
                            TUnitEntity en        = _TUnitBLL.GetByID(reqObj.Parameters.doorID);
                            if (en == null)
                            {
                                respData.ResultCode = "104";
                                respData.Message    = "请到指定门店使用";
                                return(respData.ToJSON());
                            }
                        }

                        int res = bll.BestowCoupon(couponEntity.CouponID, reqObj.Parameters.doorID);
                        if (res > 0) //如果没有影响一行,所以Coupon表里这条记录的status=1了,不能被使用了。
                        {
                            InoutService server = new InoutService(loggingSessionInfo);
                            var          tran   = server.GetTran();
                            using (tran.Connection)//事务
                            {
                                #region 优惠券使用记录
                                var couponUseEntity = new CouponUseEntity()
                                {
                                    CouponID = couponEntity.CouponID,
                                    VipID    = resultCouponVipID.Length == 0 ? "" : resultCouponVipID[0].VIPID,
                                    UnitID   = reqObj.Parameters.doorID,
                                    //OrderID = orderEntity.OrderID.ToString(),
                                    //CreateBy = reqObj.userId,
                                    Comment    = "核销电子券",
                                    CustomerID = reqObj.customerId
                                };
                                couponUseBll.Create(couponUseEntity);//生成优惠券使用记录
                                #endregion

                                //#region 修改优惠券数量   2016-06-03 使用了redis不用在这里更新数量
                                //couponTypeInfo.IsVoucher = couponTypeInfo.IsVoucher == null ? 1 : couponTypeInfo.IsVoucher + 1;
                                //couponTypeBll.Update(couponTypeInfo, tran);
                                //#endregion

                                respData.ResultCode = "200";
                                respData.Message    = "优惠劵使用成功";

                                tran.Commit();
                            }
                        }
                        else
                        {
                            respData.ResultCode = "103";
                            respData.Message    = "优惠劵已使用";
                        }
                    }
                }
                else
                {
                    respData.ResultCode = "104";
                    respData.Message    = "没有找到对应券。";
                    return(respData.ToJSON());
                }
            }
            catch (Exception)
            {
                respData.ResultCode = "103";
                respData.Message    = "数据库操作失败";
            }
            return(respData.ToJSON());
        }
Ejemplo n.º 23
0
        /// <summary>
        /// 获取经销商统计、等级列表
        /// </summary>
        /// <param name="pRequest"></param>
        /// <returns></returns>
        public string GetMultiLevelSalerQuery(string pRequest)
        {
            var RD  = new MultiLevelSalerQueryRD();
            var rsp = new SuccessResponse <IAPIResponseData>(RD);
            var rp  = pRequest.DeserializeJSONTo <APIRequest <MultiLevelSalerQueryRP> >();
            var loggingSessionInfo = Default.GetBSLoggingSession(rp.CustomerID, rp.UserID);
            var RetailTraderBLL    = new RetailTraderBLL(loggingSessionInfo);

            DataSet ds = RetailTraderBLL.GetMultiLevelSalerQuery(rp.UserID);

            if (ds != null)
            {
                if (ds.Tables[0].Rows.Count > 0)
                {
                    RD.RetailerList = new List <Retailer>();

                    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                    {
                        #region 请求参数赋值
                        var Data = new Retailer();
                        if (ds.Tables[0].Rows[i]["RetailTraderID"] != DBNull.Value)
                        {
                            Data.RetailTraderID = ds.Tables[0].Rows[i]["RetailTraderID"].ToString();
                        }
                        if (ds.Tables[0].Rows[i]["HigheRetailTraderID"] != DBNull.Value)
                        {
                            Data.HigheRetailTraderID = ds.Tables[0].Rows[i]["HigheRetailTraderID"].ToString();
                        }
                        if (ds.Tables[0].Rows[i]["RetailTraderName"] != DBNull.Value)
                        {
                            Data.RetailTraderName = ds.Tables[0].Rows[i]["RetailTraderName"].ToString();
                        }
                        if (ds.Tables[0].Rows[i]["Parentname"] != DBNull.Value)
                        {
                            Data.Parentname = ds.Tables[0].Rows[i]["Parentname"].ToString();
                        }
                        if (ds.Tables[0].Rows[i]["Hierarchy"] != DBNull.Value)
                        {
                            Data.Hierarchy = ds.Tables[0].Rows[i]["Hierarchy"].ToString();
                        }
                        if (ds.Tables[0].Rows[i]["CreateTime"] != DBNull.Value)
                        {
                            Data.CreateTime = ds.Tables[0].Rows[i]["CreateTime"].ToString();
                        }
                        if (ds.Tables[0].Rows[i]["Idx"] != DBNull.Value)
                        {
                            Data.Idx = Convert.ToInt32(ds.Tables[0].Rows[i]["Idx"]);
                        }
                        if (ds.Tables[0].Rows[i]["LV"] != DBNull.Value)
                        {
                            Data.LV = Convert.ToInt32(ds.Tables[0].Rows[i]["LV"]);
                        }
                        if (ds.Tables[0].Rows[i]["Tree"] != DBNull.Value)
                        {
                            Data.Tree = Convert.ToInt32(ds.Tables[0].Rows[i]["Tree"]);
                        }
                        if (ds.Tables[0].Rows[i]["processed"] != DBNull.Value)
                        {
                            Data.processed = Convert.ToInt32(ds.Tables[0].Rows[i]["processed"]);
                        }

                        Data.HeadImage = RetailTraderBLL.GetRetailHeadImage(Data.RetailTraderID);

                        RD.RetailerList.Add(Data);
                        #endregion
                    }
                }
                if (ds.Tables[1].Rows.Count > 0)
                {
                    #region 请求参数赋值
                    RD.RetailerCount = new RetailerCountInfo();
                    if (ds.Tables[1].Rows[0]["ToadyAddRetailNum"] != DBNull.Value)
                    {
                        RD.RetailerCount.ToadyAddRetailNum = Convert.ToInt32(ds.Tables[1].Rows[0]["ToadyAddRetailNum"]);
                    }
                    else
                    {
                        RD.RetailerCount.ToadyAddRetailNum = 0;
                    }

                    if (ds.Tables[1].Rows[0]["MonthAddRetailNum"] != DBNull.Value)
                    {
                        RD.RetailerCount.MonthAddRetailNum = Convert.ToInt32(ds.Tables[1].Rows[0]["MonthAddRetailNum"]);
                    }
                    else
                    {
                        RD.RetailerCount.MonthAddRetailNum = 0;
                    }

                    if (ds.Tables[1].Rows[0]["RetailNum"] != DBNull.Value)
                    {
                        RD.RetailerCount.RetailNum = Convert.ToInt32(ds.Tables[1].Rows[0]["RetailNum"]);
                    }
                    else
                    {
                        RD.RetailerCount.RetailNum = 0;
                    }
                    #endregion
                }
            }

            return(rsp.ToJSON());
        }
        public string SaveRetailRewardRule(string pRequest)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <SaveRetailRewardRuleRP> >();

            var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo;
            var bll = new SysRetailRewardRuleBLL(loggingSessionInfo);
            var rd  = new SaveRetailRewardRuleRD();
            var rsp = new SuccessResponse <IAPIResponseData>(rd);

            if (rp.Parameters.IsTemplate == null)
            {
                throw new APIException("缺少参数【IsTemplate】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }
            //if (string.IsNullOrEmpty(rp.Parameters.CooperateType))
            //{
            //    throw new APIException("缺少参数【CooperateType】或参数值为空") { ErrorCode = 135 };
            //}
            if (rp.Parameters.IsTemplate == 0 && string.IsNullOrEmpty(rp.Parameters.RetailTraderID))
            {
                throw new APIException("缺少参数【RetailTraderID】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }
            if (rp.Parameters.SysRetailRewardRuleList == null)
            {
                throw new APIException("缺少参数【SysRetailRewardRuleList】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }

            //如果是分销商,需要改变分销商的相关数据
            RetailTraderBLL _RetailTraderBLL = new RetailTraderBLL(loggingSessionInfo);

            //先要删除相关的数据
            //如果是模板的就设置该合作方式下的分销商的上次使用的相关数据为已经被删除isdelete=0
            //如果是分销商,就删除该分销商下上次使用的相关数据。
            //bll.UpdateSysRetailRewardRule(rp.Parameters.IsTemplate, rp.Parameters.CooperateType, rp.Parameters.RetailTraderID, loggingSessionInfo.ClientID);
            if (rp.Parameters.IsTemplate == 0)//非模板时
            {
                bll.UpdateSysRetailRewardRule(rp.Parameters.IsTemplate, "", "", rp.Parameters.RetailTraderID, loggingSessionInfo.ClientID);

                RetailTraderEntity enRT = new RetailTraderEntity();
                enRT.RetailTraderID = rp.Parameters.RetailTraderID;
                enRT.CooperateType  = "";                   //修改合作方式
                enRT.SalesType      = "";                   //修改销售方式
                _RetailTraderBLL.Update(enRT, null, false); //不更新空的
            }
            else
            {
                bll.UpdateSysRetailRewardRule(rp.Parameters.IsTemplate, "", "", rp.Parameters.RetailTraderID, loggingSessionInfo.ClientID);
            }



            //获取分销商的信息,loggingSessionInfo.ClientID
            foreach (var item in rp.Parameters.SysRetailRewardRuleList)
            {
                if (rp.Parameters.IsTemplate == 0 && !string.IsNullOrEmpty(rp.Parameters.RetailTraderID))//
                {
                    if (item.CooperateType != "Sales")
                    {
                        RetailTraderEntity enRT = new RetailTraderEntity();
                        enRT.RetailTraderID = rp.Parameters.RetailTraderID;
                        enRT.CooperateType  = item.CooperateType;   //修改合作方式
                        _RetailTraderBLL.Update(enRT, null, false); //不更新空的
                    }
                    else
                    {
                        RetailTraderEntity enRT = new RetailTraderEntity();
                        enRT.RetailTraderID = rp.Parameters.RetailTraderID;
                        enRT.SalesType      = item.CooperateType;   //修改销售方式
                        _RetailTraderBLL.Update(enRT, null, false); //不更新空的
                    }
                }

                SysRetailRewardRuleEntity en = new SysRetailRewardRuleEntity();
                en.RetailRewardRuleID = Guid.NewGuid().ToString(); //每次都创建新的
                en.CooperateType      = item.CooperateType;        //合作方式

                en.RewardTypeName     = item.RewardTypeName;
                en.RewardTypeCode     = item.RewardTypeCode;
                en.IsTemplate         = rp.Parameters.IsTemplate;//是否模板
                en.SellUserReward     = item.SellUserReward;
                en.RetailTraderReward = item.RetailTraderReward;
                en.ItemSalesPriceRate = (item.ItemSalesPriceRate == null ? 0 : item.ItemSalesPriceRate);//销售设置
                en.AmountOrPercent    = item.AmountOrPercent;

                en.CreateTime     = DateTime.Now;
                en.CreateBy       = loggingSessionInfo.UserID;
                en.LastUpdateTime = DateTime.Now;
                en.LastUpdateBy   = loggingSessionInfo.UserID;
                if (item.CooperateType == "Sales" && item.ItemSalesPriceRate == 0)
                {
                    en.Status = "0";
                }
                else
                {
                    en.Status = "1";
                }
                en.IsDelete   = 0;
                en.CustomerId = loggingSessionInfo.ClientID;

                en.BeginTime = DateTime.Now;//开始时间
                en.EndTime   = null;

                en.RetailTraderID = rp.Parameters.RetailTraderID; //如果是模板的就不要加
                bll.Create(en);                                   //保存奖励规则
            }



            return(rsp.ToJSON());
        }