- CREATE PROCEDURE ACCOUNT_LOGIN
- @AccountID varchar(21),
- @Password varchar(13),
- @nRet smallint OUTPUT
- AS
- declare @ban int , @ban1 int, @ban2 int
- select @nRet = count(straccountid) from currentuser
- select @ban = authority from userdata where struserid = (select strcharid1 from account_char where straccountid = @AccountID and strcharid1 is not null )
- select @ban1 = authority from userdata where struserid = (select strcharid2 from account_char where straccountid = @AccountID and strcharid1 is not null )
- select @ban2 = authority from userdata where struserid = (select strcharid3 from account_char where straccountid = @AccountID and strcharid1 is not null )
- if @ban = 255 or @ban1 = 255 or @ban2 = 255
- begin
- Set @nRet = 4
- RETURN
- end
- declare @gankss varchar(21)
- select @nRet = count(straccountid) from currentuser
- select @gankss = count(strAccountID) from premium_service where strAccountID = @AccountID
- if @gankss = 0 and @nRet>100
- begin
- Set @nRet = 0
- end
- DELETE FROM CURRENTUSER WHERE strAccountID = @AccountID
- exec rundupecheckinn @AccountID
- DECLARE @Nation tinyint, @CharNum smallint
- SET @Nation = 0
- SET @CharNum = 0
- DECLARE @pwd varchar(13)
- SET @pwd = null
- SELECT @pwd = strPasswd FROM [dbo].[TB_USER] WHERE strAccountID = @AccountID and idays=6
- IF @pwd IS null
- BEGIN
- SET @nRet = 0
- --SET @nRet = 4
- RETURN
- END
- ELSE IF @pwd <> @Password
- BEGIN
- SET @nRet = 0
- --SET @nRet = 3
- RETURN
- END
- DECLARE @gokhantasci varchar(21)
- select @gokhantasci = count(straccountid) FROM premium_service WHERE strAccountID = @AccountID
- if @gokhantasci = 0
- begin
- insert into PREMIUM_SERVICE (strAccountID, strType, nDays) VALUES (@AccountID, 1, 3)
- end
- SELECT @Nation = bNation, @CharNum = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID
- IF @@ROWCOUNT = 0
- BEGIN
- SET @nRet = 1
- RETURN
- END
- IF @CharNum = 0
- BEGIN
- SET @nRet = 1
- RETURN
- END
- ELSE
- BEGIN
- SET @nRet = @Nation+1
- --SET @nRet = 1
- RETURN
- END
- GO
- SET QUOTED_IDENTIFIER OFF
- GO
- SET ANSI_NULLS ON
- GO
复制代码 |