LosaDev source snapshot 2019

This commit is contained in:
LosaDev committed 2026-11-07 13:30:45 +07:00
commit c198676e97
20588 files changed
+8812878

No files matched your search

+69
View File
@@ -0,0 +1,69 @@
USE [msdb]
GO
/****** Object: Job [05:00_game_pcbang_playtime] Script Date: 01/20/2018 11:54:28 ******/
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
/****** Object: JobCategory [[Uncategorized (Local)]]] Script Date: 01/20/2018 11:54:28 ******/
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1)
BEGIN
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
END
DECLARE @jobId BINARY(16)
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'05:00_game_pcbang_playtime',
@enabled=1,
@notify_level_eventlog=0,
@notify_level_email=0,
@notify_level_netsend=0,
@notify_level_page=0,
@delete_level=0,
@description=N'하루전 PC방 플레이시간과 참여유저수에 따른 보너스 캐쉬 지급',
@category_name=N'[Uncategorized (Local)]',
@owner_login_name=N'lstggame', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object: Step [하루전 PC방플레이 캐쉬지급] Script Date: 01/20/2018 11:54:28 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'하루전 PC방플레이 캐쉬지급',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'TSQL',
@command=N'EXEC game_PCBangPlayTime_Reward',
@database_name=N'LosaGame',
@flags=4
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'PC방 플레이실행',
@enabled=1,
@freq_type=4,
@freq_interval=1,
@freq_subday_type=1,
@freq_subday_interval=0,
@freq_relative_interval=0,
@freq_recurrence_factor=0,
@active_start_date=20180124,
@active_end_date=99991231,
@active_start_time=50000,
@active_end_time=235959,
@schedule_uid=N'53272898-f46a-4e97-8cfe-c19ffa90cec6'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:
GO
@@ -0,0 +1,76 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_ADD] Script Date: 11/08/2017 10:09:35 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_PCBangPlayTime_ADD]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_PCBangPlayTime_ADD]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_ADD] Script Date: 11/08/2017 10:09:35 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_PCBangPlayTime_ADD','P') IS NOT NULL
--
-- DROP PROC dbo.game_PCBangPlayTime_ADD
--
--GO
-- =============================================
-- Subject : dbo.game_PCBangPlayTime_ADD
-- DBA :
-- DATE : 2015-06-17
-- Description : PCBang 플레이 타임
-- =============================================
CREATE PROCEDURE [dbo].[game_PCBangPlayTime_ADD]
@ACCOUNT_IDX INT, -- 유저 인덱스
@PCBangIndex INT -- PC방 인덱스
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
DECLARE @nReturn INT
SET @nReturn=0 -- True
declare @CurrentDate NVARCHAR(10)
SET @CurrentDate = CONVERT(NVARCHAR(10), GetDate(), 112)
BEGIN TRAN
IF (EXISTS(SELECT * FROM dbo.userPCBangPlayTimeDB WITH (NOLOCK) WHERE AccountIDX = @ACCOUNT_IDX ANd PCBangDate = @CurrentDate))
BEGIN
IF (EXISTS(SELECT * FROM dbo.userPCBangPlayTimeDB WITH (NOLOCK) WHERE AccountIDX = @ACCOUNT_IDX AND PCBangIndex = @PCBangIndex ANd PCBangDate = @CurrentDate))
BEGIN
UPDATE dbo.userPCBangPlayTimeDB
SET PCBangPlayTime = PCBangPlayTime + 1
WHERE AccountIDX = @ACCOUNT_IDX AND PCBangIndex = @PCBangIndex ANd PCBangDate = @CurrentDate
END
END
ELSE
BEGIN
INSERT INTO dbo.userPCBangPlayTimeDB (AccountIDX, PCBangIndex, PCBangDate, PCBangPlayTime)
VALUES ( @ACCOUNT_IDX, @PCBangIndex, @CurrentDate, 1);
END
IF (@@ROWCOUNT = 0) or (@@ERROR <> 0)
BEGIN
SELECT -1;
ROLLBACK TRAN
RETURN;
END
COMMIT TRAN
SELECT 1;
RETURN;
@@ -0,0 +1,57 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_My_RewardList] Script Date: 01/18/2018 12:57:10 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_PCBangPlayTime_My_RewardList]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_PCBangPlayTime_My_RewardList]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_My_RewardList] Script Date: 01/18/2018 12:57:10 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_PCBangPlayTime_My_RewardList','P') IS NOT NULL
--
-- DROP PROC dbo.game_PCBangPlayTime_My_RewardList
--
--GO
-- =============================================
-- Subject : dbo.game_PCBangPlayTime_My_RewardList
-- DBA :
-- DATE : 2015-06-17
-- Description : ÈÆ·Ã µ¥ÀÌÅÍ »ý¼º
-- =============================================
CREATE PROCEDURE [dbo].[game_PCBangPlayTime_My_RewardList]
@ACCOUNT_IDX INT
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
SELECT PCBangDate
, AccountIDX
, PCBangCount
, PCBangBonusCash
FROM LosaGame.dbo.userPCBangPregentDB WITH (READUNCOMMITTED)
WHERE AccountIDX = @ACCOUNT_IDX
GO
@@ -0,0 +1,56 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_PCBangList] Script Date: 01/23/2018 16:51:50 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_PCBangPlayTime_PCBangList]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_PCBangPlayTime_PCBangList]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_PCBangList] Script Date: 01/23/2018 16:51:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_PCBangPlayTime_PCBangList','P') IS NOT NULL
--
-- DROP PROC dbo.game_PCBangPlayTime_PCBangList
--
--GO
-- =============================================
-- Subject dbo.game_PCBangPlayTime_PCBangList
-- DBA
-- DATE 2014-03-03
-- Description PC¹æÇ÷¹ÀÌŸÀÓ¸®½ºÆ®
-- =============================================
CREATE PROCEDURE [dbo].[game_PCBangPlayTime_PCBangList]
@PCBangIDX INT,
@SearchDate NVARCHAR(16)
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
DECLARE @Date NVARCHAR(10)
SET @Date = replace(@SearchDate, '-', '')
SELECT PCBangDate
,PCBangIndex
,AccountIDX
,PCBangPlayTime
FROM LosaGame.dbo.userPCBangPlayTimeDB WITH (READUNCOMMITTED)
WHERE PCBangIndex = @PCBangIDX AND PCBangDate = @Date AND PCBangPlayTime >= 60
GO
@@ -0,0 +1,85 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_Reward] Script Date: 2018-01-12 오전 10:31:38 ******/
DROP PROCEDURE [dbo].[game_PCBangPlayTime_Reward]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_Reward] Script Date: 2018-01-12 오전 10:31:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_PCBangPlayTime_Reward','P') IS NOT NULL
--
-- DROP PROC dbo.game_PCBangPlayTime_Reward
--
--GO
-- =============================================
-- Subject : dbo.game_PCBangPlayTime_Reward
-- DBA :
-- DATE : 2015-06-17
-- Description : 훈련 데이터 생성
-- =============================================
CREATE PROCEDURE [dbo].[game_PCBangPlayTime_Reward]
AS
BEGIN
DECLARE @LimitTime INT = 30
DECLARE @DateTime NVARCHAR(10) = CONVERT(NVARCHAR(10), GetDate()-1, 112)
DECLARE @sendIDX int, @receiveIDX int
SET @sendIDX = (
SELECT accountIDX
FROM [LosaGame].dbo.userMemberDB WITH(NOLOCK)
WHERE nickName='개발자K'
)
IF (@sendIDX IS NULL)
BEGIN
SET @sendIDX = (
SELECT accountIDX
FROM [LosaGame].dbo.userMemberDB WITH(NOLOCK)
WHERE nickName='DeveloperK'
)
END
INSERT INTO LosaGame.dbo.userPCBangPregentDB(PCBangDate, AccountIDX, PCBangCount, PCBangBonusCash)
SELECT PCBangDate, AccountIDX, max(PCBangIndexCount.PCBangCount), max(presentGold)
FROM LosaGame.dbo.userPCBangPlayTimeDB AS PPT
INNER JOIN ( SELECT PCBangIndex, count(PCBangIndex) AS PCBangCount, CASE WHEN count(PCBangIndex) >= 5 THEN 1250
WHEN count(PCBangIndex) >= 4 THEN 750
WHEN count(PCBangIndex) >= 3 THEN 450
WHEN count(PCBangIndex) >= 2 THEN 250
ELSE 100
END AS presentGold FROM LosaGame.dbo.userPCBangPlayTimeDB
WHERE AccountIDX NOT IN (SELECT AccountIDX FROM [LosaGame].[dbo].[userMemberDB] WHERE limitType = 100 AND limitDate > Getdate())
AND PCBangPlayTime >= 60 AND PCBangDate = @DateTime
GROUP by PCBangDate, PCBangIndex) AS PCBangIndexCount
ON PCBangIndexCount.PCBangIndex = PPT.PCBangIndex
WHERE PCBangDate = @DateTime
Group By PCBangDate, PPT.AccountIDX
INSERT INTO LosaGame.dbo.userPresentDB
(
sendIDX, receiveIDX, presentType, value1, value2, value3, value4, msgType, flag, limitDate, regDate
)
SELECT @sendIDX, AccountIDX, 13, PCBangBonusCash, 72, 0, 0, 1132, 0, GETDATE() + 3, Getdate()
FROM LosaGame.dbo.userPCBangPregentDB
WHERE PCBangDate = @DateTime
END
GO
@@ -0,0 +1,118 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_Reward] Script Date: 2018-01-12 오전 10:31:38 ******/
DROP PROCEDURE [dbo].[game_PCBangPlayTime_Reward]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_Reward] Script Date: 2018-01-12 오전 10:31:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_PCBangPlayTime_Reward','P') IS NOT NULL
--
-- DROP PROC dbo.game_PCBangPlayTime_Reward
--
--GO
-- =============================================
-- Subject : dbo.game_PCBangPlayTime_Reward
-- DBA :
-- DATE : 2015-06-17
-- Description : 훈련 데이터 생성
-- =============================================
CREATE PROCEDURE [dbo].[game_PCBangPlayTime_Reward]
AS
BEGIN
DECLARE @LimitTime INT = 30
DECLARE @DateTime NVARCHAR(10) = CONVERT(NVARCHAR(10), GetDate(), 112)
DECLARE @sendIDX int, @receiveIDX int
SET @sendIDX = (
SELECT accountIDX
FROM [LosaGame].dbo.userMemberDB WITH(NOLOCK)
WHERE nickName='개발자K'
)
IF (@sendIDX IS NULL)
BEGIN
SET @sendIDX = (
SELECT accountIDX
FROM [LosaGame].dbo.userMemberDB WITH(NOLOCK)
WHERE nickName='DeveloperK'
)
END
DECLARE @PCbangIndex int = 0, @PCBangCount int = 0
DECLARE PCBangPlayTime CURSOR FOR
SELECT PCBangIndex, count(PCBangIndex) AS PCBangCount FROM LosaGame.dbo.userPCBangPlayTimeDB
WHERE AccountIDX NOT IN (SELECT AccountIDX FROM [LosaGame].[dbo].[userMemberDB] WHERE limitType = 100 AND limitDate > Getdate())
AND PCBangPlayTime >= 30 AND PCBangDate = @DateTime
GROUP by PCBangDate, PCBangIndex ORDER BY PCBangDate, PCBangIndex
OPEN PCBangPlayTime
FETCH NEXT FROM PCBangPlayTime INTO @PCbangIndex , @PCBangCount
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT PCBangDate, AccountIDX, @PCBangCount AS PCBangcount,
CASE WHEN @PCBangCount >= 5 THEN 500
WHEN @PCBangCount >= 4 THEN 300
WHEN @PCBangCount >= 3 THEN 200
WHEN @PCBangCount >= 2 THEN 150
ELSE 100
END AS presentGold
FROM LosaGame.dbo.userPCBangPlayTimeDB
WHERE AccountIDX NOT IN (SELECT AccountIDX FROM [LosaGame].[dbo].[userMemberDB] WHERE limitType = 100 AND limitDate > Getdate())
AND PCBangPlayTime >= 30 AND PCBangDate = @DateTime AND PCBangIndex = @PCbangIndex
MERGE LosaGame.dbo.userPCBangPregentDB AS Target
USING (SELECT PCBangDate, AccountIDX, @PCBangCount AS PCBangcount,
CASE WHEN @PCBangCount >= 5 THEN 500
WHEN @PCBangCount >= 4 THEN 300
WHEN @PCBangCount >= 3 THEN 200
WHEN @PCBangCount >= 2 THEN 150
ELSE 100
END AS presentGold
FROM LosaGame.dbo.userPCBangPlayTimeDB
WHERE AccountIDX NOT IN (SELECT AccountIDX FROM [LosaGame].[dbo].[userMemberDB] WHERE limitType = 100 AND limitDate > Getdate())
AND PCBangPlayTime >= 30 AND PCBangDate = @DateTime AND PCBangIndex = @PCbangIndex) AS Source
ON (Target.AccountIDX = Source.AccountIDX AND Target.PCBangDate = Source.PCBangDate)
WHEN MATCHED AND Target.PCBangcount < Source.PCBangcount THEN
UPDATE SET Target.PCBangCount = Source.PCBangcount, Target.PCBangBonusCash = Source.presentGold
WHEN NOT MATCHED BY TARGET THEN
INSERT (PCBangDate, AccountIDX, PCBangCount, PCBangBonusCash)
VALUES (Source.PCBangDate, Source.AccountIDX, Source.PCBangcount, Source.presentGold)
OUTPUT $action, Inserted.*, Deleted.*;
-- 커서를다음칸으로이동시킨다.
FETCH NEXT FROM PCBangPlayTime INTO @PCbangIndex , @PCBangCount
END
CLOSE PCBangPlayTime
DEALLOCATE PCBangPlayTime
INSERT INTO LosaGame.dbo.userPresentDB
(
sendIDX, receiveIDX, presentType, value1, value2, value3, value4, msgType, flag, limitDate, regDate
)
SELECT @sendIDX, AccountIDX, 13, PCBangBonusCash, 7, 0, 0, 1132, 0, GETDATE() + 7, Getdate()
FROM LosaGame.dbo.userPCBangPregentDB
WHERE PCBangDate = @DateTime
END
GO
@@ -0,0 +1,52 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_mylist] Script Date: 2017-12-07 오후 6:59:20 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_PCBangPlayTime_mylist]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_PCBangPlayTime_mylist]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_mylist] Script Date: 2017-12-07 오후 6:59:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_PCBangPlayTime_mylist','P') IS NOT NULL
--
-- DROP PROC dbo.game_PCBangPlayTime_mylist
--
--GO
-- =============================================
-- Subject dbo.game_PCBangPlayTime_mylist
-- DBA
-- DATE 2014-03-03
-- Description PC방플레이타임리스트
-- =============================================
CREATE PROCEDURE [dbo].[game_PCBangPlayTime_mylist]
@ACCOUNT_IDX INT
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
SELECT PCBangDate
,PCBangIndex
,AccountIDX
,PCBangPlayTime
FROM LosaGame.dbo.userPCBangPlayTimeDB WITH (READUNCOMMITTED)
WHERE AccountIDX = @ACCOUNT_IDX AND PCBangPlayTime >= 60
GO
@@ -0,0 +1,39 @@
USE [LosaGame]
GO
/****** Object: Table [dbo].[userPCBangPlayTimeDB] Script Date: 2017-11-13 ¿ÀÀü 10:16:55 ******/
DROP TABLE [dbo].[userPCBangPlayTimeDB]
GO
/****** Object: Table [dbo].[userPCBangPlayTimeDB] Script Date: 2017-11-13 ¿ÀÀü 10:16:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[userPCBangPlayTimeDB](
[PCBangDate][NVARCHAR](10) NOT NULL,
[PCBangIndex] [int] NOT NULL,
[AccountIDX] [int] NOT NULL,
[PCBangPlayTime] [int] NOT NULL,
CONSTRAINT [PK_userPCBangPlayTimeDB] PRIMARY KEY CLUSTERED
(
[PCBangDate] ASC,
[AccountIDX] 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
ALTER TABLE [dbo].[userPCBangPlayTimeDB] ADD CONSTRAINT [DF__userPCBangDate__4AE30379] DEFAULT (('')) FOR [PCBangDate]
GO
ALTER TABLE [dbo].[userPCBangPlayTimeDB] ADD CONSTRAINT [DF__userPCBangIndex__4BD727B2] DEFAULT ((0)) FOR [PCBangIndex]
GO
ALTER TABLE [dbo].[userPCBangPlayTimeDB] ADD CONSTRAINT [DF__userAccountIDX__4BD727B2] DEFAULT ((0)) FOR [AccountIDX]
GO
ALTER TABLE [dbo].[userPCBangPlayTimeDB] ADD CONSTRAINT [DF__userPCBangPlayTime__4BD727B2] DEFAULT ((0)) FOR [PCBangPlayTime]
GO
@@ -0,0 +1,39 @@
USE [LosaGame]
GO
/****** Object: Table [dbo].[userPCBangPregentDB] Script Date: 2017-11-13 ¿ÀÀü 10:16:55 ******/
DROP TABLE [dbo].[userPCBangPregentDB]
GO
/****** Object: Table [dbo].[userPCBangPregentDB] Script Date: 2017-11-13 ¿ÀÀü 10:16:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[userPCBangPregentDB](
[PCBangDate][NVARCHAR](10) NOT NULL,
[AccountIDX] [int] NOT NULL,
[PCBangCount] [int] NOT NULL,
[PCBangBonusCash] [int] NOT NULL,
CONSTRAINT [PK_userPCBangPregentDB] PRIMARY KEY CLUSTERED
(
[PCBangDate] ASC,
[AccountIDX] 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
ALTER TABLE [dbo].[userPCBangPregentDB] ADD CONSTRAINT [DF__userPCBangPgtDate__4AE30379] DEFAULT (('')) FOR [PCBangDate]
GO
ALTER TABLE [dbo].[userPCBangPregentDB] ADD CONSTRAINT [DF__userrPCBangPgtAccountIDX__4BD727B2] DEFAULT ((0)) FOR [AccountIDX]
GO
ALTER TABLE [dbo].[userPCBangPregentDB] ADD CONSTRAINT [DF__userPCBangPgtIndex__4BD727B2] DEFAULT ((0)) FOR [PCBangCount]
GO
ALTER TABLE [dbo].[userPCBangPregentDB] ADD CONSTRAINT [DF__userPCBangBonusCash__4BD727B2] DEFAULT ((0)) FOR [PCBangBonusCash]
GO