From 2c82c3b57a8507a4a735fa5224399aa20840ccc2 Mon Sep 17 00:00:00 2001 From: RainBus Date: Thu, 13 Jun 2024 09:09:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8E=A5=E5=8F=A3=E8=AE=BE=E8=AE=A1:?= =?UTF-8?q?=20user&user.tag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/rainbus/dlp/controller/UserCtrl.java | 15 ++++++++ .../java/com/rainbus/dlp/entity/dto/Pair.java | 4 +++ .../com/rainbus/dlp/entity/dto/Tuple.java | 2 +- .../dlp/entity/pojo/user/SysResource.java | 4 +-- .../rainbus/dlp/repository/dao/UserDao.java | 2 ++ .../mapper/user/SysResourceMapper.java | 2 ++ .../repository/mapper/user/SysRoleMapper.java | 11 ++++++ .../repository/mapper/user/SysUserMapper.java | 5 --- .../java/com/rainbus/dlp/util/SqlUtil.java | 36 +++++++++---------- .../resources/mapper/SysResourceMapper.xml | 9 +++++ 10 files changed, 64 insertions(+), 26 deletions(-) create mode 100644 src/main/java/com/rainbus/dlp/entity/dto/Pair.java create mode 100644 src/main/resources/mapper/SysResourceMapper.xml diff --git a/src/main/java/com/rainbus/dlp/controller/UserCtrl.java b/src/main/java/com/rainbus/dlp/controller/UserCtrl.java index 2ae991d..413f879 100644 --- a/src/main/java/com/rainbus/dlp/controller/UserCtrl.java +++ b/src/main/java/com/rainbus/dlp/controller/UserCtrl.java @@ -1,11 +1,14 @@ package com.rainbus.dlp.controller; import com.github.pagehelper.PageInfo; +import com.rainbus.dlp.entity.pojo.user.SysResource; import com.rainbus.dlp.entity.req.user.*; import com.rainbus.dlp.entity.resp.Resp; import com.rainbus.dlp.entity.resp.user.GetTagResp; import com.rainbus.dlp.entity.resp.user.GetUserResp; import com.rainbus.dlp.entity.resp.user.LoginResp; +import com.rainbus.dlp.repository.mapper.user.SysResourceMapper; +import com.rainbus.dlp.repository.mapper.user.SysRoleMapper; import com.rainbus.dlp.service.UserServ; import com.rainbus.dlp.util.RedisUtil; import io.swagger.v3.oas.annotations.Operation; @@ -21,6 +24,8 @@ public class UserCtrl { private final RedisUtil redisUtil; private final UserServ userServ; + private final SysRoleMapper sysRoleMapper; + private final SysResourceMapper sysResourceMapper; @PostMapping("/login") @Operation(summary = "登录接口") @@ -82,4 +87,14 @@ public class UserCtrl { return Resp.success(null); } + @GetMapping("/test") + private Resp test() { + SysResource resource = new SysResource(); + resource.setResource("/user/test"); + resource.setRequestMethod(RequestMethod.GET); + List resources = List.of(resource); + return Resp.success(sysResourceMapper.batchInsert(resources)); +// return Resp.success(sysRoleMapper.selectRoleIdsByUserId(List.of(1L, 2L))); + } + } diff --git a/src/main/java/com/rainbus/dlp/entity/dto/Pair.java b/src/main/java/com/rainbus/dlp/entity/dto/Pair.java new file mode 100644 index 0000000..0dd952d --- /dev/null +++ b/src/main/java/com/rainbus/dlp/entity/dto/Pair.java @@ -0,0 +1,4 @@ +package com.rainbus.dlp.entity.dto; + +public record Pair(T1 v1, T2 v2) { +} diff --git a/src/main/java/com/rainbus/dlp/entity/dto/Tuple.java b/src/main/java/com/rainbus/dlp/entity/dto/Tuple.java index 3f82aa9..34fd842 100644 --- a/src/main/java/com/rainbus/dlp/entity/dto/Tuple.java +++ b/src/main/java/com/rainbus/dlp/entity/dto/Tuple.java @@ -1,4 +1,4 @@ package com.rainbus.dlp.entity.dto; -public record Tuple(T1 t1, T2 t2, T3 t3) { +public record Tuple(T1 v1, T2 v2, T3 v3) { } diff --git a/src/main/java/com/rainbus/dlp/entity/pojo/user/SysResource.java b/src/main/java/com/rainbus/dlp/entity/pojo/user/SysResource.java index 378af1a..36cda98 100644 --- a/src/main/java/com/rainbus/dlp/entity/pojo/user/SysResource.java +++ b/src/main/java/com/rainbus/dlp/entity/pojo/user/SysResource.java @@ -17,8 +17,8 @@ public class SysResource { private String description; - private LocalDateTime createdAt; + private LocalDateTime createdAt = LocalDateTime.now(); - private LocalDateTime updatedAt; + private LocalDateTime updatedAt = LocalDateTime.now(); } diff --git a/src/main/java/com/rainbus/dlp/repository/dao/UserDao.java b/src/main/java/com/rainbus/dlp/repository/dao/UserDao.java index 0e37b91..3eebf95 100644 --- a/src/main/java/com/rainbus/dlp/repository/dao/UserDao.java +++ b/src/main/java/com/rainbus/dlp/repository/dao/UserDao.java @@ -1,6 +1,8 @@ package com.rainbus.dlp.repository.dao; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.rainbus.dlp.entity.pojo.user.SysOrg; import com.rainbus.dlp.entity.pojo.user.SysRole; import com.rainbus.dlp.entity.pojo.user.SysUser; diff --git a/src/main/java/com/rainbus/dlp/repository/mapper/user/SysResourceMapper.java b/src/main/java/com/rainbus/dlp/repository/mapper/user/SysResourceMapper.java index 231c015..3040aa0 100644 --- a/src/main/java/com/rainbus/dlp/repository/mapper/user/SysResourceMapper.java +++ b/src/main/java/com/rainbus/dlp/repository/mapper/user/SysResourceMapper.java @@ -22,10 +22,12 @@ public interface SysResourceMapper extends BaseMapper { List selectListByRoleId(Long roleId); @Insert(""" + """) Long batchInsert(List resources); diff --git a/src/main/java/com/rainbus/dlp/repository/mapper/user/SysRoleMapper.java b/src/main/java/com/rainbus/dlp/repository/mapper/user/SysRoleMapper.java index 03d2435..cc9cf9a 100644 --- a/src/main/java/com/rainbus/dlp/repository/mapper/user/SysRoleMapper.java +++ b/src/main/java/com/rainbus/dlp/repository/mapper/user/SysRoleMapper.java @@ -1,6 +1,7 @@ package com.rainbus.dlp.repository.mapper.user; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.rainbus.dlp.entity.dto.Pair; import com.rainbus.dlp.entity.pojo.user.SysRole; import org.apache.ibatis.annotations.*; @@ -32,4 +33,14 @@ public interface SysRoleMapper extends BaseMapper { List selectAllRoleResource(); + @Select(""" + select * from sys_user_roles where sys_user_id in #{userId} + """) + @Results({ + @Result(property = "v1", column = "sys_user_id"), + @Result(property = "v2", column = "roles_id") + }) + List> selectRoleIdsByUserId(List userId); + + } diff --git a/src/main/java/com/rainbus/dlp/repository/mapper/user/SysUserMapper.java b/src/main/java/com/rainbus/dlp/repository/mapper/user/SysUserMapper.java index da027c4..bf76e0d 100644 --- a/src/main/java/com/rainbus/dlp/repository/mapper/user/SysUserMapper.java +++ b/src/main/java/com/rainbus/dlp/repository/mapper/user/SysUserMapper.java @@ -29,9 +29,4 @@ public interface SysUserMapper extends BaseMapper { }) SysUser selectUserRoleOrgByUsername(@Param("username") String username); - @Select(""" - select roles_id from sys_user_roles where sys_user_id = #{userId} - """) - List selectRoleIdsByUserId(Long userId); - } diff --git a/src/main/java/com/rainbus/dlp/util/SqlUtil.java b/src/main/java/com/rainbus/dlp/util/SqlUtil.java index b8e6160..8414676 100644 --- a/src/main/java/com/rainbus/dlp/util/SqlUtil.java +++ b/src/main/java/com/rainbus/dlp/util/SqlUtil.java @@ -7,22 +7,22 @@ public class SqlUtil { record TableInfo(String tableName, List columName) {} -// public static String generateBatchInsertSql(String fieldName, Class tClass) { -// TableInfo tableInfo = getTableInfo(tClass); -// return STR.""" -// INSERT INTO \{tableInfo.tableName} (\{String.join(", ", tableInfo.columName)}) -// VALUES -// -// (\{String.join(", ", tableInfo.columName.stream().map(colum -> STR."#{item.\{colum}}").toList())}) -// -// """; -// } -// -// private static TableInfo getTableInfo(Class tClass) { -// String tableName = TextUtil.camelToSnake(tClass.getSimpleName()); -// List columName = Arrays.stream(tClass.getDeclaredFields()) -// .map(field -> TextUtil.camelToSnake(field.getName())) -// .toList(); -// return new TableInfo(tableName, columName); -// } + public static String generateBatchInsertSql(String fieldName, Class tClass) { + TableInfo tableInfo = getTableInfo(tClass); + return STR.""" + INSERT INTO \{tableInfo.tableName} (\{String.join(", ", tableInfo.columName)}) + VALUES + + (\{String.join(", ", tableInfo.columName.stream().map(colum -> STR."#{item.\{colum}}").toList())}) + + """; + } + + private static TableInfo getTableInfo(Class tClass) { + String tableName = TextUtil.camelToSnake(tClass.getSimpleName()); + List columName = Arrays.stream(tClass.getDeclaredFields()) + .map(field -> TextUtil.camelToSnake(field.getName())) + .toList(); + return new TableInfo(tableName, columName); + } } diff --git a/src/main/resources/mapper/SysResourceMapper.xml b/src/main/resources/mapper/SysResourceMapper.xml new file mode 100644 index 0000000..b628899 --- /dev/null +++ b/src/main/resources/mapper/SysResourceMapper.xml @@ -0,0 +1,9 @@ + + + + + + +