hrjy %!s(int64=2) %!d(string=hai) anos
pai
achega
90e2152a78

+ 4 - 14
app/api/controller/many/ManyController.php

@@ -88,21 +88,11 @@ class ManyController
             if (!$green) return app('json')->fail('你无法提前投注');
             $green['status'] = 1;
         }
-        $integral = $user['white_integral'] + $user['purple_integral'];// 白积分加紫积分的总积分
-        if ($integral < $data['price']) return app('json')->fail('积分额度不够');
+        $integral = $user['white_integral'];// 白积分加紫积分的总积分
+        if ($integral < $data['price']) return app('json')->fail('肥料额度不够');
         try {
-            if ($user['white_integral'] < $data['price']){
-                $white = $user['white_integral'];
-                $user['white_integral'] = 0;
-                $user['purple_integral'] -= ($data['price'] - $white);
-                if ($white > 0){
-                    UserBill::expend('扣除肥料', $user['uid'], 'white_integral', 'bet_white_integral', $white, 0,0,'使用肥料,参与种树-》'.$many['name'].'期数-》'.$many['stage'].'-成功');
-                }
-                UserBill::expend('扣除阳光', $user['uid'], 'purple_integral', 'bet_purple_integral', $data['price']-$white, 0,$user['purple_integral'],'使用阳光,参与种树-》'.$many['name'].'期数-》'.$many['stage'].'-成功');
-            }else{
-                $user['white_integral'] -= $data['price'];
-                UserBill::expend('扣除肥料', $user['uid'], 'white_integral', 'bet_white_integral', $data['price'], 0,$user['white_integral'],'使用肥料,参与种树-》'.$many['name'].'期数-》'.$many['stage'].'-成功');
-            }
+            $user['white_integral'] -= $data['price'];
+            UserBill::expend('扣除肥料', $user['uid'], 'white_integral', 'bet_white_integral', $data['price'], 0,$user['white_integral'],'使用肥料,参与种树-》'.$many['name'].'期数-》'.$many['stage'].'-成功');
             $many['number'] += $data['price'];
             if ($many['number'] >= $many['money']){
                 $many['suc'] = 1;// 众筹成功

+ 4 - 4
app/models/many/Many.php

@@ -78,19 +78,19 @@ class Many extends BaseModel
                 if ($many_order) {
                     foreach ($many_order as $value) {
                         $user = User::where('uid', $value['uid'])->find();
-                        $user['purple_integral'] += $value['price'] * 1.01;// 返还
+                        $user['white_integral'] += $value['price'] * 1.01;// 返还
                         $user->save();
-                        UserBill::income('种树失败返还阳光', $value['uid'], 'purple_integral', 'sbfh_purple_integral', $value['price'] * 1.01, 0, $user['purple_integral'], '种树失败返还' . $item['name'] . '-第' . $value['stage'] . '期阳光');
+                        UserBill::income('种树失败返还肥料', $value['uid'], 'white_integral', 'sbfh_white_integral', $value['price'] * 1.01, 0, $user['white_integral'], '种树失败返还' . $item['name'] . '-第' . $value['stage'] . '期肥料');
                     }
                     if ($order) {
                         foreach ($order as $value) {
                             $user = User::where('uid', $value['uid'])->find();
-                            $user['purple_integral'] += $value['price'] * 0.7;// 返还紫积分
+                            $user['white_integral'] += $value['price'] * 0.7;// 返还紫积分
                             $user['green_integral'] += $value['price'] * 0.3;// 返还绿积分
                             $user['paper_ticket'] += $value['price'] * 0.3;// 返还百分之三十的文票
                             $user['integral'] += $value['price'] * 0.3;// 返还百分之三十的商城积分
                             $user->save();
-                            UserBill::income('种树失败返还阳光', $value['uid'], 'purple_integral', 'sbfh_purple_integral', $value['price'] * 0.7, 0, $user['purple_integral'], '种树失败返还' . $item['name'] . '-第' . $value['stage'] . '期阳光');
+                            UserBill::income('种树失败返还肥料', $value['uid'], 'white_integral', 'sbfh_white_integral', $value['price'] * 0.7, 0, $user['white_integral'], '种树失败返还' . $item['name'] . '-第' . $value['stage'] . '期肥料');
                             UserBill::income('种树失败返还水滴', $value['uid'], 'green', 'sbfh_green', $value['price'] * 0.3, 0, $user['green_integral'], '种树失败返还' . $item['name'] . '-第' . $value['stage'] . '期水滴');
                             UserBill::income('种树失败返还文票', $value['uid'], 'paper_ticket', 'sbfh_paper_ticket', $value['price'] * 0.3, 0, $user['paper_ticket'], '种树失败返还' . $item['name'] . '-第' . $value['stage'] . '期文票');
                             UserBill::income('种树失败返还商城积分', $value['uid'], 'integral', 'sbfh_integral', $value['price'] * 0.3, 0, $user['integral'], '种树失败返还' . $item['name'] . '-第' . $value['stage'] . '期商城积分');

+ 24 - 24
app/models/many/ManyOrder.php

@@ -82,32 +82,32 @@ class ManyOrder extends BaseModel
                 }
                 $purple_integral = round($item['price'] * 1.07, 2);// 奖励紫积分积分
                 $business_integral = round($item['price'] * 0.03, 2);// 奖励商家积分
-                $user['purple_integral'] += $purple_integral;
+                $user['white_integral'] += $purple_integral;
                 $user['integral'] += $business_integral;
                 if ($user1) {
                     // 直推收益的百分之十
                     $sy1 = $item['price'] * 0.01;
-                    $user1['purple_integral'] += round($sy1 * 0.7, 2);
+                    $user1['white_integral'] += round($sy1 * 0.7, 2);
                     $user1['integral'] += round($sy1 * 0.3, 2);
                 }
                 if ($user2) {
                     // 间推收益的百分之五
                     $sy2 = $item['price'] * 0.005;
-                    $user2['purple_integral'] += round($sy2 * 0.7, 2);
+                    $user2['white_integral'] += round($sy2 * 0.7, 2);
                     $user2['integral'] += round($sy2 * 0.3, 2);
                 }
                 self::where('id', $item['id'])->update(['status' => 1, 'return_time' => time()]);
                 $user->save();
+                UserBill::income('种树成功补贴肥料', $user['uid'], 'white_integral', 'zccg_white_integral', $purple_integral, $user['spread_uid'], $user['white_integral'], '种树成功补贴' . $many['name'] . '-第' . $item['stage'] . '期肥料');
+                UserBill::income('种树成功补贴阳光', $user['uid'], 'purple_integral', 'zccg_purple_integral', $business_integral, $user['spread_uid'], $user['purple_integral'], '种树成功补贴' . $many['name'] . '-第' . $item['stage'] . '期阳光');
                 ManyOrder::push($item['uid'], $item);
-                UserBill::income('种树成功补贴阳光', $user['uid'], 'purple_integral', 'zccg_purple_integral', $purple_integral, $user['spread_uid'], $user['purple_integral'], '种树成功补贴' . $many['name'] . '-第' . $item['stage'] . '期阳光');
-                UserBill::income('种树成功补贴商城积分', $user['uid'], 'integral', 'zccg_integral', $business_integral, $user['spread_uid'], $user['integral'], '种树成功补贴' . $many['name'] . '-第' . $item['stage'] . '期商家积分');
                 if ($user1) {
-                    UserBill::income('直推奖励阳光', $user1['uid'], 'purple_integral', 'zt_purple_integral', $sy1 * 0.7, $user1['spread_uid'], $user1['purple_integral'], '直推奖励阳光');
+                    UserBill::income('直推奖励肥料', $user1['uid'], 'white_integral', 'zt_white_integral', $sy1 * 0.7, $user1['spread_uid'], $user1['white_integral'], '直推奖励肥料');
                     UserBill::income('直推奖励商城积分', $user1['uid'], 'integral', 'zt_integral', $sy1 * 0.3, $user1['spread_uid'], $user1['integral'], '直推奖励商家积分');
                     $user1->save();
                 }
                 if ($user2) {
-                    UserBill::income('间推奖励阳光', $user1['uid'], 'purple_integral', 'jt_purple_integral', $sy2 * 0.7, $user2['spread_uid'], $user2['purple_integral'], '间推奖励阳光');
+                    UserBill::income('间推奖励肥料', $user1['uid'], 'white_integral', 'jt_white_integral', $sy2 * 0.7, $user2['spread_uid'], $user2['white_integral'], '间推奖励肥料');
                     UserBill::income('间推奖励商城积分', $user1['uid'], 'integral', 'jt_integral', $sy2 * 0.3, $user2['spread_uid'], $user2['integral'], '间推奖励商家积分');
                     $user2->save();
                 }
@@ -144,12 +144,12 @@ class ManyOrder extends BaseModel
                         // 没有发放v2和v3的奖励
                         if ($v1 == 0) { // 没有发放v1的奖励
                             $jl = $price * $one;
-                            $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                            $details['white_integral'] += $jl * 0.7; // 百分之70的紫积分
                             $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                             $v1++;
                         }elseif ($v1 == 1){// 发放v1奖励1次
                             $jl = ($price*$one)*0.05;//平级的百分之五
-                            $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                            $details['white_integral'] += $jl * 0.7; // 百分之70的紫积分
                             $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                             $v1++;
                         }
@@ -159,22 +159,22 @@ class ManyOrder extends BaseModel
                         // 没有发放v3的奖励
                         if ($v1 == 0 and $v2 == 0) { // 没有发放v1和v2的奖励的奖励
                             $jl = $price * $tow; // 拿到流水的百分之八
-                            $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                            $details['white_integral'] += $jl * 0.7; // 百分之70的紫积分
                             $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                             $v2++;
                         }elseif($v1 == 0 and $v2 == 1) { // 没有发放v1和v2的奖励的奖励
                             $jl = ($price * $tow)*0.05; // 拿到流水的百分之八
-                            $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                            $details['white_integral'] += $jl * 0.7; // 百分之70的紫积分
                             $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                             $v2++;
                         }elseif ($v1 > 0 and $v2 == 0){// 发放v1奖励,没有发放v2的奖励
                             $jl = $price * ($tow - $one); // 拿到流水减掉v1的百分之五
-                            $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                            $details['white_integral'] += $jl * 0.7; // 百分之70的紫积分
                             $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                             $v2++;
                         }elseif ($v1 > 0 and $v2 == 1){// 发放v1奖励,发放v2的奖励一次
                             $jl = ($price * ($tow - $one))*0.05; // 拿到平级的百分之五
-                            $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                            $details['white_integral'] += $jl * 0.7; // 百分之70的紫积分
                             $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                             $v2++;
                         }
@@ -184,42 +184,42 @@ class ManyOrder extends BaseModel
                 }elseif ($details['level'] == 3){
                     if ($v1 == 0 and $v2 == 0 and $v3 == 0) { // 没有发放v1和v2v3的奖励的奖励
                         $jl = $price * $three; // 拿到流水的百分之11
-                        $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                        $details['white_integral'] += $jl * 0.7; // 百分之70的紫积分
                         $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                         $v3++;
                     }elseif ($v1 == 0 and $v2 == 0 and $v3 == 1) {// 没有发放v1和v2的奖励的奖励
                         $jl = ($price * $three) * 0.05; // 拿到平级的百分之五
-                        $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                        $details['white_integral'] += $jl * 0.7; // 百分之70的紫积分
                         $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                         $v3++;
                     }elseif ($v1 > 0 and $v2 == 0 and $v3 == 0){// 发放v1奖励,没有发放v2v3的奖励
                         $jl = $price * ($three - $one); // 拿到流水减掉v1的百分之五
-                        $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                        $details['white_integral'] += $jl * 0.7; // 百分之70的紫积分
                         $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                         $v3++;
                     }elseif ($v1 > 0 and $v2 == 0 and $v3 == 1){// 发放v1奖励,没有发放v2v3的奖励
                         $jl = ($price * ($three - $one)) * 0.05; // 拿到平级的百分之五
-                        $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                        $details['white_integral'] += $jl * 0.7; // 百分之70的紫积分
                         $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                         $v3++;
                     }elseif ($v1 == 0 and $v2 > 0 and $v3 == 0){// 发放v1奖励,发放v2的奖励,没有发放v3的奖励
                         $jl = ($price * ($three - $tow)); // 拿到平级的百分之五
-                        $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                        $details['white_integral'] += $jl * 0.7; // 百分之70的紫积分
                         $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                         $v3++;
                     }elseif ($v1 == 0 and $v2 > 0 and $v3 == 1){// 发放v1奖励,发放v2的奖励,发放v3的奖励
                         $jl = ($price * ($three - $tow)) * 0.05; // 拿到平级的百分之五
-                        $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                        $details['white_integral'] += $jl * 0.7; // 百分之70的紫积分
                         $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                         $v3++;
                     }elseif ($v1 > 0 and $v2 > 0 and $v3 == 0){// 发放v1奖励,发放v2的奖励,发放v3的奖励
                         $jl = ($price * ($three - $tow)); // 拿到平级的百分之五
-                        $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                        $details['white_integral'] += $jl * 0.7; // 百分之70的紫积分
                         $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                         $v3++;
                     }elseif ($v1 > 0 and $v2 > 0 and $v3 == 1){// 发放v1奖励,发放v2的奖励,发放v3的奖励
                         $jl = ($price * ($three - $tow)) * 0.05; // 拿到平级的百分之五
-                        $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                        $details['white_integral'] += $jl * 0.7; // 百分之70的紫积分
                         $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                         $v3++;
                     }
@@ -228,7 +228,7 @@ class ManyOrder extends BaseModel
                 }
                 if ($jl > 0){
                     $details->save();
-                    UserBill::income('团队奖励阳光', $details['uid'], 'purple_integral', 'td_purple_integral', $jl * 0.7, 0,$details['purple_integral'], '打怪胜利补贴'.$many['name'].'-第'.$order['stage'].'期团队v'.$details['level'].'奖励阳光');
+                    UserBill::income('团队奖励肥料', $details['uid'], 'white_integral', 'td_white_integral', $jl * 0.7, 0,$details['white_integral'], '打怪胜利补贴'.$many['name'].'-第'.$order['stage'].'期团队v'.$details['level'].'奖励肥料');
                     UserBill::income('团队奖励商城积分', $details['uid'], 'integral', 'td_integral', $jl * 0.3, 0,$details['integral'], '打怪胜利补贴'.$many['name'].'-第'.$order['stage'].'期期团队v'.$details['level'].'奖励商城积分');
                 }
                 $jl = 0;
@@ -253,10 +253,10 @@ class ManyOrder extends BaseModel
                     if ($price > 0) {
                         $details = User::where('uid', $item['uid'])->find();
 
-                        $details['purple_integral'] += ($price * ($details['flowing_water'] / 100)) * 0.7; // 百分之70的紫积分
+                        $details['white_integral'] += ($price * ($details['flowing_water'] / 100)) * 0.7; // 百分之70的紫积分
                         $details['integral'] += ($price * ($details['flowing_water'] / 100)) * 0.3; // 百分之30的商家积分
                         $details->save();
-                        UserBill::income('分红流水奖励阳光', $details['uid'], 'purple_integral', 'team_purple_integral', ($price * ($details['flowing_water'] / 100)) * 0.7, 0, $details['purple_integral'], '分红流水奖励阳光');
+                        UserBill::income('分红流水奖励肥料', $details['uid'], 'white_integral', 'team_white_integral', ($price * ($details['flowing_water'] / 100)) * 0.7, 0, $details['purple_integral'], '分红流水奖励肥料');
                         UserBill::income('分红流水奖励商城积分', $details['uid'], 'integral', 'team_integral', ($price * ($details['flowing_water'] / 100)) * 0.3, 0, $details['integral'], '分红流水奖励商城积分');
                     }
                 }

+ 37 - 8
app/models/user/UserExtract.php

@@ -10,6 +10,7 @@ namespace app\models\user;
 use crmeb\basic\BaseModel;
 use crmeb\services\workerman\ChannelService;
 use crmeb\traits\ModelTrait;
+use crmeb\services\SystemConfigService;
 
 
 /**
@@ -64,10 +65,10 @@ class UserExtract extends BaseModel
         $js = '';
         $bl = '';
         if ($data['type'] == 1){
-            if ($data['money'] > $userInfo['purple_integral']) return self::setErrorInfo('阳光积分不足');
-            $extractPrice = $userInfo['purple_integral'];
-            $js = '阳光积分';
-            $bl = 'purple_integral';
+            if ($data['money'] > $userInfo['white_integral']) return self::setErrorInfo('肥料不足');
+            $extractPrice = $userInfo['white_integral'];
+            $js = '肥料';
+            $bl = 'white_integral';
         }elseif ($data['type'] == 2){
             if ($userInfo['is_merchant'] == 0) return self::setErrorInfo('你不是商户,无法提现');
             if ($data['money'] > $userInfo['business_integral']) return self::setErrorInfo('商家积分不足');
@@ -77,15 +78,30 @@ class UserExtract extends BaseModel
         }
 //        $extractPrice = $userInfo['brokerage_price'];
         if($extractPrice < 0) return self::setErrorInfo('提现积分不足'.$data['money']);
-        if($data['money'] > $extractPrice) return self::setErrorInfo('提现积分不足'.$data['money']);
+        if($data['money'] > $extractPrice) return self::setErrorInfo('提现肥料不足'.$data['money']);
         if($data['money'] <= 0) return self::setErrorInfo('提现积分大于0');
 
         $balance = bcsub($extractPrice,$data['money'],2);
         if($balance < 0) $balance=0;
+        if ($userInfo['purple_integral'] > 0){
+            $tx = SystemConfigService::get('deduction_tx');
+            $sxf = ($data['money'] - (($data['money']*0.95) - 5));
+            $dk = $userInfo['purple_integral']/$tx;
+            if($dk > $sxf){
+                $ydk = ($dk - $sxf) * $tx;
+                $money = $data['money'];
+            }else{
+                $ydk = 0;
+                $money = $data['money'] - ($sxf - $dk);
+            }
+
+        }else{
+            $money = ($data['money']*0.95) - 5;
+        }
         $insertData = [
             'uid' => $userInfo['uid'],
             'extract_type' => $data['extract_type'],
-            'extract_price' => ($data['money']*0.95) - 5,
+            'extract_price' => $money,
             'add_time' => time(),
             'balance' => $balance,
             'status' => self::AUDIT_STATUS
@@ -114,8 +130,21 @@ class UserExtract extends BaseModel
         try{
             $res1 = self::create($insertData);
             if(!$res1) return self::setErrorInfo('提现失败');
-            $res2 = User::edit([$bl => $balance],$userInfo['uid'],'uid');
-            $res3 = UserBill::expend('积分提现',$userInfo['uid'],'now_money','extract',$data['money'],$res1['id'],$balance,$mark);
+            if ($userInfo['purple_integral'] > 0){
+                if($dk > $sxf){
+                    $res2 = User::edit([$bl => $balance, 'purple_integral' => $ydk],$userInfo['uid'],'uid');
+                    UserBill::expend('提现抵扣',$userInfo['uid'],'purple_integral','extract',($sxf*$tx),$res1['id'],$ydk,'提现使用'.($sxf*$tx).'阳光抵扣'.$sxf.'手续费');
+
+                }else{
+                    $res2 = User::edit([$bl => $balance, 'purple_integral' => $ydk],$userInfo['uid'],'uid');
+                    UserBill::expend('提现抵扣',$userInfo['uid'],'purple_integral','extract',(($sxf - $dk)*$tx),$res1['id'],$ydk,'提现使用'.(($sxf - $dk)*$tx).'阳光抵扣'.($sxf - $dk).'手续费');
+                }
+
+            }else{
+                $res2 = User::edit([$bl => $balance],$userInfo['uid'],'uid');
+            }
+
+            $res3 = UserBill::expend('提现',$userInfo['uid'],'now_money','extract',$data['money'],$res1['id'],$balance,$mark);
             $res = $res2 && $res3;
             if($res){
                 self::commitTrans();