hrjy 2 years ago
parent
commit
41efbf9e18

+ 6 - 0
app/admin/model/many/ManyOrder.php

@@ -67,6 +67,12 @@ class ManyOrder extends BaseModel
             $model->page(20, 1);
         }
         $list = $model->select()->toArray();
+        foreach ($list as &$item)
+        {
+            if ($item['return_time'] > 0){
+                $item['return_time'] = date('Y-m-d H:i:s', $item['return_time']);
+            }
+        }
         $data['data'] = $list;
         return $data;
 

+ 1 - 0
app/admin/view/many/many_order/index.php

@@ -183,6 +183,7 @@
             {field: 'price', title: '金额',  align: 'center'},
             {field: 'status', title: '状态', templet: '#status', align: 'center'},
             {field: 'create_time', title: '创建时间', align: 'center',width: '8%'},
+            {field: 'return_time', title: '返还时间', align: 'center',width: '8%'},
             {field: 'right', title: '操作', align: 'center', toolbar: '#act',width: '15%'},
         ];
 

+ 0 - 8
app/http/middleware/AllowOriginMiddleware.php

@@ -63,14 +63,6 @@ class AllowOriginMiddleware implements MiddlewareInterface
         } catch (\Exception $e) {
             Db::rollback();
         }
-
-        try {
-            Db::startTrans();
-            ManyOrder::push(); //团队奖励
-            Db::commit();
-        } catch (\Exception $e) {
-            Db::rollback();
-        }
         try {
             Db::startTrans();
             ManyOrder::flowing_water(); //流水分红

+ 105 - 109
app/models/many/ManyOrder.php

@@ -100,6 +100,7 @@ class ManyOrder extends BaseModel
                     }
                     self::where('id', $item['id'])->update(['status' => 1, 'return_time' => time()]);
                     $user->save();
+                    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){
@@ -124,121 +125,116 @@ class ManyOrder extends BaseModel
      * @throws \think\db\exception\DbException
      * @throws \think\db\exception\ModelNotFoundException
      */
-    public static function push()
+    public static function push($uid, $order)
     {
-        if (!Push::where('add_time', strtotime('today'))->where('type', 1)->find()){
-            $user = User::select();
-            foreach ($user as $item)
-            {
-                $price = ManyOrder::whereBetweenTime('return_time', strtotime('yesterday'), strtotime('today'))->where('status', 1)->where('uid', $item['uid'])->sum('price');// 昨天众筹成功返还的金额流水
-                if ($item['spread_uid'] > 0 and $price > 0){
-                    $spread = getParent($item['spread_uid'], $user->toArray());// 找到所有上级
-                    $v1 = 0;
-                    $v2 = 0;
-                    $v3 = 0;
-                    $one = SystemConfig::getConfigValue('v1')/100; // v1比例
-                    $tow = SystemConfig::getConfigValue('v2')/100;// v2比例
-                    $three = SystemConfig::getConfigValue('v3')/100;// v3比例
-                    foreach ($spread as $value) {
-                        $details = User::where('uid', $value)->find();
-                        if ($details['level'] == 1){
-                            if ($v2 == 0 and $v3 == 0){
-                                // 没有发放v2和v3的奖励
-                                if ($v1 == 0) { // 没有发放v1的奖励
-                                    $jl = $price * $one;
-                                    $details['purple_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['integral'] += $jl * 0.3; // 百分之30的商家积分
-                                    $v1++;
-                                }
-                            }
-                        }elseif ($details['level'] == 2){
-                            if ($v3 == 0){
-                                // 没有发放v3的奖励
-                                if ($v1 == 0 and $v2 == 0) { // 没有发放v1和v2的奖励的奖励
-                                    $jl = $price * $tow; // 拿到流水的百分之八
-                                    $details['purple_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['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['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['integral'] += $jl * 0.3; // 百分之30的商家积分
-                                    $v2++;
-                                }
-
-                            }
-
-                        }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['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['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['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['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['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['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['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['integral'] += $jl * 0.3; // 百分之30的商家积分
-                                $v3++;
-                            }
-                        }else{
-                            $jl = 0;
+        $user = User::select();
+        $find = User::where('uid', $uid)->find();
+        $many = Many::where('id', $order['many_id'])->find();
+        $price = $order['price'];
+        if ($find['spread_uid'] > 0 and $price > 0){
+            $spread = getParent($uid, $user->toArray());// 找到所有上级
+            $v1 = 0;
+            $v2 = 0;
+            $v3 = 0;
+            $one = SystemConfig::getConfigValue('v1')/100; // v1比例
+            $tow = SystemConfig::getConfigValue('v2')/100;// v2比例
+            $three = SystemConfig::getConfigValue('v3')/100;// v3比例
+            foreach ($spread as $value) {
+                $details = User::where('uid', $value)->find();
+                if ($details['level'] == 1){
+                    if ($v2 == 0 and $v3 == 0){
+                        // 没有发放v2和v3的奖励
+                        if ($v1 == 0) { // 没有发放v1的奖励
+                            $jl = $price * $one;
+                            $details['purple_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['integral'] += $jl * 0.3; // 百分之30的商家积分
+                            $v1++;
                         }
-                        if ($jl > 0){
-                            $details->save();
-                            UserBill::income('团队奖励阳光积分', $details['uid'], 'purple_integral', 'td_purple_integral', $jl * 0.7, 0,$details['purple_integral'], 'v'.$details['level'].'团队奖励阳光积分');
-                            UserBill::income('团队奖励商城积分', $details['uid'], 'integral', 'td_integral', $jl * 0.3, 0,$details['integral'], 'v'.$details['level'].'团队奖励商城积分');
+                    }
+                }elseif ($details['level'] == 2){
+                    if ($v3 == 0){
+                        // 没有发放v3的奖励
+                        if ($v1 == 0 and $v2 == 0) { // 没有发放v1和v2的奖励的奖励
+                            $jl = $price * $tow; // 拿到流水的百分之八
+                            $details['purple_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['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['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['integral'] += $jl * 0.3; // 百分之30的商家积分
+                            $v2++;
                         }
-                        $jl = 0;
+
                     }
+
+                }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['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['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['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['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['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['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['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['integral'] += $jl * 0.3; // 百分之30的商家积分
+                        $v3++;
+                    }
+                }else{
+                    $jl = 0;
                 }
+                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'], 'integral', 'td_integral', $jl * 0.3, 0,$details['integral'], '打怪胜利补贴'.$many['name'].'-第'.$order['stage'].'期期团队v'.$details['level'].'奖励商城积分');
+                }
+                $jl = 0;
             }
-            Push::create(['add_time' => strtotime('today'), 'type' => 1]); //存入数据库信息
-
         }
     }
 

+ 0 - 8
crmeb/subscribes/TaskSubscribe.php

@@ -92,14 +92,6 @@ class TaskSubscribe
         } catch (\Exception $e) {
             Db::rollback();
         }
-
-        try {
-            Db::startTrans();
-            ManyOrder::push(); //团队奖励
-            Db::commit();
-        } catch (\Exception $e) {
-            Db::rollback();
-        }
         try {
             Db::startTrans();
             ManyOrder::flowing_water(); //流水分红