27,579
社区成员
发帖
与我相关
我的任务
分享
ALTER PROC [dbo].[P_Admin_GoldSell_OfflinePay]
@serialno varchar(50)
AS
BEGIN
DECLARE @userID VARCHAR(50);
DECLARE @status INT;
DECLARE @number DECIMAL(18,3);
DECLARE @user_Balance DECIMAL(18,3);
SELECT @userID = userID, @number = number,@status = [status] FROM fr_cus_gold_sellLog WHERE serialno = @serialno;
SELECT @user_Balance = balance_free FROM fr_customer WHERE userID = @userID ;
IF @status != 1
BEGIN
SELECT 'COMPLETED';
RETURN;
END
IF @user_Balance - @number > 0 --判断用户金币余额的65%减去要提现的金币是否大于0
BEGIN
PRINT '足额'
DECLARE @ROWCOUNT INT;
SET @ROWCOUNT = 0;
BEGIN TRAN;
UPDATE fr_cus_gold_sellLog SET [status] = 2 WHERE serialno = @serialno;
SET @ROWCOUNT = @ROWCOUNT + @@ROWCOUNT;
--UPDATE fr_customer SET balance_free = balance_free - @number WHERE userID = @userID;
--SET @ROWCOUNT = @ROWCOUNT + @@ROWCOUNT;
IF @ROWCOUNT = 1
BEGIN
COMMIT TRAN;
SELECT 1;
END
ELSE
BEGIN
ROLLBACK TRAN;
SELECT 0;
END
END
ELSE
BEGIN
UPDATE fr_cus_gold_sellLog SET [status] = 3 WHERE serialno = @serialno;
SELECT 'NOT_ENOUGH'; --金币余额卖出不足
END
END
SELECT serialno,@serialno FROM fr_cus_gold_sellLog WHERE serialno = '201505180000000001';
ALTER PROC [dbo].[P_Admin_GoldSell_OfflinePay]
@serialno varchar(50)
AS
BEGIN
DECLARE @userID VARCHAR(50);
DECLARE @status INT;
DECLARE @number DECIMAL(18,3);
DECLARE @user_Balance DECIMAL(18,3);
SELECT @serialno; --直接这样返回,在程序后台是可以alert出来这个值的。
END
SELECT @userID = userID FROM fr_cus_gold_sellLog WHERE serialno = '201505180000000001'; --@serialno
--SELECT @user_Balance = balance_free FROM fr_customer WHERE userID = @userID ;
SELECT @serialno+'----'+@userID;