wesmiler 1 年之前
父節點
當前提交
4999912eb4

+ 2 - 0
app/Http/Controllers/Api/v1/CouponController.php

@@ -24,6 +24,8 @@ class CouponController extends webApp
         $params =request()->post();
         $pageSize = request()->post('pageSize', 15);
         $params['user_id'] = $this->userId;
+        $params['ctime'] = 1;
+        $params['status'] = 1;
         $datas = CouponService::make()->getDataList($params, $pageSize);
         return message(1010, true, $datas);
     }

+ 11 - 0
app/Models/MemberCouponModel.php

@@ -22,4 +22,15 @@ class MemberCouponModel extends BaseModel
 {
     // 设置数据表
     protected $table = 'member_coupon';
+
+    /**
+     * 商家
+     * @return \Illuminate\Database\Eloquent\Relations\HasOne
+     */
+    public function merchant()
+    {
+        return $this->hasOne(MerchantModel::class, 'id','merch_id')
+            ->where(['status'=>2,'mark'=>1])
+            ->select(['id','user_id','name','type']);
+    }
 }

+ 7 - 3
app/Services/Api/CouponService.php

@@ -114,7 +114,9 @@ class CouponService extends BaseService
                 if(time()>$endTime){
                     $item['status'] = 4; // 已过期
                 }
+                $item['min_price'] = floatval($item['min_price']);
                 $item['create_time'] = $item['create_time']? datetime($item['create_time'],'Y-m-d H.i.s') : '';
+                $item['end_time_text'] = $item['end_time']? datetime($item['end_time'],'Y-m-d') : '';
             }
         }
 
@@ -208,7 +210,7 @@ class CouponService extends BaseService
 
                $query->where('start_time','<=', time())
                    ->where('end_time','>=', time());
-           })->count('sid');
+           })->count('id');
    }
 
     /**
@@ -245,7 +247,7 @@ class CouponService extends BaseService
        $info = $this->model->where(['id'=> $id,'mark'=>1,'status'=>1])
            ->where('start_time','<=', time())
            ->where('end_time','>=', time())
-           ->select(['id as coupon_id','name','num','received_num','coupon_type','reduce_price','discount','min_price','expire_day','start_time','end_time','apply_merch_ids'])
+           ->select(['id as coupon_id','merch_id','name','num','received_num','coupon_type','reduce_price','discount','min_price','expire_day','start_time','end_time','apply_merch_ids'])
            ->first();
        $info = $info? $info->toArray() : [];
        if(empty($info)){
@@ -268,6 +270,8 @@ class CouponService extends BaseService
            return false;
        }
 
+       unset($info['num']);
+       unset($info['received_num']);
        $info['code'] = get_random_code(8, 'DY');
        $info['user_id'] = $userId;
        $info['create_time'] = time();
@@ -281,7 +285,7 @@ class CouponService extends BaseService
            return false;
        }
 
-       if(!$this->model->where(['id'=> $id])->setInc('received_num', 1)){
+       if(!$this->model->where(['id'=> $id])->increment('received_num', 1)){
            $this->error = 2907;
            DB::rollBack();
            return false;

+ 1 - 1
app/Services/Api/GoodsService.php

@@ -426,7 +426,7 @@ class GoodsService extends BaseService
             }
 
             $info['service_type'] = $info['service_type']? $info['service_type'] : [2,3];
-            $info['coupon_num'] = CouponService::make()->getCountByMerch($info['merch_id'], $info['price']);
+            $info['coupon_num'] = CouponService::make()->getCountByMerch($info['merch_id']);
 
             $info['service_status'] = 2;
             $info['service_time'] = isset($info['service_time']) && $info['service_time']? $info['service_time']:'08点~22点';

+ 3 - 1
app/Services/Api/MemberCouponService.php

@@ -62,7 +62,7 @@ class MemberCouponService extends BaseService
         if($status>0){
             $where['a.status'] = $status;
         }
-        $list = $this->model->from('member_coupon as a')
+        $list = $this->model->with(['merchant'])->from('member_coupon as a')
             ->where($where)
             ->where(function($query) use($params){
                 $time = isset($params['ctime'])? $params['ctime'] : 0;
@@ -116,7 +116,9 @@ class MemberCouponService extends BaseService
         $list = $list? $list->toArray() :[];
         if($list){
             foreach($list['data'] as &$item){
+                $item['min_price'] = floatval($item['min_price']);
                 $item['create_time'] = $item['create_time']? datetime($item['create_time'],'Y-m-d H.i.s') : '';
+                $item['end_time_text'] = $item['end_time']? datetime($item['end_time'],'Y-m-d') : '';
             }
         }
 

+ 2 - 4
app/Services/Common/MerchantCategoryService.php

@@ -89,10 +89,8 @@ class MerchantCategoryService extends BaseService
 
         // 图片处理
         $icon = $data['icon'] ? trim($data['icon']) : '';
-        if (strpos($icon, "temp")) {
-            $data['icon'] = save_image($icon, 'icon');
-        } else {
-            $data['icon'] = str_replace(IMG_URL, "", $data['icon']);
+        if ($icon) {
+            $data['icon'] = get_image_path($icon);
         }
 
 

+ 1 - 0
resources/lang/zh-cn/api.php

@@ -286,6 +286,7 @@ return [
     '2906'=> '优惠券不存在或已失效,请刷新后重试',
     '2907'=> '领取失败',
     '2908'=> '领取成功',
+    '2909'=> '优惠券已被领取完',
 
     // 商家店员
     '2941'=> '绑定账号不存在或不可用,请核对后重试',