protected override GetSetOffActionRD ProcessRequest(DTO.Base.APIRequest <GetSetOffActionRP> pRequest) { var rd = new GetSetOffActionRD(); var para = pRequest.Parameters; var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo; var SetoffEventBll = new SetoffEventBLL(loggingSessionInfo); var SetoffToolsBll = new SetoffToolsBLL(loggingSessionInfo); var SetoffPosterBll = new SetoffPosterBLL(loggingSessionInfo); var IincentiveRuleBll = new IincentiveRuleBLL(loggingSessionInfo); //集客行动主数据 var SetoffEventResult = SetoffEventBll.QueryByEntity(new SetoffEventEntity() { Status = "10", CustomerId = loggingSessionInfo.ClientID }, null).ToList(); // rd.GetSetOffActionInfoList = new List <GetSetOffActionInfo>(); foreach (var item in SetoffEventResult) { //规则 var RuleData = IincentiveRuleBll.QueryByEntity(new IincentiveRuleEntity() { SetoffEventID = item.SetoffEventID, CustomerId = loggingSessionInfo.ClientID }, null).FirstOrDefault(); var DataInfo = new GetSetOffActionInfo(); DataInfo.SetoffEventID = item.SetoffEventID.ToString(); DataInfo.SetoffType = Convert.ToInt32(item.SetoffType); if (RuleData != null) { DataInfo.SetoffRegAwardType = RuleData.SetoffRegAwardType.Value; DataInfo.SetoffRegPrize = RuleData.SetoffRegPrize ?? 0; DataInfo.SetoffOrderPer = RuleData.SetoffOrderPer ?? 0; DataInfo.SetoffOrderTimers = RuleData.SetoffOrderTimers ?? 0; DataInfo.IincentiveRuleStatus = Convert.ToInt32(RuleData.Status); } //集客工具关系 var ToolsData = SetoffToolsBll.QueryByEntity(new SetoffToolsEntity() { SetoffEventID = item.SetoffEventID, Status = "10", CustomerId = loggingSessionInfo.ClientID }, null).ToList(); if (ToolsData != null) { var ds = SetoffToolsBll.GetToolsDetails(item.SetoffEventID.ToString()); if (ds != null && ds.Tables[0].Rows.Count > 0) { DataInfo.GetSetoffToolsInfoList = new List <GetSetoffToolsInfo>(); var dt = ds.Tables[0]; foreach (DataRow dr in dt.Rows) { #region 过滤 if (dr["ToolType"].ToString().Equals("Coupon")) { if (string.IsNullOrWhiteSpace(dr["Name"].ToString())) { continue; } if (dr["BeginData"] == DBNull.Value && dr["EndData"] == DBNull.Value) { if (dr["ServiceLife"] != DBNull.Value) { if (Convert.ToInt32(dr["ServiceLife"]) <= 0) { continue; } } } //if (dr["SurplusCount"] != DBNull.Value) //{ // if (Convert.ToInt32(dr["SurplusCount"]) <= 0) // continue; //} } #endregion var Data = new GetSetoffToolsInfo(); Data.SetoffToolID = dr["SetoffToolID"].ToString(); Data.ToolType = dr["ToolType"].ToString(); Data.Name = dr["Name"].ToString(); Data.SurplusCount = Convert.ToInt32(dr["SurplusCount"]); if (dr["ServiceLife"] != DBNull.Value) { Data.ServiceLife = Convert.ToInt32(dr["ServiceLife"]); } if (dr["BeginData"] != DBNull.Value) { Data.BeginData = Convert.ToDateTime(dr["BeginData"]).ToString("yyyy年MM月dd日"); } if (dr["EndData"] != DBNull.Value) { Data.EndData = Convert.ToDateTime(dr["EndData"]).ToString("yyyy年MM月dd日"); } if (dr["SetoffPosterUrl"] != DBNull.Value) { Data.SetoffPosterUrl = dr["SetoffPosterUrl"].ToString(); } if (dr["ObjectId"] != DBNull.Value) { Data.ObjectId = dr["ObjectId"].ToString(); } DataInfo.GetSetoffToolsInfoList.Add(Data);// } } } // rd.GetSetOffActionInfoList.Add(DataInfo); } return(rd); }
protected override EmptyResponseData ProcessRequest(DTO.Base.APIRequest <SetOffActionRP> pRequest) { var rd = new EmptyResponseData(); var para = pRequest.Parameters; var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo; var SetoffEventBll = new SetoffEventBLL(loggingSessionInfo); var IincentiveRuleBll = new IincentiveRuleBLL(loggingSessionInfo); var ObjectImagesBll = new ObjectImagesBLL(loggingSessionInfo); var SetoffToolsBll = new SetoffToolsBLL(loggingSessionInfo); var SetoffPosterBll = new SetoffPosterBLL(loggingSessionInfo); var CustomerBasicSettingBll = new CustomerBasicSettingBLL(loggingSessionInfo); // var pTran = SetoffEventBll.GetTran(); string _CustomerId = loggingSessionInfo.ClientID; if (para.SetOffActionList.Count > 0) { //using (pTran.Connection) //{ try { foreach (var item in para.SetOffActionList) { List <CustomerBasicSettingEntity> settingList = new List <CustomerBasicSettingEntity>(); //基础配置数据 //获取已发布的集客行动 var SetoffEvenResult = SetoffEventBll.QueryByEntity(new SetoffEventEntity() { SetoffType = item.SetoffType, Status = "10", CustomerId = loggingSessionInfo.ClientID }, null).ToList(); if (SetoffEvenResult.Count > 1) { throw new APIException("数据异常,只能有一种集客行动!") { ErrorCode = ERROR_CODES.INVALID_BUSINESS } } ; if (SetoffEvenResult.Count > 0) { var Result = SetoffEvenResult.First(); //集客行动 var RuleData = IincentiveRuleBll.QueryByEntity(new IincentiveRuleEntity() { SetoffEventID = Result.SetoffEventID, CustomerId = loggingSessionInfo.ClientID }, null).FirstOrDefault(); if (RuleData == null) { throw new APIException("数据异常,找不到奖励规则!") { ErrorCode = ERROR_CODES.INVALID_BUSINESS } } ; //判断奖励是否变动 if (item.SetoffRegAwardType != RuleData.SetoffRegAwardType || item.SetoffRegPrize != RuleData.SetoffRegPrize || item.SetoffOrderPer != RuleData.SetoffOrderPer || item.SetoffOrderTimers != RuleData.SetoffOrderTimers || item.IsEnabled != Convert.ToInt32(RuleData.Status)) { //原集客行动状态设置为失效 SetoffEventBll.SetFailStatus(item.SetoffType, loggingSessionInfo.ClientID); #region 规则变动,重新新建集客行动 //集客行动 //集客行动 var SetoffEvenData = new SetoffEventEntity(); //集客行动 SetoffEvenData.SetoffEventID = System.Guid.NewGuid(); SetoffEvenData.SetoffType = item.SetoffType; SetoffEvenData.Status = "10"; SetoffEvenData.CustomerId = _CustomerId; SetoffEventBll.Create(SetoffEvenData); // var IincentiveRuleData = new IincentiveRuleEntity(); //奖励规则 IincentiveRuleData.IincentiveRuleID = System.Guid.NewGuid(); IincentiveRuleData.SetoffEventID = SetoffEvenData.SetoffEventID; IincentiveRuleData.SetoffType = item.SetoffType; IincentiveRuleData.ApplyUnit = 0; IincentiveRuleData.SetoffRegAwardType = item.SetoffRegAwardType; IincentiveRuleData.SetoffRegPrize = item.SetoffRegPrize; IincentiveRuleData.SetoffOrderPer = item.SetoffOrderPer; IincentiveRuleData.SetoffOrderTimers = item.SetoffOrderTimers; IincentiveRuleData.Status = item.IsEnabled.ToString(); IincentiveRuleData.CustomerId = _CustomerId; IincentiveRuleBll.Create(IincentiveRuleData); // #region 新增集客海报、海报集客工具关系 foreach (var PosterItem in item.SetoffPosterList) { //图片表 var ObjectImageData = new ObjectImagesEntity(); ObjectImageData.ImageId = System.Guid.NewGuid().ToString("N"); ObjectImageData.ImageURL = PosterItem.ImageUrl; ObjectImageData.Description = "集客海报"; ObjectImageData.CustomerId = _CustomerId; ObjectImagesBll.Create(ObjectImageData); // //集客海报 var SetoffPosterData = new SetoffPosterEntity(); SetoffPosterData.SetoffPosterID = System.Guid.NewGuid(); SetoffPosterData.Name = PosterItem.Name; SetoffPosterData.Desc = "集客海报"; SetoffPosterData.ImageId = ObjectImageData.ImageId; SetoffPosterData.Status = "10"; SetoffPosterData.CustomerId = _CustomerId; SetoffPosterBll.Create(SetoffPosterData); //海报工具关系 var SetoffToolsData = new SetoffToolsEntity(); SetoffToolsData.SetoffToolID = System.Guid.NewGuid(); SetoffToolsData.SetoffEventID = SetoffEvenData.SetoffEventID; SetoffToolsData.ToolType = "SetoffPoster"; SetoffToolsData.ObjectId = SetoffPosterData.SetoffPosterID.ToString(); SetoffToolsData.Status = "10"; SetoffToolsData.CustomerId = _CustomerId; SetoffToolsBll.Create(SetoffToolsData); // } #endregion #region 新增集客工具关系 foreach (var ToolsItem in item.SetoffTools) { //判断是否添加重复集客工具 bool Flag = SetoffEventBll.IsToolsRepeat(SetoffEvenData.SetoffEventID.ToString(), ToolsItem.ObjectId); if (Flag) { throw new APIException("集客行动不能添加相同的集客工具!") { ErrorCode = ERROR_CODES.INVALID_BUSINESS } } ; var SetoffToolsData = new SetoffToolsEntity(); SetoffToolsData.SetoffToolID = System.Guid.NewGuid(); SetoffToolsData.SetoffEventID = SetoffEvenData.SetoffEventID; SetoffToolsData.ToolType = ToolsItem.ToolType; SetoffToolsData.ObjectId = ToolsItem.ObjectId; SetoffToolsData.Status = "10"; SetoffToolsData.CustomerId = _CustomerId; SetoffToolsBll.Create(SetoffToolsData); // } #endregion #endregion #region 更新配置奖励系数 //集客销售订单分润配置 //var SettingData = CustomerBasicSettingBll.QueryByEntity(new CustomerBasicSettingEntity() { SettingCode = "GetVipUserOrderPer", CustomerID = CurrentUserInfo.ClientID, IsDelete = 0 }, null).FirstOrDefault(); //if (SettingData != null) //{ // SettingData.SettingValue = IincentiveRuleData.SetoffOrderPer.ToString(); // CustomerBasicSettingBll.Update(SettingData); //} if (IincentiveRuleData.SetoffType == 2) { settingList.Add(new CustomerBasicSettingEntity() { SettingCode = "GetVipUserOrderPer", SettingValue = (IincentiveRuleData.SetoffOrderPer ?? 0).ToString() }); } if (IincentiveRuleData.SetoffRegAwardType == 2) { settingList.Add(new CustomerBasicSettingEntity() { SettingCode = "InvitePartnersPoints", SettingValue = (IincentiveRuleData.SetoffRegPrize ?? 0).ToString() }); } CustomerBasicSettingBll.SaveCustomerBasicInfo(loggingSessionInfo.ClientID, settingList); //集客注册奖励配置 #endregion } else { #region 新增集客海报、海报集客工具关系 foreach (var PosterItem in item.SetoffPosterList) { //图片表 var ObjectImageData = new ObjectImagesEntity(); ObjectImageData.ImageId = System.Guid.NewGuid().ToString("N"); ObjectImageData.ImageURL = PosterItem.ImageUrl; ObjectImageData.Description = "集客海报"; ObjectImageData.CustomerId = _CustomerId; ObjectImagesBll.Create(ObjectImageData); // //集客海报 var SetoffPosterData = new SetoffPosterEntity(); SetoffPosterData.SetoffPosterID = System.Guid.NewGuid(); SetoffPosterData.Name = PosterItem.Name; SetoffPosterData.Desc = "集客海报"; SetoffPosterData.ImageId = ObjectImageData.ImageId; SetoffPosterData.Status = "10"; SetoffPosterData.CustomerId = _CustomerId; SetoffPosterBll.Create(SetoffPosterData); //海报工具关系 var SetoffToolsData = new SetoffToolsEntity(); SetoffToolsData.SetoffToolID = System.Guid.NewGuid(); SetoffToolsData.SetoffEventID = Result.SetoffEventID; SetoffToolsData.ToolType = "SetoffPoster"; SetoffToolsData.ObjectId = SetoffPosterData.SetoffPosterID.ToString(); SetoffToolsData.Status = "10"; SetoffToolsData.CustomerId = _CustomerId; SetoffToolsBll.Create(SetoffToolsData); // } #endregion #region 新增集客工具关系 foreach (var ToolsItem in item.SetoffTools) { // if (Result == null) { throw new APIException("数据异常,未找到集客行动!") { ErrorCode = ERROR_CODES.INVALID_BUSINESS } } ; //判断是否添加重复集客工具 bool Flag = SetoffEventBll.IsToolsRepeat(Result.SetoffEventID.ToString(), ToolsItem.ObjectId); if (Flag) { throw new APIException("集客行动不能添加相同的集客工具!") { ErrorCode = ERROR_CODES.INVALID_BUSINESS } } ; var SetoffToolsData = new SetoffToolsEntity(); SetoffToolsData.SetoffToolID = System.Guid.NewGuid(); SetoffToolsData.SetoffEventID = Result.SetoffEventID; SetoffToolsData.ToolType = ToolsItem.ToolType; SetoffToolsData.ObjectId = ToolsItem.ObjectId; SetoffToolsData.Status = "10"; SetoffToolsData.CustomerId = _CustomerId; SetoffToolsBll.Create(SetoffToolsData); // } #endregion } } else { //原集客行动状态设置为失效 SetoffEventBll.SetFailStatus(item.SetoffType, loggingSessionInfo.ClientID); #region 新建集客行动 //集客行动 var SetoffEvenData = new SetoffEventEntity(); //集客行动 SetoffEvenData.SetoffEventID = System.Guid.NewGuid(); SetoffEvenData.SetoffType = item.SetoffType; SetoffEvenData.Status = "10"; SetoffEvenData.CustomerId = _CustomerId; SetoffEventBll.Create(SetoffEvenData); // var IincentiveRuleData = new IincentiveRuleEntity(); //奖励规则 IincentiveRuleData.IincentiveRuleID = System.Guid.NewGuid(); IincentiveRuleData.SetoffEventID = SetoffEvenData.SetoffEventID; IincentiveRuleData.SetoffType = item.SetoffType; IincentiveRuleData.ApplyUnit = 0; IincentiveRuleData.SetoffRegAwardType = item.SetoffRegAwardType; IincentiveRuleData.SetoffRegPrize = item.SetoffRegPrize; IincentiveRuleData.SetoffOrderPer = item.SetoffOrderPer; IincentiveRuleData.SetoffOrderTimers = item.SetoffOrderTimers; IincentiveRuleData.Status = item.IsEnabled.ToString(); IincentiveRuleData.CustomerId = _CustomerId; IincentiveRuleBll.Create(IincentiveRuleData); // #region 新增集客海报、海报集客工具关系 foreach (var PosterItem in item.SetoffPosterList) { //图片表 var ObjectImageData = new ObjectImagesEntity(); ObjectImageData.ImageId = System.Guid.NewGuid().ToString("N"); ObjectImageData.ImageURL = PosterItem.ImageUrl; ObjectImageData.Description = "集客海报"; ObjectImageData.CustomerId = _CustomerId; ObjectImagesBll.Create(ObjectImageData); // //集客海报 var SetoffPosterData = new SetoffPosterEntity(); SetoffPosterData.SetoffPosterID = System.Guid.NewGuid(); SetoffPosterData.Name = PosterItem.Name; SetoffPosterData.Desc = "集客海报"; SetoffPosterData.ImageId = ObjectImageData.ImageId; SetoffPosterData.Status = "10"; SetoffPosterData.CustomerId = _CustomerId; SetoffPosterBll.Create(SetoffPosterData); //海报工具关系 var SetoffToolsData = new SetoffToolsEntity(); SetoffToolsData.SetoffToolID = System.Guid.NewGuid(); SetoffToolsData.SetoffEventID = SetoffEvenData.SetoffEventID; SetoffToolsData.ToolType = "SetoffPoster"; SetoffToolsData.ObjectId = SetoffPosterData.SetoffPosterID.ToString(); SetoffToolsData.Status = "10"; SetoffToolsData.CustomerId = _CustomerId; SetoffToolsBll.Create(SetoffToolsData); // } #endregion #region 新增集客工具关系 foreach (var ToolsItem in item.SetoffTools) { //判断是否添加重复集客工具 bool Flag = SetoffEventBll.IsToolsRepeat(SetoffEvenData.SetoffEventID.ToString(), ToolsItem.ObjectId); if (Flag) { throw new APIException("集客行动不能添加相同的集客工具!") { ErrorCode = ERROR_CODES.INVALID_BUSINESS } } ; var SetoffToolsData = new SetoffToolsEntity(); SetoffToolsData.SetoffToolID = System.Guid.NewGuid(); SetoffToolsData.SetoffEventID = SetoffEvenData.SetoffEventID; SetoffToolsData.ToolType = ToolsItem.ToolType; SetoffToolsData.ObjectId = ToolsItem.ObjectId; SetoffToolsData.Status = "10"; SetoffToolsData.CustomerId = _CustomerId; SetoffToolsBll.Create(SetoffToolsData); // } #endregion #endregion #region 更新配置奖励系数 if (IincentiveRuleData.SetoffType == 2) { //同步到原CustomerBasicSetting集客销售订单分润配置 //var SettingData = CustomerBasicSettingBll.QueryByEntity(new CustomerBasicSettingEntity() { SettingCode = "GetVipUserOrderPer", CustomerID = CurrentUserInfo.ClientID, IsDelete = 0 }, null).FirstOrDefault(); //if (SettingData != null) //{ // SettingData.SettingValue = (IincentiveRuleData.SetoffOrderPer ?? 0).ToString(); // CustomerBasicSettingBll.Update(SettingData); //} settingList.Add(new CustomerBasicSettingEntity() { SettingCode = "GetVipUserOrderPer", SettingValue = (IincentiveRuleData.SetoffOrderPer ?? 0).ToString() }); } if (IincentiveRuleData.SetoffRegAwardType == 2) { //同步到原CustomerBasicSetting集客销售订单分润配置 //var SettingData = CustomerBasicSettingBll.QueryByEntity(new CustomerBasicSettingEntity() { SettingCode = "InvitePartnersPoints", CustomerID = CurrentUserInfo.ClientID, IsDelete = 0 }, null).FirstOrDefault(); //if (SettingData != null) //{ // SettingData.SettingValue = (IincentiveRuleData.SetoffRegPrize ?? 0).ToString(); // CustomerBasicSettingBll.Update(SettingData); //} settingList.Add(new CustomerBasicSettingEntity() { SettingCode = "InvitePartnersPoints", SettingValue = (IincentiveRuleData.SetoffRegPrize ?? 0).ToString() }); } CustomerBasicSettingBll.SaveCustomerBasicInfo(loggingSessionInfo.ClientID, settingList); #endregion } } // //pTran.Commit(); } catch (APIException ex) { //pTran.Rollback(); throw ex; } //} } return(rd); }
protected override EmptyResponseData ProcessRequest(DTO.Base.APIRequest <SetSalesSettingRP> pRequest) { var rd = new EmptyResponseData(); var para = pRequest.Parameters; var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo; var customerBasicSettingBLL = new CustomerBasicSettingBLL(loggingSessionInfo); var setoffEventBLL = new SetoffEventBLL(loggingSessionInfo); //集客行动业务层 var iincentiveRuleBLL = new IincentiveRuleBLL(loggingSessionInfo); //集客奖励业务层 ResponseData res = new ResponseData(); List <CustomerBasicSettingEntity> list = new List <CustomerBasicSettingEntity>(); //获取集客行动信息 var setoffEventList = setoffEventBLL.QueryByEntity(new SetoffEventEntity() { CustomerId = loggingSessionInfo.ClientID, Status = "10" }, null); SetoffEventEntity setoffEventUser = setoffEventList.Where(t => t.SetoffType == 2).FirstOrDefault(); //员工集客活动设置 SetoffEventEntity setoffEventVip = setoffEventList.Where(t => t.SetoffType == 1).FirstOrDefault(); //会员集客活动设置 var iincentiveRuleList = iincentiveRuleBLL.QueryByEntity(new IincentiveRuleEntity() { CustomerId = loggingSessionInfo.ClientID, Status = "10" }, null); IincentiveRuleEntity iincentiveRuleUser = null; //员工奖励 IincentiveRuleEntity iincentiveRuleVip = null; //会员奖励 //获取员工奖励规则 if (setoffEventUser != null) { iincentiveRuleUser = iincentiveRuleList.Where(t => t.SetoffEventID == setoffEventUser.SetoffEventID && t.SetoffType == 2).FirstOrDefault(); } //获取会员奖励规则 if (setoffEventVip != null) { iincentiveRuleVip = iincentiveRuleList.Where(t => t.SetoffEventID == setoffEventVip.SetoffEventID && t.SetoffType == 1).FirstOrDefault(); } if (!string.IsNullOrEmpty(para.SocialSalesType.ToString())) { list.Add(new CustomerBasicSettingEntity() { SettingCode = "SocialSalesType", SettingValue = para.SocialSalesType.ToString() }); } if (!string.IsNullOrEmpty(para.EnableEmployeeSales.ToString())) { list.Add(new CustomerBasicSettingEntity() { SettingCode = "EnableEmployeeSales", SettingValue = para.EnableEmployeeSales.ToString() }); } if (!string.IsNullOrEmpty(para.EDistributionPricePer.ToString())) { list.Add(new CustomerBasicSettingEntity() { SettingCode = "EDistributionPricePer", SettingValue = para.EDistributionPricePer.ToString() }); } if (!string.IsNullOrEmpty(para.EOrderCommissionPer.ToString())) { list.Add(new CustomerBasicSettingEntity() { SettingCode = "EOrderCommissionPer", SettingValue = para.EOrderCommissionPer.ToString() }); } if (!string.IsNullOrEmpty(para.EnableVipSales.ToString())) { list.Add(new CustomerBasicSettingEntity() { SettingCode = "EnableVipSales", SettingValue = para.EnableVipSales.ToString() }); } if (!string.IsNullOrEmpty(para.VDistributionPricePer.ToString())) { list.Add(new CustomerBasicSettingEntity() { SettingCode = "VDistributionPricePer", SettingValue = para.VDistributionPricePer.ToString() }); } if (!string.IsNullOrEmpty(para.VOrderCommissionPer.ToString())) { list.Add(new CustomerBasicSettingEntity() { SettingCode = "VOrderCommissionPer", SettingValue = para.VOrderCommissionPer.ToString() }); } if (!string.IsNullOrEmpty(para.GetVipUserOrderPer.ToString())) { list.Add(new CustomerBasicSettingEntity() { SettingCode = "GetVipUserOrderPer", SettingValue = para.GetVipUserOrderPer.ToString() }); //同步到集客行动奖励设置(集客销售提成) if (iincentiveRuleUser != null) { iincentiveRuleUser.SetoffOrderPer = Convert.ToDecimal(para.GetVipUserOrderPer); iincentiveRuleBLL.Update(iincentiveRuleUser); } } if (!string.IsNullOrEmpty(para.InvitePartnersPoints.ToString())) { list.Add(new CustomerBasicSettingEntity() { SettingCode = "InvitePartnersPoints", SettingValue = para.InvitePartnersPoints.ToString() }); //同步到集客行动奖励设置(分享获得积分) if (iincentiveRuleVip != null) { iincentiveRuleVip.SetoffRegPrize = Convert.ToDecimal(para.InvitePartnersPoints); iincentiveRuleBLL.Update(iincentiveRuleVip); } } int i = customerBasicSettingBLL.SaveCustomerBasicInfo(loggingSessionInfo.ClientID, list); return(rd); }