Kirin il y a 3 ans
Parent
commit
abf65279a9
1 fichiers modifiés avec 24 ajouts et 1 suppressions
  1. 24 1
      app/api/controller/PublicController.php

+ 24 - 1
app/api/controller/PublicController.php

@@ -53,7 +53,7 @@ class PublicController
             self::addAchievement($uid);
             User::where('uid', $userInfo['uid'])->update(['integral' => bcadd($userInfo['integral'], 3000, 2)]);
             $res2 = false != UserBill::income('购买商品赠送积分', $uid, 'integral', 'gain', 3000, 0, $userInfo['integral'] + 3000, '购买商品赠送' . floatval(3000) . '积分');
-            $res = $res2 && self::spreadIntegral($uid);
+            $res = $res2 && self::spreadIntegral($uid) && self::groupIntegral($uid);
             TreeRecommend::insertTree($uid, $sp, $way);
             self::pinkRecommend($uid);
             BaseModel::commitTrans();
@@ -127,6 +127,29 @@ class PublicController
         return $res;
     }
 
+    public static function groupIntegral($uid): bool
+    {
+
+        $userInfo = User::getUserInfo($uid);
+        $spread = User::getUserInfo($userInfo['spread_uid']);
+        $send = 0;
+        $res = true;
+
+        while ($spread) {
+            $level = UserLevel::getUserLevelInfo(UserLevel::getUserLevel($spread['uid']));
+            if ($level) {
+                $integral = bcmul(3000, bcdiv($level['group_point_award'], 100, 4), 2);
+                if ($integral > $send) {
+                    $real_send = $integral - $send;
+                    $res = false != UserBill::income('团队用户购买商品赠送积分', $spread['uid'], 'integral', 'group_gain', $real_send, 0, $spread['integral'], '团队用户购买商品赠送' . floatval($real_send) . '积分', 0);
+                    $send = $integral;
+                }
+            }
+            $spread = User::getUserInfo($spread['spread_uid']);
+        }
+        return $res;
+    }
+
     public function open(Request $request)
     {
         Lottery::openLottery();