Browse Source

完成用户积分的权限

tsurumure 7 months ago
parent
commit
6478b7de0a

+ 0 - 1
db/sys_user_role_permission.sql

@@ -53,7 +53,6 @@ INSERT INTO sys_user_role_permission(id, parent_id, permission_name, sort) VALUE
             ('3.3.1', '3.3', '操作用户积分(增加)', null),
             ('3.3.1', '3.3', '操作用户积分(增加)', null),
             ('3.3.2', '3.3', '操作用户积分(减少)', null),
             ('3.3.2', '3.3', '操作用户积分(减少)', null),
             ('3.3.3', '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', '3.3', '查询用户积分操作记录', null),
         ('3.4', '3', '系统用户权限列表', null),
         ('3.4', '3', '系统用户权限列表', null),
             ('3.4.1', '3.4', '查询用户权限', null),
             ('3.4.1', '3.4', '查询用户权限', null),

+ 1 - 1
db/sys_user_role_permission_relation.sql

@@ -30,7 +30,7 @@ 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.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.2.4'), (1, '3.2.5'), (1, '3.2.6'), (1, '3.2.7'),
         (1, '3.3'),
         (1, '3.3'),
-            (1, '3.3.1'), (1, '3.3.2'), (1, '3.3.3'), (1, '3.3.3.2'),
+            (1, '3.3.1'), (1, '3.3.2'), (1, '3.3.3'),
             (1, '3.3.4'),
             (1, '3.3.4'),
         (1, '3.4'),
         (1, '3.4'),
             (1, '3.4.1'), (1, '3.4.1.2'),
             (1, '3.4.1'), (1, '3.4.1.2'),

+ 1 - 0
src/main/java/com/backendsys/modules/system/controller/SysUserController.java

@@ -8,6 +8,7 @@ import com.backendsys.modules.common.config.security.utils.SecurityUtil;
 import com.backendsys.modules.common.utils.Result;
 import com.backendsys.modules.common.utils.Result;
 import com.backendsys.modules.system.entity.SysUserDTO;
 import com.backendsys.modules.system.entity.SysUserDTO;
 import com.backendsys.modules.system.service.SysUserService;
 import com.backendsys.modules.system.service.SysUserService;
+import com.backendsys.utils.response.PageEntity;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.tags.Tag;

+ 14 - 15
src/main/java/com/backendsys/modules/system/controller/SysUserIntegralController.java

@@ -34,6 +34,20 @@ public class SysUserIntegralController {
     @Autowired
     @Autowired
     private SysUserIntegralLogService sysUserIntegralLogService;
     private SysUserIntegralLogService sysUserIntegralLogService;
 
 
+    @Operation(summary = "增加系统用户积分")
+    @PreAuthorize("@sr.hasPermission('3.3.1')")
+    @GetMapping("/api/system/user/increaseUserIntegral")
+    public Result increaseUserIntegral(Long user_id, Integer integral) {
+        return Result.success().put("data", sysUserIntegralService.increase(user_id, integral));
+    }
+
+    @Operation(summary = "减少系统用户积分")
+    @PreAuthorize("@sr.hasPermission('3.3.2')")
+    @GetMapping("/api/system/user/decreaseUserIntegral")
+    public Result decreaseUserIntegral(Long user_id, Integer integral) {
+        return Result.success().put("data", sysUserIntegralService.decrease(user_id, integral));
+    }
+
     @Operation(summary = "获取系统用户积分详情")
     @Operation(summary = "获取系统用户积分详情")
     @GetMapping("/api/system/user/getUserIntegral")
     @GetMapping("/api/system/user/getUserIntegral")
     public Result getUserIntegral(Long user_id) {
     public Result getUserIntegral(Long user_id) {
@@ -65,19 +79,4 @@ public class SysUserIntegralController {
         return Result.success().put("data", sysUserIntegralLogService.selectIntegralLogList(sysUserIntegralLog));
         return Result.success().put("data", sysUserIntegralLogService.selectIntegralLogList(sysUserIntegralLog));
     }
     }
 
 
-
-//    // 测试完删除
-//    @Operation(summary = "增加积分 (测试)")
-//    @GetMapping("/api/system/increaseUserIntegral")
-//    public Result increaseUserIntegral(Long user_id, Integer integral) {
-//        return Result.success().put("data", sysUserIntegralService.increase(user_id, integral));
-//    }
-//
-//    // 测试完删除
-//    @Operation(summary = "减少积分 (测试)")
-//    @GetMapping("/api/system/decreaseUserIntegral")
-//    public Result decreaseUserIntegral(Long user_id, Integer integral) {
-//        return Result.success().put("data", sysUserIntegralService.decrease(user_id, integral));
-//    }
-
 }
 }

