本文共 15043 字,大约阅读时间需要 50 分钟。
捷信达会员管理系统SQL语句相关
USE gshisGOSET ANSI_NULLS, QUOTED_IDENTIFIER ONGO/*******************************************************************************************名称: up_mbrdata更新会员资料说明: 更新会员资料作者: dxb日期: 2005-12-23execute up_mbrdata '','2005-01','2005-12'begin tranexecute up_mbrdata @ActionType ='I',@c用户名 = 'abcccc',@c姓名 = '姓名'rollback transelect * from gsmbrcard where resortid = 0select mbrcardno,* from gsprofile where netname = 'abcccc'修改人:陈前良,修改时间:2006-8-31 17:55:55修改原因:如果在新增会员的时候,未指定会员卡类型的话,则从系统参数设置中取默认会员卡类型修改人:陈前良,修改时间:2007-3-15 10:59:18修改原因:在新增时,@retCode设置为新增会员的profileid进行返回。修改人:陈前良,修改时间:2007年4月29日13时51分修改原因:1 <添加参数@来源ip,将会员注册时的来源ip地址保存起来,以控制同一天同一ip上的注册人数2> <置是否审核的初始值为0修改人:陈前良,修改时间:2007年6月20日10时13分1> <将是否审核,审核时间作为参数,网站中有一参数控制新增的会员是否需要审核,如不需要审核,则直接为审核通过状态修改人:陈前良,修改时间:2007年10月17日 15时39分04秒1<增加注册会员时,根据系统参数中的会员注册时默认业务员的值来给会员的业务员赋值,如果系统参数中没有设置,则默认为admin修改人:陈前良,修改时间:2007年11月17日 15时23分11秒1<增加注册会员时,会员的resortid默认为-1,而不是采用默认的null值修改人:陈前良,修改时间:2008年6月18日 09时23分44秒1<增加注册会员时,如果是自动发卡的,则同时将发卡日期,入会日期默认为当前日期,有效期默认为当前日期+40年,主卡标志为主卡,入会地点为会员管理中心,会员类型为个人,审核人为net修改人:陈前良,修改时间:2008年10月31日09时53分07秒1<修改了会员的有效期,如果不是自动发卡,则有效期默认为当前日期+10年修改人:陈前良,修改时间:2009年11月25日 15时14分50秒1<修改了注册时,判断用户名是否重复只在用户名不为空的情况下才检查,因为有些用户要求注册时不需要输入用户名修改人:陈提见,修改时间:2012年5月10日11时50分02秒1<加一个参数@pwd,可以传入明文的密码,在这里转换保存修改人:周望平,2013-4-11<注册直接发放会员卡时,将会员isell标志直接为1修改人:周望平 2013-11-11=1,成功;<0:失败.@retmsg varchar(200)=null output, -- 返回信息@retMbrExpired char(10)=null output, -- 返回有效期 新版bookingservice 注册成功后显示@c用户名旧 varchar(50) = null, --网络登录名旧(用于更新)@c用户名 varchar(50) = null, --网络登录名@c密码 varchar(50) = null,@c姓名 varchar(50) = null,@c国家 varchar(50) = null,@c证照类型 varchar(50) = null,@c证照号码 varchar(50) = null,@cemial varchar(50) = null,@c性别 varchar(5) = null,@c出生日期 varchar(20) = null, --格式:YYYY-MM-DD@c家庭电话 varchar(50) = null,@c公司电话 varchar(50) = null,@c移动电话 varchar(50) = null,@c传真号码 varchar(50) = null,@c邮政编码 varchar(50) = null,@c地址 varchar(100) = null,@c信用卡号 varchar(50) = null,@c要求 varchar(200) = null,@c会员种类 varchar(20) = null,@c会员号 varchar(20) = null,@c会员卡号 varchar(30) = null,@c会员卡类型 varchar(10) = null,@c是否充值 int = null,@c折扣代码 varchar(10) = null,@c入会日期 datetime = null,@c有效期至 datetime = null,@c入会地点 varchar(100)= null,@c工作单位 varchar(100)= null,@c职业 varchar(20) = null,@c职务 varchar(30) = null,@c兴趣爱好 varchar(100)= null,@c禁忌 varchar(100)= null,@c特殊要求 varchar(100)= null,@c备注 varchar(200)= null,@ResortId int = null, --单点模式下用单点resortid 酒店就用设置的集团id@c会员ID varchar(500)= null output, -- 多个ID以,隔开@来源IP varchar(30) = null, --会员来源ip地址,用以限制同一ip一天的新注册人数@isAudit int = 0,--审核状态,默认为0,未审核@auditDate datetime = null,--审核时间,默认为未审核,没有审核时间@pwd varchar(30) = null, --密码,明文@weixin varchar(30)=null, --微信号@Salutation varchar(20)=null, -- 称呼@netpwd varchar(50) = null, --网上登录密码@guestename varchar(50)=null ,@ispertain integer = 0 , --主卡附属卡标志 ,注册会员用到@pertainto varchar(30) = NULL, --主卡客历号 ,注册会员用到@IsMember tinyint =NULL, --是否为真正的会员@ActionName varchar(30) = null ,@NotSendMsg integer = 0, -- 是否不发短信 <微信推送 bomber 2016-08-30@sales varchar(20)="null" ,@introducer varchar(30)="null" --介绍人客历号 2017-01-19@personorteam varchar(1)="NULL," --微信注册会员时,标记是个人会员还是团体会员,默认个人 zhangxp 20170413@rfcardno , --感应卡号 add by dongl 2017-08-14@reason varchar(60)="null" ,--楼层喜好@descriptions varchar(200)="null--客史档案WITH" encryptionasbegindeclare @error_var intdeclare @issell="0set" intset @retcode="-1set" @retmbrexpired="" if(@ismember is null or len(@ismember)<="0)BEGIN" set @ismember="1END--处理默认分店idif" @resortid="resortid" is nullbeginselect top 1 from gsresort where havegshis="1" order orderbyendif @pwd not null --明文的转为密码保存beginset @c密码="dbo.uf_encrypt(@Pwd,1)endset" @c性别 when '男' then 'm' '女' 'f' else end--判断手机号码,身份证号码不能重复 (null对于修改时是允许的因为null即是不修改)if @c证照号码="" and @c移动电话="" and @c用户名="" beginset @retmsg="证件号和手机号不能同时为空,请重新录入!" returnenddeclare @ischeckmobileno="ISNULL(Value,0)" varchar(20), @ischeckcertificateno="ISNULL(Value,0)" varchar(20)select from dbo.gssyspara where code="isCheckCertificateNo" --新增会员时是否判断手机号的唯一性select --新增会员时,是否检查证件号码唯一性if upper(@actiontype)="I" begin if isnull(@ispertain,0) <> 1 begin --判断手机号码,身份证号码不能重复 if isnull( @c证照号码,'') = '' and isnull( @c移动电话,'') = '' and isnull(@c用户名,'') = '' begin set @retcode = -1 set @retmsg = '证件号和手机号不能同时为空,请重新录入!' return end --判断手机号码,身份证号码不能重复 if isnull(@ActionName,'') <> 'New' begin declare @checkMobile varchar(10) select @checkMobile=value from gsSyspara where code='IsCheckMobileRepet' if(@checkMobile='1') begin if exists(select * from gsprofile where ismember = @IsMember and Mobile = @c移动电话) and @c移动电话 <> '' begin set @retcode = -1 set @retmsg = '此手机号码已经被注册,请重新录入!' return end end --判断手机号码,身份证号码不能重复 if exists(select * from gsprofile where ismember = @IsMember and CertificateNo = @c证照号码) and @c证照号码 <> '' begin set @retcode = -1 set @retmsg = '此证件号码已经被注册,请重新录入!' return end end if isnull(@c用户名,'')<>'' and exists(select 1 from gsprofile where ismember = @IsMember and NetName = @c用户名) begin set @retcode = -1 set @retmsg = '此用户名'+@c用户名+'已存在,请重新输入!' return end endbegindeclare @issueTime datetime--,--发卡日期--@IsPertain tinyint--是否附卡if @c会员卡类型 is NULL AND @IsMember=1BEGIN ----------zhangxp 20170504 推荐人如果是团体会员就按照推荐人的会员卡类型 SELECT @c会员卡类型=MbrCardType FROM gsProfile WHERE ProfileID=@introducer AND wechatmembertype='T' if ISNULL(@c会员卡类型,'')='' BEGIN IF @PersonOrTeam = 'T' ---如果是团体会员(Team) 就根据系统参数获取会员卡类型 BEGIN select @c会员卡类型=Value from gssyspara where code = 'NetNewTeamMbrDefaultCardType' END ELSE BEGIN select @c会员卡类型=Value from gssyspara where code = 'NetNewMbrDefaultCardType' --'DefaultMbrCardType' 改成Web新增会员的默认会员卡类型 bomber 2016-08-19 END END end--是否自动生成会员卡if isnull(@c会员卡号,'')='' AND @IsMember=1begin--如果是自动生成卡但没有卡号,create table #temp_cardno (iscardno int ,cardno varchar(30),cardType varchar(30))--2018年4月19日18:25:38--修改gsmbrcard表时,需要写入profileid,不然在统计发卡记录表中查不到数据,up_gsIsGettingCardNoOnRegister未修改profileidinsert into #temp_cardno execute up_gsIsGettingCardNoOnRegister @cardType = @c会员卡类型select @c会员卡号 = cardno from #temp_cardnoendif isnull(@c会员卡号,'')<>'' --如果同时发会员卡号,则此会员的审核状态置为审核通过,不论参数中的值是什么begin set @isAudit = 1 set @issell=1 --直接发放会员卡,会员出售标志 set @auditDate = getdate() --如果是直接发放会员卡,则给相关参数赋默认值 set @issueTime = getdate() set @c入会日期 = getdate() DECLARE @mon INT SELECT @mon=ISNULL(ExpiredTimelong,120) FROM gsmbrcardtype WHERE Code=@c会员卡类型 set @c有效期至 = dateadd(MONTH,@mon,getdate()) set @c入会地点 = '会员管理中心' set @c会员种类 = 'P'endelsebegin SET @c有效期至 = dateadd(year,10,getdate())end--增加默认入会日期功能 bomber 2016-12-21if @ActionName = 'New' and @c入会日期 is nullbegin set @issueTime = getdate() set @c入会日期 = getdate()endset @retMbrExpired=convert(char(10),@c有效期至,120)--把时分秒去掉,不然在会员系统中按有效期查询会员会有问题declare @mbrExpiredStr char(10)set @mbrExpiredStr= convert(char(10), @c有效期至,120)declare @defaultSale varchar(60)IF(ISNULL(@sales,'')='')begin select @defaultSale=value from gssyspara where workstationid='0' and code = 'DefaultSales' if @defaultSale is null set @defaultSale = 'admin'ENDELSE SET @defaultSale=@salesif(@c折扣代码 is null) --zwp 98479beginselect @c折扣代码=discountcode from gsmbrcardtype where code=@c会员卡类型end--xiongm 2015-10-10 根据卡类型记录默认是否可充值属性if @c是否充值 is nullselect @c是否充值=ischargable from gsmbrcardtype where code=@c会员卡类型insert into gsprofile(guesttype,ismember,Status,ModifiedDate,Modificator,CreateDate,Creator,NetName,CardPassword,GuestCName,Nationality,CertificateType,CertificateNo,Email,Gender,Birthday,tel,OfficeTel,Mobile,fax,ZipCode,Address,Special,MemberType,PaymentCode,MbrCardNo,mbrcardtype,IsChargable,DiscountCode,EffectDate,MbrExpired,InAddress,Company,Occupation,DutyTitle,Interests, Taboo, Remark,FromIp,isaudit,audittime,sales,resortId,issueTime,IsPertain,cardIssuer,auditor,issell,weixinname,Salutation,netpwd,guestename,pertainto,notsendmsg ,introducer,wechatmemberType,RFCardNo ,--感应卡号 add by dongl 2017-08-14reason,isElevator,smoke,bedType,floors,descriptions)values('I',@IsMember,0,getdate(),'Net',getdate(),'Net',@c用户名,@c密码, @c姓名,@c国家,@c证照类型,@c证照号码,@cemial,@c性别,@c出生日期,@c家庭电话,@c公司电话,@c移动电话,@c传真号码,@c邮政编码,@c地址,@c要求 ,@c会员种类,@c信用卡号,@c会员卡号,@c会员卡类型,@c是否充值,@c折扣代码,@c入会日期,@mbrExpiredStr,@c入会地点,@c工作单位,@c职业,@c职务,@c兴趣爱好,@c禁忌,@c备注,@来源IP,@isAudit,@auditDate,@defaultSale, @ResortId,@issueTime,@IsPertain,'Net','Net' ,@issell,@weixin,@Salutation,@netpwd,@guestename,@pertainto ,isnull(@NotSendMsg,0) ,@introducer,@PersonOrTeam,@RfCardNo ,--感应卡号 add by dongl 2017-08-14@reason,@isElevator,@smoke,@bedType,@floors,@descriptions)select @retcode = IDENT_CURRENT('gsprofile') --得到profileid 2018年4月19日18:28:57set @error_var = @@errorif @error_var <> 0 beginset @retcode = -1set @retmsg = '插入会员资料出错,错误代码:'+convert(varchar,@error_var)returnend--皇室要求新增会员有个卡号啥的 ,bomber 2016-07-14if @ActionName = 'New'begin declare @isSendCardNO varchar(60) select @isSendCardNO=value from gssyspara where code = 'IsGettingCardNoOnRegister' --如果是新增的会员,卡号为空的话,默认个会员卡号给它 if (isnull(@c会员卡号,'') = '' and @isSendCardNO='1') begin Set @c会员卡号 = 'S' + right('0000000000' + convert(varchar(10),@retcode),10) Update gsProfile set MbrCardno = @c会员卡号 , MbrSeqNo = @c会员卡号 , RfCardno = @c会员卡号 where Profileid = @retcode end if isnull(@introducer,'') <> '' and isnumeric(@introducer) = 1 begin --增加新办会员介绍人奖励积分政策,既新办的会员是通过介绍人(微信扫码,系统新增/售卡功能)办理的会员,则奖励介绍人200积分(积分可调整)。 --bomber 2017-03-03 jobid = 110861 exec up_gsMbrGenProfileBounty @ProfileID = @retcode endend--微信注册会员时,需要向发卡记录表gsMbrIsSuecardLog中插入数据 add by dongl 2018年4月20日11:43:38insert into gsMbrIsSuecardLog(profileid,MbrSeqNo,MbrCardNo,RFCardNo,MbrCardType,CreateDate,Creator,OutletCode,sueFlag,modificator,modifieddate,ResortID,CreatebsnsDate)values(@retcode,'',@c会员卡号,@RfCardNo,@c会员卡类型,getdate(),'admin','',2,'admin',getdate(),@ResortId,'')endendelse if upper(@ActionType) = 'U'beginif @c用户名旧 is null or @c用户名旧=''begin--判断手机号码,身份证号码不能重复if exists(select * from gsprofile where ismember = @IsMember and Status=0 and Mobile = @c移动电话 AND IsPertain!=1and profileid not in (select sReturn from uf_string2table(@c会员ID,',')) ) and @c移动电话 <> '' AND @isCheckMobileNo='1'beginset @retcode = -1set @retmsg = '此手机号码已经被注册,请重新录入'returnend--判断手机号码,身份证号码不能重复if exists(select * from gsprofile where ismember = @IsMember and CertificateNo = @c证照号码 and profileid not in (select sReturn from uf_string2table(@c会员ID,','))) and @c证照号码 <> '' AND @isCheckCertificateNo='1'beginset @retcode = -1set @retmsg = '此证件号码已经被注册,请重新录入!'returnendupdate gsprofile set ModifiedDate = getdate(), Modificator = 'Net', NetName = isnull(@c用户名,netname), --网络登录名 netpwd = isnull(@netpwd,netpwd), CardPassword = isnull(@c密码,CardPassword), GuestCName = isnull(@c姓名,GuestCName), Nationality = isnull(@c国家,Nationality), CertificateType= isnull(@c证照类型,CertificateType), CertificateNo = isnull(@c证照号码,CertificateNo), Email = isnull(@cemial,Email), Gender = isnull(@c性别,Gender), Birthday = isnull(@c出生日期,Birthday), --格式:YYYY-MM-DD tel = isnull(@c家庭电话,tel), OfficeTel = isnull(@c公司电话,OfficeTel), Mobile = isnull(@c移动电话,Mobile), fax = isnull(@c传真号码,fax), ZipCode = isnull(@c邮政编码,ZipCode), Address = isnull(@c地址,Address), Special = isnull(@c要求,Special), MemberType = isnull(@c会员种类,MemberType), PaymentCode = isnull(@c信用卡号,PaymentCode), MbrCardNo = isnull(@c会员卡号,MbrCardNo), mbrcardtype = isnull(@c会员卡类型,mbrcardtype), IsChargable = isnull(@c是否充值,IsChargable), DiscountCode = isnull(@c折扣代码,DiscountCode), EffectDate = isnull(@c入会日期,EffectDate), MbrExpired = isnull(@c有效期至,MbrExpired), InAddress = isnull(@c入会地点,InAddress), Company = isnull(@c工作单位,Company), Occupation = isnull(@c职业,Occupation), DutyTitle = isnull(@c职务,DutyTitle), Interests = isnull(@c兴趣爱好,Interests), Taboo = isnull(@c禁忌 ,Taboo), Remark = isnull(@c备注,Remark), weixinname =isnull(@weixin,weixinname), Salutation =isnull(@Salutation,Salutation), guestename=isnull(@guestename,guestename) , notsendmsg = isnull(@NotSendMsg,0) , --是否不发短信,微信推送 bomber 2016-08-30 introducer = case when isnull(@introducer,'') = '' then introducer else @introducer end , ispertain = isnull(@ispertain,ispertain), PertainTo = isnull(@PertainTo,PertainTo) , reason = isnull(@reason,reason), isElevator = isnull(@isElevator,isElevator), smoke = isnull(@smoke,smoke), bedType = isnull(@bedType,bedType), floors = isnull(@floors,floors), descriptions = isnull(@descriptions,descriptions) where ismember = @IsMember and profileid in (select sReturn from uf_string2table(@c会员ID,',')) if isnull(@RfCardNo,'')<>''begin update gsprofile set RFCardNo = isnull(@RfCardNo,RFCardNo) --感应卡号 add by dongl 2017-08-14 where ismember = @IsMember and profileid = @c会员IDendset @error_var = @@errorif @error_var <> 0 beginset @retcode = -1set @retmsg = '删除会员资料出错,错误代码:'+convert(varchar,@error_var)returnendendelsebeginif not exists(select 1 from gsprofile where ismember = @IsMember and NetName = @c用户名旧) beginset @retcode = -1set @retmsg = '此用户名[ '+@c用户名旧+' ]不存在,不能修改!'returnendbeginupdate gsprofileset ModifiedDate = getdate(), Modificator = 'Net',NetName = isnull(@c用户名,netname), --网络登录名netpwd = isnull(@netpwd,netpwd),CardPassword = isnull(@c密码,CardPassword),GuestCName = isnull(@c姓名,GuestCName),Nationality = isnull(@c国家,Nationality),CertificateType= isnull(@c证照类型,CertificateType),CertificateNo = isnull(@c证照号码,CertificateNo),Email = isnull(@cemial,Email),Gender = isnull(@c性别,Gender),Birthday = isnull(@c出生日期,Birthday), --格式:YYYY-MM-DDtel = isnull(@c家庭电话,tel),OfficeTel = isnull(@c公司电话,OfficeTel),Mobile = isnull(@c移动电话,Mobile),fax = isnull(@c传真号码,fax),ZipCode = isnull(@c邮政编码,ZipCode),Address = isnull(@c地址,Address),Special = isnull(@c要求,Special),MemberType = isnull(@c会员种类,MemberType),PaymentCode = isnull(@c信用卡号,PaymentCode),MbrCardNo = isnull(@c会员卡号,MbrCardNo),mbrcardtype = isnull(@c会员卡类型,mbrcardtype),IsChargable = isnull(@c是否充值,IsChargable),DiscountCode = isnull(@c折扣代码,DiscountCode),EffectDate = isnull(@c入会日期,EffectDate),MbrExpired = isnull(@c有效期至,MbrExpired),InAddress = isnull(@c入会地点,InAddress),Company = isnull(@c工作单位,Company),Occupation = isnull(@c职业,Occupation),DutyTitle = isnull(@c职务,DutyTitle),Interests = isnull(@c兴趣爱好,Interests),Taboo = isnull(@c禁忌 ,Taboo),Remark = isnull(@c备注,Remark),weixinname =isnull(@weixin,weixinname),Salutation =isnull(@Salutation,Salutation),guestename=isnull(@guestename,guestename) ,notsendmsg = isnull(@NotSendMsg,0), --是否不发短信,微信推送 bomber 2016-08-30introducer = case when isnull(@introducer,'') = '' then introducer else @introducer end , PertainTo = isnull(@PertainTo,PertainTo) , reason = isnull(@reason,reason), isElevator = isnull(@isElevator,isElevator), smoke = isnull(@smoke,smoke), bedType = isnull(@bedType,bedType), floors = isnull(@floors,floors), descriptions = isnull(@descriptions,descriptions)where ismember = @IsMember and NetName = @c用户名旧set @error_var = @@errorif @error_var <> 0 beginset @retcode = -1set @retmsg = '更新会员资料出错,错误代码:'+convert(varchar,@error_var)returnendendendendelse if upper(@ActionType) = 'D' beginif @c用户名旧 is null or @c用户名旧=''BEGINdelete from gsprofilewhere ismember = @IsMember and profileid in (select sReturn from uf_string2table(@c会员ID,','))set @error_var = @@errorif @error_var <> 0 beginset @retcode = -1set @retmsg = '删除会员资料出错,错误代码:'+convert(varchar,@error_var)returnendendelse beginif not exists(select 1 from gsprofile where ismember =@IsMember and NetName = @c用户名旧) beginset @retcode = -1set @retmsg = '此用户名[ '+@c用户名旧+' ]不存在,不能删除!'returnendbegindelete from gsprofile where ismember = @IsMember and NetName = @c用户名旧set @error_var = @@errorif @error_var <> 0 beginset @retcode = -1set @retmsg = '删除会员资料出错,错误代码:'+convert(varchar,@error_var)returnendendendendelse beginset @retcode = -1set @retmsg = '更新类型不对!'returnendreturnendGO 微信推送> 将是否审核,审核时间作为参数,网站中有一参数控制新增的会员是否需要审核,如不需要审核,则直接为审核通过状态修改人:陈前良,修改时间:2007年10月17日> 置是否审核的初始值为0修改人:陈前良,修改时间:2007年6月20日10时13分1> 添加参数@来源ip,将会员注册时的来源ip地址保存起来,以控制同一天同一ip上的注册人数2>
网名:浩秦; 邮箱:root#landv.pw; 只要我能控制一個國家的貨幣發行,我不在乎誰制定法律。金錢一旦作響,壞話隨之戛然而止。
转载地址:http://wfall.baihongyu.com/