فهرست منبع

新增积分功能(未完成,还没有默认创建)

tsurumure 7 ماه پیش
والد
کامیت
948fbcf7aa
21فایلهای تغییر یافته به همراه322 افزوده شده و 37 حذف شده
  1. 32 0
      db/sys_user_integral.sql
  2. 25 0
      db/sys_user_integral_log.sql
  3. 6 3
      db/sys_user_role_permission.sql
  4. 2 2
      db/sys_user_role_permission_relation.sql
  5. 4 1
      src/main/java/com/backendsys/modules/common/config/security/utils/SecurityUtil.java
  6. 18 19
      src/main/java/com/backendsys/modules/system/controller/SysUserController.java
  7. 51 0
      src/main/java/com/backendsys/modules/system/controller/SysUserIntegralController.java
  8. 9 0
      src/main/java/com/backendsys/modules/system/dao/SysUserIntegralDao.java
  9. 9 0
      src/main/java/com/backendsys/modules/system/dao/SysUserIntegralLogDao.java
  10. 4 0
      src/main/java/com/backendsys/modules/system/entity/SysUserInfo.java
  11. 4 0
      src/main/java/com/backendsys/modules/system/entity/SysUserInfoSimple.java
  12. 14 0
      src/main/java/com/backendsys/modules/system/entity/SysUserIntegral.java
  13. 20 0
      src/main/java/com/backendsys/modules/system/entity/SysUserIntegralLog.java
  14. 4 0
      src/main/java/com/backendsys/modules/system/service/SysUserIntegralLogService.java
  15. 15 0
      src/main/java/com/backendsys/modules/system/service/SysUserIntegralService.java
  16. 1 2
      src/main/java/com/backendsys/modules/system/service/SysUserService.java
  17. 3 4
      src/main/java/com/backendsys/modules/system/service/impl/SysAuthV2ServiceImpl.java
  18. 8 0
      src/main/java/com/backendsys/modules/system/service/impl/SysUserIntegralLogServiceImpl.java
  19. 77 0
      src/main/java/com/backendsys/modules/system/service/impl/SysUserIntegralServiceImpl.java
  20. 13 3
      src/main/java/com/backendsys/modules/system/service/impl/SysUserServiceImpl.java
  21. 3 3
      src/main/java/com/backendsys/service/Ai/Aiivh/AiivhQuotaServiceImpl.java

+ 32 - 0
db/sys_user_integral.sql

@@ -0,0 +1,32 @@
+/**
+Source Server Version: 8.0.31
+Source Database: backendsys
+Date: 2023/05/23 17:09:22
+*/
+
+DROP TABLE IF EXISTS `sys_user_integral`;
+CREATE TABLE `sys_user_integral` (
+    PRIMARY KEY (`user_id`),
+    `user_id` BIGINT NOT NULL COMMENT '用户ID',
+    `integral` INT DEFAULT 0 COMMENT '积分',
+    UNIQUE KEY (`user_id`)
+) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='系统用户积分表';
+
+INSERT INTO sys_user_integral(user_id, integral) VALUES
+    (1, 1000),
+    (2, 200),
+    (3, 0),
+    (4, 0),
+    (5, 0),
+    (6, 0),
+    (7, 0),
+    (8, 0),
+    (9, 0),
+    (10, 0),
+    (11, 0),
+    (12, 0),
+    (13, 0),
+    (14, 0),
+    (15, 0),
+    (16, 0)
+;

+ 25 - 0
db/sys_user_integral_log.sql

