|
@@ -5,10 +5,13 @@ namespace app\api\controller;
|
|
|
use addons\epay\library\Service;
|
|
|
use app\common\controller\Api;
|
|
|
use app\common\model\PayOrderModel;
|
|
|
+use app\common\model\UniversityCourseApplyModel;
|
|
|
use app\common\model\UniversityCourseModel;
|
|
|
+use app\common\model\UniversityEventApplyModel;
|
|
|
use app\common\model\UniversityEventModel;
|
|
|
use app\common\model\Wallet;
|
|
|
use app\utils\CurlUtil;
|
|
|
+use app\utils\RedisUtil;
|
|
|
use think\Db;
|
|
|
|
|
|
/**
|
|
@@ -91,6 +94,27 @@ class UniversityCourse extends Api
|
|
|
if (!empty($info['apply'])) {
|
|
|
return $this->error('您已报过名了');
|
|
|
}
|
|
|
+
|
|
|
+ $coupon = Db::name('vip_coupon_user')->where('user_id',$user_id)->where('id',$params['course_id'])->find();
|
|
|
+ if (!$coupon || $coupon['status'] != 1){
|
|
|
+ return $this->error('优惠券不存在或已使用');
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($coupon['end_time'] < time()){
|
|
|
+ return $this->error('优惠券已过期');
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($coupon['use_frequency_day'] > 0 && $coupon['use_frequency_times'] > 0){
|
|
|
+ $use_frequency_times = Db::name('vip_coupon_user')->where('user_id',$user_id)
|
|
|
+ ->where('coupon_id',$coupon['coupon_id'])
|
|
|
+ ->where('status',2)
|
|
|
+ ->whereBetween('use_time',[time() - (86400 * $coupon['use_frequency_day']),time()])
|
|
|
+ ->count();
|
|
|
+ if ($use_frequency_times >= $coupon['use_frequency_times']){
|
|
|
+ return $this->error("优惠券{$coupon['use_frequency_day']}天内仅可使用{$coupon['use_frequency_times']}次!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
$nowTime = time();
|
|
|
// 开始报名
|
|
|
$data = [
|
|
@@ -107,10 +131,24 @@ class UniversityCourse extends Api
|
|
|
Db::rollback();
|
|
|
return $this->error('订单创建失败');
|
|
|
}
|
|
|
- // TODO 抵扣券
|
|
|
+ // 抵扣券
|
|
|
+ if (!Db::name('vip_coupon_user')->where('id',$params['course_id'])->update(['order_id'=>$apply_id,'status' => 2,'use_time' => time()])) {
|
|
|
+ Db::rollback();
|
|
|
+ return $this->error('订单创建失败');
|
|
|
+ }
|
|
|
Db::commit();
|
|
|
|
|
|
return $this->success('报名成功');
|
|
|
}
|
|
|
|
|
|
+ public function applyList()
|
|
|
+ {
|
|
|
+ $user_id = $this->auth->id;
|
|
|
+ $query = UniversityCourseApplyModel::with([
|
|
|
+ 'course' => function ($query) {
|
|
|
+ $query->field(['id','name','image']);
|
|
|
+ }
|
|
|
+ ])->where('user_id',$user_id)->where('status',1)->order('id','desc')->autopage()->select();
|
|
|
+ $this->success('success', $query);
|
|
|
+ }
|
|
|
}
|