Bläddra i källkod

Merge branch 'dev-sc-260204' into dev

shichen 4 månader sedan
förälder
incheckning
98e90824f8

+ 14 - 0
app/common/dao/shared/SharedProsperityUserLevelLogDao.php

@@ -0,0 +1,14 @@
1
+<?php
2
+
3
+namespace app\common\dao\shared;
4
+
5
+use app\common\dao\BaseDao;
6
+use app\common\model\shared\SharedProsperityUserLevelLog;
7
+
8
+class SharedProsperityUserLevelLogDao extends BaseDao
9
+{
10
+    protected function getModel(): string
11
+    {
12
+        return SharedProsperityUserLevelLog::class;
13
+    }
14
+}

+ 18 - 0
app/common/model/shared/SharedProsperityUserLevelLog.php

@@ -0,0 +1,18 @@
1
+<?php
2
+
3
+namespace app\common\model\shared;
4
+
5
+use app\common\model\BaseModel;
6
+
7
+class SharedProsperityUserLevelLog extends BaseModel
8
+{
9
+    public static function tablePk(): ?string
10
+    {
11
+        return 'id';
12
+    }
13
+
14
+    public static function tableName(): string
15
+    {
16
+        return 'shared_prosperity_user_level_log';
17
+    }
18
+}

+ 27 - 2
app/common/repositories/shared/SharedProsperityUserRepository.php

@@ -4,6 +4,7 @@ namespace app\common\repositories\shared;
4
 
4
 
5
 use app\common\dao\shared\SharedProsperityGroupUserDao;
5
 use app\common\dao\shared\SharedProsperityGroupUserDao;
6
 use app\common\dao\shared\SharedProsperityUserDao;
6
 use app\common\dao\shared\SharedProsperityUserDao;
7
+use app\common\dao\shared\SharedProsperityUserLevelLogDao;
7
 use app\common\dao\user\UserDao;
8
 use app\common\dao\user\UserDao;
8
 use app\common\enum\CommonEnum;
9
 use app\common\enum\CommonEnum;
9
 use app\common\enum\shared\SharedProsperityRewardRecordEnum;
10
 use app\common\enum\shared\SharedProsperityRewardRecordEnum;
@@ -15,6 +16,7 @@ use app\entity\data\shared\SharedProsperityGroupUserEntity;
15
 use app\entity\data\shared\SharedProsperityRecommendConfigEntity;
16
 use app\entity\data\shared\SharedProsperityRecommendConfigEntity;
16
 use app\entity\data\shared\SharedProsperityUserEntity;
17
 use app\entity\data\shared\SharedProsperityUserEntity;
17
 use think\db\exception\DbException;
18
 use think\db\exception\DbException;
19
+use think\facade\Db;
18
 
20
 
19
 class SharedProsperityUserRepository extends BaseRepository
21
 class SharedProsperityUserRepository extends BaseRepository
20
 {
22
 {
@@ -773,9 +775,32 @@ class SharedProsperityUserRepository extends BaseRepository
773
      * @date 2026/2/27 14:23
775
      * @date 2026/2/27 14:23
774
      * 更新用户等级
776
      * 更新用户等级
775
      */
777
      */
776
-    public function updateLevel($userId, $level)
778
+    public function updateLevel($userId, $level, $operator, $remark)
777
     {
779
     {
778
-        return $this->dao->updateByUserId($userId, ['partner_level' => $level]);
780
+        $userInfo = $this->dao->getWhere(['user_id' => $userId]);
781
+        if ($level == $userInfo->partner_level) {
782
+            return '等级未发生变化';
783
+        }
784
+        Db::startTrans();
785
+        try {
786
+            // 变更等级
787
+            $this->dao->updateByUserId($userId, ['partner_level' => $level]);
788
+            // 记录日志
789
+            /** @var SharedProsperityUserLevelLogDao $logDao */
790
+            $logDao = app()->make(SharedProsperityUserLevelLogDao::class);
791
+            $logDao->create([
792
+                'user_id' => $userId,
793
+                'old_level' => $userInfo->partner_level,
794
+                'new_level' => $level,
795
+                'operator' => $operator,
796
+                'remark' => $remark
797
+            ]);
798
+            Db::commit();
799
+        } catch (\Exception $e) {
800
+            Db::rollback();
801
+            return $e->getMessage();
802
+        }
803
+
779
     }
804
     }
780
 
805
 
781
     /**
806
     /**

+ 7 - 4
app/controller/admin/system/sharedProsperity/SharedProsperityUser.php

@@ -30,10 +30,13 @@ class SharedProsperityUser
30
     {
30
     {
31
         /** @var SharedProsperityUserRepository $repository */
31
         /** @var SharedProsperityUserRepository $repository */
32
         $repository = app()->make(SharedProsperityUserRepository::class);
32
         $repository = app()->make(SharedProsperityUserRepository::class);
33
-        $params = app('request')->params(['user_id', 'partner_level']);
34
-        $res = $repository->updateLevel($params['user_id'], $params['partner_level']);
35
-        if (!$res) {
36
-            return app('json')->fail('更新失败');
33
+        $params = app('request')->params(['user_id', 'partner_level', 'remark']);
34
+        if (empty($params['user_id']) || empty($params['partner_level']) || empty($params['remark'])) {
35
+            return app('json')->fail('参数错误');
36
+        }
37
+        $res = $repository->updateLevel($params['user_id'], $params['partner_level'], request()->adminId(), $params['remark']);
38
+        if (is_string($res)) {
39
+            return app('json')->fail($res);
37
         }
40
         }
38
         return app('json')->success('更新成功');
41
         return app('json')->success('更新成功');
39
     }
42
     }