积分获取和消费的存储过程
1.GM_JF客户账户积分表 2.GM_JF_DETAIL客户账户积分消费记录 3.GM_JF_ACTION_RULES积分动作规则表 4.GM_JF_GOODS_RULES积分商品规则表 无 -- ===============测试=======================================================/*declare @StatusCode int = 1;exec
1.GM_JF客户账户积分表2. GM_JF_DETAIL客户账户积分消费记录
3. GM_JF_ACTION _RULES积分动作规则表
4.GM_JF_GOODS _RULES积分商品规则表
-- ===============测试======================================================= /* declare @StatusCode int = 1; exec sp_GM_JF_AddScore 'admin','AN_JF_001_001',1,5,0,'',@StatusCode output print @StatusCode */ -- =========================================================================== /* * 判断是否重复获取积分(首次完善个人资料,首次修改密码等等不能重复获取积分) * 判断是根据 从GM_JF_DETAIL(详情表)查询周期内的数据条数与GM_JF_ACTION_RULES(动作规则表)内的周期重复次数对比 * 如果大于等于周期重复次数,则为重复获取积分 * 接下来 * 1.详情表的数据入库 * 2.判断总积分表是否存在对应客户的总积分 没有则插入一条新的,有 则读取其数据,并更新 * */ ALTER PROCEDURE [dbo].[sp_GM_JF_AddScore] @ACCOUNT_ID varchar(30), @JF_CategoryNumber varchar(15), @CARD_NUM int, @HQ_JF_AMOUNT int, @State varchar(16), @USE_DESC varchar(400), @StatusCode int output -- 状态码: 0:失败 1:成功 2: 不能重复获取 AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; declare @repetitionsCycle float=0, --周期(天) @repetitionsCycle_second int=0,--周期(秒) @repetitionsFrequency int=0, --一个周期内允许最大次数 @realFrequency int=0, --实际周期 @USE_DATE datetime = GETDATE(); --是否重复获取积分 select top(1) @repetitionsCycle=RepetitionsCycle,@repetitionsFrequency=RepetitionsFrequency from GM_JF_ACTION_RULES where AN_CategoryNumber=@JF_CategoryNumber; if(@repetitionsCycle<1) BEGIN set @repetitionsCycle_second = (@repetitionsCycle-1)*24*60*60; select @realFrequency=COUNT(1) from GM_JF_DETAIL where ACCOUNT_ID=@ACCOUNT_ID and JF_CategoryNumber=@JF_CategoryNumber and USE_DATE <= @USE_DATE and USE_DATE >= CONVERT(varchar(19),DATEADD(SECOND,-@repetitionsCycle_second,@USE_DATE),120) END ELSE BEGIN select @realFrequency=COUNT(1) from GM_JF_DETAIL where ACCOUNT_ID=@ACCOUNT_ID and JF_CategoryNumber=@JF_CategoryNumber and USE_DATE <= @USE_DATE and USE_DATE >= CONVERT(varchar(10),DATEADD(DAY,-(@repetitionsCycle-1),@USE_DATE),120) END if(@realFrequency>=@repetitionsFrequency) --实际周期大于周期次数 begin set @StatusCode = 2; return 2; end declare @count int = 0; --数据条数 declare @temp_table table --表变量 ( ACCOUNT_ID varchar(30), JF_AMOUNT decimal(16,2), TTL_JF_AMOUNT decimal(16,2), Last_Update_Time datetime, [Version] int ); begin tran; --插入详情 insert into GM_JF_DETAIL (ACCOUNT_ID,JF_CategoryNumber,CARD_NUM,HQ_JF_AMOUNT,[State],USE_DESC) values (@ACCOUNT_ID,@JF_CategoryNumber,@CARD_NUM,@HQ_JF_AMOUNT,@State,@USE_DESC) --填充表变量 insert into @temp_table select ACCOUNT_ID,JF_AMOUNT,TTL_JF_AMOUNT,Last_Update_Time,[Version] from GM_JF where ACCOUNT_ID=@ACCOUNT_ID select @count = count(1) from @temp_table; --判断并更新总积分(0:添加 其他:修改) IF(@count=0) begin insert into GM_JF(ACCOUNT_ID,JF_AMOUNT,TTL_JF_AMOUNT) values (@ACCOUNT_ID,@HQ_JF_AMOUNT,@HQ_JF_AMOUNT) end else begin declare @JF_AMOUNT int, --总积分 @TTL_JF_AMOUNT int, --可用积分 @Version int; --版本号 select @JF_AMOUNT=JF_AMOUNT,@TTL_JF_AMOUNT=TTL_JF_AMOUNT,@Version=[Version] from @temp_table where ACCOUNT_ID=@ACCOUNT_ID; update GM_JF set JF_AMOUNT=(@JF_AMOUNT+@HQ_JF_AMOUNT),TTL_JF_AMOUNT=(@TTL_JF_AMOUNT+@HQ_JF_AMOUNT),Last_Update_Time=GETDATE(),[Version]=(@Version+1) where ACCOUNT_ID=@ACCOUNT_ID end Commit tran; set @StatusCode = 1; IF(@@ERROR<>0) BEGIN set @StatusCode = 0; ROLLBACK tran; END END
-- ===============测试======================================================= /* declare @StatusCode int = 1; exec sp_GM_JF_CutScore 'admin','GS_JF_0004',2,1,'',@StatusCode output print @StatusCode*/ -- =============================华丽的分割线=================================== SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER proc [dbo].[sp_GM_JF_CutScore] @ACCOUNT_ID varchar(30), --兑换ID 如admin @GS_CategoryNumber varchar(12), --兑换商品类型 @CARD_NUM int, --兑换数量 --@HQ_JF_AMOUNT int, --兑换的积分总值 每个类型对应积分量*兑换数量 @State varchar(16),--兑换状态 @USE_DESC varchar(400), --备注 --输出参数 @StatusCode int output -- 状态码: 0:失败 1:成功 2: 不能重复获取 as begin SET NOCOUNT ON;--不返回计数(表示受 Transact-SQL 语句影响的行数) declare --判断处理 自定义变量 @score int , --要兑换商品类型的积分值 @scoreSum int, --要兑换商品类型的积分总值 @JF_AMOUNT int, --可用积分 @Version int; --版本号 select @score=GS_SCORE from GM_JF_GOOD_RULES where GS_CategoryNumber=@GS_CategoryNumber --'GS_JF_0003' if(@CARD_NUM>0) begin set @scoreSum=@score*@CARD_NUM*(-1) end select @JF_AMOUNT=JF_AMOUNT,@Version=[Version] from GM_JF where ACCOUNT_ID=@ACCOUNT_ID; if(@JF_AMOUNT>@scoreSum*(-1)) --判断可用余额是否大于 兑换所需要的积分 begin begin tran; --插入详情 GM_JF_DETAIL insert into GM_JF_DETAIL (ACCOUNT_ID,JF_CategoryNumber,CARD_NUM,HQ_JF_AMOUNT,[State],USE_DESC) values (@ACCOUNT_ID,@GS_CategoryNumber,@CARD_NUM,@scoreSum,@State,@USE_DESC) --修改总表字段 可用余额 版本号 GM_JF update GM_JF set JF_AMOUNT= (@JF_AMOUNT+@scoreSum) ,Last_Update_Time=GETDATE(), [Version]=(@Version+1) where ACCOUNT_ID=@ACCOUNT_ID set @StatusCode = 1; Commit tran; end else begin set @StatusCode = 2; --可用积分小于要兑换物品的积分总值 兑换失败 end IF(@@ERROR<>0) BEGIN set @StatusCode = 2; ROLLBACK tran; end END

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