@@ -0,0 +1,25 @@
+/**
+Source Server Version: 8.0.31
+Source Database: backendsys
+Date: 2023/05/23 17:09:22
+*/
+
+DROP TABLE IF EXISTS `sys_user_integral_log`;
+CREATE TABLE `sys_user_integral_log` (
+    PRIMARY KEY (`id`),
+    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID',
+    `user_id` BIGINT NOT NULL COMMENT '用户ID',
+    `content` VARCHAR(500) COMMENT '内容',
+    `integral` INT NOT NULL COMMENT '积分',
+    `operation` INT NOT NULL COMMENT '操作 (1:增加, -1:减少)',
+    `operation_user_id` BIGINT COMMENT '操作人 (手动添加必填)',
+    `origin` INT NOT NULL COMMENT '来源 (1:手动添加, 2:..)',
+    `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+    INDEX `idx_user_id` (`user_id`)
+) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='系统用户积分记录表';
+
+INSERT INTO sys_user_integral_log(user_id, content, integral, operation, operation_user_id, origin) VALUES
+    (1, '手动添加积分', 100, 1, 1, 1),
+    (1, '手动添加积分', 200, 1, 2, 1),
+    (1, '手动添加积分', 200, -1, 2, 1)
+;

+ 6 - 3
db/sys_user_role_permission.sql

@@ -50,9 +50,12 @@ INSERT INTO sys_user_role_permission(id, parent_id, permission_name, sort) VALUE
             ('3.2.6', '3.2', '审核用户', null),
             ('3.2.7', '3.2', '踢出用户', null),
         ('3.3', '3', '系统用户积分列表', null),
-            ('3.3.8', '3.3', '操作用户积分', null),
-            ('3.3.9', '3.3', '查询用户积分', null),
-            ('3.3.10', '3.3', '查询用户积分操作记录', null),
+            ('3.3.1', '3.3', '操作用户积分(增加)', null),
+            ('3.3.2', '3.3', '操作用户积分(减少)', null),
+            ('3.3.3', '3.3', '查询用户积分详情', null),
+                ('3.3.3.2', '3.3.3', '查询他人积分详情', null),
+            ('3.3.4', '3.3', '查询用户积分操作记录', null),
+                ('3.3.4.2', '3.3', '查询他人积分操作记录', null),
         ('3.4', '3', '系统用户权限列表', null),
             ('3.4.1', '3.4', '查询用户权限', null),
             ('3.4.1.2', '3.4', '查询他人用户权限', null),

+ 2 - 2
db/sys_user_role_permission_relation.sql

@@ -30,8 +30,8 @@ INSERT INTO sys_user_role_permission_relation(role_id, permission_id) VALUES
                 (1, '3.2.3.2'), (1, '3.2.3.3'), (1, '3.2.3.4'),
             (1, '3.2.4'), (1, '3.2.5'), (1, '3.2.6'), (1, '3.2.7'),
         (1, '3.3'),
-            (1, '3.3.8'), (1, '3.3.9'), (1, '3.3.10'),
-#             (1, '3.3.1'), (1, '3.3.2'), (1, '3.3.3'), (1, '3.3.4'), (1, '3.3.5'), (1, '3.3.6'), (1, '3.3.7'),
+            (1, '3.3.1'), (1, '3.3.2'), (1, '3.3.3'), (1, '3.3.3.2'),
+            (1, '3.3.4'), (1, '3.3.4.2'),
         (1, '3.4'),
             (1, '3.4.1'), (1, '3.4.1.2'),
         (1, '3.5'),

+ 4 - 1
src/main/java/com/backendsys/modules/common/config/security/utils/SecurityUtil.java

@@ -111,6 +111,9 @@ public class SecurityUtil {
         return permission_ids;
     }
 
+    /**
+     * 判断单个用户权限 (超管直接通过)
+     */
     public Boolean hasPermission(String permission) {
         if (isSuper()) return true;
         List<String> permission_ids = getPermissionIds();
@@ -118,7 +121,7 @@ public class SecurityUtil {
     }
 
     /**
-     * 判断是否具备用户权限 (多个) (默认 AND)
+     * 判断是否具备用户权限 (多个) (默认 AND) (超管直接通过)
      * - SecurityUtil.hasPermissions(Arrays.asList("3.2.1", "3.2.2"))
      * - SecurityUtil.hasPermissions(Arrays.asList("3.2.1", "3.2.2"), MatchType.OR)
      * - 注意:权限储存在Token中,更新权限需要重新登录

+ 18 - 19
src/main/java/com/backendsys/modules/system/controller/SysUserController.java

@@ -7,7 +7,7 @@ import com.backendsys.modules.common.config.security.enums.SecurityEnum;
 import com.backendsys.modules.common.config.security.utils.SecurityUtil;
 import com.backendsys.modules.common.utils.Result;
 import com.backendsys.modules.system.entity.SysUserDTO;
-import com.backendsys.modules.system.service.SysUserV2Service;
+import com.backendsys.modules.system.service.SysUserService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -32,20 +32,20 @@ public class SysUserController {
     private SecurityUtil securityUtil;
 
     @Autowired
-    private SysUserV2Service sysUserV2Service;
+    private SysUserService sysUserService;
 
     @Operation(summary = "获取系统用户列表")
     @PreAuthorize("@sr.hasPermission('3.2')")
     @GetMapping("/api/system/user/getUserList")
     public Result getUserList(SysUserDTO sysUserDTO) {
-        return Result.success().put("data", sysUserV2Service.selectUserList(sysUserDTO));
+        return Result.success().put("data", sysUserService.selectUserList(sysUserDTO));
     }
 
     @Operation(summary = "获取系统用户列表 (在线的)")
     @PreAuthorize("@sr.hasPermission('3.1')")
     @GetMapping("/api/system/user/getUserOnlineList")
     public Result getUserOnlineList(SysUserDTO sysUserDTO) {
-        return Result.success().put("data", sysUserV2Service.selectUserOnlineList(sysUserDTO));
+        return Result.success().put("data", sysUserService.selectUserOnlineList(sysUserDTO));
     }
 
     /**
@@ -64,12 +64,11 @@ public class SysUserController {
         // 查询他人的用户信息
         // - 查询自己 (无需权限)
         // - 查询他人 (需要权限或超级管理员)
-        System.out.println("SecurityUtil.isSuper(): " + SecurityUtil.isSuper());
-        if (!user_id.equals(SecurityUtil.getUserId()) && !securityUtil.hasPermission("3.2.1.2") && !SecurityUtil.isSuper()) {
+        if (!user_id.equals(SecurityUtil.getUserId()) && !securityUtil.hasPermission("3.2.1.2")) {
             throw new CustException(SecurityEnum.NOAUTH);
         }
 
-        return Result.success().put("data", sysUserV2Service.selectUserInfoSimple(user_id));
+        return Result.success().put("data", sysUserService.selectUserInfoSimple(user_id));
     }
 
     @SysLog("创建系统用户")
@@ -77,7 +76,7 @@ public class SysUserController {
     @PreAuthorize("@sr.hasPermission('3.2.2')")
     @PostMapping("/api/system/user/createUser")
     public Result createUser(@Validated(SysUserDTO.Create.class) @RequestBody SysUserDTO sysUserDTO) {
-        return Result.success().put("data", sysUserV2Service.insertUser(sysUserDTO));
+        return Result.success().put("data", sysUserService.insertUser(sysUserDTO));
     }
 
     /**
@@ -101,14 +100,14 @@ public class SysUserController {
         // 编辑他人的用户信息
         // - 编辑自己 (无需权限)
         // - 编辑他人 (需要子权限或超级管理员)
-        if (!user_id.equals(SecurityUtil.getUserId()) && !securityUtil.hasPermission("3.2.3.2") && !SecurityUtil.isSuper()) {
+        if (!user_id.equals(SecurityUtil.getUserId()) && !securityUtil.hasPermission("3.2.3.2")) {
             throw new CustException(SecurityEnum.NOAUTH);
         }
         // 防止手动更新字段
         sysUserDTO.setLast_login_time(null);
         sysUserDTO.setLast_login_ip(null);
 
-        return Result.success().put("data", sysUserV2Service.updateUserInfo(sysUserDTO));
+        return Result.success().put("data", sysUserService.updateUserInfo(sysUserDTO));
     }
 
     @Operation(summary = "编辑系统用户密码")
@@ -127,11 +126,11 @@ public class SysUserController {
         // 编辑他人的用户信息
         // - 编辑自己 (无需权限)
         // - 编辑他人 (需要子权限或超级管理员)
-        if (!user_id.equals(SecurityUtil.getUserId()) && !securityUtil.hasPermission("3.2.3.2") && !SecurityUtil.isSuper()) {
+        if (!user_id.equals(SecurityUtil.getUserId()) && !securityUtil.hasPermission("3.2.3.2")) {
             throw new CustException(SecurityEnum.NOAUTH);
         }
 
-        return Result.success().put("data", sysUserV2Service.updateUserPassword(sysUserDTO));
+        return Result.success().put("data", sysUserService.updateUserPassword(sysUserDTO));
     }
 
     @Operation(summary = "重置系统用户密码")
@@ -152,7 +151,7 @@ public class SysUserController {
             throw new CustException("不能重置自身密码,请自行修改密码");
         }
 
-        return Result.success().put("data", sysUserV2Service.resetUserPassword(sysUserDTO));
+        return Result.success().put("data", sysUserService.resetUserPassword(sysUserDTO));
     }
 
     @Operation(summary = "删除系统用户")
@@ -166,7 +165,7 @@ public class SysUserController {
         if (user_ids != null && user_ids.contains(SecurityUtil.getUserId()) && !user_id.equals(SecurityUtil.getUserId())) throw new CustException("不能删除自己的账号");
         if (user_ids != null && user_ids.contains(1L) && !user_id.equals(1L)) throw new CustException("不能删除超管账号");
 
-        return Result.success().put("data", sysUserV2Service.deleteUser(sysUserDTO));
+        return Result.success().put("data", sysUserService.deleteUser(sysUserDTO));
     }
 
     @Operation(summary = "踢出系统用户")
@@ -178,7 +177,7 @@ public class SysUserController {
         if (user_id.equals(1L)) throw new CustException("不能踢出超管账号");
         if (user_id.equals(SecurityUtil.getUserId())) throw new CustException("不能踢出自己的账号");
 
-        return Result.success().put("data", sysUserV2Service.kickUser(user_id));
+        return Result.success().put("data", sysUserService.kickUser(user_id));
     }
 
 
@@ -197,11 +196,11 @@ public class SysUserController {
         // 查询他人的用户信息
         // - 查询自己 (无需权限)
         // - 查询他人 (需要子权限或超级管理员)
-        if (!user_id.equals(SecurityUtil.getUserId()) && !securityUtil.hasPermission("3.4.1.2") && !SecurityUtil.isSuper()) {
+        if (!user_id.equals(SecurityUtil.getUserId()) && !securityUtil.hasPermission("3.4.1.2")) {
             throw new CustException(SecurityEnum.NOAUTH);
         }
 
-        return Result.success().put("data", sysUserV2Service.selectUserPermission(user_id));
+        return Result.success().put("data", sysUserService.selectUserPermission(user_id));
     }
 
     /**
@@ -219,11 +218,11 @@ public class SysUserController {
         // 查询他人的用户信息
         // - 查询自己 (无需权限)
         // - 查询他人 (需要子权限或超级管理员)
-        if (!user_id.equals(SecurityUtil.getUserId()) && !securityUtil.hasPermission("3.4.1.2") && !SecurityUtil.isSuper()) {
+        if (!user_id.equals(SecurityUtil.getUserId()) && !securityUtil.hasPermission("3.4.1.2")) {
             throw new CustException(SecurityEnum.NOAUTH);
         }
 
-        return Result.success().put("data", sysUserV2Service.selectUserMenu(user_id));
+        return Result.success().put("data", sysUserService.selectUserMenu(user_id));
     }
 
 }

+ 51 - 0
src/main/java/com/backendsys/modules/system/controller/SysUserIntegralController.java

@@ -0,0 +1,51 @@
+package com.backendsys.modules.system.controller;
+
+import com.backendsys.exception.CustException;
+import com.backendsys.modules.common.config.security.enums.SecurityEnum;
+import com.backendsys.modules.common.config.security.utils.SecurityUtil;
+import com.backendsys.modules.common.utils.Result;
+import com.backendsys.modules.system.entity.SysLogEntity;
+import com.backendsys.modules.system.service.SysUserIntegralService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+@Validated
+@RestController
+@Tag(name = "系统用户积分")
+public class SysUserIntegralController {
+
+    @Autowired
+    private SecurityUtil securityUtil;
+
+    @Autowired
+    private SysUserIntegralService sysUserIntegralService;
+
+    @Operation(summary = "获取系统用户积分详情")
+    @GetMapping("/api/system/getUserIntegral")
+    public Result getUserIntegral(Long user_id) {
+        if (user_id == null) user_id = SecurityUtil.getUserId();
+
+        // 查询他人的用户积分
+        // - 查询自己 (无需权限)
+        // - 查询他人 (需要子权限或超级管理员)
+        if (!user_id.equals(SecurityUtil.getUserId()) && !securityUtil.hasPermission("3.3.3.2")) {
+            throw new CustException(SecurityEnum.NOAUTH);
+        }
+
+        Integer integral = sysUserIntegralService.selectIntegralByUserId(user_id);
+
+        Map<String, Object> resp = new LinkedHashMap<>();
+        resp.put("user_id", user_id);
+        resp.put("integral", integral);
+        return Result.success().put("data", resp);
+    }
+
+}

+ 9 - 0
src/main/java/com/backendsys/modules/system/dao/SysUserIntegralDao.java

@@ -0,0 +1,9 @@
+package com.backendsys.modules.system.dao;
+
+import com.backendsys.modules.system.entity.SysUserIntegral;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface SysUserIntegralDao extends BaseMapper<SysUserIntegral> {
+}

+ 9 - 0
src/main/java/com/backendsys/modules/system/dao/SysUserIntegralLogDao.java

@@ -0,0 +1,9 @@
+package com.backendsys.modules.system.dao;
+
+import com.backendsys.modules.system.entity.SysUserIntegralLog;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface SysUserIntegralLogDao extends BaseMapper<SysUserIntegralLog> {
+}

+ 4 - 0
src/main/java/com/backendsys/modules/system/entity/SysUserInfo.java

@@ -37,6 +37,10 @@ public class SysUserInfo {
     private String last_login_uuid;
     private String last_login_time;
     private Integer is_super;
+
+    @TableField(exist = false)
+    private Integer integral;       // 积分
+
     private Double point_balance;
     private String invite_code;
     private Integer status;

+ 4 - 0
src/main/java/com/backendsys/modules/system/entity/SysUserInfoSimple.java

@@ -24,6 +24,10 @@ public class SysUserInfoSimple {
     private String last_login_uuid;
     private String last_login_time;
     private Integer is_super;
+
+    @TableField(exist = false)
+    private Integer integral;       // 积分
+
     private Double point_balance;
     private String invite_code;
     private Integer status;

+ 14 - 0
src/main/java/com/backendsys/modules/system/entity/SysUserIntegral.java

@@ -0,0 +1,14 @@
+package com.backendsys.modules.system.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("sys_user_integral")
+public class SysUserIntegral {
+    @TableId
+    private Long user_id;
+    private Integer integral;   // 积分
+}

+ 20 - 0
src/main/java/com/backendsys/modules/system/entity/SysUserIntegralLog.java

@@ -0,0 +1,20 @@
+package com.backendsys.modules.system.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("sys_user_integral_log")
+public class SysUserIntegralLog {
+    @TableId(type = IdType.AUTO)
+    private Long id;
+    private Long user_id;
+    private String content;             // 内容
+    private Integer integral;           // 积分
+    private Integer operation;          // 操作 (1:增加, -1:减少)
+    private Long operation_user_id;     // 操作人 (手动添加必填)
+    private Integer origin;             // 来源 (1:手动添加, 2:..)
+    private String create_time;
+}

+ 4 - 0
src/main/java/com/backendsys/modules/system/service/SysUserIntegralLogService.java

@@ -0,0 +1,4 @@
+package com.backendsys.modules.system.service;
+
+public interface SysUserIntegralLogService {
+}

+ 15 - 0
src/main/java/com/backendsys/modules/system/service/SysUserIntegralService.java

@@ -0,0 +1,15 @@
+package com.backendsys.modules.system.service;
+
+import java.util.Map;
+
+public interface SysUserIntegralService {
+
+    // 查询积分
+    Integer selectIntegralByUserId(Long user_id);
+
+    // 增加积分
+    Map<String, Object> increase(Long user_id, Integer integral);
+    // 减少积分
+    Map<String, Object> decrease(Long user_id, Integer integral);
+
+}

+ 1 - 2
src/main/java/com/backendsys/modules/system/service/SysUserV2Service.java → src/main/java/com/backendsys/modules/system/service/SysUserService.java

@@ -7,10 +7,9 @@ import com.backendsys.modules.system.entity.SysUserInfoSimple;
 import com.backendsys.utils.response.PageEntity;
 import com.baomidou.mybatisplus.extension.service.IService;
 
-import java.util.List;
 import java.util.Map;
 
-public interface SysUserV2Service extends IService<SysUser> {
+public interface SysUserService extends IService<SysUser> {
 
     // 获取系统用户列表
     PageEntity selectUserList(SysUserDTO sysUserDTO);

+ 3 - 4
src/main/java/com/backendsys/modules/system/service/impl/SysAuthV2ServiceImpl.java

@@ -1,7 +1,6 @@
 package com.backendsys.modules.system.service.impl;
 
 import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
 import com.backendsys.exception.CustException;
 import com.backendsys.modules.common.config.redis.utils.RedisUtil;
@@ -12,7 +11,7 @@ import com.backendsys.modules.system.dao.SysUserDao;
 import com.backendsys.modules.system.dao.SysUserInfoDao;
 import com.backendsys.modules.system.entity.*;
 import com.backendsys.modules.system.service.SysAuthV2Service;
-import com.backendsys.modules.system.service.SysUserV2Service;
+import com.backendsys.modules.system.service.SysUserService;
 import com.backendsys.utils.response.ResultEnum;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.google.code.kaptcha.Producer;
@@ -54,7 +53,7 @@ public class SysAuthV2ServiceImpl implements SysAuthV2Service {
     @Autowired
     private SysUserInfoDao sysUserInfoDao;
     @Autowired
-    private SysUserV2Service sysUserV2Service;
+    private SysUserService sysUserService;
     @Autowired
     private SysMobileAreaDao sysMobileAreaDao;
 
@@ -126,7 +125,7 @@ public class SysAuthV2ServiceImpl implements SysAuthV2Service {
     private SysUserInfo loginSuccess(Long user_id, Integer is_remember) {
 
         // [查询] 登录的用户信息
-        SysUserInfo sysUserInfo = sysUserV2Service.selectUserInfo(user_id);
+        SysUserInfo sysUserInfo = sysUserService.selectUserInfo(user_id);
 
         // 删除图形验证码缓存
         redisUtil.delete(httpRequestUtil.getKaptchaKey());

+ 8 - 0
src/main/java/com/backendsys/modules/system/service/impl/SysUserIntegralLogServiceImpl.java

@@ -0,0 +1,8 @@
+package com.backendsys.modules.system.service.impl;
+
+import com.backendsys.modules.system.service.SysUserIntegralLogService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class SysUserIntegralLogServiceImpl implements SysUserIntegralLogService {
+}

+ 77 - 0
src/main/java/com/backendsys/modules/system/service/impl/SysUserIntegralServiceImpl.java

@@ -0,0 +1,77 @@
+package com.backendsys.modules.system.service.impl;
+
+import com.backendsys.modules.system.dao.SysUserIntegralDao;
+import com.backendsys.modules.system.dao.SysUserIntegralLogDao;
+import com.backendsys.modules.system.entity.SysUserIntegral;
+import com.backendsys.modules.system.service.SysUserIntegralService;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+@Service
+public class SysUserIntegralServiceImpl implements SysUserIntegralService {
+
+    @Autowired
+    private SysUserIntegralDao sysUserIntegralDao;
+    @Autowired
+    private SysUserIntegralLogDao sysUserIntegralLogDao;
+
+    /**
+     * 查询积分 (如果不存在记录,则创建)
+     */
+    @Override
+    public Integer selectIntegralByUserId(Long user_id) {
+        LambdaQueryWrapper<SysUserIntegral> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SysUserIntegral::getUser_id, user_id);
+        SysUserIntegral detail = sysUserIntegralDao.selectOne(wrapper);
+        if (detail == null) {
+            // 如果不存在,则创建记录
+            SysUserIntegral entity = new SysUserIntegral();
+            entity.setUser_id(user_id);
+            sysUserIntegralDao.insert(entity);
+            return 0;
+        } else {
+            return detail.getIntegral();
+        }
+    }
+
+    /**
+     * 增加积分
+     */
+    @Override
+    public Map<String, Object> increase(Long user_id, Integer integral) {
+
+        // 查询当前积分 (如果不存在记录,则创建)
+        Integer currentIntegral = selectIntegralByUserId(user_id);
+
+        Integer operation = 1;  // 操作 (1:增加, -1:减少)
+
+
+        Map<String, Object> resp = new LinkedHashMap<>();
+        resp.put("user_id", user_id);
+        resp.put("integral", integral);
+        resp.put("operation", operation);
+        return resp;
+    }
+
+    /**
+     * 减少积分
+     */
+    @Override
+    public Map<String, Object> decrease(Long user_id, Integer integral) {
+
+        // 查询当前积分 (如果不存在记录,则创建)
+        Integer currentIntegral = selectIntegralByUserId(user_id);
+
+        Integer operation = -1;  // 操作 (1:增加, -1:减少)
+
+        Map<String, Object> resp = new LinkedHashMap<>();
+        resp.put("user_id", user_id);
+        resp.put("integral", integral);
+        resp.put("operation", operation);
+        return resp;
+    }
+}

+ 13 - 3
src/main/java/com/backendsys/modules/system/service/impl/SysUserV2ServiceImpl.java → src/main/java/com/backendsys/modules/system/service/impl/SysUserServiceImpl.java

@@ -1,15 +1,15 @@
 package com.backendsys.modules.system.service.impl;
 
 import cn.hutool.core.convert.Convert;
-import cn.hutool.core.util.StrUtil;
 import com.backendsys.exception.CustException;
 import com.backendsys.modules.common.config.redis.utils.RedisUtil;
 import com.backendsys.modules.common.config.security.utils.TokenUtil;
 import com.backendsys.modules.common.utils.MybatisUtil;
 import com.backendsys.modules.system.dao.*;
 import com.backendsys.modules.system.entity.*;
+import com.backendsys.modules.system.service.SysUserIntegralService;
 import com.backendsys.modules.system.service.SysUserRoleMenuService;
-import com.backendsys.modules.system.service.SysUserV2Service;
+import com.backendsys.modules.system.service.SysUserService;
 import com.backendsys.utils.MD5Util;
 import com.backendsys.utils.response.PageEntity;
 import com.backendsys.utils.response.PageInfoResult;
@@ -35,7 +35,7 @@ import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 @Service
-public class SysUserV2ServiceImpl extends ServiceImpl<SysUserDao, SysUser> implements SysUserV2Service {
+public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUser> implements SysUserService {
 
     @Value("${REDIS_LOGIN_TOKEN_PREFIX}")
     private String REDIS_LOGIN_TOKEN_PREFIX;
@@ -60,6 +60,8 @@ public class SysUserV2ServiceImpl extends ServiceImpl<SysUserDao, SysUser> imple
     private SysUserRoleRelationDao sysUserRoleRelationDao;
     @Autowired
     private SysUserRolePermissionRelationDao sysUserRolePermissionRelationDao;
+    @Autowired
+    private SysUserIntegralService sysUserIntegralService;
 
     /**
      * 获取系统用户列表
@@ -117,6 +119,10 @@ public class SysUserV2ServiceImpl extends ServiceImpl<SysUserDao, SysUser> imple
         List<Map<String, Object>> sysUserRoleMenuList = sysUserRoleMenuService.selectUserRoleMenuList(permission_ids, 1);
         sysUserInfo.setMenus(sysUserRoleMenuList);
 
+        // 获得用户积分
+        Integer integral = sysUserIntegralService.selectIntegralByUserId(user_id);
+        sysUserInfo.setIntegral(integral);
+
         return sysUserInfo;
     }
 
@@ -133,6 +139,10 @@ public class SysUserV2ServiceImpl extends ServiceImpl<SysUserDao, SysUser> imple
         SysUserInfo sysUserInfo = sysUserInfoDao.selectOne(new QueryWrapper<SysUserInfo>().eq("user_id", user_id));
         if (sysUserInfo == null) throw new CustException("用户不存在");
 
+        // 获得用户积分
+        Integer integral = sysUserIntegralService.selectIntegralByUserId(user_id);
+        sysUserInfo.setIntegral(integral);
+
         // 获得 用户角色
         List<Map<String, Object>> roles = sysUserRoleDao.selectRoleByUserId(user_id);
         sysUserInfo.setRoles(roles);

+ 3 - 3
src/main/java/com/backendsys/service/Ai/Aiivh/AiivhQuotaServiceImpl.java

@@ -18,7 +18,7 @@ import com.backendsys.mapper.System.SysResourcePointsMapper;
 import com.backendsys.mapper.System.SysUserPointsHistoryMapper;
 import com.backendsys.modules.system.dao.SysUserInfoDao;
 import com.backendsys.modules.system.entity.SysUserInfo;
-import com.backendsys.modules.system.service.SysUserV2Service;
+import com.backendsys.modules.system.service.SysUserService;
 import com.backendsys.service.System.SysResourceService;
 import com.backendsys.utils.CommonUtil;
 import com.backendsys.utils.DateUtil;
@@ -49,7 +49,7 @@ public class AiivhQuotaServiceImpl implements AiivhQuotaService{
 
 
     @Autowired
-    private SysUserV2Service sysUserV2Service;
+    private SysUserService sysUserService;
     @Autowired
     private SysUserInfoDao sysUserInfoDao;
 
@@ -270,7 +270,7 @@ public class AiivhQuotaServiceImpl implements AiivhQuotaService{
 //            Map<String, Object> userInfo = sysUserService.queryUserById(user_id);
 //            Float origin_point_balance = (Float) userInfo.get("point_balance");
 
-            SysUserInfo userInfo = sysUserV2Service.selectUserInfo(user_id);
+            SysUserInfo userInfo = sysUserService.selectUserInfo(user_id);
             Float origin_point_balance = Convert.toFloat(userInfo.getPoint_balance());
 
             Float new_point_balance = origin_point_balance - aiivhQuotaOrderDTO.getTotal_point();