网狐荣耀之微星棋牌系列,NET_PW_AgentBalance存储过程源码

本文深入解析了一款棋牌游戏平台的代理结算流程,包括代理结算的存储过程、用户状态检查、佣金余额计算及银行金币更新等核心环节。通过具体代码示例,展示了如何确保结算逻辑的准确性和安全性。

许多小白 拿到棋牌源码后,很高兴,但是不知道如何使用,而且,数据库的存储过程,是加密的,并且有一两个存储过程始终没有源码,我把他们破解后,现在公布一下

USE RYTreasureDB
GO
SET ANSI_NULLS, QUOTED_IDENTIFIER ON
GO

----------------------------------------------------------------------------------------------------------------
-- 代理结算
CREATE PROCEDURE NET_PW_AgentBalance
	@dwUserID			INT,					-- 用户标识
	@strClientIP		NVARCHAR(15),			-- 操作地址
	@strErrorDescribe	NVARCHAR(127) OUTPUT	-- 输出信息
  AS


-- 属性设置
SET NOCOUNT ON

-- 基本信息
DECLARE @UserID				INT

-- 帐号状态
DECLARE @Nullity BIT
DECLARE @StunDown BIT

-- 代理信息
DECLARE @MinBalanceScore BIGINT   -- 最低结算金额

-- 执行逻辑
BEGIN
	-- 用户资料
	SELECT	@UserID=UserID,@Nullity=Nullity,@StunDown=StunDown
	FROM RYAccountsDBLink.RYAccountsDB.dbo.AccountsInfo
	WHERE UserID=@dwUserID

	-- 查询用户
	IF @UserID IS NULL
	BEGIN
		SET @strErrorDescribe= N'您的帐号不存在或者密码输入有误,请查证后再次尝试登录!'
		RETURN 1
	END

	-- 帐号禁止
	IF @Nullity<>0
	BEGIN
		SET @strErrorDescribe=N'您的帐号暂时处于冻结状态,请联系客户服务中心了解详细情况!'
		RETURN 2
	END	

	-- 帐号关闭
	IF @StunDown<>0
	BEGIN
		SET @strErrorDescribe=N'您的帐号使用了安全关闭功能,必须重新开通后才能继续使用!'
		RETURN 3
	END	

	-- -- 最小结算金额
	-- SELECT @MinBalanceScore=StatusValue FROM RYAccountsDBLink.RYAccountsDB.dbo.SystemStatusInfo WHERE StatusName='AgentBalance'
	-- IF @MinBalanceScore IS NULL
	-- BEGIN
	-- 	SET @MinBalanceScore=10
	-- END
	-- IF @dwBalance < @MinBalanceScore
	-- BEGIN
	-- 	SET @strErrorDescribe=N'非常抱歉,您每笔结算的数目必须大于' + Convert(NVARCHAR(30), @MinBalanceScore) + '金币!'
	-- 	RETURN 4
	-- END

	-- 查询代理余额
	DECLARE @DateID INT =CAST(CAST(GETDATE() AS FLOAT) AS INT)
	DECLARE @AgentRevenue DECIMAL(18,2) -- 税收分成
	SELECT @AgentRevenue=ISNULL(SUM(AgentRevenue),0) FROM RecordUserRevenue WHERE AgentUserID=@dwUserID AND DateID < @DateID
	-- 已提现金额
	DECLARE @AgentOut DECIMAL(18,2)
	SELECT @AgentOut=ISNULL(-SUM(Score),0) FROM RecordAgentInfo WHERE UserID=@dwUserID AND TypeID=3
	SET @AgentRevenue=@AgentRevenue-@AgentOut
	IF @AgentRevenue <= 0
	BEGIN
		SET @strErrorDescribe=N'当日佣金必须次日方可领取,您的佣金余额不足'
		RETURN 5
	END

	-- 查询银行金币
	DECLARE @Score DECIMAL(18,2)
	SELECT @Score=Score FROM GameScoreInfo(NOLOCK) WHERE UserID = @dwUserID
	IF @Score IS NULL
	BEGIN
		SET @Score=0
	END

	-- 结算记录
	INSERT INTO RecordAgentInfo(UserID,TypeID,Score,InsureScore,CollectIP) VALUES(@dwUserID,3,-@AgentRevenue,@Score,@strClientIP)

	-- 更新银行金币
	UPDATE GameScoreInfo SET Score = Score+@AgentRevenue
	WHERE UserID = @UserID
	IF @@ROWCOUNT = 0 
	BEGIN
		INSERT INTO GameScoreInfo(UserID,Score,RegisterIP,LastLogonIP)
		VALUES(@UserID,@AgentRevenue,@strClientIP,@strClientIP)
	END
	DECLARE @CurrentAgentRevenue DECIMAL(18,2) -- 税收分成
	SELECT @AgentOut=ISNULL(-SUM(Score),0) FROM RecordAgentInfo WHERE UserID=@dwUserID AND TypeID=3
	SELECT @CurrentAgentRevenue=ISNULL(SUM(AgentRevenue),0) FROM RecordUserRevenue WHERE AgentUserID=@dwUserID
	SET @CurrentAgentRevenue = @CurrentAgentRevenue - @AgentOut
	SELECT @AgentRevenue AS Score,@CurrentAgentRevenue AS Revenue