このウェブサイトは3月7日、ファーウェイのデータストレージ製品ラインの社長である周岳峰博士が最近MWC2024カンファレンスに出席し、特にウォームデータ(WarmData)とコールドデータ(ColdData)用に設計された新世代のOceanStorArctic磁電ストレージソリューションをデモンストレーションしたと報じた。ファーウェイのデータストレージ製品ラインの社長である周岳峰氏は、一連の革新的なソリューションをリリースした 画像出典: このサイトに添付されているファーウェイの公式プレスリリースは次のとおりです: このソリューションのコストは磁気テープのコストより 20% 低く、そのコストは磁気テープのコストよりも 20% 低くなります。消費電力はハードディスクよりも90%低いです。外国のテクノロジーメディアのblocksandfilesによると、ファーウェイの広報担当者も磁気電子ストレージソリューションに関する情報を明らかにした:ファーウェイの磁気電子ディスク(MED)は磁気ストレージメディアの主要な革新である。初代ME

Google Authenticator はユーザー アカウントのセキュリティを保護するために使用されるツールであり、そのキーは動的検証コードを生成するために使用される重要な情報です。 Google Authenticator のキーを忘れて、セキュリティ コードでしか認証できない場合は、この Web サイトの編集者が Google セキュリティ コードの入手先について詳しく説明しますので、お役に立てれば幸いです。詳細を知る ユーザーは以下を読み続けてください。まず電話の設定を開き、設定ページに入ります。ページを下にスクロールして Google を見つけます。 Googleページに移動し、「Googleアカウント」をクリックします。アカウント ページに入り、確認コードの下にある [表示] をクリックします。パスワードを入力するか、指紋を使用して身元を確認します。 Google セキュリティ コードを取得し、そのセキュリティ コードを使用して Google の ID を確認します。

