USE [ACCOUNT_DBF]
GO
/****** Object: Table [dbo].[ACCOUNT_TBL_DETAIL] Script Date: 05/19/2012 23:39:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[ACCOUNT_TBL_DETAIL](
[account] [varchar](32) NOT NULL,
[gamecode] [char](4) NOT NULL,
[tester] [char](1) NOT NULL,
[m_chLoginAuthority] [char](1) NOT NULL,
[regdate] [datetime] NOT NULL,
[BlockTime] [char](8) NULL,
[EndTime] [char](8) NULL,
[WebTime] [char](8) NULL,
[isuse] [char](1) NOT NULL,
[secession] [datetime] NULL,
[LoginTime] [datetime] NULL,
CONSTRAINT [PK_ACCOUNT_DETAIL_account] PRIMARY KEY CLUSTERED
(
[account] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[ACCOUNT_TBL] Script Date: 05/19/2012 23:39:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[ACCOUNT_TBL](
[account] [varchar](32) NOT NULL,
[password] [varchar](32) NOT NULL,
[isuse] [char](1) NOT NULL,
[member] [char](1) NOT NULL,
[id_no1] [char](6) NULL,
[id_no2] [char](7) NULL,
[realname] [char](1) NOT NULL,
[reload] [char](1) NULL,
CONSTRAINT [PK_CL_ACCOUNT_account] PRIMARY KEY CLUSTERED
(
[account] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[PCZone] Script Date: 05/19/2012 23:39:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[PCZone](
[PCZoneID] [int] IDENTITY(1,1) NOT NULL,
[PCZoneName] [varchar](100) NOT NULL,
[Address] [varchar](100) NOT NULL,
[Phone] [varchar](100) NOT NULL,
[CPU] [varchar](100) NOT NULL,
[VGA] [varchar](100) NOT NULL,
[RAM] [varchar](100) NOT NULL,
[Monitor] [varchar](100) NOT NULL,
[Comment] [varchar](1000) NOT NULL,
[Grade] [tinyint] NOT NULL,
[Account] [varchar](32) NOT NULL,
[RegDate] [datetime] NOT NULL,
CONSTRAINT [PK_iCafeInfo_1] PRIMARY KEY CLUSTERED
(
[PCZoneID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[PCZoneIP] Script Date: 05/19/2012 23:39:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[PCZoneIP](
[IPID] [int] IDENTITY(1,1) NOT NULL,
[PCZoneID] [int] NOT NULL,
[IPFrom1] [tinyint] NOT NULL,
[IPFrom2] [tinyint] NOT NULL,
[IPFrom3] [tinyint] NOT NULL,
[IPFrom4] [tinyint] NOT NULL,
[IPTo4] [tinyint] NOT NULL,
[IsUse] [tinyint] NOT NULL,
[RegDate] [datetime] NOT NULL,
[OperID] [varchar](32) NULL,
[OperDate] [datetime] NULL,
CONSTRAINT [PK_iCafeIP_1] PRIMARY KEY CLUSTERED
(
[IPID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: StoredProcedure [dbo].[LOGIN_RELOAD_STR] Script Date: 05/19/2012 23:39:17 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROC [dbo].[LOGIN_RELOAD_STR]
-- ex) LOGIN_RELOAD_STR
AS
set nocount on
SELECT account FROM ACCOUNT_TBL WHERE reload='T'
set nocount off
RETURN
GO
/****** Object: StoredProcedure [dbo].[LOGINJOIN_STR] Script Date: 05/19/2012 23:39:17 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROC [dbo].[LOGINJOIN_STR]
@iGu CHAR(2) = 'A1',
@iaccount VARCHAR(32)
/***********************************************************************************
***********************************************************************************
***********************************************************************************
***********************************************************************************
LOGINJOIN_STR 스토어드
작성자 : 송현석
작성일 : 2004.01.30
수정일 : 2004.04.08 @iGu = 'A3' WHERE 부분 추가
ex) LOGINONOFF_STR 'A1','1234'
***********************************************************************************
***********************************************************************************
***********************************************************************************
***********************************************************************************/
AS
set nocount on
IF @iGu = 'A1' -- ON
BEGIN
UPDATE ACCOUNT_TBL_DETAIL
SET isuse = 'J', LoginTime = getdate()
WHERE account = @iaccount
RETURN
END
ELSE
IF @iGu = 'A2' -- OFF
BEGIN
UPDATE ACCOUNT_TBL_DETAIL
SET isuse = 'O', LoginTime = getdate()
WHERE account = @iaccount
RETURN
END
ELSE
IF @iGu = 'A3' -- ALL OFF
BEGIN
UPDATE ACCOUNT_TBL_DETAIL
SET isuse = 'O'
WHERE isuse = 'J'
RETURN
END
set nocount off
GO
/****** Object: StoredProcedure [dbo].[uspAddNewAccount] Script Date: 05/19/2012 23:39:17 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/*
uspAddNewAccount 'gtst5', 'qordnjs', 1
LOGIN_STR 'gtst1', 'gtst5', ''
declare @
Int int, @
account varchar(32)
set @
Int = 2
while @
Int <= 15
begin
set @
account = 'gtst' + cast @
Int as varchar(3))
EXEC dbo.uspAddNewAccount @
account, '0000', 1
set @
Int = @
Int + 1
end
EXEC dbo.uspAddNewAccount gtst1, '0000', 1
select * from ACCOUNT_TBL
--delete ACCOUNT_TBL
where left(account,4) = 'gtst'
select * from ACCOUNT_TBL_DETAIL
--delete ACCOUNT_TBL_DETAIL
where left(account,4) = 'gtst'
cf20335dc6ac19a162d225c4d9948e4e
DELETE FROM ACCOUNT_TBL
DELETE FROM ACCOUNT_TBL_DETAIL
UPDATE ACCOUNT_TBL SET password=lower(password)
SELECT * FROM ACCOUNT_TBL
SELECT * FROM ACCOUNT_TBL_DETAIL
*/
CREATE PROCEDURE [dbo].[uspAddNewAccount]
@paccount varchar(32),
@ppassword varchar(32),
@Authority char(1)
AS
SET NOCOUNT ON
DECLARE @
MD5password char(32)
DECLARE @input_password varchar(50)
declare @id_no1 char(6)
set @
MD5password = ''
IF EXISTS ( SELECT account FROM ACCOUNT_TBL WHERE account=@paccount ) BEGIN
SELECT fError='1'
END
ELSE BEGIN
if @Authority = '1'
begin
set @id_no1 = 'a00000'
set @Authority = 'P'
end
else
begin
set @id_no1 = ''
set @Authority = 'F'
end
INSERT INTO ACCOUNT_TBL(account, password, isuse, member, id_no1, id_no2, realname)
VALUES (@paccount, lower @
MD5password), 'T', 'A', @id_no1, '', '')
IF @@ROWCOUNT=0 BEGIN
SELECT fError='2'
RETURN
END
INSERT INTO ACCOUNT_TBL_DETAIL(account, gamecode, tester, m_chLoginAuthority, regdate, BlockTime, EndTime, WebTime, isuse, secession)
VALUES (@paccount, 'A000', '2', @Authority, getdate(), '20060101', '20501231', '20060101', 'T', NULL)
IF @@ROWCOUNT=0 BEGIN
SELECT fError='3'
RETURN
END
SELECT fError='10'
END
RETURN
SET NOCOUNT OFF
GO
/****** Object: StoredProcedure [dbo].[USP_PCZoneIP_Check] Script Date: 05/19/2012 23:39:17 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/*
declare @o_Grade tinyint
exec dbo.USP_PCZoneIP_Check '218.38.238.131', @o_Grade output
select @o_Grade
exec LOGIN_STR 'chipi', '85158c7b8a7f3113b0f32b70ed936b2c', '127.0.0.0'
*/
CREATE proc [dbo].[USP_PCZoneIP_Check]
@i_IPAddress varchar(15)
, @o_Grade tinyint output
as
set nocount on
set transaction isolation level read uncommitted
declare @i_IP1 tinyint
declare @i_IP2 tinyint
declare @i_IP3 tinyint
declare @i_IP4 tinyint
declare @
Index int
--@i_IP1
set @
Index = charindex('.', @i_IPAddress)
set @i_IP1 = left(@i_IPAddress, @
Index-1)
set @i_IPAddress = right(@i_IPAddress, len(@i_IPAddress) @
Index)
--@i_IP2
set @
Index = charindex('.', @i_IPAddress)
set @i_IP2 = left(@i_IPAddress, @
Index-1)
set @i_IPAddress = right(@i_IPAddress, len(@i_IPAddress) @
Index)
--@i_IP3, @i_IP4
set @
Index = charindex('.', @i_IPAddress)
set @i_IP3 = left(@i_IPAddress, @
Index-1)
set @i_IP4 = right(@i_IPAddress, len(@i_IPAddress) @
Index)
--PCZoneIP_Check
select @o_Grade = b.Grade
from PCZoneIP a
inner join PCZone b
on a.PCZoneID = b.PCZoneID
where IsUse in (1, 9)
and IPFrom1 = @i_IP1
and IPFrom2 = @i_IP2
and IPFrom3 = @i_IP3
and IPFrom4 <= @i_IP4 and IPTo4 >= @i_IP4
select @o_Grade = isnull(@o_Grade, 0)
GO
/****** Object: StoredProcedure [dbo].[LOGIN_STR] Script Date: 05/19/2012 23:39:17 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROC [dbo].[LOGIN_STR]
@iaccount VARCHAR(32),
@ipassword VARCHAR(32),
@i_IPAddress varchar(15) = '0.0.0.0'
AS
SET NOCOUNT ON
--PCZoneIP_Check
declare @o_Grade tinyint
exec dbo.USP_PCZoneIP_Check @i_IPAddress, @o_Grade output
IF EXISTS(SELECT a.account FROM ACCOUNT_TBL a,ACCOUNT_TBL_DETAIL b
WHERE a.account = b.account AND a.account = @iaccount AND b.gamecode = 'A000')
BEGIN
DECLARE @currdate CHAR(8), @currdate1 CHAR(4), @currdate2 CHAR(4)
IF EXISTS(SELECT account FROM ACCOUNT_TBL WHERE account = @iaccount AND password = @ipassword )
BEGIN
SELECT @currdate = CONVERT(CHAR(8),GETDATE(),112)
SELECT @currdate1 = CONVERT(CHAR(4), DATEADD(Year,-12,GETDATE()),112)
SELECT @currdate2 = CONVERT(CHAR(4), DATEADD(Year,-14,GETDATE()),112)
SELECT fError = CASE WHEN a.reload = 'T'
THEN '9'
WHEN b.BlockTime >= @currdate or b.EndTime < @currdate
THEN '3'
WHEN a.id_no1 = 'a00000'
THEN '0'
ELSE '0'
END,
fText = CASE WHEN a.reload = 'T'
THEN 'Current Data Update User'
WHEN b.BlockTime >= @currdate or b.EndTime < @currdate
THEN 'Account Block or Expired payment'
WHEN a.id_no1 = 'a00000'
THEN 'GM or Press'
ELSE 'Normal user'
END,
f18 = CASE WHEN a.id_no1 = 'a00000'
THEN '1'
ELSE '0'
END,
fCheck = b.tester,
fPCZone = @o_Grade
FROM ACCOUNT_TBL a, ACCOUNT_TBL_DETAIL b
WHERE a.account = b.account
AND b.account = @iaccount
AND a.password = @ipassword
END
ELSE BEGIN
SELECT fError = '1', fText = 'Wrong Password',fCheck = '', fPCZone = '0'
END
END
ELSE BEGIN
SELECT fError = '2', fText = 'Account not exist',fCheck = '', fPCZone = '0'
END
RETURN
-- Error Rule
-- 1. (fError=0 return) GM & Press
-- 2. (fError=1 return) Wrong Password.
-- 3. (fError=2 return) Account not exist
-- 4. (fError=3 return) Account Block or Expired payment
-- 5. (fError=4 return) for korea
-- 6. (fError=5 return) for korea
-- 7. (fError=6 return) for korea
-- 8. (fError=7 return) Withdraw Account
-- 9. (fError=0 return) Normal user
--tester
--5 CBT user
--7 NetCafe user
SET NOCOUNT OFF
GO
/****** Object: Default [DF_ACCOUNT_TBL_isuse] Script Date: 05/19/2012 23:39:18 ******/
ALTER TABLE [dbo].[ACCOUNT_TBL] ADD CONSTRAINT [DF_ACCOUNT_TBL_isuse] DEFAULT ('T') FOR [isuse]
GO
/****** Object: Default [DF_ACCOUNT_TBL_member] Script Date: 05/19/2012 23:39:18 ******/
ALTER TABLE [dbo].[ACCOUNT_TBL] ADD CONSTRAINT [DF_ACCOUNT_TBL_member] DEFAULT ('A') FOR [member]
GO
/****** Object: Default [DF_ACCOUNT_TBL_realname] Script Date: 05/19/2012 23:39:18 ******/
ALTER TABLE [dbo].[ACCOUNT_TBL] ADD CONSTRAINT [DF_ACCOUNT_TBL_realname] DEFAULT ('F') FOR [realname]
GO
/****** Object: Default [DF_ACCOUNT_DETAIL_gamecode] Script Date: 05/19/2012 23:39:18 ******/
ALTER TABLE [dbo].[ACCOUNT_TBL_DETAIL] ADD CONSTRAINT [DF_ACCOUNT_DETAIL_gamecode] DEFAULT ('A000') FOR [gamecode]
GO
/****** Object: Default [DF_ACCOUNT_DETAIL_m_chLoginAuthority] Script Date: 05/19/2012 23:39:18 ******/
ALTER TABLE [dbo].[ACCOUNT_TBL_DETAIL] ADD CONSTRAINT [DF_ACCOUNT_DETAIL_m_chLoginAuthority] DEFAULT ('F') FOR [m_chLoginAuthority]
GO
/****** Object: Default [DF_ACCOUNT_DETAIL_regdate] Script Date: 05/19/2012 23:39:18 ******/
ALTER TABLE [dbo].[ACCOUNT_TBL_DETAIL] ADD CONSTRAINT [DF_ACCOUNT_DETAIL_regdate] DEFAULT (getdate()) FOR [regdate]
GO
/****** Object: Default [DF_ACCOUNT_DETAIL_isuse] Script Date: 05/19/2012 23:39:18 ******/
ALTER TABLE [dbo].[ACCOUNT_TBL_DETAIL] ADD CONSTRAINT [DF_ACCOUNT_DETAIL_isuse] DEFAULT ('T') FOR [isuse]
GO
/****** Object: Default [DF_PCZone_Grade] Script Date: 05/19/2012 23:39:18 ******/
ALTER TABLE [dbo].[PCZone] ADD CONSTRAINT [DF_PCZone_Grade] DEFAULT ((1)) FOR [Grade]
GO
/****** Object: Default [DF_PCZone_Account] Script Date: 05/19/2012 23:39:18 ******/
ALTER TABLE [dbo].[PCZone] ADD CONSTRAINT [DF_PCZone_Account] DEFAULT ('') FOR [Account]
GO
/****** Object: Default [DF_PCZone_RegDate] Script Date: 05/19/2012 23:39:18 ******/
ALTER TABLE [dbo].[PCZone] ADD CONSTRAINT [DF_PCZone_RegDate] DEFAULT (getdate()) FOR [RegDate]
GO
/****** Object: Default [DF_PCZoneIP_IsUse] Script Date: 05/19/2012 23:39:18 ******/
ALTER TABLE [dbo].[PCZoneIP] ADD CONSTRAINT [DF_PCZoneIP_IsUse] DEFAULT ((0)) FOR [IsUse]
GO
/****** Object: Default [DF_PCZoneIP_RegDate] Script Date: 05/19/2012 23:39:18 ******/
ALTER TABLE [dbo].[PCZoneIP] ADD CONSTRAINT [DF_PCZoneIP_RegDate] DEFAULT (getdate()) FOR [RegDate]
GO
/****** Object: ForeignKey [FK_iCafeIP_iCafeInfo1] Script Date: 05/19/2012 23:39:18 ******/
ALTER TABLE [dbo].[PCZoneIP] WITH CHECK ADD CONSTRAINT [FK_iCafeIP_iCafeInfo1] FOREIGN KEY([PCZoneID])
REFERENCES [dbo].[PCZone] ([PCZoneID])
GO
ALTER TABLE [dbo].[PCZoneIP] CHECK CONSTRAINT [FK_iCafeIP_iCafeInfo1]
GO