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的更多相关文章

  1. ectouch 微信支付成功后订单状态未改变的解决办法 (转载)

    原文地址: 微信支付支付成功后,返回到mobile/wx_native_callback.php 之前代码 define('IN_ECS', true); require(dirname(__FILE ...

  2. app使用微信支付成功后,点击返回到该app却跳到另外一个app去了

    刚接手了公司iOS的两个APP, 现在碰到了这样一个问题: 有一台iPhone在一个APP中使用了微信支付,支付成功后,点击返回到该APP,结果却跳到了另外一个APP去了. 这两个APP都是公司开发的 ...

  3. ios微信支付成功后点击左上角返回不走回调的问题

    最近做微信支付发现ios9以后出现的跳转其他app后左上角有返回xxx功能会影响微信支付回调,情况如图 返回后不走下面的方法 - (BOOL)application:(UIApplication *) ...

  4. 微信支付接口--支付成功的回调--超详细Demo

    如果本文对你有用,请爱心点个赞,提高排名,帮助更多的人.谢谢大家!❤ 如果解决不了,可以在文末进群交流. 如果对你有帮助的话麻烦点个[推荐]~最好还可以follow一下我的GitHub~感谢观看! 写 ...

  5. iOS实现微信外部H5支付完成后返回原APP

    看到微信最近放开了微信H5支付,公司决定把H5集成到多款APP上.下面记录下了开发过程. 由于是微信新推出的支付方式,在网上搜索到的相关资料并不多,其中有一篇文件(点此跳转)对我的整个开发过程起到了很 ...

  6. 微信JSAPI支付接口,支付完成后关闭当前窗口

    一.把demo里的这一段: success: function (res) { // 支付成功后的回调函数 if (res.err_msg == "get_brand_wcpay_reque ...

  7. 苹果应用内购 ios 开发者根据用户提供的邮件中的订单号查看该订单是否支付成功

    苹果应用内购 ios 开发者根据用户提供的邮件中的订单号查看该订单是否支付成功 这是苹果wwdc2021 推出的新功能 参考官网链接 App Store Server API | Apple Deve ...

  8. 【SSH网上商城项目实战26】完成订单支付后的短信发送功能

     转自: https://blog.csdn.net/eson_15/article/details/51475431 上一节我们使用了Java mail完成了给买家发送邮件的功能,还遗留一个功能,就 ...

  9. Homebrew(brew)安装MySQL成功后无法登录

    Homebrew简称brew,OSX上的软件包管理工具,在Mac终端可以通过brew安装.更新.卸载各种软件,(简直就是神器级武器). 废话不多说,没安装brew自己去百度学习安装,这里就不多说了. ...

随机推荐

  1. git常用的命令集合

    Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone g ...

  2. spring注解总结

      • @Controller 表示 负责注册一个bean 到spring 上下文中,bean 的ID 默认为类名称开头字母小写,表示某类是一个控制器组件 • @Service 表示负责注册一个bea ...

  3. ES6扫盲

    原文阅读请点击此处 一.let和const { // let声明的变量只在let命令所在的代码块内有效 let a = 1; var b = 2; } console.log(a); // 报错: R ...

  4. webServer-----Spring 集成cxf笔录

    目前webserver主要有俩中方式:1,传统的webserver标准集成方式-生成WSDL的xml文档.       2, 基于restful风格的webserver java RESTful We ...

  5. 关于 Java(TM) Platform SE binary 已停止工作 的解决方法

    一.问题描述 昨天晚上Myeclipse还用着好好的,今天早上打开工程,只要运行就卡住,大半天弹出个消息窗口:Java(TM) Platform SE binary 已停止工作. 如图 关闭Myecl ...

  6. LeetCode 206 Reverse a singly linked list.

    Reverse a singly linked list. Hint: A linked list can be reversed either iteratively or recursively. ...

  7. electrica writeup

    关于 caesum.com 网上上的题目,分类有Sokoban,Ciphers,Maths,Executables,Programming,Steganography,Misc.题目有点难度,在努力奋 ...

  8. Python-匿名函数

    lambda 函数是一种快速定义单行的最小函数,可以用在任何需要函数的地方   常规版本: def fun(x,y) return x*y lambda版本: r = lambda x,y:x*y p ...

  9. 设计模式 之 原型模式(ProtoType)

    什么时原型模式   或   原型模式的定义: 用原型实例来指定创建对象的种类,并通过拷贝这些原型创建新的对象. 原型模式的特点: 1),它是面向接口编程, 2),原型模式的新对象是对原型实例的一个克隆 ...

  10. iphone 尺寸and字体

    iPhone的APP界面一般由四个元素组成,分别是:状态栏.导航栏.主菜单栏以及中间的内容区域 这里取用 640×960 的尺寸设计,那我们就说说在这个尺寸下这些元素的尺寸: 状态栏:就是我们经常说的 ...