+ 11 - 5
src/main/java/com/backendsys/modules/system/service/impl/SysUserServiceImpl.java

@@ -3,6 +3,7 @@ package com.backendsys.modules.system.service.impl;
 import cn.hutool.core.convert.Convert;
 import cn.hutool.core.convert.Convert;
 import com.backendsys.exception.CustException;
 import com.backendsys.exception.CustException;
 import com.backendsys.modules.common.config.redis.utils.RedisUtil;
 import com.backendsys.modules.common.config.redis.utils.RedisUtil;
+import com.backendsys.modules.common.config.security.utils.SecurityUtil;
 import com.backendsys.modules.common.config.security.utils.TokenUtil;
 import com.backendsys.modules.common.config.security.utils.TokenUtil;
 import com.backendsys.modules.common.utils.MybatisUtil;
 import com.backendsys.modules.common.utils.MybatisUtil;
 import com.backendsys.modules.system.dao.*;
 import com.backendsys.modules.system.dao.*;
@@ -47,6 +48,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUser> impleme
     private RedisUtil redisUtil;
     private RedisUtil redisUtil;
     @Autowired
     @Autowired
     private TokenUtil tokenUtil;
     private TokenUtil tokenUtil;
+    @Autowired
+    private SecurityUtil securityUtil;
 
 
     @Autowired
     @Autowired
     private SysUserDao sysUserDao;
     private SysUserDao sysUserDao;
@@ -119,7 +122,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUser> impleme
         List<Map<String, Object>> sysUserRoleMenuList = sysUserRoleMenuService.selectUserRoleMenuList(permission_ids, 1);
         List<Map<String, Object>> sysUserRoleMenuList = sysUserRoleMenuService.selectUserRoleMenuList(permission_ids, 1);
         sysUserInfo.setMenus(sysUserRoleMenuList);
         sysUserInfo.setMenus(sysUserRoleMenuList);
 
 
-        // 获得用户积分
+        // 获得用户积分 (需要权限)
         Integer integral = sysUserIntegralService.selectIntegralByUserId(user_id);
         Integer integral = sysUserIntegralService.selectIntegralByUserId(user_id);
         sysUserInfo.setIntegral(integral);
         sysUserInfo.setIntegral(integral);
 
 
@@ -139,10 +142,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUser> impleme
         SysUserInfo sysUserInfo = sysUserInfoDao.selectOne(new QueryWrapper<SysUserInfo>().eq("user_id", user_id));
         SysUserInfo sysUserInfo = sysUserInfoDao.selectOne(new QueryWrapper<SysUserInfo>().eq("user_id", user_id));
         if (sysUserInfo == null) throw new CustException("用户不存在");
         if (sysUserInfo == null) throw new CustException("用户不存在");
 
 
-        // 获得用户积分
-        Integer integral = sysUserIntegralService.selectIntegralByUserId(user_id);
-        sysUserInfo.setIntegral(integral);
-
         // 获得 用户角色
         // 获得 用户角色
         List<Map<String, Object>> roles = sysUserRoleDao.selectRoleByUserId(user_id);
         List<Map<String, Object>> roles = sysUserRoleDao.selectRoleByUserId(user_id);
         sysUserInfo.setRoles(roles);
         sysUserInfo.setRoles(roles);
@@ -151,6 +150,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUser> impleme
         List<Long> role_ids = roles.stream().map(m -> Convert.toLong(m.get("role_id"))).collect(Collectors.toList());
         List<Long> role_ids = roles.stream().map(m -> Convert.toLong(m.get("role_id"))).collect(Collectors.toList());
         sysUserInfo.setRole_id(role_ids);
         sysUserInfo.setRole_id(role_ids);
 
 
+
+
+        // 获得用户积分 (需要权限)
+        Integer integral = sysUserIntegralService.selectIntegralByUserId(user_id);
+        sysUserInfo.setIntegral(integral);
+
+
         // 用户账号信息 赋值到 用户基本信息
         // 用户账号信息 赋值到 用户基本信息
         BeanUtils.copyProperties(sysUser, sysUserInfo);
         BeanUtils.copyProperties(sysUser, sysUserInfo);
 
 

