public void ProcessRequest(HttpContext context) { BLLJIMP.Model.API.User.PayRegisterUser requestUser = bll.ConvertRequestToModel <BLLJIMP.Model.API.User.PayRegisterUser>(new BLLJIMP.Model.API.User.PayRegisterUser()); string websiteOwner = bll.WebsiteOwner; BLLJIMP.Model.Flow flow = bllFlow.GetFlowByKey(requestUser.flow_key, websiteOwner); if (flow == null) { apiResp.code = (int)APIErrCode.IsNotFound; apiResp.msg = "流程未定义"; bllFlow.ContextResponse(context, apiResp); return; } if (flow.IsDelete == 1) { apiResp.code = (int)APIErrCode.IsNotFound; apiResp.msg = flow.FlowName + "已停用"; bllFlow.ContextResponse(context, apiResp); return; } List <BLLJIMP.Model.FlowStep> steps = bllFlow.GetStepList(2, 1, websiteOwner, flow.AutoID); if (steps.Count == 0) { apiResp.code = (int)APIErrCode.IsNotFound; apiResp.msg = flow.FlowName + "环节未设置"; bllFlow.ContextResponse(context, apiResp); return; } if (string.IsNullOrWhiteSpace(requestUser.level.ToString())) { apiResp.code = (int)APIErrCode.PrimaryKeyIncomplete; apiResp.msg = "请选择会员级别"; bll.ContextResponse(context, apiResp); return; } if (string.IsNullOrWhiteSpace(requestUser.phone)) { apiResp.code = (int)APIErrCode.PrimaryKeyIncomplete; apiResp.msg = "请输入手机号码"; bll.ContextResponse(context, apiResp); return; } if (string.IsNullOrWhiteSpace(requestUser.spreadid)) { apiResp.code = (int)APIErrCode.PrimaryKeyIncomplete; apiResp.msg = "请输入推荐人编号"; bll.ContextResponse(context, apiResp); return; } if (!ZentCloud.Common.MyRegex.PhoneNumLogicJudge(requestUser.phone)) { apiResp.code = (int)APIErrCode.OperateFail; apiResp.msg = "手机号码格式不正确"; bll.ContextResponse(context, apiResp); return; } if (!ZentCloud.Common.MyRegex.IsIDCard(requestUser.idcard)) { apiResp.code = (int)APIErrCode.OperateFail; apiResp.msg = "身份证号码必须如实填写"; bll.ContextResponse(context, apiResp); return; } UserLevelConfig levelConfig = bll.QueryUserLevel(websiteOwner, "DistributionOnLine", requestUser.level.ToString()); if (levelConfig == null) { apiResp.code = (int)APIErrCode.IsNotFound; apiResp.msg = "会员级别未找到"; bll.ContextResponse(context, apiResp); return; } if (levelConfig.IsDisable == 1) { apiResp.code = (int)APIErrCode.IsNotFound; apiResp.msg = "会员级别禁止注册"; bll.ContextResponse(context, apiResp); return; } requestUser.levelname = levelConfig.LevelString; UserInfo spreadUser = bllUser.GetSpreadUser(requestUser.spreadid, websiteOwner); if (spreadUser == null) { apiResp.code = (int)APIErrCode.IsNotFound; apiResp.msg = "推荐人未找到"; bll.ContextResponse(context, apiResp); return; } requestUser.spreadid = spreadUser.UserID; //推荐人 if (bllFlow.ExistsMemberPhoneAction(websiteOwner, flow.FlowKey, "0", requestUser.phone)) { apiResp.code = (int)APIErrCode.OperateFail; apiResp.msg = "该手机用户正在申请会员"; bll.ContextResponse(context, apiResp); return; } UserInfo oldUserInfo = bllUser.GetUserInfoByPhone(requestUser.phone, websiteOwner); if (oldUserInfo != null && oldUserInfo.MemberLevel >= 10) { apiResp.code = (int)APIErrCode.OperateFail; apiResp.msg = "该手机已注册会员"; bll.ContextResponse(context, apiResp); return; } if (oldUserInfo != null && oldUserInfo.MemberLevel > requestUser.level) { apiResp.code = (int)APIErrCode.OperateFail; apiResp.msg = "该会员有更高级别"; bll.ContextResponse(context, apiResp); return; } if (oldUserInfo == null) { oldUserInfo = new UserInfo(); oldUserInfo.UserID = string.Format("ZYUser{0}{1}", DateTime.Now.ToString("yyyyMMdd"), Guid.NewGuid().ToString("N").ToUpper()); oldUserInfo.Regtime = DateTime.Now; } oldUserInfo.RegIP = context.Request.UserHostAddress;//ip oldUserInfo.Password = ZentCloud.Common.Rand.Number(6); oldUserInfo.UserType = 2; oldUserInfo.TrueName = requestUser.truename; oldUserInfo.WebsiteOwner = websiteOwner; oldUserInfo.DistributionOwner = requestUser.spreadid; oldUserInfo.Phone = requestUser.phone; oldUserInfo.MemberApplyTime = DateTime.Now; oldUserInfo.MemberLevel = levelConfig.LevelNumber; oldUserInfo.LastLoginDate = DateTime.Parse("1970-01-01"); oldUserInfo.IdentityCard = requestUser.idcard; oldUserInfo.Province = requestUser.province; oldUserInfo.City = requestUser.city; oldUserInfo.District = requestUser.district; oldUserInfo.Town = requestUser.town; oldUserInfo.ProvinceCode = requestUser.provinceCode; oldUserInfo.CityCode = requestUser.cityCode; oldUserInfo.DistrictCode = requestUser.districtCode; oldUserInfo.TownCode = requestUser.townCode; oldUserInfo.RegUserID = currentUserInfo.UserID; if (flow.FlowKey == "RegisterEmptyBill") { oldUserInfo.EmptyBill = 1; oldUserInfo.MemberApplyStatus = 0; } else { oldUserInfo.EmptyBill = 0; oldUserInfo.MemberApplyStatus = 1; } oldUserInfo.RegisterWay = "线下"; oldUserInfo.IsDisable = 0; BLLJIMP.Model.FlowStep step1 = steps[0]; BLLJIMP.Model.FlowStep step2 = null; if (steps.Count == 2) { step2 = steps[1]; } BLLJIMP.Model.FlowAction action = new BLLJIMP.Model.FlowAction(); action.CreateDate = DateTime.Now; action.CreateUserID = currentUserInfo.UserID; action.WebsiteOwner = websiteOwner; action.StartStepID = step1.AutoID; action.FlowID = flow.AutoID; action.FlowKey = flow.FlowKey; action.StartEx2 = JsonConvert.SerializeObject(requestUser); if (!string.IsNullOrWhiteSpace(requestUser.content)) { action.StartContent = requestUser.content; } if (!string.IsNullOrWhiteSpace(requestUser.ex1)) { action.StartEx1 = requestUser.ex1; } action.MemberAutoID = 0; action.MemberID = oldUserInfo.UserID; action.MemberName = oldUserInfo.TrueName; action.MemberPhone = oldUserInfo.Phone; action.MemberLevel = levelConfig.LevelNumber; action.MemberLevelName = levelConfig.LevelString; action.FlowName = flow.FlowName; action.Amount = Convert.ToDecimal(levelConfig.FromHistoryScore); if (step2 != null) { action.StepID = step2.AutoID; action.StepName = step2.StepName; } else { action.Status = 9; action.EndDate = DateTime.Now; } BLLJIMP.Model.FlowActionDetail actionDetail1 = new BLLJIMP.Model.FlowActionDetail(); actionDetail1.WebsiteOwner = websiteOwner; actionDetail1.FlowID = flow.AutoID; actionDetail1.StepID = step1.AutoID; actionDetail1.StepName = step1.StepName; actionDetail1.HandleUserID = currentUserInfo.UserID; actionDetail1.HandleDate = DateTime.Now; actionDetail1.Ex2 = action.StartEx2; if (!string.IsNullOrWhiteSpace(action.StartContent)) { actionDetail1.HandleContent = action.StartContent; } if (!string.IsNullOrWhiteSpace(action.StartEx1)) { actionDetail1.Ex1 = action.StartEx1; } List <BLLJIMP.Model.FlowActionFile> files = new List <BLLJIMP.Model.FlowActionFile>(); List <string> fileUrls = requestUser.files.Split(',').Where(p => !string.IsNullOrWhiteSpace(p)).ToList(); if (fileUrls.Count > 0) { foreach (var item in fileUrls) { files.Add(new BLLJIMP.Model.FlowActionFile() { FlowID = flow.AutoID, StepID = step1.AutoID, WebsiteOwner = websiteOwner, FilePath = item }); } if (fileUrls.Count > 0) { oldUserInfo.Ex6 = fileUrls[0]; } if (fileUrls.Count > 1) { oldUserInfo.Ex7 = fileUrls[1]; } if (fileUrls.Count > 2) { oldUserInfo.Ex8 = fileUrls[2]; } if (fileUrls.Count > 3) { oldUserInfo.Ex9 = fileUrls[3]; } if (fileUrls.Count > 4) { oldUserInfo.Ex10 = fileUrls[4]; } } //WebsiteInfo website = bllUser.GetWebsiteInfoModelFromDataBase(websiteOwner); //int disLevel = 1; //if (website.DistributionLimitLevel > 1) disLevel = website.DistributionLimitLevel; //StringBuilder sbSql = new StringBuilder(); //bool hasProjectCommission = false;//分佣是否存在 //UserInfo upUserLevel1 = null;//分销上一级 //UserInfo upUserLevel2 = null;//分销上二级 //UserInfo upUserLevel3 = null;//分销上三级 //UserLevelConfig levelConfig1 = null;//分销上一级规则 //UserLevelConfig levelConfig2 = null;//分销上二级规则 //UserLevelConfig levelConfig3 = null;//分销上三级规则 //ProjectCommission modelLevel1 = new ProjectCommission(); //ScoreLockInfo scoreLockLevel1Info = new ScoreLockInfo(); //ProjectCommission modelLevel1ex1 = new ProjectCommission(); //ScoreLockInfo scoreLockLevel1ex1Info = new ScoreLockInfo(); //ProjectCommission modelLevel2 = new ProjectCommission(); //ScoreLockInfo scoreLockLevel2Info = new ScoreLockInfo(); //ProjectCommission modelLevel3 = new ProjectCommission(); //ScoreLockInfo scoreLockLevel3Info = new ScoreLockInfo(); //string guId = bll.GetGUID(TransacType.OfflineRegister); ////计算分佣 //bll.ComputeTransfers(disLevel, oldUserInfo, guId, action.Amount, websiteOwner, "线下注册", ref sbSql, ref upUserLevel1, // ref upUserLevel2, ref upUserLevel3, ref levelConfig1, ref levelConfig2, ref levelConfig3, ref modelLevel1, ref scoreLockLevel1Info, // ref modelLevel1ex1, ref scoreLockLevel1ex1Info, ref modelLevel2, ref scoreLockLevel2Info, ref modelLevel3, ref scoreLockLevel3Info, // levelConfig.LevelString); BLLTransaction tran = new BLLTransaction(); //线下注册,扣钱,(实单审核后返) oldUserInfo.AccountAmountEstimate -= action.Amount; oldUserInfo.TotalAmount -= action.Amount; if (oldUserInfo.AutoID == 0) { oldUserInfo.AutoID = Convert.ToInt32(bllFlow.AddReturnID(oldUserInfo, tran)); if (oldUserInfo.AutoID <= 0) { tran.Rollback(); apiResp.code = (int)APIErrCode.OperateFail; apiResp.msg = "注册失败"; bllFlow.ContextResponse(context, apiResp); return; } action.MemberAutoID = oldUserInfo.AutoID; } else { if (!bllUser.Update(oldUserInfo, tran)) { tran.Rollback(); apiResp.code = (int)APIErrCode.OperateFail; apiResp.msg = "注册失败"; bllFlow.ContextResponse(context, apiResp); return; } action.MemberAutoID = oldUserInfo.AutoID; } int rId = Convert.ToInt32(bllFlow.AddReturnID(action, tran)); if (rId <= 0) { tran.Rollback(); apiResp.code = (int)APIErrCode.OperateFail; apiResp.msg = flow.FlowName + "失败"; bllFlow.ContextResponse(context, apiResp); return; } #region 记录分佣信息 //if (modelLevel1.Amount > 0) //{ // hasProjectCommission = true; // modelLevel1.ProjectId = rId; // int modelLevel1Id = Convert.ToInt32(bll.AddReturnID(modelLevel1, tran)); // if (modelLevel1Id <= 0) // { // tran.Rollback(); // apiResp.code = (int)APIErrCode.OperateFail; // apiResp.msg = "一级返利失败"; // bllFlow.ContextResponse(context, apiResp); // return; // } // scoreLockLevel1Info.ForeignkeyId2 = modelLevel1Id.ToString(); // scoreLockLevel1Info.AutoId = Convert.ToInt32(bll.AddReturnID(scoreLockLevel1Info, tran)); // if (scoreLockLevel1Info.AutoId<=0) // { // tran.Rollback(); // apiResp.code = (int)APIErrCode.OperateFail; // apiResp.msg = "一级返利冻结失败"; // bllFlow.ContextResponse(context, apiResp); // return; // } // string scoreDetailEvent = modelLevel1.ProjectName.Contains("购房补助") ? "返购房补助" : "返利"; // if (bllUser.AddScoreDetail(scoreLockLevel1Info.UserId, websiteOwner, (double)scoreLockLevel1Info.Score, // scoreLockLevel1Info.Memo, "TotalAmount", (double)(upUserLevel1.TotalAmount + scoreLockLevel1Info.Score), // scoreLockLevel1Info.AutoId.ToString(), scoreDetailEvent, "", rId.ToString(), // (double)modelLevel1.SourceAmount, (double)modelLevel1.DeductAmount, // modelLevel1.CommissionUserId, tran, // ex3: levelConfig.LevelNumber.ToString(), ex4: levelConfig.LevelString, // ex5: modelLevel1.CommissionLevel) <= 0) // { // tran.Rollback(); // apiResp.code = (int)APIErrCode.OperateFail; // apiResp.msg = "一级返利明细记录失败"; // bllFlow.ContextResponse(context, apiResp); // return; // } //} //if (modelLevel1ex1.Amount > 0) //{ // hasProjectCommission = true; // modelLevel1ex1.ProjectId = rId; // int modelLevel1ex1Id = Convert.ToInt32(bll.AddReturnID(modelLevel1ex1, tran)); // if (modelLevel1ex1Id <= 0) // { // tran.Rollback(); // apiResp.code = (int)APIErrCode.OperateFail; // apiResp.msg = "一级返购房补助失败"; // bllFlow.ContextResponse(context, apiResp); // return; // } // scoreLockLevel1ex1Info.ForeignkeyId2 = modelLevel1ex1Id.ToString(); // scoreLockLevel1ex1Info.AutoId = Convert.ToInt32(bll.AddReturnID(scoreLockLevel1ex1Info, tran)); // if (scoreLockLevel1ex1Info.AutoId<=0) // { // tran.Rollback(); // apiResp.code = (int)APIErrCode.OperateFail; // apiResp.msg = "一级返购房补助冻结失败"; // bllFlow.ContextResponse(context, apiResp); // return; // } // string scoreDetailEvent = modelLevel1ex1.ProjectName.Contains("购房补助") ? "返购房补助" : "返利"; // if (bllUser.AddScoreDetail(scoreLockLevel1ex1Info.UserId, websiteOwner, (double)scoreLockLevel1ex1Info.Score, // scoreLockLevel1ex1Info.Memo, "TotalAmount", (double)(upUserLevel1.TotalAmount + scoreLockLevel1ex1Info.Score), // scoreLockLevel1ex1Info.AutoId.ToString(), scoreDetailEvent, "", rId.ToString(), // (double)modelLevel1ex1.SourceAmount, (double)modelLevel1ex1.DeductAmount, // modelLevel1ex1.CommissionUserId, // tran, ex3: levelConfig.LevelNumber.ToString(), ex4: levelConfig.LevelString, // ex5: modelLevel1ex1.CommissionLevel) <= 0) // { // tran.Rollback(); // apiResp.code = (int)APIErrCode.OperateFail; // apiResp.msg = "一级返购房补助明细记录失败"; // bllFlow.ContextResponse(context, apiResp); // return; // } //} //if (modelLevel2.Amount > 0) //{ // hasProjectCommission = true; // modelLevel2.ProjectId = rId; // int modelLevel2Id = Convert.ToInt32(bll.AddReturnID(modelLevel2, tran)); // if (modelLevel2Id <= 0) // { // tran.Rollback(); // apiResp.code = (int)APIErrCode.OperateFail; // apiResp.msg = "二级返利失败"; // bllFlow.ContextResponse(context, apiResp); // return; // } // scoreLockLevel2Info.ForeignkeyId2 = modelLevel2Id.ToString(); // scoreLockLevel2Info.AutoId = Convert.ToInt32(bll.AddReturnID(scoreLockLevel2Info, tran)); // if (scoreLockLevel2Info.AutoId<=0) // { // tran.Rollback(); // apiResp.code = (int)APIErrCode.OperateFail; // apiResp.msg = "二级返利冻结失败"; // bllFlow.ContextResponse(context, apiResp); // return; // } // string scoreDetailEvent = modelLevel2.ProjectName.Contains("购房补助") ? "返购房补助" : "返利"; // if (bllUser.AddScoreDetail(scoreLockLevel2Info.UserId, websiteOwner, (double)scoreLockLevel2Info.Score, // scoreLockLevel2Info.Memo, "TotalAmount", (double)(upUserLevel2.TotalAmount + scoreLockLevel2Info.Score), // scoreLockLevel2Info.AutoId.ToString(), scoreDetailEvent, "", rId.ToString(), (double)modelLevel2.SourceAmount, (double)modelLevel2.DeductAmount, // modelLevel2.CommissionUserId, // tran, ex3: levelConfig.LevelNumber.ToString(), ex4: levelConfig.LevelString, // ex5: modelLevel2.CommissionLevel) <= 0) // { // tran.Rollback(); // apiResp.code = (int)APIErrCode.OperateFail; // apiResp.msg = "二级返利明细记录失败"; // bllFlow.ContextResponse(context, apiResp); // return; // } //} //if (modelLevel3.Amount > 0) //{ // hasProjectCommission = true; // modelLevel3.ProjectId = rId; // int modelLevel3Id = Convert.ToInt32(bll.AddReturnID(modelLevel3, tran)); // if (modelLevel3Id<=0) // { // tran.Rollback(); // apiResp.code = (int)APIErrCode.OperateFail; // apiResp.msg = "三级返利失败"; // bllFlow.ContextResponse(context, apiResp); // return; // } // scoreLockLevel3Info.ForeignkeyId2 = modelLevel3Id.ToString(); // scoreLockLevel3Info.AutoId = Convert.ToInt32(bll.AddReturnID(scoreLockLevel3Info, tran)); // if (scoreLockLevel3Info.AutoId<=0) // { // tran.Rollback(); // apiResp.code = (int)APIErrCode.OperateFail; // apiResp.msg = "三级返利冻结失败"; // bllFlow.ContextResponse(context, apiResp); // return; // } // string scoreDetailEvent = modelLevel3.ProjectName.Contains("购房补助") ? "返购房补助" : "返利"; // if (bllUser.AddScoreDetail(scoreLockLevel3Info.UserId, websiteOwner, (double)scoreLockLevel3Info.Score, // scoreLockLevel3Info.Memo, "TotalAmount", (double)(upUserLevel3.TotalAmount + scoreLockLevel3Info.Score), // scoreLockLevel3Info.AutoId.ToString(), scoreDetailEvent, "" ,rId.ToString(), (double)modelLevel3.SourceAmount, (double)modelLevel3.DeductAmount, // modelLevel3.CommissionUserId, // tran, ex3: levelConfig.LevelNumber.ToString(), ex4: levelConfig.LevelString, // ex5: modelLevel3.CommissionLevel) <= 0) // { // tran.Rollback(); // apiResp.code = (int)APIErrCode.OperateFail; // apiResp.msg = "三级返利明细记录失败"; // bllFlow.ContextResponse(context, apiResp); // return; // } //} //if (hasProjectCommission) //{ // int result = BLLBase.ExecuteSql(sbSql.ToString(), tran); // if (result <= 0) // { // tran.Rollback(); // apiResp.code = (int)APIErrCode.OperateFail; // apiResp.msg = "更新分佣账面金额失败"; // bllFlow.ContextResponse(context, apiResp); // return; // } //} #endregion #region 记录余额明细 //自己的消费记录 string note = flow.FlowKey == "RegisterEmptyBill" ? "线下注册空单" : "线下注册"; int mainDetailId = bllUser.AddScoreDetail(oldUserInfo.UserID, websiteOwner, (double)(0 - action.Amount), string.Format("{1}{0}", levelConfig.LevelString, note), "TotalAmount", (double)oldUserInfo.TotalAmount, "", "注册会员", "", rId.ToString(), (double)action.Amount, 0, "", tran, ex3: levelConfig.LevelNumber.ToString(), ex4: levelConfig.LevelString); if (mainDetailId <= 0) { tran.Rollback(); apiResp.code = (int)APIErrCode.OperateFail; apiResp.msg = "注册明细失败"; bllFlow.ContextResponse(context, apiResp); return; } #endregion actionDetail1.ActionID = rId; if (!bllFlow.Add(actionDetail1, tran)) { tran.Rollback(); apiResp.code = (int)APIErrCode.OperateFail; apiResp.msg = flow.FlowName + ",记录失败"; bllFlow.ContextResponse(context, apiResp); return; } foreach (var item in files) { item.ActionID = rId; if (!bllFlow.Add(item, tran)) { tran.Rollback(); apiResp.code = (int)APIErrCode.OperateFail; apiResp.msg = flow.FlowName + ",保存附件失败"; bllFlow.ContextResponse(context, apiResp); return; } } tran.Commit(); string msg = ""; #region 短信发送密码 BLLSMS bllSms = new BLLSMS(""); bool smsBool = false; WebsiteInfo website = bllUser.GetWebsiteInfoModelFromDataBase(websiteOwner); string smsString = string.Format("恭喜您成功注册为天下华商月供宝:{1},您的初始密码为:{0}。您可关注公众号:songhetz,登录账户修改密码,并设置支付密码。", oldUserInfo.Password, levelConfig.LevelString); bllSms.SendSmsMisson(oldUserInfo.Phone, smsString, "", website.SmsSignature, out smsBool, out msg); #endregion apiResp.msg = "注册成功" + (smsBool ? "" : ",但短信发送失败:" + msg); apiResp.status = true; apiResp.code = (int)APIErrCode.IsSuccess; bllFlow.ContextResponse(context, apiResp); }
public void ProcessRequest(HttpContext context) { if (CurrentUserInfo.IsLock == 1) { apiResp.code = (int)APIErrCode.NoPms; apiResp.msg = "账号已被锁定"; bllUser.ContextResponse(context, apiResp); return; } if (CurrentUserInfo.MemberApplyStatus != 9) { apiResp.code = (int)APIErrCode.NoPms; apiResp.msg = "您的账号正在审核中"; bllUser.ContextResponse(context, apiResp); return; } BLLJIMP.Model.API.User.PayRegisterUser requestUser = bll.ConvertRequestToModel <BLLJIMP.Model.API.User.PayRegisterUser>(new BLLJIMP.Model.API.User.PayRegisterUser()); string websiteOwner = bll.WebsiteOwner; WebsiteInfo website = bllUser.GetWebsiteInfoModelFromDataBase(websiteOwner); if (string.IsNullOrWhiteSpace(requestUser.level.ToString())) { apiResp.code = (int)APIErrCode.PrimaryKeyIncomplete; apiResp.msg = "请选择会员级别"; bll.ContextResponse(context, apiResp); return; } if (string.IsNullOrWhiteSpace(requestUser.phone)) { apiResp.code = (int)APIErrCode.PrimaryKeyIncomplete; apiResp.msg = "请输入手机号码"; bll.ContextResponse(context, apiResp); return; } if (string.IsNullOrWhiteSpace(requestUser.spreadid)) { apiResp.code = (int)APIErrCode.PrimaryKeyIncomplete; apiResp.msg = "请输入推荐人编号"; bll.ContextResponse(context, apiResp); return; } if (!ZentCloud.Common.MyRegex.PhoneNumLogicJudge(requestUser.phone)) { apiResp.code = (int)APIErrCode.OperateFail; apiResp.msg = "手机号码格式不正确"; bll.ContextResponse(context, apiResp); return; } if (!ZentCloud.Common.MyRegex.IsIDCard(requestUser.idcard)) { apiResp.code = (int)APIErrCode.OperateFail; apiResp.msg = "身份证号码必须如实填写"; bll.ContextResponse(context, apiResp); return; } UserLevelConfig levelConfig = bll.QueryUserLevel(websiteOwner, "DistributionOnLine", requestUser.level.ToString()); if (levelConfig == null) { apiResp.code = (int)APIErrCode.IsNotFound; apiResp.msg = "会员级别未找到"; bll.ContextResponse(context, apiResp); return; } if (levelConfig.IsDisable == 1) { apiResp.code = (int)APIErrCode.IsNotFound; apiResp.msg = "会员级别禁止注册"; bll.ContextResponse(context, apiResp); return; } decimal levelAmount = Convert.ToDecimal(levelConfig.FromHistoryScore); if (CurrentUserInfo.TotalAmount < levelAmount) { apiResp.code = (int)APIErrCode.OperateFail; apiResp.msg = string.Format("您的{0}不足", website.TotalAmountShowName); bll.ContextResponse(context, apiResp); return; } UserInfo spreadUser = bllUser.GetSpreadUser(requestUser.spreadid, websiteOwner); if (spreadUser == null) { apiResp.code = (int)APIErrCode.IsNotFound; apiResp.msg = "推荐人未找到"; bll.ContextResponse(context, apiResp); return; } requestUser.spreadid = spreadUser.UserID; //推荐人 UserInfo regUser = bllUser.GetUserInfoByPhone(requestUser.phone, websiteOwner); if (regUser != null && regUser.MemberLevel >= 10) { apiResp.code = (int)APIErrCode.OperateFail; apiResp.msg = "该手机已注册会员"; bll.ContextResponse(context, apiResp); return; } if (regUser != null && regUser.MemberLevel >= requestUser.level) { apiResp.code = (int)APIErrCode.OperateFail; apiResp.msg = "该会员有更高级别"; bll.ContextResponse(context, apiResp); return; } if (regUser == null) { regUser = new UserInfo(); regUser.UserID = string.Format("ZYUser{0}{1}", DateTime.Now.ToString("yyyyMMdd"), Guid.NewGuid().ToString("N").ToUpper()); regUser.UserType = 2; regUser.WebsiteOwner = websiteOwner; regUser.Regtime = DateTime.Now; regUser.LastLoginDate = DateTime.Parse("1970-01-01"); } regUser.TrueName = requestUser.truename; regUser.DistributionOwner = requestUser.spreadid; regUser.Phone = requestUser.phone; regUser.MemberLevel = requestUser.level; regUser.MemberApplyTime = DateTime.Now; regUser.MemberStartTime = DateTime.Now; regUser.MemberApplyStatus = 9; regUser.IdentityCard = requestUser.idcard; regUser.Province = requestUser.province; regUser.City = requestUser.city; regUser.District = requestUser.district; regUser.Town = requestUser.town; regUser.ProvinceCode = requestUser.provinceCode; regUser.CityCode = requestUser.cityCode; regUser.DistrictCode = requestUser.districtCode; regUser.TownCode = requestUser.townCode; regUser.RegIP = context.Request.UserHostAddress;//ip regUser.Password = ZentCloud.Common.Rand.Number(6); regUser.RegUserID = CurrentUserInfo.UserID; regUser.EmptyBill = 0; regUser.RegisterWay = "余额"; regUser.IsDisable = 0; int disLevel = 1; if (website.DistributionLimitLevel > 1) { disLevel = website.DistributionLimitLevel; } StringBuilder sbSql = new StringBuilder(); UserInfo upUserLevel1 = null; //分销上一级 UserInfo upUserLevel2 = null; //分销上二级 UserInfo upUserLevel3 = null; //分销上三级 UserLevelConfig levelConfig1 = null; //分销上一级规则 UserLevelConfig levelConfig2 = null; //分销上二级规则 UserLevelConfig levelConfig3 = null; //分销上三级规则 ProjectCommission modelLevel1 = new ProjectCommission(); ScoreLockInfo scoreLockLevel1Info = new ScoreLockInfo(); ProjectCommission modelLevel1ex1 = new ProjectCommission(); ScoreLockInfo scoreLockLevel1ex1Info = new ScoreLockInfo(); ProjectCommission modelLevel2 = new ProjectCommission(); ScoreLockInfo scoreLockLevel2Info = new ScoreLockInfo(); ProjectCommission modelLevel3 = new ProjectCommission(); ScoreLockInfo scoreLockLevel3Info = new ScoreLockInfo(); string projectId = bll.GetGUID(TransacType.PayRegisterOrder); //计算分佣 bll.ComputeTransfers(disLevel, regUser, projectId, levelAmount, websiteOwner, "他人代替注册", ref sbSql, ref upUserLevel1, ref upUserLevel2, ref upUserLevel3, ref levelConfig1, ref levelConfig2, ref levelConfig3, ref modelLevel1, ref scoreLockLevel1Info, ref modelLevel1ex1, ref scoreLockLevel1ex1Info, ref modelLevel2, ref scoreLockLevel2Info, ref modelLevel3, ref scoreLockLevel3Info, levelConfig.LevelString); BLLTransaction tran = new BLLTransaction(); #region 注册会员 if (regUser.AutoID == 0) { regUser.AutoID = Convert.ToInt32(bllUser.AddReturnID(regUser, tran)); if (regUser.AutoID <= 0) { tran.Rollback(); apiResp.msg = "注册用户出错"; apiResp.code = (int)APIErrCode.OperateFail; bll.ContextResponse(context, apiResp); return; } } else { if (!bllUser.Update(regUser, tran)) { tran.Rollback(); apiResp.msg = "注册用户出错"; apiResp.code = (int)APIErrCode.OperateFail; bll.ContextResponse(context, apiResp); return; } } #endregion #region 消耗报单人金额 if (bllUser.AddScoreDetail(CurrentUserInfo.UserID, websiteOwner, (double)(0 - levelAmount), string.Format("替{0}[{1}]注册{2}", regUser.TrueName, regUser.Phone, levelConfig.LevelString), "TotalAmount", (double)(CurrentUserInfo.TotalAmount - levelAmount), "", "替他人注册", "", "", (double)levelAmount, 0, regUser.UserID, tran, ex3: levelConfig.LevelNumber.ToString(), ex4: levelConfig.LevelString) <= 0) { tran.Rollback(); apiResp.msg = "记录明细出错"; apiResp.code = (int)APIErrCode.OperateFail; bll.ContextResponse(context, apiResp); return; } if (bllUser.Update(CurrentUserInfo, string.Format("TotalAmount=ISNULL(TotalAmount,0)-{0},AccountAmountEstimate=ISNULL(AccountAmountEstimate,0)-{0}", levelAmount), string.Format("UserID='{0}' And WebsiteOwner='{1}' And TotalAmount-{2}>=0 ", CurrentUserInfo.UserID, websiteOwner, levelAmount), tran) <= 0) { tran.Rollback(); apiResp.msg = string.Format("消耗报单人可用{0}出错", website.TotalAmountShowName); apiResp.code = (int)APIErrCode.OperateFail; bll.ContextResponse(context, apiResp); return; } #endregion #region 注册账号余额明细 //自己的消费记录 if (bllUser.AddScoreDetail(regUser.UserID, websiteOwner, (double)(levelAmount), string.Format("{0}[{1}]转入", CurrentUserInfo.TrueName, CurrentUserInfo.Phone, (double)levelAmount), "TotalAmount", (double)(levelAmount), "", "他人注册转入", "", "", (double)levelAmount, 0, CurrentUserInfo.UserID, tran, ex3: levelConfig.LevelNumber.ToString(), ex4: levelConfig.LevelString) <= 0) { tran.Rollback(); apiResp.msg = "他人注册转入记录出错"; apiResp.code = (int)APIErrCode.OperateFail; bll.ContextResponse(context, apiResp); return; } int mainDetailId = bllUser.AddScoreDetail(regUser.UserID, websiteOwner, (double)(0 - levelAmount), string.Format("{0}[{1}]替您注册{2}", CurrentUserInfo.TrueName, CurrentUserInfo.Phone, levelConfig.LevelString), "TotalAmount", 0, "", "他人代替注册", "", "", (double)levelAmount, 0, CurrentUserInfo.UserID, tran, ex3: levelConfig.LevelNumber.ToString(), ex4: levelConfig.LevelString); if (mainDetailId <= 0) { tran.Rollback(); apiResp.msg = "他人注册记录出错"; apiResp.code = (int)APIErrCode.OperateFail; bll.ContextResponse(context, apiResp); return; } #endregion bool hasProjectCommission = false; #region 记录分佣信息 if (modelLevel1.Amount > 0) { hasProjectCommission = true; int modelLevel1Id = Convert.ToInt32(bll.AddReturnID(modelLevel1, tran)); if (modelLevel1Id <= 0) { tran.Rollback(); apiResp.msg = "一级返利失败"; apiResp.code = (int)APIErrCode.OperateFail; bll.ContextResponse(context, apiResp); return; } scoreLockLevel1Info.ForeignkeyId2 = modelLevel1Id.ToString(); scoreLockLevel1Info.AutoId = Convert.ToInt32(bll.AddReturnID(scoreLockLevel1Info, tran)); if (scoreLockLevel1Info.AutoId <= 0) { tran.Rollback(); apiResp.msg = "一级返利冻结失败"; apiResp.code = (int)APIErrCode.OperateFail; bll.ContextResponse(context, apiResp); return; } string scoreDetailEvent = modelLevel1.ProjectName.Contains("购房补助") ? "返购房补助" : "返利"; if (bllUser.AddScoreDetail(scoreLockLevel1Info.UserId, websiteOwner, (double)scoreLockLevel1Info.Score, scoreLockLevel1Info.Memo, "TotalAmount", (double)(upUserLevel1.TotalAmount + scoreLockLevel1Info.Score), scoreLockLevel1Info.AutoId.ToString(), scoreDetailEvent, "", projectId, (double)modelLevel1.SourceAmount, (double)modelLevel1.DeductAmount, modelLevel1.CommissionUserId, tran, ex3: levelConfig.LevelNumber.ToString(), ex4: levelConfig.LevelString, ex5: modelLevel1.CommissionLevel) <= 0) { tran.Rollback(); apiResp.msg = "一级返利明细记录失败"; apiResp.code = (int)APIErrCode.OperateFail; bll.ContextResponse(context, apiResp); return; } } if (modelLevel1ex1.Amount > 0) { hasProjectCommission = true; int modelLevel1ex1Id = Convert.ToInt32(bll.AddReturnID(modelLevel1ex1, tran)); if (modelLevel1ex1Id <= 0) { tran.Rollback(); apiResp.msg = "一级返购房补助失败"; apiResp.code = (int)APIErrCode.OperateFail; bll.ContextResponse(context, apiResp); return; } scoreLockLevel1ex1Info.ForeignkeyId2 = modelLevel1ex1Id.ToString(); scoreLockLevel1ex1Info.AutoId = Convert.ToInt32(bll.AddReturnID(scoreLockLevel1ex1Info, tran)); if (scoreLockLevel1ex1Info.AutoId <= 0) { tran.Rollback(); apiResp.msg = "一级返购房补助冻结失败"; apiResp.code = (int)APIErrCode.OperateFail; bll.ContextResponse(context, apiResp); return; } string scoreDetailEvent = modelLevel1ex1.ProjectName.Contains("购房补助") ? "返购房补助" : "返利"; if (bllUser.AddScoreDetail(scoreLockLevel1ex1Info.UserId, websiteOwner, (double)scoreLockLevel1ex1Info.Score, scoreLockLevel1ex1Info.Memo, "TotalAmount", (double)(upUserLevel1.TotalAmount + scoreLockLevel1ex1Info.Score), scoreLockLevel1ex1Info.AutoId.ToString(), scoreDetailEvent, "", projectId, (double)modelLevel1ex1.SourceAmount, (double)modelLevel1ex1.DeductAmount, modelLevel1ex1.CommissionUserId, tran, ex3: levelConfig.LevelNumber.ToString(), ex4: levelConfig.LevelString, ex5: modelLevel1ex1.CommissionLevel) <= 0) { tran.Rollback(); apiResp.msg = "一级返购房补助明细记录失败"; apiResp.code = (int)APIErrCode.OperateFail; bll.ContextResponse(context, apiResp); return; } } if (modelLevel2.Amount > 0) { hasProjectCommission = true; int modelLevel2Id = Convert.ToInt32(bll.AddReturnID(modelLevel2, tran)); if (modelLevel2Id <= 0) { tran.Rollback(); apiResp.msg = "二级返利失败"; apiResp.code = (int)APIErrCode.OperateFail; bll.ContextResponse(context, apiResp); return; } scoreLockLevel2Info.ForeignkeyId2 = modelLevel2Id.ToString(); scoreLockLevel2Info.AutoId = Convert.ToInt32(bll.AddReturnID(scoreLockLevel2Info, tran)); if (scoreLockLevel2Info.AutoId <= 0) { tran.Rollback(); apiResp.msg = "二级返利冻结失败"; apiResp.code = (int)APIErrCode.OperateFail; bll.ContextResponse(context, apiResp); return; } string scoreDetailEvent = modelLevel2.ProjectName.Contains("购房补助") ? "返购房补助" : "返利"; if (bllUser.AddScoreDetail(scoreLockLevel2Info.UserId, websiteOwner, (double)scoreLockLevel2Info.Score, scoreLockLevel2Info.Memo, "TotalAmount", (double)(upUserLevel2.TotalAmount + scoreLockLevel2Info.Score), scoreLockLevel2Info.AutoId.ToString(), scoreDetailEvent, "", projectId, (double)modelLevel2.SourceAmount, (double)modelLevel2.DeductAmount, modelLevel2.CommissionUserId, tran, ex3: levelConfig.LevelNumber.ToString(), ex4: levelConfig.LevelString, ex5: modelLevel2.CommissionLevel) <= 0) { tran.Rollback(); apiResp.msg = "二级返利明细记录失败"; apiResp.code = (int)APIErrCode.OperateFail; bll.ContextResponse(context, apiResp); return; } } if (modelLevel3.Amount > 0) { hasProjectCommission = true; int modelLevel3Id = Convert.ToInt32(bll.AddReturnID(modelLevel3, tran)); if (!bll.Add(modelLevel3, tran)) { tran.Rollback(); apiResp.msg = "三级返利失败"; apiResp.code = (int)APIErrCode.OperateFail; bll.ContextResponse(context, apiResp); return; } scoreLockLevel3Info.ForeignkeyId2 = modelLevel3Id.ToString(); scoreLockLevel3Info.AutoId = Convert.ToInt32(bll.AddReturnID(scoreLockLevel3Info, tran)); if (scoreLockLevel3Info.AutoId <= 0) { tran.Rollback(); apiResp.msg = "三级返利冻结失败"; apiResp.code = (int)APIErrCode.OperateFail; bll.ContextResponse(context, apiResp); return; } string scoreDetailEvent = modelLevel3.ProjectName.Contains("购房补助") ? "返购房补助" : "返利"; if (bllUser.AddScoreDetail(scoreLockLevel3Info.UserId, websiteOwner, (double)scoreLockLevel3Info.Score, scoreLockLevel3Info.Memo, "TotalAmount", (double)(upUserLevel3.TotalAmount + scoreLockLevel3Info.Score), scoreLockLevel3Info.AutoId.ToString(), scoreDetailEvent, "", projectId, (double)modelLevel3.SourceAmount, (double)modelLevel3.DeductAmount, modelLevel3.CommissionUserId, tran, ex3: levelConfig.LevelNumber.ToString(), ex4: levelConfig.LevelString, ex5: modelLevel3.CommissionLevel) <= 0) { tran.Rollback(); apiResp.msg = "三级返利明细记录失败"; apiResp.code = (int)APIErrCode.OperateFail; bll.ContextResponse(context, apiResp); return; } } if (hasProjectCommission) { if (BLLBase.ExecuteSql(sbSql.ToString(), tran) <= 0) { tran.Rollback(); apiResp.msg = string.Format("更新分佣账面{0}出错", website.TotalAmountShowName); apiResp.code = (int)APIErrCode.OperateFail; bll.ContextResponse(context, apiResp); return; } } #endregion #region 记录业绩明细 TeamPerformanceDetails perDetail = new TeamPerformanceDetails(); perDetail.AddType = "注册"; perDetail.AddNote = "注册" + levelConfig.LevelString; perDetail.AddTime = DateTime.Now; perDetail.DistributionOwner = regUser.DistributionOwner; perDetail.UserId = regUser.UserID; perDetail.UserName = regUser.TrueName; perDetail.UserPhone = regUser.Phone; perDetail.Performance = levelAmount; string yearMonthString = perDetail.AddTime.ToString("yyyyMM"); int yearMonth = Convert.ToInt32(yearMonthString); perDetail.YearMonth = yearMonth; perDetail.WebsiteOwner = websiteOwner; if (!bllUser.Add(perDetail, tran)) { tran.Rollback(); apiResp.msg = "记录业绩明细失败"; apiResp.code = (int)APIErrCode.OperateFail; bll.ContextResponse(context, apiResp); return; } #endregion tran.Commit(); if (hasProjectCommission) { //异步修改积分明细表 Thread th1 = new Thread(delegate() { //计算相关业绩 bll.BuildCurMonthPerformanceByUserID(websiteOwner, regUser.UserID); }); th1.Start(); } string msg = ""; #region 短信发送密码 BLLSMS bllSms = new BLLSMS(""); bool smsBool = false; string smsString = string.Format("恭喜您成功注册为天下华商月供宝:{1},您的初始密码为:{0}。您可关注公众号:songhetz,登录账户修改密码,并设置支付密码。", regUser.Password, levelConfig.LevelString); bllSms.SendSmsMisson(regUser.Phone, smsString, "", website.SmsSignature, out smsBool, out msg); #endregion if (string.IsNullOrWhiteSpace(msg)) { msg = "注册成功"; } apiResp.msg = msg; apiResp.code = (int)APIErrCode.IsSuccess; apiResp.status = true; apiResp.result = new { password = regUser.Password }; bll.ContextResponse(context, apiResp); }
public void ProcessRequest(HttpContext context) { BLLUser userBll = new BLLUser(); BLLSMS smsBll = new BLLSMS(""); BLLDistribution bllDist = new BLLDistribution(); try { var phone = context.Request["phone"]; var code = context.Request["code"]; var password = context.Request["password"]; string openId = ""; if (context.Session["currWXOpenId"] != null) { openId = context.Session["currWXOpenId"].ToString(); } //if (string.IsNullOrWhiteSpace(openId)) //{ // apiResp.status = false; // apiResp.code = (int)BLLJIMP.Enums.APIErrCode.PrimaryKeyIncomplete; // apiResp.msg = "找不到微信OpenId"; // userBll.ContextResponse(context, apiResp); // return; //} phone = phone.Trim(); code = code.Trim(); password = password.Trim(); if (string.IsNullOrWhiteSpace(phone) || string.IsNullOrWhiteSpace(code)) { apiResp.status = false; apiResp.code = (int)BLLJIMP.Enums.APIErrCode.PrimaryKeyIncomplete; apiResp.msg = "手机以及验证码必传"; userBll.ContextResponse(context, apiResp); return; } if (!ZentCloud.Common.MyRegex.PhoneNumLogicJudge(phone)) { apiResp.status = false; apiResp.code = (int)BLLJIMP.Enums.APIErrCode.PrimaryKeyIncomplete; apiResp.msg = "手机号码格式不正确"; userBll.ContextResponse(context, apiResp); return; } var vCode = smsBll.GetLastSmsVerificationCode(phone); if (vCode == null) { apiResp.status = false; apiResp.code = (int)BLLJIMP.Enums.APIErrCode.PrimaryKeyIncomplete; apiResp.msg = "无效验证码"; userBll.ContextResponse(context, apiResp); return; } if (vCode.VerificationCode != code) { apiResp.status = false; apiResp.code = (int)BLLJIMP.Enums.APIErrCode.PrimaryKeyIncomplete; apiResp.msg = "无效验证码"; userBll.ContextResponse(context, apiResp); return; } UserInfo phoneUser = userBll.GetUserInfoByPhone(phone); UserInfo openIdUser = null; if (!string.IsNullOrWhiteSpace(openId)) { openIdUser = userBll.GetUserInfoByOpenId(openId); } #region phoneUser != null if (phoneUser != null) { if (openIdUser == null && string.IsNullOrWhiteSpace(phoneUser.WXOpenId) && !string.IsNullOrWhiteSpace(openId)) { StringBuilder sbSQL = new StringBuilder(); sbSQL.AppendFormat(" WXOpenId = '{0}' ", openId); if (!string.IsNullOrWhiteSpace(password)) { sbSQL.AppendFormat(",Password = '******' ", password); } //绑定openid到手机号账户上 if (userBll.Update(phoneUser, sbSQL.ToString(), string.Format(" AutoID = {0} ", phoneUser.AutoID)) > 0) { //设置登陆状态成功 //设置用户会话ID context.Session[ZentCloud.Common.SessionKey.UserID] = phoneUser.UserID; context.Session[ZentCloud.Common.SessionKey.LoginStatu] = 1; //设置登录状态 apiResp.status = true; apiResp.code = (int)BLLJIMP.Enums.APIErrCode.IsSuccess; apiResp.msg = "绑定成功"; userBll.ContextResponse(context, apiResp); bllDist.SetUserDistributionOwnerByTemp(phoneUser.UserID, phoneUser.WebsiteOwner); return; } else { apiResp.status = false; apiResp.code = (int)BLLJIMP.Enums.APIErrCode.OperateFail; apiResp.msg = "绑定失败"; userBll.ContextResponse(context, apiResp); return; } } else if (!string.IsNullOrWhiteSpace(password)) { if (userBll.Update(phoneUser, string.Format(" Password = {0} ", password), string.Format(" AutoID = {0} ", phoneUser.AutoID)) > 0) { //设置登陆状态成功 //设置用户会话ID context.Session[ZentCloud.Common.SessionKey.UserID] = phoneUser.UserID; context.Session[ZentCloud.Common.SessionKey.LoginStatu] = 1; //设置登录状态 apiResp.status = true; apiResp.code = (int)BLLJIMP.Enums.APIErrCode.IsSuccess; apiResp.msg = "登录成功"; userBll.ContextResponse(context, apiResp); return; } else { apiResp.status = false; apiResp.code = (int)BLLJIMP.Enums.APIErrCode.OperateFail; apiResp.msg = "注册失败"; userBll.ContextResponse(context, apiResp); return; } } else { //设置登陆状态成功 //设置用户会话ID context.Session[ZentCloud.Common.SessionKey.UserID] = phoneUser.UserID; context.Session[ZentCloud.Common.SessionKey.LoginStatu] = 1; //设置登录状态 apiResp.status = true; apiResp.code = (int)BLLJIMP.Enums.APIErrCode.IsSuccess; apiResp.msg = "登录成功"; userBll.ContextResponse(context, apiResp); return; } } #endregion if (openIdUser == null) { //构造新用户 var currentUserInfo = new ZentCloud.BLLJIMP.Model.UserInfo(); currentUserInfo.UserID = string.Format("WXUser{0}", Guid.NewGuid().ToString());//Guid if (!string.IsNullOrWhiteSpace(password)) { currentUserInfo.Password = password; } else { currentUserInfo.Password = ZentCloud.Common.Rand.Str_char(6); } currentUserInfo.UserType = 2; currentUserInfo.WebsiteOwner = userBll.WebsiteOwner; currentUserInfo.Regtime = DateTime.Now; if (!string.IsNullOrWhiteSpace(openId)) { currentUserInfo.WXOpenId = openId; } currentUserInfo.RegIP = ZentCloud.Common.MySpider.GetClientIP(); currentUserInfo.LastLoginIP = ZentCloud.Common.MySpider.GetClientIP(); currentUserInfo.LastLoginDate = DateTime.Now; currentUserInfo.LoginTotalCount = 1; currentUserInfo.Phone = phone; if (userBll.Add(currentUserInfo)) { //设置登陆状态成功 //设置用户会话ID context.Session[ZentCloud.Common.SessionKey.UserID] = currentUserInfo.UserID; context.Session[ZentCloud.Common.SessionKey.LoginStatu] = 1; //设置登录状态 apiResp.status = true; apiResp.code = (int)BLLJIMP.Enums.APIErrCode.IsSuccess; apiResp.msg = "注册成功"; userBll.ContextResponse(context, apiResp); bllDist.SetUserDistributionOwnerByTemp(currentUserInfo.UserID, currentUserInfo.WebsiteOwner); return; } else { apiResp.status = false; apiResp.code = (int)BLLJIMP.Enums.APIErrCode.OperateFail; apiResp.msg = "注册失败"; userBll.ContextResponse(context, apiResp); return; } } else { apiResp.status = false; apiResp.code = (int)BLLJIMP.Enums.APIErrCode.OperateFail; apiResp.msg = "该微信已绑定其他账号"; userBll.ContextResponse(context, apiResp); return; StringBuilder sbSQL1 = new StringBuilder(); sbSQL1.AppendFormat(" Phone = '{0}' ", phone); if (!string.IsNullOrWhiteSpace(password)) { sbSQL1.AppendFormat(",Password = '******' ", password); } openIdUser.Phone = phone; if (userBll.Update(openIdUser, sbSQL1.ToString(), string.Format(" AutoID = {0} ", openIdUser.AutoID)) > 0) { //设置登陆状态成功 //设置用户会话ID context.Session[ZentCloud.Common.SessionKey.UserID] = openIdUser.UserID; context.Session[ZentCloud.Common.SessionKey.LoginStatu] = 1; //设置登录状态 apiResp.status = true; apiResp.code = (int)BLLJIMP.Enums.APIErrCode.IsSuccess; apiResp.msg = "绑定成功"; userBll.ContextResponse(context, apiResp); bllDist.SetUserDistributionOwnerByTemp(openIdUser.UserID, openIdUser.WebsiteOwner); return; } else { apiResp.status = false; apiResp.code = (int)BLLJIMP.Enums.APIErrCode.OperateFail; apiResp.msg = "绑定失败"; userBll.ContextResponse(context, apiResp); return; } } } catch (Exception ex) { apiResp.status = false; apiResp.code = (int)BLLJIMP.Enums.APIErrCode.OperateFail; apiResp.msg = "绑定失败:" + ex.Message; userBll.ContextResponse(context, apiResp); return; } }
public void ProcessRequest(HttpContext context) { string data = context.Request["data"]; RequestModel requestModel; try { requestModel = ZentCloud.Common.JSONHelper.JsonToModel <RequestModel>(context.Request["data"]); } catch (Exception) { resp.errcode = -1; resp.errmsg = "json格式错误,请检查"; context.Response.Write(ZentCloud.Common.JSONHelper.ObjectToJson(resp)); return; } if (!string.IsNullOrEmpty(requestModel.ver_code)) { if (requestModel.ver_code != context.Session["CheckCode"].ToString().ToLower()) { resp.errcode = -1; resp.errmsg = "验证码错误"; context.Response.Write(ZentCloud.Common.JSONHelper.ObjectToJson(resp)); return; } } UserInfo userInfo = bll.GetCurrentUserInfo(); StringBuilder sbPar = new StringBuilder(); StringBuilder sbRemark = new StringBuilder("修改会员信息:"); if (string.IsNullOrWhiteSpace(requestModel.action)) { //默认信息处理方式 if (!string.IsNullOrEmpty(requestModel.truename)) { sbPar.AppendFormat(" TrueName='{0}',", requestModel.truename); sbRemark.AppendFormat(" 姓名[{0}-{1}]", userInfo.TrueName, requestModel.truename); } if (!string.IsNullOrEmpty(requestModel.company)) { sbPar.AppendFormat(" Company='{0}',", requestModel.company); sbRemark.AppendFormat(" 公司[{0}-{1}]", userInfo.Company, requestModel.company); } if (!string.IsNullOrEmpty(requestModel.postion)) { sbPar.AppendFormat(" Postion='{0}',", requestModel.postion); sbRemark.AppendFormat(" 职位[{0}-{1}]", userInfo.Postion, requestModel.postion); } if (!string.IsNullOrEmpty(requestModel.phone) && requestModel.phone != userInfo.Phone) { #region 手机变更进行检查 if (!ZentCloud.Common.MyRegex.PhoneNumLogicJudge(requestModel.phone)) { resp.errcode = (int)BLLJIMP.Enums.APIErrCode.PhoneFormatError; resp.errmsg = "手机号码格式出错"; context.Response.Write(ZentCloud.Common.JSONHelper.ObjectToJson(resp)); return; } if (requestModel.check_code == 1) { #region 判断验证码是否正确 if (bll.GetUserInfoByPhone(requestModel.phone) != null) { resp.errcode = (int)BLLJIMP.Enums.APIErrCode.IsRepeat; resp.errmsg = "手机已存在"; context.Response.Write(ZentCloud.Common.JSONHelper.ObjectToJson(resp)); return; } if (string.IsNullOrEmpty(requestModel.code)) { resp.errmsg = "请填写验证码"; resp.errcode = (int)BLLJIMP.Enums.APIErrCode.IsNotFound; context.Response.Write(ZentCloud.Common.JSONHelper.ObjectToJson(resp)); return; } BLLSMS bllSms = new BLLSMS(""); SmsVerificationCode sms = bllSms.GetLastSmsVerificationCode(requestModel.phone); if (sms.VerificationCode != requestModel.code) { resp.errmsg = "验证码错误"; resp.errcode = (int)BLLJIMP.Enums.APIErrCode.CheckCodeErr; context.Response.Write(ZentCloud.Common.JSONHelper.ObjectToJson(resp)); return; } #endregion } #endregion sbPar.AppendFormat(" Phone='{0}',", requestModel.phone); sbRemark.AppendFormat(" 手机号[{0}-{1}]", userInfo.Phone, requestModel.phone); } if (!string.IsNullOrEmpty(requestModel.email)) { sbPar.AppendFormat(" Email='{0}',", requestModel.email); sbRemark.AppendFormat(" 邮箱[{0}-{1}]", userInfo.Email, requestModel.email); } if (!string.IsNullOrEmpty(requestModel.ex1)) { sbPar.AppendFormat(" Ex1='{0}',", requestModel.ex1); } if (!string.IsNullOrEmpty(requestModel.ex2)) { sbPar.AppendFormat(" Ex2='{0}',", requestModel.ex2); } if (!string.IsNullOrEmpty(requestModel.district)) { sbPar.AppendFormat(" District='{0}',", requestModel.district); } if (!string.IsNullOrEmpty(requestModel.nickname)) { sbPar.AppendFormat(" WXNickname='{0}',", requestModel.nickname); sbRemark.AppendFormat(" 昵称[{0}-{1}]", userInfo.WXNickname, requestModel.nickname); } if (!string.IsNullOrEmpty(requestModel.gender)) { sbPar.AppendFormat(" Gender='{0}',", requestModel.gender); string oG = ""; if (userInfo.Gender == "1") { oG = "男"; } else if (userInfo.Gender == "0") { oG = "女"; } string nG = ""; if (requestModel.gender == "1") { nG = "男"; } else if (requestModel.gender == "0") { nG = "女"; } sbRemark.AppendFormat(" 性别[{0}-{1}]", oG, nG); } if (!string.IsNullOrEmpty(requestModel.birthday.ToString())) { sbPar.AppendFormat(" BirthDay='{0}',", bll.GetTime(requestModel.birthday).ToString()); } if (!string.IsNullOrEmpty(requestModel.identification)) { sbPar.AppendFormat(" Ex5='{0}',", requestModel.identification); } if (requestModel.describe != null) { sbPar.AppendFormat(" Description='{0}',", ZentCloud.Common.StringHelper.GetReplaceStr(requestModel.describe)); } if (!string.IsNullOrEmpty(requestModel.province)) { sbPar.AppendFormat(" Province='{0}',", requestModel.province); } if (!string.IsNullOrEmpty(requestModel.city)) { sbPar.AppendFormat(" City='{0}',", requestModel.city); } if (requestModel.salary >= 0) { sbPar.AppendFormat(" Salary={0},", requestModel.salary); } if (!string.IsNullOrEmpty(requestModel.ex3)) { sbPar.AppendFormat(" Ex3='{0}',", requestModel.ex3); } if (!string.IsNullOrEmpty(requestModel.ex4)) { sbPar.AppendFormat(" Ex4='{0}',", requestModel.ex4); } if (!string.IsNullOrEmpty(requestModel.avatar)) { sbPar.AppendFormat(" Avatar='{0}',", requestModel.avatar); sbRemark.AppendFormat(" 头像[{0}-{1}]", userInfo.Avatar, requestModel.avatar); } if (!string.IsNullOrEmpty(requestModel.identity_card_photo_front)) { sbPar.AppendFormat(" IdentityCardPhotoFront='{0}',", requestModel.identity_card_photo_front); sbRemark.AppendFormat(" 身份证正面[{0}-{1}]", userInfo.IdentityCardPhotoFront, requestModel.identity_card_photo_front); } if (!string.IsNullOrEmpty(requestModel.identity_card_photo_behind)) { sbPar.AppendFormat(" IdentityCardPhotoBehind='{0}',", requestModel.identity_card_photo_behind); sbRemark.AppendFormat(" 身份证反面[{0}-{1}]", userInfo.IdentityCardPhotoBehind, requestModel.identity_card_photo_behind); } if (!string.IsNullOrEmpty(requestModel.identity_card_photo_handheld)) { sbPar.AppendFormat(" IdentityCardPhotoHandheld='{0}',", requestModel.identity_card_photo_handheld); sbRemark.AppendFormat(" 身份证手持照[{0}-{1}]", userInfo.IdentityCardPhotoHandheld, requestModel.identity_card_photo_handheld); } if (!string.IsNullOrEmpty(requestModel.intelligence_certificate_business)) { sbPar.AppendFormat(" IntelligenceCertificateBusiness='{0}',", requestModel.intelligence_certificate_business); } if (!string.IsNullOrEmpty(requestModel.business_intelligence_certificate_photo1)) { sbPar.AppendFormat(" BusinessIntelligenceCertificatePhoto1='{0}',", requestModel.business_intelligence_certificate_photo1); sbRemark.AppendFormat(" 公司资质三证合一[{0}-{1}]", userInfo.BusinessIntelligenceCertificatePhoto1, requestModel.business_intelligence_certificate_photo1); } if (!string.IsNullOrEmpty(requestModel.business_intelligence_certificate_photo2)) { sbPar.AppendFormat(" BusinessIntelligenceCertificatePhoto2='{0}',", requestModel.business_intelligence_certificate_photo2); sbRemark.AppendFormat(" 公司资质补充一[{0}-{1}]", userInfo.BusinessIntelligenceCertificatePhoto2, requestModel.business_intelligence_certificate_photo2); } if (!string.IsNullOrEmpty(requestModel.business_intelligence_certificate_photo3)) { sbPar.AppendFormat(" BusinessIntelligenceCertificatePhoto3='{0}',", requestModel.business_intelligence_certificate_photo3); sbRemark.AppendFormat(" 公司资质补充二[{0}-{1}]", userInfo.BusinessIntelligenceCertificatePhoto3, requestModel.business_intelligence_certificate_photo3); } if (!string.IsNullOrEmpty(requestModel.business_intelligence_certificate_photo4)) { sbPar.AppendFormat(" BusinessIntelligenceCertificatePhoto4='{0}',", requestModel.business_intelligence_certificate_photo4); } if (!string.IsNullOrEmpty(requestModel.business_intelligence_certificate_photo5)) { sbPar.AppendFormat(" BusinessIntelligenceCertificatePhoto5='{0}',", requestModel.business_intelligence_certificate_photo5); } if (requestModel.imgs != null) { sbPar.AppendFormat(" Images='{0}',", requestModel.imgs); } sbPar.AppendFormat(" ViewType='{0}',", requestModel.view_type); } else if (requestModel.action == "memberattribution") { //归属地设置 //Province ProvinceCode City CityCode District DistrictCode ,Town TownCode 暂时设置的的时候就设置为空 sbPar.AppendFormat(" Province='{0}', ProvinceCode='{1}', City='{2}', CityCode='{3}', District='{4}', DistrictCode='{5}' ", requestModel.province, requestModel.province_code, requestModel.city, requestModel.city_code, requestModel.district, requestModel.district_code ); } if (requestModel.company_is_repeat == "1") { if (userInfo.Company != requestModel.company) { if (bll.GetUserInfoByCompany(requestModel.company) != null) { resp.errcode = (int)BLLJIMP.Enums.APIErrCode.IsRepeat; resp.errmsg = "公司名称重复"; context.Response.Write(ZentCloud.Common.JSONHelper.ObjectToJson(resp)); return; } } } //if (requestModel.phone_is_repeat=="1") //{ // if (userInfo.Phone != requestModel.phone) // { // if (bll.GetUserInfoByPhone(requestModel.phone) != null) // { // resp.errcode = (int)BLLJIMP.Enums.APIErrCode.IsRepeat; // resp.errmsg = "手机已存在"; // context.Response.Write(ZentCloud.Common.JSONHelper.ObjectToJson(resp)); // return; // } // } //} if (requestModel.user_is_repeat == "1") { if (userInfo.WXNickname != requestModel.nickname) { if (bll.GetUserInfoByNickName(requestModel.nickname) != null) { resp.errcode = (int)BLLJIMP.Enums.APIErrCode.IsRepeat; resp.errmsg = "昵称重复"; context.Response.Write(ZentCloud.Common.JSONHelper.ObjectToJson(resp)); return; } } } if (bll.Update(userInfo, sbPar.ToString().TrimEnd(','), string.Format(" AutoID={0}", userInfo.AutoID)) > 0) { resp.isSuccess = true; resp.errmsg = "ok"; resp.returnObj = sbPar.ToString(); try { string remark = sbRemark.ToString(); if (remark != "修改会员信息:" && CurrentUserInfo.MemberLevel >= 10) { bllLog.Add(EnumLogType.ShMember, EnumLogTypeAction.Update, CurrentUserInfo.UserID, remark, targetID: userInfo.UserID); } bll.AddUserScoreDetail(CurrentUserInfo.UserID, CommonPlatform.Helper.EnumStringHelper.ToString(ZentCloud.BLLJIMP.Enums.ScoreDefineType.UpdateMyInfo), bll.WebsiteOwner, null, null); } catch (Exception) { } } else { resp.errcode = (int)BLLJIMP.Enums.APIErrCode.OperateFail; resp.errmsg = "修改会员数据出错"; } context.Response.Write(ZentCloud.Common.JSONHelper.ObjectToJson(resp)); }