Ver código fonte

活动首页API

liugc 1 ano atrás
pai
commit
0ad44ae320

+ 43 - 0
app/api/controller/PropertyActivityController.php

@@ -0,0 +1,43 @@
+<?php
+namespace app\api\controller;
+
+use app\adminapi\lists\property\PropertyActivityLists;
+use app\adminapi\logic\property\PropertyActivityLogic;
+use app\adminapi\validate\property\PropertyActivityValidate;
+use app\api\logic\ActivityLogic;
+use app\api\logic\GoodsLogic;
+use app\api\validate\GoodsValidate;
+
+
+/**
+ * PropertyActivity控制器
+ * Class PropertyActivityController
+ * @package app\api\controller
+ */
+class PropertyActivityController extends BaseApiController
+{
+
+    public array $notNeedLogin = ['getActivityHomepage'];
+
+    /**
+     * @notes 获取代理活动商品列表
+     * @return \think\response\Json
+     * @author likeadmin
+     * @date 2024/11/21 15:04
+     */
+    public function getActivityHomepage()
+    {
+        $params = (new GoodsValidate())->post()->goCheck('activity',[
+            'user_id'=>$this->userId
+        ]);
+        $result = ActivityLogic::getHomepageByActivityId($params);
+        if (false === $result) {
+            return $this->fail(GoodsLogic::getError());
+        }
+        return $this->success('', $result, 1, 1);
+    }
+
+
+
+
+}

+ 1 - 1
app/api/lists/GoodsLists.php

@@ -39,7 +39,7 @@ class GoodsLists  extends BaseApiDataLists implements ListsSearchInterface
     public function setSearch(): array
     {
         return [
-            '=' => ['goods_status','property_activity_id'],
+            '=' => ['goods_status'],
             '%like%' => ['goods_name','goods_brand'],
             'between' => ['service_total', 'service_fee'],
         ];

+ 37 - 0
app/api/logic/ActivityLogic.php

@@ -0,0 +1,37 @@
+<?php
+namespace app\api\logic;
+
+use app\common\logic\BaseLogic;
+use app\common\model\coupon\CouponRules;
+use app\common\model\goods\Goods;
+use app\common\model\goods_category\GoodsCategory;
+use think\facade\Db;
+use think\facade\Log;
+
+
+/**
+ * 活动逻辑处理
+ * Class ActivityLogic
+ * @package app\api\logic
+ */
+class ActivityLogic extends BaseLogic
+{
+    public static function getHomepageByActivityId($params){
+        $res = [];
+        try{
+            $res['coupons'] = CouponRules::where('property_activity_id',$params['property_activity_id'])
+                ->select()
+                ->toArray();
+            $res['goods'] =  Goods::order(['category_type' => 'desc'])
+                ->where('property_activity_id',$params['property_activity_id'])
+                ->where('is_agent',1)
+                ->visible(['id','goods_name','goods_image','base_service_fee','service_total','service_fee'])
+                ->select()
+                ->toArray();
+            return $res;
+        }catch(\Exception $e){
+            Log::info('getHomepageByActivityId:'.$e->getMessage());
+            return $res;
+        }
+    }
+}

+ 6 - 1
app/api/validate/GoodsValidate.php

@@ -27,6 +27,7 @@ class GoodsValidate extends BaseValidate
         'service_total' => 'require',
         'service_fee' => 'require',
         'goods_status' => 'require',
+        'property_activity_id' => 'require',
 
     ];
 
@@ -45,6 +46,7 @@ class GoodsValidate extends BaseValidate
         'service_total' => '服务原价',
         'service_fee' => '服务价格',
         'goods_status' => '商品状态',
+        'property_activity_id' => '代理商活动id',
 
     ];
 
@@ -69,5 +71,8 @@ class GoodsValidate extends BaseValidate
     {
         return $this->only(['id']);
     }
-
+    public function sceneActivity()
+    {
+        return $this->only(['property_activity_id']);
+    }
 }