zoukankan      html  css  js  c++  java
  • 代理返点存储过程

    ALTER PROC [dbo].[CalcRebate](
        @GameID nvarchar(50),
        @UserID nvarchar(50),
        @TAX DECIMAL(18,2)
      )
      As
      BEGIN
        --DECLARE @TAX DECIMAL(18,2)                        --税
        DECLARE @RATE INT                                --玩家的上级代理的返点比例
        DECLARE @PRATE INT                                --玩家的上级玩家的返点比例
        DECLARE @PUSERID NVARCHAR(50)                    --玩家的上级玩家ID
        DECLARE @MONEY_PUSER DECIMAL(18,2)                --玩家的上级玩家的返点金额
        DECLARE @CNT_AGENT_REBATE INT                    --是否给所属代理已经分成,大于0表示已经计算过
        DECLARE @CNT_USER_REBATE INT                    --是否给上级玩家已经分成,大于0表示已经计算过
        DECLARE @MONEY_AGENT DECIMAL(18,2)                --玩家的上级代理的返点金额
        DECLARE @AGENTID_TO INT                            --玩家的上级代理ID
        DECLARE @AGENTID_TO_Name NVARCHAR(50)
        DECLARE @BattleAgencyDefaultRebateRate SMALLINT    --约战代理的默认返点  给约战代理返点时,如果约战代理没有设置返点,则取默认的约战代理的默认返点
        DECLARE @MoneyBAgent DECIMAL(18,2)                --直属上级代理的变化前金额
        DECLARE @MoneyBAgent1 DECIMAL(18,2)                --总代的变化前金额
        DECLARE @MoneyBAgent2 DECIMAL(18,2)                --一级代理的变化前金额
        DECLARE @RoomType INT                            --房间类型
        DECLARE @LEVELID INT                            --代理级别 1总代 2一级代理 3二级代理
        DECLARE @RebateUserRate INT                        --代理的直属玩家的返点比例
        DECLARE @BattleAgentUserID INT                    --约战代理的UserID
        DECLARE @BattleRebateRate INT                    --约战代理的返点
        DECLARE @IsBattleAgent    INT                        --约战模式下,开房的是否是约战代理

        DECLARE @AgentID1 INT
        DECLARE @RebateRateAgent1 INT
        DECLARE @AgencyName1 NVARCHAR(50)
        DECLARE @AgentID2 INT
        DECLARE @RebateRateAgent2 INT
        DECLARE @AgencyName2 NVARCHAR(50)
        --DECLARE @MoneyChangeRate INT                    --金币兑换率
        DECLARE @AgencyMoneyChangeLogID INT

        SET @AgentID1=0
        SET @RebateRateAgent1=0
        SET @AgencyName1=''
        SET @AgentID2=0
        SET @RebateRateAgent2=0
        SET @AgencyName2=''

        --SET @Tax = 0
        SET @RATE = 0
        SET @PRATE = 0
        SET @PUSERID = 0
        SET @MONEY_PUSER = 0
        SET @CNT_AGENT_REBATE = 0
        SET @MONEY_AGENT = 0
        SET @AGENTID_TO = 0
        SET @BattleAgencyDefaultRebateRate = 0
        SET @AGENTID_TO_Name = ''
        SET @MoneyBAgent = 0
        SET @LEVELID=0
        --SET @MoneyChangeRate=10000

        SET @BattleAgentUserID=0
        SET @BattleRebateRate=0
        SET @IsBattleAgent=0

        SELECT @BattleAgencyDefaultRebateRate=[VALUE] FROM CONFIG WHERE [KEY]='BattleAgencyDefaultRebateRate'
        --SELECT @MoneyChangeRate=[VALUE] FROM Config WHERE [Key]='MoneyChangeRate'
        --SELECT @TAX=TAX FROM [GamePlayer_Log] WHERE GAMEID=@GameID AND AddGold>0 AND Tax>0
        IF (@TAX = 0)
            RETURN

        /*SET @RoomType=0
        SELECT @RoomType=RoomType FROM [dbo].[RoomConfig] WHERE AgentName+Name=(SELECT RoomName FROM GameRecord WHERE GameID=@GameID AND UserID=@UserID)

        IF @RoomType=2
        BEGIN
            --约战代理开房 是否约战,约战只给约战代理返点
            --普通玩家开房 不扣费 不返点
            DECLARE @BattleCreateRoomUserID INT
            SELECT @BattleCreateRoomUserID=AgentID FROM [main].[Account_new].[dbo].[Game_Record] WHERE RoomName=(SELECT RoomName FROM GameRecord WHERE GameID=@GameID AND UserID=@UserID)
            SELECT @BattleAgentUserID=@BattleCreateRoomUserID,@BattleRebateRate=BattleRebateRate,@IsBattleAgent=IsBattleAgency FROM [AccountExt] WHERE UserID=@BattleCreateRoomUserID
            IF @IsBattleAgent<>0
            BEGIN
                --约战代理开的房间
                IF (@BattleRebateRate IS NULL OR @BattleRebateRate=0) AND (@BattleAgencyDefaultRebateRate IS NOT NULL)
                    SET @BattleRebateRate=@BattleAgencyDefaultRebateRate

                SET @MONEY_AGENT=@TAX*@BattleRebateRate/100
                SELECT @CNT_AGENT_REBATE=COUNT(*) FROM REBATE WHERE GAMEID=@GAMEID AND USERID=@USERID AND [TYPE]=2 AND TOID=@BattleAgentUserID

                IF @CNT_AGENT_REBATE=0
                    INSERT INTO REBATE(GAMEID,USERID,[TYPE],TOID,REBATE,REBATETIME,IsBalanced) VALUES(@GAMEID,@USERID,2,@BattleAgentUserID,@MONEY_AGENT,GETDATE(),0)--代理直接结算,不需要管理员手动结算
                ELSE
                    UPDATE REBATE SET REBATE=@MONEY_AGENT,REBATETIME=GETDATE() WHERE GAMEID=@GAMEID AND USERID=@USERID AND [TYPE]=2 AND TOID=@BattleAgentUserID
                UPDATE ACCOUNTEXT SET REBATE=(SELECT SUM(REBATE) FROM REBATE WHERE ISBALANCED=0 AND TYPE=2 AND TOID=@BattleAgentUserID) WHERE USERID=@BattleAgentUserID
            END
            ELSE
            BEGIN
                --普通玩家开的房间
                PRINT 'norebate for normal player'
            END
        END
        ELSE*/
        BEGIN
            --非约战
            --SELECT @AGENTID_TO=AGENCYIDBELONGSTO FROM ACCOUNTEXT WHERE USERID=@USERID
            DECLARE @AGENTIDORNAME AS NVARCHAR(50)
            SELECT @AGENTIDORNAME=ISNULL(AGENTID, '') FROM [Account_new].dbo.[Account] WHERE USERID=@USERID
            IF ISNUMERIC(@AGENTIDORNAME) = 1--数字
            BEGIN
                SET @AGENTID_TO=CONVERT(INTEGER,@AGENTIDORNAME)
            END ELSE
            BEGIN
                SELECT @AGENTID_TO=AGENCYID FROM WEB_AGENCY WHERE AgencyName=@AGENTIDORNAME
            END
                
            IF @AGENTID_TO=0 OR NOT EXISTS(SELECT * FROM Web_Agency WHERE AgencyID = @AGENTID_TO)
            BEGIN
                SELECT @AGENTID_TO=AGENCYID FROM WEB_AGENCY WHERE AGENCYNAME=(SELECT [VALUE] FROM CONFIG WHERE [KEY]='DefaultAgency')
            END
            
            BEGIN TRAN
            IF (@AGENTID_TO>0)
            BEGIN
                SELECT @RATE=REBATEPERCENT,@MoneyBAgent=[Account],@AGENTID_TO_Name=AgencyName,@LEVELID=LEVELID,@RebateUserRate=RebateUserPercent FROM WEB_AGENCY WHERE AGENCYID=@AGENTID_TO
            END

            IF (@RATE>0 AND @AGENTID_TO>0)
            BEGIN
                --返点给推广代理
                IF @LEVELID=1
                BEGIN
                    -- 1 总代直属玩家
                    -- 2 总代的直属玩家直接返点给总代的35%                
                    SELECT @CNT_AGENT_REBATE=COUNT(*) FROM REBATE WHERE GAMEID=@GAMEID AND USERID=@USERID AND [TYPE]=0 AND TOID=@AGENTID_TO
                    SELECT @AgentID1=AgencyID,@RebateRateAgent1=RebatePercent,@AgencyName1=AgencyName,@MoneyBAgent1=[Account] FROM Web_Agency WHERE AgencyID=@AGENTID_TO
                    SET @MONEY_AGENT=@TAX*@RebateRateAgent1/100
                    IF @CNT_AGENT_REBATE=0
                    BEGIN
                        UPDATE Web_Agency SET Rebate=Rebate+@MONEY_AGENT WHERE AgencyID=@AGENTID_TO
                        UPDATE Web_Agency SET [Account]=[Account]+@MONEY_AGENT WHERE AgencyID=@AGENTID_TO
                        INSERT INTO [Web_AgencyMoneyChangeLog](AgencyID,AgencyName,MoneyB,ChangeMoney,MoneyA,OperaType,TypeDesc,AddTime,Remark) VALUES(@AGENTID_TO,@AGENTID_TO_Name,@MoneyBAgent,@MONEY_AGENT,@MoneyBAgent+@MONEY_AGENT,1,'返点结算',GETDATE(),@USERID)
                        SET @AgencyMoneyChangeLogID = 0
                        SELECT @AgencyMoneyChangeLogID=@@IDENTITY
                        INSERT INTO Web_AgencyMoneyChangeLogExt([AgencyMoneyChangeLogID],[GameID],[UserID],[Tax]) VALUES (@AgencyMoneyChangeLogID,@GAMEID,@USERID,@TAX)
                    END
                    IF @CNT_AGENT_REBATE=0
                        INSERT INTO REBATE(GAMEID,USERID,[TYPE],TOID,REBATE,REBATETIME,IsBalanced,BalancedTime,BalancedBy) VALUES(@GAMEID,@USERID,0,@AGENTID_TO,@MONEY_AGENT,GETDATE(),1,GetDate(),'admin')--代理直接结算,不需要管理员手动结算
                    ELSE
                        UPDATE REBATE SET REBATE=@MONEY_AGENT,REBATETIME=GETDATE() WHERE GAMEID=@GAMEID AND USERID=@USERID AND [TYPE]=0 AND TOID=@AGENTID_TO
                END
                ELSE IF @LEVELID=2
                BEGIN
                    -- 2 一级代理直属玩家 一级代理的直属玩家返点给总代5%,返给一级代理税的30%,加起来35%
                    --获取一级代理
                    SELECT @AgentID2=AgencyID,@RebateRateAgent2=RebatePercent,@AgencyName2=AgencyName,@MoneyBAgent2=[Account] FROM Web_Agency WHERE AgencyID=@AGENTID_TO
                    IF @AgentID2 > 0
                    BEGIN
                        --获取总代
                        SELECT @AgentID1=AgencyID,@RebateRateAgent1=RebatePercent,@AgencyName1=AgencyName,@MoneyBAgent1=[Account] FROM Web_Agency WHERE AgencyID=(SELECT ParentAgencyID FROM Web_Agency WHERE AgencyID=@AgentID2)
                    END

                    --一级代理
                    SET @MONEY_AGENT=@TAX*@RebateRateAgent2/100
                    SET @CNT_AGENT_REBATE=0
                    SELECT @CNT_AGENT_REBATE=COUNT(*) FROM REBATE WHERE GAMEID=@GAMEID AND USERID=@USERID AND [TYPE]=0 AND TOID=@AgentID2
                    
                    IF @CNT_AGENT_REBATE=0
                    BEGIN
                        UPDATE Web_Agency SET Rebate=Rebate+@MONEY_AGENT WHERE AgencyID=@AgentID2
                        UPDATE Web_Agency SET [Account]=[Account]+@MONEY_AGENT WHERE AgencyID=@AgentID2
                        INSERT INTO [Web_AgencyMoneyChangeLog](AgencyID,AgencyName,MoneyB,ChangeMoney,MoneyA,OperaType,TypeDesc,AddTime,Remark) VALUES(@AgentID2,@AgencyName2,@MoneyBAgent2,@MONEY_AGENT,@MoneyBAgent2+@MONEY_AGENT,1,'返点结算',GETDATE(),@USERID)

                        SET @AgencyMoneyChangeLogID = 0
                        SELECT @AgencyMoneyChangeLogID=@@IDENTITY
                        INSERT INTO Web_AgencyMoneyChangeLogExt([AgencyMoneyChangeLogID],[GameID],[UserID],[Tax]) VALUES (@AgencyMoneyChangeLogID,@GAMEID,@USERID,@TAX)
                    END
                    IF @CNT_AGENT_REBATE=0
                        INSERT INTO REBATE(GAMEID,USERID,[TYPE],TOID,REBATE,REBATETIME,IsBalanced,BalancedTime,BalancedBy) VALUES(@GAMEID,@USERID,0,@AgentID2,@MONEY_AGENT,GETDATE(),1,GetDate(),'admin')--代理直接结算,不需要管理员手动结算
                    ELSE
                        UPDATE REBATE SET REBATE=@MONEY_AGENT,REBATETIME=GETDATE() WHERE GAMEID=@GAMEID AND USERID=@USERID AND [TYPE]=0 AND TOID=@AgentID2

                    --总代
                    SET @MONEY_AGENT=@TAX*(@RebateRateAgent1-@RebateRateAgent2)/100
                    SET @CNT_AGENT_REBATE=0
                    SELECT @CNT_AGENT_REBATE=COUNT(*) FROM REBATE WHERE GAMEID=@GAMEID AND USERID=@USERID AND [TYPE]=0 AND TOID=@AgentID1
                    IF @CNT_AGENT_REBATE=0
                    BEGIN
                        UPDATE Web_Agency SET Rebate=Rebate+@MONEY_AGENT WHERE AgencyID=@AgentID1
                        UPDATE Web_Agency SET [Account]=[Account]+@MONEY_AGENT WHERE AgencyID=@AgentID1
                        INSERT INTO [Web_AgencyMoneyChangeLog](AgencyID,AgencyName,MoneyB,ChangeMoney,MoneyA,OperaType,TypeDesc,AddTime,Remark) VALUES(@AgentID1,@AgencyName1,@MoneyBAgent1,@MONEY_AGENT,@MoneyBAgent1+@MONEY_AGENT,1,'返点结算',GETDATE(),@USERID)

                        SET @AgencyMoneyChangeLogID = 0
                        SELECT @AgencyMoneyChangeLogID=@@IDENTITY
                        INSERT INTO Web_AgencyMoneyChangeLogExt([AgencyMoneyChangeLogID],[GameID],[UserID],[Tax]) VALUES (@AgencyMoneyChangeLogID,@GAMEID,@USERID,@TAX)
                    END
                    IF @CNT_AGENT_REBATE=0
                        INSERT INTO REBATE(GAMEID,USERID,[TYPE],TOID,REBATE,REBATETIME,IsBalanced,BalancedTime,BalancedBy) VALUES(@GAMEID,@USERID,0,@AgentID1,@MONEY_AGENT,GETDATE(),1,GetDate(),'admin')--代理直接结算,不需要管理员手动结算
                    ELSE
                        UPDATE REBATE SET REBATE=@MONEY_AGENT,REBATETIME=GETDATE() WHERE GAMEID=@GAMEID AND USERID=@USERID AND [TYPE]=0 AND TOID=@AgentID1
                END
                ELSE IF @LEVELID=3
                BEGIN
                    -- 二级代理直属玩家 三级代理的玩家赢球后,返点给一二三级代理

                    --获取一级代理
                    SELECT @AgentID2=AgencyID,@RebateRateAgent2=RebatePercent,@AgencyName2=AgencyName,@MoneyBAgent2=[Account] FROM Web_Agency WHERE AgencyID=(SELECT ParentAgencyID FROM Web_Agency WHERE AgencyID=@AGENTID_TO)
                    IF @AgentID2 > 0
                    BEGIN
                        --获取总代
                        SELECT @AgentID1=AgencyID,@RebateRateAgent1=RebatePercent,@AgencyName1=AgencyName,@MoneyBAgent1=[Account] FROM Web_Agency WHERE AgencyID=(SELECT ParentAgencyID FROM Web_Agency WHERE AgencyID=@AgentID2)
                    END

                    
                    --二级代理
                    SET @MONEY_AGENT=@TAX*@RATE/100
                    SET @CNT_AGENT_REBATE=0
                    SELECT @CNT_AGENT_REBATE=COUNT(*) FROM REBATE WHERE GAMEID=@GAMEID AND USERID=@USERID AND [TYPE]=0 AND TOID=@AGENTID_TO
                    IF @CNT_AGENT_REBATE=0
                    BEGIN
                        UPDATE Web_Agency SET Rebate=Rebate+@MONEY_AGENT WHERE AgencyID=@AGENTID_TO
                        UPDATE Web_Agency SET [Account]=[Account]+@MONEY_AGENT WHERE AgencyID=@AGENTID_TO
                        INSERT INTO [Web_AgencyMoneyChangeLog](AgencyID,AgencyName,MoneyB,ChangeMoney,MoneyA,OperaType,TypeDesc,AddTime,Remark) VALUES(@AGENTID_TO,@AGENTID_TO_Name,@MoneyBAgent,@MONEY_AGENT,@MoneyBAgent+@MONEY_AGENT,1,'返点结算',GETDATE(),@USERID)

                        SET @AgencyMoneyChangeLogID = 0
                        SELECT @AgencyMoneyChangeLogID=@@IDENTITY
                        INSERT INTO Web_AgencyMoneyChangeLogExt([AgencyMoneyChangeLogID],[GameID],[UserID],[Tax]) VALUES (@AgencyMoneyChangeLogID,@GAMEID,@USERID,@TAX)
                    END

                    IF @CNT_AGENT_REBATE=0
                        INSERT INTO REBATE(GAMEID,USERID,[TYPE],TOID,REBATE,REBATETIME,IsBalanced,BalancedTime,BalancedBy) VALUES(@GAMEID,@USERID,0,@AGENTID_TO,@MONEY_AGENT,GETDATE(),1,GetDate(),'admin')--代理直接结算,不需要管理员手动结算
                    ELSE
                        UPDATE REBATE SET REBATE=@MONEY_AGENT,REBATETIME=GETDATE() WHERE GAMEID=@GAMEID AND USERID=@USERID AND [TYPE]=0 AND TOID=@AGENTID_TO


                    --一级代理
                    SET @MONEY_AGENT=@TAX*(@RebateRateAgent2-@RATE)/100
                    SET @CNT_AGENT_REBATE=0
                    SELECT @CNT_AGENT_REBATE=COUNT(*) FROM REBATE WHERE GAMEID=@GAMEID AND USERID=@USERID AND [TYPE]=0 AND TOID=@AgentID2
                    
                    IF @CNT_AGENT_REBATE=0
                    BEGIN
                        UPDATE Web_Agency SET Rebate=Rebate+@MONEY_AGENT WHERE AgencyID=@AgentID2
                        UPDATE Web_Agency SET [Account]=[Account]+@MONEY_AGENT WHERE AgencyID=@AgentID2
                        INSERT INTO [Web_AgencyMoneyChangeLog](AgencyID,AgencyName,MoneyB,ChangeMoney,MoneyA,OperaType,TypeDesc,AddTime,Remark) VALUES(@AgentID2,@AgencyName2,@MoneyBAgent2,@MONEY_AGENT,@MoneyBAgent2+@MONEY_AGENT,1,'返点结算',GETDATE(),@USERID)

                        SET @AgencyMoneyChangeLogID = 0
                        SELECT @AgencyMoneyChangeLogID=@@IDENTITY
                        INSERT INTO Web_AgencyMoneyChangeLogExt([AgencyMoneyChangeLogID],[GameID],[UserID],[Tax]) VALUES (@AgencyMoneyChangeLogID,@GAMEID,@USERID,@TAX)
                    END
                    IF @CNT_AGENT_REBATE=0
                        INSERT INTO REBATE(GAMEID,USERID,[TYPE],TOID,REBATE,REBATETIME,IsBalanced,BalancedTime,BalancedBy) VALUES(@GAMEID,@USERID,0,@AgentID2,@MONEY_AGENT,GETDATE(),1,GetDate(),'admin')--代理直接结算,不需要管理员手动结算
                    ELSE
                        UPDATE REBATE SET REBATE=@MONEY_AGENT,REBATETIME=GETDATE() WHERE GAMEID=@GAMEID AND USERID=@USERID AND [TYPE]=0 AND TOID=@AgentID2

                    --总代
                    SET @MONEY_AGENT=@TAX*(@RebateRateAgent1-@RebateRateAgent2)/100
                    SET @CNT_AGENT_REBATE=0
                    SELECT @CNT_AGENT_REBATE=COUNT(*) FROM REBATE WHERE GAMEID=@GAMEID AND USERID=@USERID AND [TYPE]=0 AND TOID=@AgentID1
                    IF @CNT_AGENT_REBATE=0
                    BEGIN
                        UPDATE Web_Agency SET Rebate=Rebate+@MONEY_AGENT WHERE AgencyID=@AgentID1
                        UPDATE Web_Agency SET [Account]=[Account]+@MONEY_AGENT WHERE AgencyID=@AgentID1
                        INSERT INTO [Web_AgencyMoneyChangeLog](AgencyID,AgencyName,MoneyB,ChangeMoney,MoneyA,OperaType,TypeDesc,AddTime,Remark) VALUES(@AgentID1,@AgencyName1,@MoneyBAgent1,@MONEY_AGENT,@MoneyBAgent1+@MONEY_AGENT,1,'返点结算',GETDATE(),@USERID)

                        SET @AgencyMoneyChangeLogID = 0
                        SELECT @AgencyMoneyChangeLogID=@@IDENTITY
                        INSERT INTO Web_AgencyMoneyChangeLogExt([AgencyMoneyChangeLogID],[GameID],[UserID],[Tax]) VALUES (@AgencyMoneyChangeLogID,@GAMEID,@USERID,@TAX)
                    END
                    IF @CNT_AGENT_REBATE=0
                        INSERT INTO REBATE(GAMEID,USERID,[TYPE],TOID,REBATE,REBATETIME,IsBalanced,BalancedTime,BalancedBy) VALUES(@GAMEID,@USERID,0,@AgentID1,@MONEY_AGENT,GETDATE(),1,GetDate(),'admin')--代理直接结算,不需要管理员手动结算
                    ELSE
                        UPDATE REBATE SET REBATE=@MONEY_AGENT,REBATETIME=GETDATE() WHERE GAMEID=@GAMEID AND USERID=@USERID AND [TYPE]=0 AND TOID=@AgentID1
                END
            END
        
            --SELECT @PUSERID=PARENTUSERID FROM ACCOUNTEXT WHERE USERID=@USERID
            SELECT @PUSERID=ISNULL(ParentID,0) FROM [Account_new].dbo.[Account] WHERE USERID=@USERID
            SELECT @PRATE=ISNULL(REBATERATE,0) FROM ACCOUNTEXT WHERE USERID=@PUSERID
            IF @PRATE=0
                SELECT @PRATE=[VALUE] FROM CONFIG WHERE [KEY]='ShareRebate'

            IF (@PRATE>0 AND @PUSERID>0)
            BEGIN    --玩家上下级
                SET @MONEY_PUSER=@TAX*@PRATE/100
                SELECT @CNT_USER_REBATE=COUNT(*) FROM REBATE WHERE GAMEID=@GAMEID AND USERID=@USERID AND [TYPE]=1 AND TOID=@PUSERID
                IF @CNT_USER_REBATE=0
                    INSERT INTO REBATE(GAMEID,USERID,[TYPE],TOID,REBATE,REBATETIME,IsBalanced) VALUES(@GAMEID,@USERID,1,@PUSERID,@MONEY_PUSER,GETDATE(),0)
                ELSE
                    UPDATE REBATE SET REBATE=@MONEY_PUSER,REBATETIME=GETDATE() WHERE GAMEID=@GAMEID AND USERID=@USERID AND [TYPE]=1 AND TOID=@PUSERID
                IF NOT EXISTS(SELECT USERID FROM ACCOUNTEXT WHERE USERID=@PUSERID)
                    INSERT INTO ACCOUNTEXT(UserID,AgencyIDBelongsTo,IsBattleAgency,BattleRebateRate,ParentUserID,Rebate,RebateRate,LastRebate,LastCountTime,LastCountAdmin,AllRebate,PaySeed)
                        SELECT a.UserID,a.AgentID AgencyIDBelongsTo,0 IsBattleAgency, (SELECT [Value] FROM CONFIG WHERE [KEY]='BattleAgencyDefaultRebateRate') BattleRebateRate, ParentId ParentUserID, (SELECT SUM(REBATE) FROM REBATE WHERE ISBALANCED=0 AND TYPE=1 AND TOID=@PUSERID) Rebate, (SELECT [Value] FROM CONFIG WHERE [KEY]='ShareRebate') RebateRate, 0 LastRebate,  
                        NULL LastCountTime, NULL LastCountAdmin, NULL AllRebate, NULL PaySeed FROM [Account_new].[dbo].[Account] a WHERE UserID=@PUSERID
                ELSE
                    UPDATE ACCOUNTEXT SET REBATE=(SELECT SUM(REBATE) FROM REBATE WHERE ISBALANCED=0 AND TYPE=1 AND TOID=@PUSERID) WHERE USERID=@PUSERID
            END

            IF @@error <> 0  --发生错误
            BEGIN
                ROLLBACK TRANSACTION  
            END
            ELSE
            BEGIN
                COMMIT TRANSACTION
            END
        END
      END

  • 相关阅读:
    iOS关于本地推送
    [转]iOS8 自动调整UITableView和UICollectionView布局
    [转]在Storyboard中使用自定义的segue类型
    iOS 判断来电状态CTCallCenter代码块不执行问题的解决
    centos 用docker搭建elasticsearch 集群
    element-ui 使用upload上传文件并解决跨域问题
    mysql 常见关键字大全和引擎的差异
    Guava---文件操作Files
    springboot这个redies 查看内存信息
    人生也要动态规划
  • 原文地址:https://www.cnblogs.com/yuanxiaoping_21cn_com/p/8782336.html
Copyright © 2011-2022 走看看