|
@@ -0,0 +1,64 @@
|
|
|
+<?php namespace App\Http\Controllers\Api;
|
|
|
+
|
|
|
+use App\Http\Controllers\Api\Api;
|
|
|
+use App\Models\CouponProduct;
|
|
|
+use App\Models\Coupon as Model;
|
|
|
+use App\Http\Requests\Api\Coupon as Request;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 优惠券接口
|
|
|
+ *
|
|
|
+ * @author 刘相欣
|
|
|
+ *
|
|
|
+ * */
|
|
|
+class Coupon extends Api{
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取优惠券可用商品 /api/coupon/get_product
|
|
|
+ *
|
|
|
+ * @param string $code 授权码
|
|
|
+ *
|
|
|
+ * */
|
|
|
+ public function get_product(Request $request,Model $Model,CouponProduct $CouponProduct){
|
|
|
+ // 接口验签
|
|
|
+ // $this->verify_sign();
|
|
|
+ // 验证参数
|
|
|
+ $request->scene('get_product')->validate();
|
|
|
+ // 检查登录
|
|
|
+ $uid = $this->checkLogin();
|
|
|
+ // 接收参数
|
|
|
+ $couponId = request('coupon_id',0);
|
|
|
+ $limit = request('limit',10);
|
|
|
+ // 显示
|
|
|
+ $map = [['id','=',$couponId],['status','=',0]];
|
|
|
+ // 查询
|
|
|
+ $coupon = $Model->query()->where($map)->first();
|
|
|
+ // 获取优惠券可用商品列表
|
|
|
+ $Paginator = $CouponProduct->query()
|
|
|
+ ->join('product','coupon_product.product_id','=','product.id')
|
|
|
+ ->where([['coupon_product.coupon_id','=',$couponId],['product.status','=',0]])
|
|
|
+ ->orderBy('product.sort')
|
|
|
+ ->orderBy('product.id')
|
|
|
+ ->paginate($limit,['product.id','product.sort','product.name','product.thumb','product.spec','product.price','product.market_price','product.stock']);
|
|
|
+ // 获取数据
|
|
|
+ $data['total'] = $Paginator->total();
|
|
|
+ $data['current_page'] = $Paginator->currentPage();
|
|
|
+ $data['per_page'] = $Paginator->perPage();
|
|
|
+ $data['last_page'] = $Paginator->lastPage();
|
|
|
+ $data['data'] = $Paginator->items();
|
|
|
+ // 处理请求
|
|
|
+ foreach ( $data['data'] as $key => $value ) {
|
|
|
+ // 处理数据
|
|
|
+ $value['thumb'] = path_compat($value['thumb']);
|
|
|
+ // 重组数据
|
|
|
+ $data['data'][$key] = $value;
|
|
|
+ }
|
|
|
+ // 返回结果
|
|
|
+ return json_send(['code'=>'success','msg'=>'获取成功','data'=>$data]);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+}
|