首页 > 其他分享 >微信储值卡订单过期存储过程_版本1

微信储值卡订单过期存储过程_版本1

时间:2022-10-31 18:15:26浏览次数:70  
标签:SET TradeID 订单 过期 微信 储值卡 -- GO

 微信储值卡订单过期存储过程_版本1

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-- =============================================
-- Author:        <Author,,jankie>
-- Create date: <Create Date,,2017-09-12 10:26>
-- Description:    <Description,,查询订单是否过期>
--如果订单过期会自动设置IsDealWith为已处理。并且将Status设置为Closed_OutTime+'当时订单的状态'
-- =============================================

--  exec [dbo].[IsClosedStoredCardOrders]  '0','10','957'

ALTER PROCEDURE [dbo].[IsClosedStoredCardOrders] 
@PageNumber int,
@PageSize int,
@BID int
AS
BEGIN
    declare /*声明标量*/
    @TradeID varchar(100),
    @TimeNow datetime,  --当前时间
    @Status varchar(100)
    set @TimeNow=getdate()    
    
            begin transaction; --开始执行事务                
            
            --查询所有已经过期的订单,更新过期订单的字段

            declare updateOrder_Cursor cursor for  --声明游标    
                    select Status,TradeID from (
                       select Row_number() over(order by CreateDate) as rownum,* 
                       from ValueCardSaveTradeLog     Where TradeID=TradeID and OutTime<=@TimeNow            
                     )as t1 where t1.rownum>=(@PageNumber)*@PageSize+1 and t1.rownum<=((@PageNumber+1)*@PageSize)
                        and BID=@BID  
            OPEN updateOrder_Cursor   --打开游标
            FETCH NEXT FROM updateOrder_Cursor    --获取游标的下一行数据
            into 
            @Status,  --使变量获得当前游标指定行的订单状态
            @TradeID   --使变量获得当前游标指定行的订单的单号
            
            ----------------------外部游标(主订单)begin --------------------------
            WHILE (@@FETCH_STATUS = 0)    --FETCH语句执行成功            
            begin    
                --如果不是手动关闭或者还没关闭就开始执行语句,其他的就让游标跳过不更新
                if(substring(ltrim(rtrim(@Status)),0,7)='NotPay' 
                    --or substring(ltrim(rtrim(@Status)),0,16)='HadPayNotInsert' --后面修改的需求,已付款待充值不能过期关闭,因为这是有问题的订单,只能手动关闭。
                    or substring(ltrim(rtrim(@Status)),0,10)='FinishPay')
                begin  --substring 
                --更新订单状态Status,IsDealWith
                update ValueCardSaveTradeLog set Status='Closed_OutTime_'+@Status,IsDealWith='1' where TradeID=@TradeID
                end --substring
            FETCH NEXT FROM updateOrder_Cursor   --获取游标的下一行(主订单)
            into 
            @Status,  --使变量获得当前游标指定行的订单状态
            @TradeID       --是变量获得当前指定行的订单单号
            end
            CLOSE updateOrder_Cursor   --关闭游标(主订单)
            DEALLOCATE updateOrder_Cursor   --释放游标(注订单)

            ----------------------外部游标(主订单)end --------------------------
            if(@@error>0)
             begin
              rollback transaction
              --print '0'
              return 0
             end
            else
             begin
              commit transaction 
              --print '1'
              return 1
             end        
    
END
GO

SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO

 

搜索

复制

标签:SET,TradeID,订单,过期,微信,储值卡,--,GO
From: https://www.cnblogs.com/jankie1122/p/11118713.html

相关文章

  • 微信储值卡订单过期存储过程_版本2
     微信储值卡订单过期存储过程_版本2SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO--=============================================--Author:<Autho......
  • charles抓不到ios微信小程序的包的原因!!
    如果其他配置全部都弄好了,能抓到网页和的app的包但是微信小程序抓不到,主要原因:  第二个问题,可能是没有允许应用:更改配置->允许其他应用->找到charles的路径 ......
  • 最全XCode 开发证书配置(证书过期后的恢复)教程
    3月底的时候,准备更新苹果版,却发现,几个月没有开发,XCode上证书都过期了。怎么弄全忘了,简直没有勇气面对。过了一个多月,今天终于有点空闲时间,打算更新下证书,又发现,苹果开发......
  • ShareSDK微信分享时的坑
    /****@paramcontext*@paramtitle标题*@paramtext标题下面右边文字*@paramimagePath标题下面左边图片*@paramtitleUrl整个消息的URL地址*/publicsta......
  • 微信小程序引入VantUI组件出错
    微信小程序引入VantUI组件出错使用微信小程序引入VantWeappUI组件今天我在用微信小程序时,想借助Vant-UI快速开发页面时,发现按照Vant-ui上的说明一步一步下来,竟然报错了,解......
  • Python接入微信公众号Token验证
    注意点官方示例是Pthon2版本的,如果是Python3版本需要有改动验证成功返回echostr要是数字格式的公众号侧配置(公众号后台-基本配置)服务器侧配置代码部分......
  • SoringCloud(四) - 微信获取用户信息
    1、项目介绍2、微信公众平台和微信开放文档2.1微信公众平台2.1.1网址链接https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index......
  • 手记系列之一 ----- 关于微信公众号和小程序的开发流程
    前言本篇文章主要介绍的调用微信公众号和小程序之后的开发流程,主要以实现步骤为主。前提准备已经申请了微信公众号和小程序(由于官方文档写的很详细,这里就不在进行说明......
  • SoringCloud(四) - 微信获取用户信息
    1、项目介绍2、微信公众平台和微信开放文档2.1微信公众平台2.1.1网址链接https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index......
  • C# 开发微信小程序 系列(1) 接入服务器 验证token
    目前官方小程序验证只有PHP的,暂未发现C#版本的 ,本人研究后贴出来大家分享下。有不懂的请留言,本人会尽快回复的:  废话不多说直接上代码:   ///<summary>//......