175 lines
7.8 KiB
PHP
175 lines
7.8 KiB
PHP
<?php
|
||
|
||
namespace app\modules\api\controllers;
|
||
|
||
use app\modules\api\models\CouponForm;
|
||
use function AlibabaCloud\Client\value;
|
||
use Yii;
|
||
use yii\web\NotFoundHttpException;
|
||
use yii\filters\VerbFilter;
|
||
use app\modules\api\behaviors\LoginBehavior;
|
||
|
||
|
||
class CouponController extends Controller
|
||
{
|
||
public function behaviors()
|
||
{
|
||
return array_merge(parent::behaviors(), [
|
||
'login' => [
|
||
'class' => LoginBehavior::className(),
|
||
'ignore' => [
|
||
'api/coupon/search',
|
||
]
|
||
]
|
||
]);
|
||
}
|
||
|
||
/**
|
||
* showdoc
|
||
* @catalog 卡券
|
||
* @title 卡券中心
|
||
* @description 卡券中心
|
||
* @method get
|
||
* @url /api/coupon/search
|
||
* @param page 非必选 int 页码,不传默认为1
|
||
* @param limit 非必选 int 每页显示条数,不传默认10条
|
||
* @return {"code":0,"msg":"ok","data":[{"id":"2","title":"高尔夫球车1元体验券","price":"1.00","end_time":"1669046400","num":"10","get_num":"0","date_cn":"2022-11-22 00:00","plan":0,"status":false}],"count":"1","page_size":10,"page_count":1,"page_no":1,"end_flag":true}
|
||
* @return_param id string 卡券id
|
||
* @return_param title string 卡券名称
|
||
* @return_param price string 卡券金额
|
||
* @return_param date_cn string 卡券使用日期
|
||
* @return_param subhead string 副标题
|
||
* @return_param plan string 已领百分比
|
||
* @return_param status bool 是否已领取,false=未领取,true=已领取
|
||
* @return_param count string 总条数
|
||
* @return_param page_count string 总页数
|
||
* @return_param page_no string 当前页
|
||
* @return_param end_flag bool 是否加载完毕true=已完毕,false=未完毕
|
||
* @remark 注意:status=true的无法再次点击领取按钮,按钮应切换为“已领取”并置灰
|
||
*/
|
||
public function actionSearch()
|
||
{
|
||
$form = new CouponForm();
|
||
$form->attributes = \Yii::$app->request->get();
|
||
$form->user_id = \Yii::$app->user->identity->id ? \Yii::$app->user->identity->id : 0;
|
||
$data = $form->search();
|
||
return $this->responseHandler($data);
|
||
}
|
||
|
||
/**
|
||
* showdoc
|
||
* @catalog 卡券
|
||
* @title 我的卡包
|
||
* @description 我的卡包
|
||
* @method get
|
||
* @url /api/coupon/user-coupon
|
||
* @param page 非必选 int 页码,不传默认为1
|
||
* @param limit 非必选 int 每页显示条数,不传默认10条
|
||
* @param store_id 非必选 int 球车所属门店id,支付通道进入需要传
|
||
* @return {"code":0,"msg":"ok","data":[{"id":"49","coupon_id":"1","title":"测试体验券","price":"22.00","start_time":"1667491200","end_time":"1667923200","date_cn":"2022/11/04 - 2022/11/09","subhead":"立减22.00元"},{"id":"27","coupon_id":"1","title":"测试体验券","price":"22.00","start_time":"1667491200","end_time":"1667923200","date_cn":"2022/11/04 - 2022/11/09","subhead":"立减22.00元"},{"id":"5","coupon_id":"1","title":"测试体验券","price":"22.00","start_time":"1667491200","end_time":"1667923200","date_cn":"2022/11/04 - 2022/11/09","subhead":"立减22.00元"}],"count":"3","page_size":10,"page_count":1,"page_no":1,"end_flag":true}
|
||
* @return_param id string 我的卡券id
|
||
* @return_param coupon_id string 卡券id
|
||
* @return_param title string 卡券名称
|
||
* @return_param price string 卡券金额
|
||
* @return_param date_cn string 卡券有效期
|
||
* @return_param subhead string 副标题
|
||
* @return_param type string 优惠券类型0=体验券1=立减券
|
||
* @return_param count string 总条数
|
||
* @return_param page_count string 总页数
|
||
* @return_param page_no string 当前页
|
||
* @return_param end_flag bool 是否加载完毕true=已完毕,false=未完毕
|
||
* @remark 注意:用户点击“去使用”需先调用“校验用户卡券是否可使用”接口,如果code为0则可使用,反正不能,并提示相关信息
|
||
*/
|
||
public function actionUserCoupon()
|
||
{
|
||
$form = new CouponForm();
|
||
$form->scenario = 'user_coupon';
|
||
$form->attributes = \Yii::$app->request->get();
|
||
$form->user_id = \Yii::$app->user->identity->id;
|
||
$data = $form->userCoupon();
|
||
return $this->responseHandler($data);
|
||
}
|
||
|
||
/**
|
||
* showdoc
|
||
* @catalog 卡券
|
||
* @title 领取卡券
|
||
* @description 领取卡券
|
||
* @method post
|
||
* @url /api/coupon/get-coupon
|
||
* @param coupon_id 必选 int 卡券id
|
||
* @return {"code":0,"msg":"领取成功","data":[]}
|
||
* @remark code=0,弹框提醒。code=1,弹框提醒,不刷新页面。code=2,弹框提醒,用户点击确认,刷新页面。code=3,弹框提醒,按钮切换为已领完,不刷新页面。code=4,跳转会员注册页面。code=5,不刷新,按钮改为已领取。data里面的返回值用于优惠券弹框使用
|
||
*/
|
||
public function actionGetCoupon()
|
||
{
|
||
$form = new CouponForm();
|
||
$form->scenario = 'get_coupon';
|
||
$form->attributes = \Yii::$app->request->post();
|
||
$form->user_id = \Yii::$app->user->identity->id;
|
||
$data = $form->getCoupon();
|
||
return $this->responseHandler($data);
|
||
}
|
||
|
||
/**
|
||
* showdoc
|
||
* @catalog 卡券
|
||
* @title 校验用户卡券是否可使用
|
||
* @description 校验用户卡券是否可使用
|
||
* @method get
|
||
* @url /api/coupon/check-user-coupon
|
||
* @param user_coupon_id 必选 int 我的卡券id
|
||
* @return {"code":0,"msg":"领取成功","data":[]}
|
||
* @remark code=0,弹框提醒,跳转租赁中心。code=1,弹框提醒。code=2,弹框提醒,用户点击确认,刷新页面
|
||
*/
|
||
public function actionCheckUserCoupon()
|
||
{
|
||
$form = new CouponForm();
|
||
$form->scenario = 'check_user_coupon';
|
||
$form->attributes = \Yii::$app->request->get();
|
||
$form->user_id = \Yii::$app->user->identity->id;
|
||
$data = $form->checkUserCoupon();
|
||
return $this->responseHandler($data);
|
||
}
|
||
|
||
|
||
/**
|
||
* showdoc
|
||
* @catalog 卡券
|
||
* @title 首页弹框查询可领取优惠券
|
||
* @description 首页弹框查询可领取优惠券
|
||
* @method get
|
||
* @url /api/coupon/check-run-coupon
|
||
* @return {"code":0,"msg":"ok","data":[{"id":"7","title":"新用户体验卷","price":"0.00","end_time":"1669737600","num":"-1","get_num":"0","date_cn":"2022/11/30","subhead":"2022/11/30前可用","plan":"无限","status":false}]}
|
||
* @remark 注:调用该接口必须登录,如用户未登录则登录过后调用该接口。未做分页,如条数过多,可只展示几条,剩下的点击查看更多进行跳转展示
|
||
*/
|
||
public function actionCheckRunCoupon()
|
||
{
|
||
$form = new CouponForm();
|
||
$form->scenario = 'check_run_coupon';
|
||
$form->user_id = \Yii::$app->user->identity->id;
|
||
$data = $form->checkRunCoupon();
|
||
return $this->responseHandler($data);
|
||
}
|
||
|
||
/**
|
||
* showdoc
|
||
* @catalog 卡券
|
||
* @title 校验用户是否有可用优惠券
|
||
* @description 租赁球车时校验用户是否有可用优惠券
|
||
* @method get
|
||
* @url /api/coupon/check-use-coupon
|
||
* @param ball_number 必选 string 球车编号
|
||
* @return {"code":0,"msg":"ok","data":{"id":"12","title":"11/18测试","type":0,"price":1}}
|
||
* @remark 注:data为空则无可用卡券,type=0体验券,type=1立减券
|
||
*/
|
||
public function actionCheckUseCoupon()
|
||
{
|
||
$form = new CouponForm();
|
||
$form->scenario = 'check_use_coupon';
|
||
$form->attributes = \Yii::$app->request->get();
|
||
$form->user_id = \Yii::$app->user->identity->id;
|
||
$data = $form->checkUseCoupon();
|
||
return $this->responseHandler($data);
|
||
}
|
||
} |