wesmiler пре 1 недеља
родитељ
комит
4a6cf09cc6

+ 1 - 1
app/Http/Controllers/Api/v1/TestController.php

@@ -21,7 +21,7 @@ class TestController extends webApp
     public function check()
     {
         echo 666;;
-        $result = SettleService::make()->commissionSettle(15);
+        $result = SettleService::make()->commissionSettle(2);
 //        $result = PriceService::make()->updatePrice(1);
 dump($result);
         return showJson(SettleService::make()->getError(), true, $result);

+ 0 - 47
app/Models/OrderCommissionModel.php

@@ -22,53 +22,6 @@ class OrderCommissionModel extends BaseModel
     // 设置数据表
     protected $table = 'orders_commissions';
 
-    //
-    public function getDirectBonuAttribute($value)
-    {
-        $value = $value ? json_encode($value,true) : [];
-        return $value;
-    }
-
-    public function getBonus1DataAttribute($value)
-    {
-        $value = $value ? json_encode($value,true) : [];
-        return $value;
-    }
-
-
-    public function getBonus2DataAttribute($value)
-    {
-        $value = $value ? json_encode($value,true) : [];
-        return $value;
-    }
-
-
-    public function getBonus3DataAttribute($value)
-    {
-        $value = $value ? json_encode($value,true) : [];
-        return $value;
-    }
-
-
-    public function getBonus4DataAttribute($value)
-    {
-        $value = $value ? json_encode($value,true) : [];
-        return $value;
-    }
-
-    public function getBonus5DataAttribute($value)
-    {
-        $value = $value ? json_encode($value,true) : [];
-        return $value;
-    }
-
-    public function getBonus6DataAttribute($value)
-    {
-        $value = $value ? json_encode($value,true) : [];
-        return $value;
-    }
-
-
     /**
      * @return \Illuminate\Database\Eloquent\Relations\HasOne
      */

+ 10 - 0
app/Models/OrderModel.php

@@ -77,6 +77,16 @@ class OrderModel extends BaseModel
             ->with(['user','store','directUser']);
     }
 
+    /**
+     * 佣金数据
+     * @return \Illuminate\Database\Eloquent\Relations\HasOne
+     */
+    public function commissionAll()
+    {
+        return $this->hasOne(OrderCommissionModel::class, 'order_no', 'order_no')
+            ->with(['user','store','directUser']);
+    }
+
 
     /**
      * 经手人

+ 8 - 5
app/Services/Api/SettleService.php

@@ -185,6 +185,7 @@ class SettleService extends BaseService
                     $levelData = isset($levelList[$pLevel])? $levelList[$pLevel] : 0;
                     $levelWeightCount = isset($levelWeightCountData['count'])? $levelWeightCountData['count']:0;
                     $levelBonus = isset($levelData['bonus'])? $levelData['bonus']:0;
+                    $levelName = isset($levelData['name'])? $levelData['name']:'';
                     $data["bonus_{$layer}_uid"] = $pid;
 
                     $bonusData = [
@@ -193,6 +194,7 @@ class SettleService extends BaseService
                         'mobile'=> isset($point['mobile'])?$point['mobile']:'',
                         'jd_bonus'=> 0,
                         'level'=> $pLevel,
+                        'level_name'=> $levelName,
                         'weight'=> $levelWeightCount,
                         'weight_bonus'=> $levelBonus,
                         'level_bonus'=> 0,
@@ -328,7 +330,7 @@ class SettleService extends BaseService
         DB::beginTransaction();
         if($orderType == 2){
             // TODO 结算直推奖
-            $directData = isset($commission['direct_bonus'])? $commission['direct_bonus'] : [];
+            $directData = isset($commission['direct_bonus']) && $commission['direct_bonus']? json_decode($commission['direct_bonus'],true) : [];
             $directUserId = isset($commission['direct_uid'])? $commission['direct_uid'] : 0;
             $directBonus = isset($directData['bonus'])? $directData['bonus'] : 0;
             var_dump($directUserId);
@@ -385,12 +387,13 @@ class SettleService extends BaseService
                 ->get()
                 ->keyBy('id');
             $bonusUsers = $bonusUsers? $bonusUsers->toArray() : [];
-            var_dump($bonusUsers);
-            var_dump($bonusUids);
+            dump($bonusUids);
             for($i=1; $i<=6; $i++){
                $uid = isset($commission["bonus_{$i}_uid"])? $commission["bonus_{$i}_uid"]:0;
-               $bonusData = isset($commission["bonus_{$i}_data"])? $commission["bonus_{$i}_data"]:0;
+               $bonusData = isset($commission["bonus_{$i}_data"])? $commission["bonus_{$i}_data"]:'';
+               $bonusData = $bonusData?json_decode($bonusData,true):[];
                $jdBonus = isset($bonusData['jd_bonus'])?$bonusData['jd_bonus']:0;
+               $levelName = isset($bonusData['level_name'])?$bonusData['level_name']:'';
                $levelBonus = isset($bonusData['level_bonus'])?$bonusData['level_bonus']:0;
                $bonusUser = isset($bonusUsers[$uid])?$bonusUsers[$uid] : [];
                $bonusUserBalance = isset($bonusUser['balance'])?$bonusUser['balance'] : 0;
@@ -444,7 +447,7 @@ class SettleService extends BaseService
                            'date'=>date('Y-m-d'),
                            'create_time'=>time()+$i,
                            'remark'=> '分红收益',
-                           'remark1'=> "下{$i}级用户ID:{$orderUserId}购买礼包分红收益",
+                           'remark1'=> "下{$i}级用户ID:{$orderUserId}购买礼包等级[{$levelName}]分红收益",
                            'status'=>1,
                            'mark'=>1
                        ];