Kirin 3 년 전
부모
커밋
746fe8294a
2개의 변경된 파일35개의 추가작업 그리고 11개의 파일을 삭제
  1. 33 9
      app/admin/controller/user/User.php
  2. 2 2
      app/api/controller/user/UserBillController.php

+ 33 - 9
app/admin/controller/user/User.php

@@ -913,14 +913,38 @@ class User extends AuthController
 
     public function update_service($uid, $mid)
     {
-        if (!$uid) $this->failed('数据不存在');
-        $user = UserModel::get($uid);
-        if (!$user) $this->failed('数据不存在!');
-        if (!$mid || !MiningMachine::get($mid)) $this->failed('矿机不合法');
-        $f = array();
-        $f[] = Form::number('ratio', '比率', UserMiningRatio::where('uid', $uid)->where('mid', $mid)->value('ratio') ?: 0);
-        $form = Form::make_post_form('佣金比率', $f, Url::buildUrl('update_ratio', array('uid' => $uid, 'mid' => $mid)), 5);
-        $this->assign(compact('form'));
-        return $this->fetch('public/form-builder');
+        $user = \app\models\user\User::getUserInfo($uid);
+        $ratio = $this->request->post('ratio', 0);
+        if (!$mid || !MiningMachine::get($mid)) return app('json')->fail('矿机不合法');
+        $self = UserMiningService::where('mid', $mid)->where('uid', $user['spread_uid'])->find();
+        if (!isset($self['ratio']) || $ratio < $self['ratio']) {
+            return app('json')->fail('服务费比例不能低于目标上级');
+        }
+        $uids = \app\models\user\User::where('spread_uid', $user['uid'])->column('uid');
+        $user2 = UserMiningService::where('mid', $mid)->where('uid', 'in', $uids)->min('ratio');
+        if ($user2 > 0 && $ratio > $user2) {
+            return app('json')->fail('服务费比例不能高于目标下级');
+        }
+        if ($ratio > MiningMachine::where('id', $mid)->value('service_ratio')) {
+            return app('json')->fail('服务费比例不能高于系统设置');
+        }
+        if (UserMiningService::where('mid', $mid)->where('uid', $uid)->find()) {
+            $res = UserMiningService::where('mid', $mid)->where('uid', $uid)
+                ->update(['ratio' => $ratio, 'update_time' => time(), 'update_uid' => 1]);
+        } else {
+            $res = UserMiningService::create([
+                'uid' => $uid,
+                'mid' => $mid,
+                'ratio' => $ratio,
+                'add_time' => time(),
+                'update_time' => time(),
+                'update_uid' => 1,
+            ]);
+        }
+        if ($res) {
+            return app('json')->success('修改成功');
+        } else {
+            return app('json')->fail('修改失败或者您没有修改什么');
+        }
     }
 }

+ 2 - 2
app/api/controller/user/UserBillController.php

@@ -399,7 +399,7 @@ class UserBillController
         $mid = $request->post('mid', 0);
         if (!$mid || !MiningMachine::get($mid)) return app('json')->fail('矿机不合法');
         $self = UserMiningRatio::where('mid', $mid)->where('uid', $request->uid())->find();
-        if ($ratio > $self['ratio']) {
+        if (!isset($self['ratio']) || $ratio > $self['ratio']) {
             return app('json')->fail('佣金比例不能超过自己');
         }
         $uids = User::where('spread_uid', $user['uid'])->column('uid');
@@ -438,7 +438,7 @@ class UserBillController
         $mid = $request->post('mid', 0);
         if (!$mid || !MiningMachine::get($mid)) return app('json')->fail('矿机不合法');
         $self = UserMiningService::where('mid', $mid)->where('uid', $request->uid())->find();
-        if ($ratio < $self['ratio']) {
+        if (!isset($self['ratio']) || $ratio < $self['ratio']) {
             return app('json')->fail('服务费比例不能低于自己');
         }
         $uids = User::where('spread_uid', $user['uid'])->column('uid');