CREATE PROCEDURE [dbo].[UP_NT_MB_SILKACCOUNT_UPD]
@pi_strUserID VARCHAR(50),
@pi_intBRCookieAmt MONEY,
@pi_intCookieNumber BIGINT,
@pi_strIPAddr VARCHAR(50)=NULL, --IP Address
@pi_strPayMethod INT, --(9:free cookie)
@pi_strPGCode VARCHAR(15),
@po_strErrMsg VARCHAR(256) OUTPUT,
@po_intRetVal INT OUTPUT
AS
DECLARE @v_intJID INT
DECLARE @v_intCntRow INT
DECLARE @v_intRemainSilk INT
DECLARE @v_intCnt INT
SET @pi_intBRCookieAmt = ISNULL(@pi_intBRCookieAmt,0)
SET @po_strErrMsg = ''OK''
SET @po_intRetVal = 0
IF ISNULL(@pi_strIPAddr,'''') = '''' BEGIN
SET @pi_strIPAddr = ''0.0.0.0''
END
SELECT @v_intJID = JID
FROM BRACCOUNTDB.BR_AccountDB.dbo.TB_User
WHERE strUserID = @pi_strUserID
IF @@ROWCOUNT <> 1 OR @@ERROR <> 0 BEGIN
SET @po_strErrMsg = ''Black Rogue Account search Error''
SET @po_intRetVal = 1058
RETURN
END
SELECT @v_intCntRow = COUNT(*)
FROM BRACCOUNTDB.BR_AccountDB.dbo.SK_Silk
WHERE JID = @v_intJID
IF @v_intCntRow = 1 BEGIN
UPDATE BRACCOUNTDB.BR_AccountDB.dbo.SK_Silk
SET SILK_OWN = SILK_OWN + @pi_intBRCookieAmt
WHERE JID = @v_intJID
IF @@ERROR <> 0 BEGIN
SET @po_strErrMsg = ''Black Rogue Account search Error''
SET @po_intRetVal = 1059
END
END
ELSE IF @v_intCntRow = 0 BEGIN
INSERT INTO BRACCOUNTDB.BR_AccountDB.dbo.SK_Silk(JID, SILK_OWN, SILK_GIFT, SILK_POINT)
VALUES (@v_intJID, @pi_intBRCookieAmt, 0, 0)
IF @@ROWCOUNT <> 1 OR @@ERROR <> 0 BEGIN
SET @po_strErrMsg = ''Black Rogue Account search Error''
SET @po_intRetVal = 1060
END
END
ELSE BEGIN
SET @po_strErrMsg = ''SILK Account cnt Error(MORE THAN 1)''
SET @po_intRetVal = 1061
END
SELECT @v_intRemainSilk = SILK_OWN
FROM BRACCOUNTDB.BR_AccountDB.dbo.SK_Silk
WHERE JID = @v_intJID
IF @po_intRetVal = 0 BEGIN --SILK_DB APPLICATE SUCCEED
INSERT INTO BRACCOUNTDB.BR_AccountDB.dbo.SK_SilkBuyList(USERJI D, SILK_TYPE, SILK_REASON, SILK_OFFSET, SILK_REMAIN,
ID, BUYQUANTITY, ORDERNUMBER, PGCOMPANY, PAYMETHOD,
PGUNIQUENO, AUTHNUMBER, AUTHDATE, SUBJID, SRID,
SLIPPAPER, MNGID, IP, REGDATE)
VALUES(@v_intJID, 0, 0, @pi_intBRCookieAmt, @v_intRemainSilk,
0, 1, CAST(@pi_intCookieNumber AS VARCHAR), 0, @pi_strPayMethod,
@pi_strPGCode, '''', GETDATE(), @v_intJID, '''',
'''', '''', @pi_strIPAddr, GETDATE())
END
ELSE BEGIN --SILK_DB APPLICATE FAIL
SELECT @v_intCnt = COUNT(*)
FROM TCOOKIECHARGE_ERRLOG
WHERE COOKIENO = @pi_intCookieNumber
IF @v_intCnt = 0 BEGIN
INSERT INTO TCOOKIECHARGE_ERRLOG(USERID, COOKIEAMT, COOKIENO, IPADDR, USESTATE,
COOKIETYPE, REGDATE, ERRMSG, ERRCODE, PGCODE)
VALUES(@pi_strUserID, @pi_intBRCookieAmt, @pi_intCookieNumber, @pi_strIPAddr, 0,
9, GETDATE(), @po_strErrMsg, @po_intRetVal, @pi_strPGCode )
END
END
RETURN