ソースを参照

add - 物业临时 - 跳转查外部商品 / 下单

liugc 11 ヶ月 前
コミット
157d695598

+ 1 - 1
app/api/controller/GoodsController.php

@@ -30,7 +30,7 @@ class GoodsController extends BaseApiController
     public function categoryDetail()
     {
         $params = (new GoodsValidate())->goCheck('category');
-        $result = GoodsLogic::detail($params['goods_category_id'],'category',$this->userId,$params['service_work_id']??0);
+        $result = GoodsLogic::detail($params['goods_category_id'],'category',$this->userId,$params);
         return $this->data($result);
     }
 

+ 9 - 2
app/api/logic/GoodsLogic.php

@@ -2,6 +2,7 @@
 namespace app\api\logic;
 
 use app\common\logic\BaseLogic;
+use app\common\model\external\ExternalPlatform;
 use app\common\model\external\ExternalPlatformGoods;
 use app\common\model\goods\Goods;
 use app\common\model\goods_category\GoodsCategory;
@@ -25,8 +26,11 @@ class GoodsLogic extends BaseLogic
      * @author whitef
      * @date 2022/9/20 17:09
      */
-    public static function detail($id,$type,$userId = 0,$service_work_id = 0){
+    public static function detail($id,$type,$userId = 0,$params = []){
         $where = [];
+        $service_work_id = $params['service_work_id']??0;
+        $platform_appid = $params['platform_appid']??0;
+        $platform_value = 0;
         if($type == 'category'){
             $where[] = ['goods_category_id','=',$id];
             $where[] = ['user_id','=',0];
@@ -35,6 +39,9 @@ class GoodsLogic extends BaseLogic
             if($service_work_id > 0){
                 $platform_value = ServiceWork::where('id',$service_work_id)->value('external_platform_id');
                 $where[] = ['platform_value','=',$platform_value];
+            }elseif ($platform_appid > 0){
+                $platform_value = ExternalPlatform::where('appid',$platform_appid)->value('id');
+                $where[] = ['platform_value','=',$platform_value];
             }else{
                 $where[] = ['platform_value','=',0];
             }
@@ -53,7 +60,7 @@ class GoodsLogic extends BaseLogic
         if(!empty($goods)){
             $data = [];
             foreach ($goods as $key => $value) {
-                if($service_work_id > 0){
+                if($service_work_id > 0 || $platform_appid > 0){
                     $value['service_fee'] = self::getPlatformServiceFee($platform_value,$value['id'])?:$value['service_fee'];
                 }
                 if($value['goods_payment_type'] == '2'){

+ 6 - 0
app/api/logic/ServiceOrderLogic.php

@@ -17,6 +17,7 @@ use app\common\model\coupon\CouponCategory;
 use app\common\model\coupon\UserCoupon;
 use app\common\model\dict\DictData;
 use app\common\model\equity\UserEquity;
+use app\common\model\external\ExternalPlatform;
 use app\common\model\goods\Goods;
 use app\common\model\master_commission\MasterWorkerCommissionConfig;
 use app\common\model\master_commission\MasterWorkerCommissionNotice;
@@ -146,6 +147,10 @@ class ServiceOrderLogic extends BaseLogic
                 $user_coupon->save();
             }
 
+            // TODO tmp外部平台
+            // 外部平台appid
+            $external_platform_id = ExternalPlatform::where('appid',$params['platform_appid']??0)->value('id')?:0;
+
             //生成服务工单
             $work_data = [
                 'work_sn' => generate_sn(ServiceWork::class, 'work_sn'),
@@ -171,6 +176,7 @@ class ServiceOrderLogic extends BaseLogic
                 'lat'=>!empty($params['lat'])?$params['lat']:0,
                 'property_activity_id'=>!empty($params['property_activity_id'])?$params['property_activity_id']:0,
                 'user_equity_id'=>$params['user_equity_id']??0,
+                'external_platform_id'=>$external_platform_id??0,
             ];
 
             //判断是否是加单