QQ Music は、さまざまな種類の音楽を備えたプレーヤー ソフトウェアで、聞きたい音楽をここで検索できます。すべての音楽の音質は非常に優れており、さまざまな音質オプションがあります。それでは、QQ ミュージックでポイントを集める方法をご存知ですか? QQ ミュージックでポイントを集める方法に関する詳細なチュートリアル: 1. まず、[QQ ミュージック] APP ソフトウェアを開き、下部の機能バーの [マイ] 機能ボタンをクリックします。 2. 次に、[アクティビティ センター] 機能ボタンをクリックします。 3. [ポイントを受け取る]ボタンをクリックしてポイントを受け取ります。ソフトウェアの紹介: 1. 高品質の音楽再生; 2. アルバム写真と全画面歌詞表示; 3. QQ にログインして、コンピューター上の QQ Music でお気に入りの曲を同期; 4. 大規模なオンライン

Git は、高速で信頼性が高く、適応性に優れた分散バージョン管理システムです。分散型の非線形ワークフローをサポートするように設計されており、あらゆる規模のソフトウェア開発チームに最適です。各 Git 作業ディレクトリは、すべての変更の完全な履歴を備えた独立したリポジトリであり、ネットワーク アクセスや中央サーバーがなくてもバージョンを追跡できます。 GitHub は、分散リビジョン管理のすべての機能を提供する、クラウド上でホストされる Git リポジトリです。 GitHub は、クラウド上でホストされる Git リポジトリです。 CLI ツールである Git とは異なり、GitHub には Web ベースのグラフィカル ユーザー インターフェイスがあります。これは、他の開発者との共同作業や、スクリプトへの変更の追跡などのバージョン管理に使用されます。

国内の携帯電話の一般的な操作は非常に似ていますが、携帯電話のモデルやメーカーが異なると、デュアル SIM のインストール方法が異なる場合があるなど、細部ではまだいくつかの違いがあります。新しい携帯電話 Erzhenwo 12Pro もデュアル SIM デュアル スタンバイをサポートしていますが、この携帯電話にデュアル SIM をインストールするにはどうすればよいですか? Realme 12ProにデュアルSIMをインストールするにはどうすればよいですか?インストールする前に必ず携帯電話の電源を切ってください。ステップ 1: SIM カード トレイを見つける: 電話機の SIM カード トレイを見つける. 通常、Realme 12 Pro では、SIM カード トレイは電話機の側面または上部にあります。ステップ 2: 最初の SIM カードを挿入します. 専用の SIM カード ピンまたは小さな物体を使用して、SIM カード トレイのスロットに挿入し、最初の SIM カードを慎重に挿入します。

Railway 12306 アプリを使用して鉄道チケットをポイントと引き換えるにはどうすればよいですか? Railway 12306 アプリは、人々の生活を促進できる非常にスマートなソフトウェアです。このソフトウェアを使用して切符を購入するのは非常に便利で迅速です。このソフトウェアを使用して切符を購入すると、ポイントも獲得でき、ユーザーはそのポイントを電車の切符と交換できるため、誰もがこのソフトウェアを使用して切符を購入することを好みます。鉄道チケットの引き換えにポイントを使用する方法がわからないユーザーのために、以下のエディターがポイントを使用して鉄道チケットと引き換える方法をまとめました。鉄道 12306 アプリのポイントを鉄道チケットに交換する方法: 1. 携帯電話で鉄道 12306 アプリを開き、電車に乗る場所と時間を選択し、「チケットを確認」をクリックします。 2. 対象のチケット

1. WeChat にログインした後、次のオプションを入力します: [Me] 2. [設定] を選択し、[アカウントとセキュリティ] を見つけて開きます。 3. 次に、新しいインターフェースの下部にある [WeChat セキュリティ センター] オプションを見つけて開きます。 4. 新しいページに入ったら、最初の項目 [アカウントとパスワードの取得] を選択します。 5. [WeChat アカウントのパスワードを取得するためのアピール] を直接使用して、新しいインターフェースに入ります。 6. 異議申し立てを開始することを選択してください!この電話がログインしているすべての WeChat アカウントが表示されます。

暗号通貨取引のリーダーとして、gate.ioは幅広い取引ペア、デリバティブ、金融サービスを提供しています。中国語版のWebサイトのSesame Open Door Gateは、中国のユーザーにとって便利で、gate.ioと同じ機能を提供しますが、中国人の習慣により適しています。ユーザーは、指定されたWebサイトからgate.io ExchangeまたはSesame Open Gateの公式Webサイトにアクセスできます。
