WIN-2308041133\Administrator 3 months ago
parent
commit
3e1a9ddab1
2 changed files with 49 additions and 0 deletions
  1. 40 0
      app/common/repositories/user/UserRepository.php
  2. 9 0
      route/admin/user.php

+ 40 - 0
app/common/repositories/user/UserRepository.php

@@ -664,6 +664,7 @@ class UserRepository extends BaseRepository
             Elm::number('now_money', '金额')->required()->min(0)->max(99999999)
         ])->setTitle('修改用户余额');
     }
+
     /**
      * 创建一个表单来修改当前用户的分红积分
      *
@@ -688,6 +689,26 @@ class UserRepository extends BaseRepository
             Elm::number('award_integral', '分红积分')->required()->min(0)->max(99999999)
         ])->setTitle('修改用户分红积分');
     }
+    /**
+     * 创建一个表单来修改当前用户是否为服务中心
+     *
+     * @param int $id 用户ID,用于构建表单提交的URL,确保操作针对特定用户。
+     * @return \Encore\Admin\Widgets\Form|Form
+     */
+    public function changeIsServiceForm($id)
+    {
+        // 创建表单,并设置表单提交的URL
+        return Elm::createForm(Route::buildUrl('systemUserChangeIsService', compact('id'))->build(), [
+            // 创建单选按钮字段,用于选择增加或减少余额
+            Elm::radio('type', '是否为服务中心:', 0)->options([
+                ['label' => '是', 'value' => 1],
+                ['label' => '否', 'value' => 0],
+            ])->requiredNum(),
+            // 创建数字输入框字段,用于输入修改的金额
+//            Elm::number('now_money', '金额')->required()->min(0)->max(99999999)
+        ])->setTitle('修改用户服务中心');
+    }
+
     /**
      * 创建一个表单来修改当前用户的分红积分
      *
@@ -786,6 +807,25 @@ class UserRepository extends BaseRepository
             }
         });
     }
+    /**
+     * 修改用户服务中心
+     *
+     * 本函数用于根据类型增加或减少用户的余额,并在数据库中记录相应的操作。
+     * 通过事务处理确保操作的原子性,防止数据不一致。
+     *
+     * @param int $id 用户ID
+     * @param int $adminId 操作管理员ID
+     * @param int $type 操作类型,1表示增加,其他表示减少
+     */
+    public function changeIsService($id, $adminId, $type)
+    {
+        // 根据用户ID获取用户信息
+        $user = $this->dao->get($id);
+        // 使用事务处理来确保操作的原子性
+        Db::transaction(function () use ($id, $adminId, $user, $type) {
+            $user->save(['is_service' => $type]);
+        });
+    }
     /**
      * 修改用户分红积分
      *

+ 9 - 0
route/admin/user.php

@@ -157,6 +157,15 @@ Route::group(function () {
         Route::post('change_award_range/:id', '/changeAwardRange')->name('systemUserChangeAwardRange')->option([
             '_alias' => '用户修改分红份额',
         ]);
+        //修改用户服务中心
+        Route::get('change_is_service/form/:id', '/changeIsServiceForm')->name('systemUserChangeIsServiceForm')->option([
+            '_alias' => '用户修改服务中心',
+            '_auth' => false,
+            '_form' => 'systemUserChangeIsService',
+        ]);
+        Route::post('change_is_service/:id', '/changeIsService')->name('systemUserChangeIsService')->option([
+            '_alias' => '用户修改服务中心',
+        ]);
         //微信图文群发
         Route::post('news/push', '/sendNews')->name('systemWechatUserSendNews')->option([
             '_alias' => '用户发送图文',