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 @@ + + + + + + +