zxhxx 3 years ago
parent
commit
05b06e4104

+ 8 - 0
app/admin/controller/system/SystemStore.php

@@ -3,6 +3,8 @@
 namespace app\admin\controller\system;
 
 use app\admin\controller\AuthController;
+use app\models\user\User;
+use app\models\user\UserLevel;
 use crmeb\services\JsonService;
 use crmeb\services\JsonService as Json;
 use app\admin\model\system\SystemStore as SystemStoreModel;
@@ -93,6 +95,12 @@ class SystemStore extends AuthController
         ($is_show == '' || $id == '') && JsonService::fail('缺少参数');
         $res = SystemStoreModel::where(['id' => $id])->update(['is_show' => (int)$is_show]);
         if ($res) {
+            $Info = SystemStoreModel::find($id);
+            if($is_show==1 && $Info['uid']>0)
+            {
+                $user = User::find($Info['uid']);
+                if($user['level']<3) UserLevel::setUserLevel($Info['uid'],3);
+            }
             return JsonService::successful($is_show == 1 ? '设置显示成功' : '设置隐藏成功');
         } else {
             return JsonService::fail($is_show == 1 ? '设置显示失败' : '设置隐藏失败');

+ 1 - 1
app/admin/model/system/SystemStore.php

@@ -50,7 +50,7 @@ class SystemStore extends BaseModel
     public static function getStoreDispose($id = 0)
     {
         if ($id)
-            $storeInfo = self::verificWhere()->where('id', $id)->find();
+            $storeInfo = self::where('is_del',0)->where('id', $id)->find();
         else
 //            $storeInfo = self::verificWhere()->find();
             $storeInfo = [];

+ 1 - 1
app/api/controller/activity/WholeController.php

@@ -76,7 +76,7 @@ class WholeController
             ['limit', 0],
         ], $request, true);
         if (!$time) return app('json')->fail('参数错误');
-        $seckillInfo = Package::lst(['time_id'=>$time,'page'=>$page,'limit'=>$limit]);
+        $seckillInfo = Package::lst(['time_id'=>$time,'page'=>$page,'limit'=>$limit,'status'=>3]);
         if (count($seckillInfo)) {
             foreach ($seckillInfo as $key => &$item) {
 

+ 60 - 7
app/models/store/StoreOrder.php

@@ -10,18 +10,16 @@ namespace app\models\store;
 use app\admin\model\store\StoreProductAttrValue;
 use app\admin\model\system\ShippingTemplatesFree;
 use app\admin\model\system\ShippingTemplatesRegion;
+use app\models\system\SystemUserLevel;
 use crmeb\basic\BaseModel;
+use think\Exception;
 use think\facade\Cache;
 use crmeb\traits\ModelTrait;
 use think\facade\Log;
 use app\models\system\SystemStore;
 use app\models\routine\RoutineTemplate;
-use app\models\user\{
-    User, UserAddress, UserBill, WechatUser
-};
-use crmeb\services\{
-    SystemConfigService, WechatTemplateService, workerman\ChannelService
-};
+use app\models\user\{User, UserAddress, UserBill, UserLevel, WechatUser};
+use crmeb\services\{SystemConfigService, UtilService, WechatTemplateService, workerman\ChannelService};
 use crmeb\repositories\{
     GoodsRepository, PaymentRepositories, OrderRepository, ShortLetterRepositories, UserRepository
 };
@@ -760,9 +758,10 @@ class StoreOrder extends BaseModel
         $now_money = User::where('uid', $order['uid'])->value('now_money');
         UserBill::expend('购买商品', $order['uid'], 'now_money', 'pay_money', $order['pay_price'], $order['id'], $now_money, '支付' . floatval($order['pay_price']) . '元购买商品');
         self::gainUserIntegral($order);
+
         //支付成功后
         event('OrderPaySuccess', [$order, $formId]);
-        $res = $res1 && $resPink;
+        $res = $res1 && $resPink && self::dividend_treatment($order);
         return false !== $res;
     }
 
@@ -2190,5 +2189,59 @@ class StoreOrder extends BaseModel
         }
         return true;
     }
+    /**
+     * 处理分钱
+     * @param $order
+     */
+    public static function dividend_treatment($order)
+    {
+        $userInfo = User::find($order['uid']);
+        $userlist =User::alias('a')->join("eb_system_store b","a.uid=b.uid","left")->field('a.uid,a.spread_uid,a.nickname,a.level,a.brokerage_price,b.is_show as approve')->select()->toarray();
+        try {
+            //处理级差
+            $pids = UtilService::getparentid($userlist, $order['uid']);
+            $trem_sp = [];
+            foreach ($pids as $v) {
+                $agent_user = User::find($v['uid'])->toArray();
+                if ($agent_user['level'] > 3) {
+                    $trem_sp[] = $agent_user;
+                }
+            }
+            //销售奖
+            if (sizeof($trem_sp) > 0) {
+                $sum_range = SystemUserLevel::max('range_prize');
+                $range = 0;
+                $sn = 0;
+                foreach ($trem_sp as $v) {
+                    $sp_range = 0;
+                    $syslevel = SystemUserLevel::where('id', $v['level'])->find();
+                    $sn++;
+                    if ($syslevel['range_prize'] > $range) {
+                        $sp_range = bcsub($sum_range, $syslevel['range_prize']);
+                        $range = $syslevel['range_prize'];
+                    }
+                    if ($sp_range > 0) {
+                        $sp_brokeragePrice = bcdiv(bcmul($order['total_price'], $sp_range, 2), 100, 2);
+                        $balance = bcadd($v['brokerage_price'], $sp_brokeragePrice, 2);
+                        $mark = $v['nickname'] . '极差奖' . floatval($sp_brokeragePrice) . "元,订单号:" . $order['order_id'];
+                        $res1 = UserBill::income('极差奖', $v['uid'], 'now_money', 'brokerage', $sp_brokeragePrice, $order['id'], $balance, $mark, 1);
+                        User::where('uid', $v['uid'])->inc('brokerage_price', $sp_brokeragePrice)->update();
+                    }
+                    if ($range == $sum_range) {
+                        break;
+                    }
+                }
+            }
+            if ($userInfo['level'] == 0) {
+                UserLevel::setUserLevel($userInfo['uid'], 1);
+            }
+            unset($pids);
+            return true;
+        }catch (Exception $e)
+        {
+            Log::error($e->getLine().'---'.$e->getFile().'---'.$e->getMessage());
+            return false;
+        }
+    }
 
 }