END
RETURN 0
GO

 

一个实现 微星 手势滑屏效果 的源代码 public class PagerControl extends View { private static final String TAG = "DeezApps.Widget.PagerControl"; private static final int DEFAULT_BAR_COLOR = 0xaa777777; private static final int DEFAULT_HIGHLIGHT_COLOR = 0xaa999999; private static final int DEFAULT_FADE_DELAY = 2000; private static final int DEFAULT_FADE_DURATION = 500; private int numPages, currentPage, position; private Paint barPaint, highlightPaint; private int fadeDelay, fadeDuration; private float ovalRadius; private Animation fadeOutAnimation; public PagerControl(Context context, AttributeSet attrs) { this(context, attrs, 0); } public PagerControl(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.com_deezapps_widget_PagerControl); int barColor = a.getColor(R.styleable.com_deezapps_widget_PagerControl_barColor, DEFAULT_BAR_COLOR); int highlightColor = a.getColor(R.styleable.com_deezapps_widget_PagerControl_highlightColor, DEFAULT_HIGHLIGHT_COLOR); fadeDelay = a.getInteger(R.styleable.com_deezapps_widget_PagerControl_fadeDelay, DEFAULT_FADE_DELAY); fadeDuration = a.getInteger(R.styleable.com_deezapps_widget_PagerControl_fadeDuration, DEFAULT_FADE_DURATION); ovalRadius = a.getDimension(R.styleable.com_deezapps_widget_PagerControl_roundRectRadius, 0f); a.recycle(); barPaint = new Paint(); barPaint.setColor(barColor); highlightPaint = new Paint(); highlightPaint.setColor(highlightColor); fadeOutAnimation = new AlphaAnimation(1f, 0f); fadeOutAnimation.setDuration(fadeDuration); fadeOutAnimation.setRepeatCount(0); fadeOutAnimation.setInterpolator(new LinearInterpolator()); fadeOutAnimation.setFillEnabled(true); fadeOutAnimation.setFillAfter(true); }
├─res │ │ filemd5List.json │ │ │ ├─bank_res │ │ bank_title.png │ │ bt_getout_0.png │ │ bt_getout_1.png │ │ bt_open_0.png │ │ bt_open_1.png │ │ edit_frame.png │ │ im_arrow.png │ │ im_gold.png │ │ im_money.png │ │ │ ├─gameClear │ │ bt_quit_game_0.png │ │ bt_quit_game_1.png │ │ bt_return_game_0.png │ │ bt_return_game_1.png │ │ clearBox.png │ │ fishCatchNum.png │ │ fishMultipleNum.png │ │ multiple.png │ │ scoreNum.png │ │ │ ├─game_res │ │ Bank.csb │ │ blue.plist │ │ blue.png │ │ bomb.plist │ │ bomb.png │ │ boom_darts.plist │ │ boom_darts.png │ │ bt_bank_0.png │ │ bt_bank_1.png │ │ bt_blue_0.png │ │ bt_blue_1.png │ │ bt_blue_2.png │ │ bt_check_no.png │ │ bt_check_yes.png │ │ bt_clearing_0.png │ │ bt_clearing_1.png │ │ bt_fishtype_0.png │ │ bt_fishtype_1.png │ │ bt_green_0.png │ │ bt_green_1.png │ │ bt_green_2.png │ │ bt_help_0.png │ │ bt_help_1.png │ │ bt_menu_0.png │ │ bt_menu_1.png │ │ bt_mute_0.png │ │ bt_mute_1.png │ │ bt_mute_2.png │ │ bt_operation_0.png │ │ bt_operation_1.png │ │ bt_purple_0.png │ │ bt_purple_1.png │ │ bt_purple_2.png │ │ bt_quit_game_0.png │ │ bt_quit_game_1.png │ │ bt_red_0.png │ │ bt_red_1.png │ │ bt_red_2.png │ │ bt_return_game_0.png │ │ bt_return_game_1.png │ │ bt_send_0.png │ │ bt_send_1.png │ │ bt_setting_0.png │ │ bt_setting_1.png │ │ bt_supply_0.png │ │ bt_supply_1.png │ │ bt_yellow_0.png │ │ bt_yellow_1.png │ │ bt_yellow_2.png │ │ bullet.plist │ │ bullet.png │ │ bullet_bodies.plist │ │ bullet_guns_coins.plist │ │ bullet_guns_coins.png │ │ Cannon.csb │ │ chatBox.png │ │ clew_b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chen249191508

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值