订单支付成功后存储过程 - MYSQL
BEGIN
SET @userId = (SELECT user_id FROM t_shoporder WHERE id = orderId);
/*修改订单状态,改成已支付*/
UPDATE t_shoporder SET `status` = 1,update_time = NOW() WHERE id = orderId;
/*查询用户是否已经学习改课程*/
SET @count = (SELECT count(1) FROM t_course_user WHERE course_id = courseId AND user_id = @userId);
IF @count = 0 THEN
/*保存用户学习课程的记录*/
INSERT INTO t_course_user (course_id, user_id, STATUS, finished) VALUES(courseId, @userId,1,0);
END IF; /*检查该课程是否存在对应的班级*/
SET @classId = (SELECT id FROM t_class WHERE course_id = courseId);
/*如果存在就进行学习课程进入班级*/
IF @classId = IS NOT NULL THEN
/*检查学生是否已经加入到该班级了,如果是就不再加入*/
SET @ccount = (SELECT COUNT(1) FROM t_classstudent WHERE class_id = @classId AND user_id = @userId);
IF @ccount = 0 THEN
/**将学生自动加入对应vip教室班级*/
INSERT INTO t_classstudent(class_id, user_id, course_id,stuno) VALUES(@classId, @userId, courseId, CONCAT("ms_",DATE_FORMAT(NOW(),'%Y%m%d'),"_",courseId, "_"),?);
END IF ;
/*用户升级为vip和用户积分、等级的累加*/
SET @type = (SELECT type FROM t_user WHERE id = @userId);
/*学生升级权限*/
IF @type = 1 THEN
UPDATE t_user SET type = 5,jifen = jifen + 100 WHERE id = @userId;
ELSE
UPDATE t_user SET jifen = jifen + 100 WHERE id = @userId;
END IF;
INSERT INTO t_user_jifen(
user_id,
score,
description,
type,
mark
)VALUES(
@userId,
100,
'支付订单积分加+100分',
1,
1
);
SELECT @userId;
END
订单支付成功后存储过程 - MYSQL的更多相关文章
- ectouch 微信支付成功后订单状态未改变的解决办法 (转载)
原文地址: 微信支付支付成功后,返回到mobile/wx_native_callback.php 之前代码 define('IN_ECS', true); require(dirname(__FILE ...
- app使用微信支付成功后,点击返回到该app却跳到另外一个app去了
刚接手了公司iOS的两个APP, 现在碰到了这样一个问题: 有一台iPhone在一个APP中使用了微信支付,支付成功后,点击返回到该APP,结果却跳到了另外一个APP去了. 这两个APP都是公司开发的 ...
- ios微信支付成功后点击左上角返回不走回调的问题
最近做微信支付发现ios9以后出现的跳转其他app后左上角有返回xxx功能会影响微信支付回调,情况如图 返回后不走下面的方法 - (BOOL)application:(UIApplication *) ...
- 微信支付接口--支付成功的回调--超详细Demo
如果本文对你有用,请爱心点个赞,提高排名,帮助更多的人.谢谢大家!❤ 如果解决不了,可以在文末进群交流. 如果对你有帮助的话麻烦点个[推荐]~最好还可以follow一下我的GitHub~感谢观看! 写 ...
- iOS实现微信外部H5支付完成后返回原APP
看到微信最近放开了微信H5支付,公司决定把H5集成到多款APP上.下面记录下了开发过程. 由于是微信新推出的支付方式,在网上搜索到的相关资料并不多,其中有一篇文件(点此跳转)对我的整个开发过程起到了很 ...
- 微信JSAPI支付接口,支付完成后关闭当前窗口
一.把demo里的这一段: success: function (res) { // 支付成功后的回调函数 if (res.err_msg == "get_brand_wcpay_reque ...
- 苹果应用内购 ios 开发者根据用户提供的邮件中的订单号查看该订单是否支付成功
苹果应用内购 ios 开发者根据用户提供的邮件中的订单号查看该订单是否支付成功 这是苹果wwdc2021 推出的新功能 参考官网链接 App Store Server API | Apple Deve ...
- 【SSH网上商城项目实战26】完成订单支付后的短信发送功能
转自: https://blog.csdn.net/eson_15/article/details/51475431 上一节我们使用了Java mail完成了给买家发送邮件的功能,还遗留一个功能,就 ...
- Homebrew(brew)安装MySQL成功后无法登录
Homebrew简称brew,OSX上的软件包管理工具,在Mac终端可以通过brew安装.更新.卸载各种软件,(简直就是神器级武器). 废话不多说,没安装brew自己去百度学习安装,这里就不多说了. ...
随机推荐
- 文件描述符、文件表项指针、inode节点的关系
内核使用3种数据结构表示打开的文件,他们之间的关系决定了在文件共享方面一个进程对另一个进程的影响. (1) 每个进程在进程表中都有一个纪录项,纪录项中包含一张打开文件描述符表,每个文件描述符各占一项, ...
- python之模块
模块即一推代码的集合来实现某个功能,使用时直接调用,甚是方便. 模块又分为三种 自定义模块 内置模块 第三方模块 下面就来介绍介绍什么是内置模块及如何去使用它和内置模块的好处. 使用模块模块前首先导入 ...
- gulp使用过程中出现的问题
在使用gulp的过程中,最容易出现错误的地方就是在安装本地的gulp的时候,错误的原因有: 1.本来是局部安装gulp,但使用命令时还带-g. 2.忘记在局部安装gulp. 以上两种情况出错时会报错, ...
- jsp include flush true
设置flush为true,就是说,如果你的缓冲区的内容很多了,就将数据读出,以免数据泄漏,造成错误服务器端页面缓冲,大致的意思是,在将生成的HTML代码送到客户端前,先在服务器端内存中保留,因为解释J ...
- eclipse按照svn插件
在线安装: (1).点击 Help --> Install New Software... (2).在弹出的窗口中点击add按钮,输入Name(任意)和Location(插件的URL),点击OK ...
- Beginning Scala study note(2) Basics of Scala
1. Variables (1) Three ways to define variables: 1) val refers to define an immutable variable; scal ...
- 会议通js
js逻辑: /** * Created by wanglijuan on 2016/12/2. */ $(function () { //登陆后请求数据 // $.ajax({ // url:&quo ...
- John the ripper使用教程
破解Linux的用户密码:John [跨平台的密码解密工具] root@only:~# unshadow /etc/passwd /etc/shadow > ~/file_to_crack ro ...
- css3选择器
原网站 cnblogs.com/tianshang/p/5982513.html通配符选择器 通配选择器的作用就是对页面上所有的元素都生效, 页面上的所有标签都会展示出通配符选择器设定的样式. 这样的 ...
- MOD
题目链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2318 ///这是哈理工校 ...