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()); }
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()); }
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()); }