+ 15 - 28
src/main/resources/mapper/system/SysUserInfoDao.xml

@@ -40,6 +40,7 @@
         <result property="last_login_uuid" column="last_login_uuid" />
         <result property="last_login_uuid" column="last_login_uuid" />
         <result property="last_login_time" column="last_login_time" />
         <result property="last_login_time" column="last_login_time" />
         <result property="is_super" column="is_super" javaType="java.lang.Integer" />
         <result property="is_super" column="is_super" javaType="java.lang.Integer" />
+        <result property="integral" column="integral" javaType="java.lang.Integer" />
         <result property="point_balance" column="point_balance" javaType="java.lang.Float" />
         <result property="point_balance" column="point_balance" javaType="java.lang.Float" />
         <result property="invite_code" column="invite_code" />
         <result property="invite_code" column="invite_code" />
         <result property="status" column="status" javaType="java.lang.Integer"/>
         <result property="status" column="status" javaType="java.lang.Integer"/>
@@ -54,43 +55,29 @@
     </resultMap>
     </resultMap>
 
 
     <select id="selectUserList" resultMap="resultMapUserList">
     <select id="selectUserList" resultMap="resultMapUserList">
-        SELECT <include refid="includeUser" />, urr.role_id role_id
+        SELECT
+            <include refid="includeUser" />,
+            urr.role_id role_id,
+            COALESCE(ui.integral, 0) integral
         FROM sys_user_info uf
         FROM sys_user_info uf
         LEFT JOIN sys_user u ON u.id = uf.user_id
         LEFT JOIN sys_user u ON u.id = uf.user_id
         LEFT JOIN sys_user_role_relation urr ON uf.user_id = urr.user_id
         LEFT JOIN sys_user_role_relation urr ON uf.user_id = urr.user_id
+        LEFT JOIN sys_user_integral ui ON uf.user_id = ui.user_id
         <where>
         <where>
             AND u.id != 1
             AND u.id != 1
             AND uf.del_flag != 1
             AND uf.del_flag != 1
-            <if test="username != null and username != ''">
-                AND u.username LIKE CONCAT('%', #{username}, '%')
-            </if>
-            <if test="phone != null and phone != ''">
-                AND u.phone LIKE CONCAT('%', #{phone}, '%')
-            </if>
-            <if test="phone_area_code != null and phone_area_code != ''">
-                AND u.phone_area_code = #{phone_area_code}
-            </if>
-            <if test="nickname != null and nickname != ''">
-                AND uf.nickname LIKE CONCAT('%', #{nickname}, '%')
-            </if>
-            <if test="email != null and email != ''">
-                AND uf.email LIKE CONCAT('%', #{email}, '%')
-            </if>
-            <if test="status != null and status != ''">
-                AND uf.status = #{status}
-            </if>
-            <if test="audit_status != null and audit_status != ''">
-                AND uf.audit_status = #{audit_status}
-            </if>
+            <if test="username != null and username != ''">AND u.username LIKE CONCAT('%', #{username}, '%')</if>
+            <if test="phone != null and phone != ''">AND u.phone LIKE CONCAT('%', #{phone}, '%')</if>
+            <if test="phone_area_code != null and phone_area_code != ''">AND u.phone_area_code = #{phone_area_code}</if>
+            <if test="nickname != null and nickname != ''">AND uf.nickname LIKE CONCAT('%', #{nickname}, '%')</if>
+            <if test="email != null and email != ''">AND uf.email LIKE CONCAT('%', #{email}, '%')</if>
+            <if test="status != null and status != ''">AND uf.status = #{status}</if>
+            <if test="audit_status != null and audit_status != ''">AND uf.audit_status = #{audit_status}</if>
             <if test="role_id != null and role_id != ''">
             <if test="role_id != null and role_id != ''">
                 AND urr.role_id IN
                 AND urr.role_id IN
-                <foreach collection="role_id" item="role" open="(" separator="," close=")">
-                    #{role}
-                </foreach>
-            </if>
-            <if test="is_super != null and is_super != ''">
-                AND uf.is_super = #{is_super}
+                <foreach collection="role_id" item="role" open="(" separator="," close=")">#{role}</foreach>
             </if>
             </if>
+            <if test="is_super != null and is_super != ''">AND uf.is_super = #{is_super}</if>
         </where>
         </where>
         ORDER BY uf.create_time DESC
         ORDER BY uf.create_time DESC
     </select>
     </select>