summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshizhendong <[email protected]>2022-06-07 17:47:57 +0800
committershizhendong <[email protected]>2022-06-07 17:47:57 +0800
commitb537c7eb2da217e9220a108b217f12491becf1b9 (patch)
treeb0fc732a86cb919a7b98984df734f67e3cba8e0c
parentf5afa455521286f1668521bbcfcceb8e039a51c7 (diff)
feat: NEZ-1896 新增 api key 用户个人接口开发rel-22.05.01
1. 数据库表 和 接口 增加 remark 字段 2. 用户 角色发生变化时,同步修改 api key 中 roleId
-rw-r--r--nz-admin/src/main/java/com/nis/modules/sys/controller/SysApiKeyController.java39
-rw-r--r--nz-admin/src/main/java/com/nis/modules/sys/dao/SysApiKeyDao.java18
-rw-r--r--nz-admin/src/main/java/com/nis/modules/sys/entity/SysApiKey.java28
-rw-r--r--nz-admin/src/main/java/com/nis/modules/sys/service/SysApiKeyService.java26
-rw-r--r--nz-admin/src/main/java/com/nis/modules/sys/service/impl/SysApiKeyServiceImpl.java98
-rw-r--r--nz-admin/src/main/java/com/nis/modules/sys/service/impl/SysUserServiceImpl.java91
-rw-r--r--nz-admin/src/main/resources/db/V2022.06.07__modify_sys_api_key_table_structure.sql6
-rw-r--r--nz-admin/src/main/resources/mapper/sys/SysApiKey.xml48
8 files changed, 238 insertions, 116 deletions
diff --git a/nz-admin/src/main/java/com/nis/modules/sys/controller/SysApiKeyController.java b/nz-admin/src/main/java/com/nis/modules/sys/controller/SysApiKeyController.java
index 3926eab6..e12c24d1 100644
--- a/nz-admin/src/main/java/com/nis/modules/sys/controller/SysApiKeyController.java
+++ b/nz-admin/src/main/java/com/nis/modules/sys/controller/SysApiKeyController.java
@@ -14,36 +14,61 @@ import java.util.Map;
@RestController
@RequestMapping("/sys/apiKey")
public class SysApiKeyController {
-
+
@Autowired
private SysApiKeyService sysApiKeyService;
-
+
@GetMapping
@SysLog(operation = OperationEnum.QUERY,type = TypeEnum.SYSTEMAPIKEY)
public R queryCredentialList(@RequestParam Map<String,Object> params) {
PageUtils page = sysApiKeyService.queryPage(params);
return R.ok(page);
}
-
+
@PostMapping
@SysLog(operation = OperationEnum.ADD,type = TypeEnum.SYSTEMAPIKEY)
@RequiresPermissions({"sys:apiKey:save"})
public R addSysApiKey(@RequestBody SysApiKey sysApiKey) {
ValidateUtils.is(sysApiKey.getName()).notNull(RCode.SYSAPIKEY_NAME_ISNULL).maxLength(64)
.and(sysApiKey.getRoleId()).notNull(RCode.SYSAPIKEY_ROLEID_ISNULL);
-
+
Integer id = sysApiKeyService.addSysApiKey(sysApiKey);
return R.ok().putData("id", id);
}
-
+
@DeleteMapping
@SysLog(operation = OperationEnum.DELETE,type = TypeEnum.SYSTEMAPIKEY)
@RequiresPermissions({"sys:apiKey:delete"})
public R removeSysApiKey(@RequestParam String ids) {
ValidateUtils.is(ids).notNull(RCode.SYSAPIKEY_ID_ISNULL);
-
+
sysApiKeyService.removeSysApiKeys(ids);
return R.ok();
}
-
+
+ @GetMapping("/self")
+ @SysLog(operation = OperationEnum.QUERY, type = TypeEnum.SYSTEMAPIKEY)
+ public R querySelfApiKeys(@RequestParam Map<String, Object> params) {
+ PageUtils page = sysApiKeyService.querySelfApiKeys(params);
+ return R.ok(page);
+ }
+
+ @PostMapping("/self")
+ @RequiresPermissions({"sys:apiKey:save"})
+ @SysLog(operation = OperationEnum.QUERY, type = TypeEnum.SYSTEMAPIKEY)
+ public R addSelfApiKey(@RequestBody SysApiKey sysApiKey) {
+ ValidateUtils.is(sysApiKey.getName()).notNull(RCode.SYSAPIKEY_NAME_ISNULL).maxLength(64);
+
+ return R.ok(sysApiKeyService.addSelfApiKey(sysApiKey));
+ }
+
+ @DeleteMapping("/self")
+ @SysLog(operation = OperationEnum.DELETE, type = TypeEnum.SYSTEMAPIKEY)
+ @RequiresPermissions({"sys:apiKey:delete"})
+ public R removeSelfApiKeys(@RequestParam String ids) {
+ ValidateUtils.is(ids).notNull(RCode.SYSAPIKEY_ID_ISNULL);
+
+ sysApiKeyService.removeSelfApiKeys(ids);
+ return R.ok();
+ }
}
diff --git a/nz-admin/src/main/java/com/nis/modules/sys/dao/SysApiKeyDao.java b/nz-admin/src/main/java/com/nis/modules/sys/dao/SysApiKeyDao.java
index 15ee3e01..db2ba883 100644
--- a/nz-admin/src/main/java/com/nis/modules/sys/dao/SysApiKeyDao.java
+++ b/nz-admin/src/main/java/com/nis/modules/sys/dao/SysApiKeyDao.java
@@ -1,18 +1,22 @@
package com.nis.modules.sys.dao;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nis.modules.sys.entity.SysApiKey;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
+
+import java.util.List;
+import java.util.Map;
@Mapper
public interface SysApiKeyDao extends BaseMapper<SysApiKey>{
List<SysApiKey> queryList(IPage page,@Param("params") Map<String, Object> params);
-
+
+ List<SysApiKey> querySelfApiKeys(IPage result, @Param("params") Map<String, Object> params);
+
+ @Update("UPDATE sys_api_key SET role_id = #{roleId} where create_by = #{userId};")
+ void updateRoleIdByCreateBy(@Param("userId") Integer userId, @Param("roleId") Integer roleId);
}
diff --git a/nz-admin/src/main/java/com/nis/modules/sys/entity/SysApiKey.java b/nz-admin/src/main/java/com/nis/modules/sys/entity/SysApiKey.java
index a62c221f..6f45a960 100644
--- a/nz-admin/src/main/java/com/nis/modules/sys/entity/SysApiKey.java
+++ b/nz-admin/src/main/java/com/nis/modules/sys/entity/SysApiKey.java
@@ -1,33 +1,37 @@
package com.nis.modules.sys.entity;
-import java.util.Date;
-
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
-
import lombok.Data;
+import java.util.Date;
+
@Data
@TableName("sys_api_key")
public class SysApiKey {
-
+
private Integer id;
-
+
private String name;
-
+
private String token;
-
+
private Integer roleId;
-
+
private Integer createBy;
-
+
private Date createAt;
-
+
private Date expireAt;
-
+
+ /**
+ * 备注
+ */
+ private String remark;
+
@TableField(exist = false)
private SysUserEntity createUser;
-
+
@TableField(exist = false)
private SysRoleEntity role;
}
diff --git a/nz-admin/src/main/java/com/nis/modules/sys/service/SysApiKeyService.java b/nz-admin/src/main/java/com/nis/modules/sys/service/SysApiKeyService.java
index d01e889a..d5c145b0 100644
--- a/nz-admin/src/main/java/com/nis/modules/sys/service/SysApiKeyService.java
+++ b/nz-admin/src/main/java/com/nis/modules/sys/service/SysApiKeyService.java
@@ -1,16 +1,24 @@
package com.nis.modules.sys.service;
-import java.util.Map;
-
import com.baomidou.mybatisplus.extension.service.IService;
import com.nis.common.utils.PageUtils;
import com.nis.modules.sys.entity.SysApiKey;
-public interface SysApiKeyService extends IService<SysApiKey>{
-
- PageUtils queryPage(Map<String,Object> params);
-
- Integer addSysApiKey(SysApiKey sysApiKey);
-
- void removeSysApiKeys(String ids);
+import java.util.Map;
+
+public interface SysApiKeyService extends IService<SysApiKey> {
+
+ PageUtils queryPage(Map<String, Object> params);
+
+ Integer addSysApiKey(SysApiKey sysApiKey);
+
+ void removeSysApiKeys(String ids);
+
+ PageUtils querySelfApiKeys(Map<String, Object> params);
+
+ Map<String, Object> addSelfApiKey(SysApiKey sysApiKey);
+
+ void removeSelfApiKeys(String ids);
+
+ void updateRoleIdByUser(Integer userId, Integer roleId);
}
diff --git a/nz-admin/src/main/java/com/nis/modules/sys/service/impl/SysApiKeyServiceImpl.java b/nz-admin/src/main/java/com/nis/modules/sys/service/impl/SysApiKeyServiceImpl.java
index 26652e40..6962c33e 100644
--- a/nz-admin/src/main/java/com/nis/modules/sys/service/impl/SysApiKeyServiceImpl.java
+++ b/nz-admin/src/main/java/com/nis/modules/sys/service/impl/SysApiKeyServiceImpl.java
@@ -1,33 +1,32 @@
package com.nis.modules.sys.service.impl;
-import java.util.*;
-import java.util.stream.Collectors;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.stereotype.Service;
-
+import cn.hutool.core.lang.UUID;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nis.common.exception.NZException;
-import com.nis.common.utils.DateUtil;
-import com.nis.common.utils.PageUtils;
-import com.nis.common.utils.Query;
-import com.nis.common.utils.RCode;
-import com.nis.common.utils.ToolUtil;
+import com.nis.common.utils.*;
import com.nis.modules.sys.dao.SysApiKeyDao;
import com.nis.modules.sys.entity.SysApiKey;
+import com.nis.modules.sys.entity.SysUserRoleEntity;
import com.nis.modules.sys.service.SysApiKeyService;
+import com.nis.modules.sys.service.SysUserRoleService;
import com.nis.modules.sys.shiro.ShiroUtils;
-
-import cn.hutool.core.lang.UUID;
-import cn.hutool.core.util.StrUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.*;
+import java.util.stream.Collectors;
+
@Service
public class SysApiKeyServiceImpl extends ServiceImpl<SysApiKeyDao,SysApiKey> implements SysApiKeyService{
-
+
+ @Autowired
+ private SysUserRoleService sysUserRoleService;
+
@Override
public PageUtils queryPage(Map<String, Object> params) {
IPage result = new Query(SysApiKey.class).getPage(params);
@@ -48,10 +47,10 @@ public class SysApiKeyServiceImpl extends ServiceImpl<SysApiKeyDao,SysApiKey> im
if(ToolUtil.isNotEmpty(sysApiKeys)) {
throw new NZException(RCode.SYSAPIKEY_NAME_DUPLICATE);
}
-
+
// 生成唯一uuid
String uuid = UUID.randomUUID().toString();
-
+
sysApiKey.setToken(uuid);
sysApiKey.setCreateBy(ShiroUtils.getUserId().intValue());
sysApiKey.setCreateAt(new Date());
@@ -71,4 +70,67 @@ public class SysApiKeyServiceImpl extends ServiceImpl<SysApiKeyDao,SysApiKey> im
this.removeByIds(Arrays.asList(ids.split(",")));
}
+ @Override
+ public PageUtils querySelfApiKeys(Map<String, Object> params) {
+ String ids = (String) params.get("ids");
+ if (StrUtil.isNotBlank(ids)) {
+ List<String> listIds = Arrays.asList(ids.split(","));
+ params.put("ids", listIds);
+ }
+
+ // 当前登录用户
+ params.put("currentLoginUserID", ShiroUtils.getUserId().intValue());
+
+ IPage result = new Query(SysApiKey.class).getPage(params);
+ List<SysApiKey> rows = this.baseMapper.querySelfApiKeys(result, params);
+ result.setRecords(rows);
+ return new PageUtils(result);
+ }
+
+ @Override
+ public Map<String, Object> addSelfApiKey(SysApiKey sysApiKey) {
+ // 名称唯一
+ List<SysApiKey> sysApiKeys = this.list(new LambdaQueryWrapper<SysApiKey>().eq(SysApiKey::getName, sysApiKey.getName()));
+ if (ToolUtil.isNotEmpty(sysApiKeys)) {
+ throw new NZException(RCode.SYSAPIKEY_NAME_DUPLICATE);
+ }
+
+ // token 唯一
+ sysApiKey.setToken(UUID.randomUUID().toString());
+
+ // 根据当前用户 角色 补充 roleId
+ SysUserRoleEntity userRoleEntity = sysUserRoleService.getOne(new LambdaQueryWrapper<SysUserRoleEntity>().eq(SysUserRoleEntity::getUserId, ShiroUtils.getUserId().intValue()));
+ sysApiKey.setRoleId(userRoleEntity.getRoleId());
+
+ sysApiKey.setCreateBy(ShiroUtils.getUserId().intValue());
+ sysApiKey.setCreateAt(new Date());
+ this.save(sysApiKey);
+
+ Map<String, Object> resultMap = Tool.MapUtil.newHashMap(4);
+ resultMap.put("id", sysApiKey.getId());
+ resultMap.put("token", sysApiKey.getToken());
+ return resultMap;
+ }
+
+ @Override
+ public void removeSelfApiKeys(String ids) {
+ // 查询当前用户创建的 API KEYS
+ List<SysApiKey> sysApiKeys = this.list(
+ new LambdaQueryWrapper<SysApiKey>().in(SysApiKey::getId, Arrays.asList(ids.split(",")))
+ .eq(SysApiKey::getCreateBy, ShiroUtils.getUserId().intValue())
+ );
+ // 删除 redis 中 api key
+ List<String> tokens = sysApiKeys.stream().map(k -> ShiroUtils.REDIS_KEYPREFIX + k.getToken()).collect(Collectors.toList());
+ ShiroUtils.removeRedisCacheByToken(tokens);
+
+ List<Integer> removeIds = sysApiKeys.stream().map(SysApiKey::getId).collect(Collectors.toList());
+ this.removeByIds(removeIds);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void updateRoleIdByUser(Integer userId, Integer roleId) {
+ this.getBaseMapper().updateRoleIdByCreateBy(userId, roleId);
+ }
+
}
diff --git a/nz-admin/src/main/java/com/nis/modules/sys/service/impl/SysUserServiceImpl.java b/nz-admin/src/main/java/com/nis/modules/sys/service/impl/SysUserServiceImpl.java
index 2e33c349..6ac14273 100644
--- a/nz-admin/src/main/java/com/nis/modules/sys/service/impl/SysUserServiceImpl.java
+++ b/nz-admin/src/main/java/com/nis/modules/sys/service/impl/SysUserServiceImpl.java
@@ -1,17 +1,24 @@
package com.nis.modules.sys.service.impl;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-import java.util.stream.Collectors;
-
-import javax.servlet.http.HttpServletRequest;
-
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.log.Log;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.nis.common.exception.NZException;
+import com.nis.common.smartvalidate.ValidateUtils;
+import com.nis.common.utils.*;
+import com.nis.modules.sys.dao.SysRoleDao;
+import com.nis.modules.sys.dao.SysUserDao;
+import com.nis.modules.sys.entity.SysRoleEntity;
+import com.nis.modules.sys.entity.SysUserEntity;
+import com.nis.modules.sys.entity.SysUserRoleEntity;
+import com.nis.modules.sys.service.*;
+import com.nis.modules.sys.shiro.ShiroUtils;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.RandomStringUtils;
@@ -22,7 +29,6 @@ import org.apache.shiro.subject.SimplePrincipalCollection;
import org.apache.shiro.subject.support.DefaultSubjectContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.RedisConnectionFactory;
-import org.springframework.data.redis.core.ListOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer;
@@ -30,36 +36,10 @@ import org.springframework.data.redis.serializer.StringRedisSerializer;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import com.alibaba.fastjson.JSON;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.nis.common.exception.NZException;
-import com.nis.common.smartvalidate.ValidateUtils;
-import com.nis.common.utils.CommonUtils;
-import com.nis.common.utils.Constant;
-import com.nis.common.utils.PageUtils;
-import com.nis.common.utils.Query;
-import com.nis.common.utils.RCode;
-import com.nis.common.utils.Tool;
-import com.nis.common.utils.ToolUtil;
-import com.nis.modules.sys.dao.SysRoleDao;
-import com.nis.modules.sys.dao.SysUserDao;
-import com.nis.modules.sys.entity.SysRoleEntity;
-import com.nis.modules.sys.entity.SysUserEntity;
-import com.nis.modules.sys.entity.SysUserRoleEntity;
-import com.nis.modules.sys.service.SysConfigService;
-import com.nis.modules.sys.service.SysMenuService;
-import com.nis.modules.sys.service.SysRoleService;
-import com.nis.modules.sys.service.SysUserRoleService;
-import com.nis.modules.sys.service.SysUserService;
-import com.nis.modules.sys.shiro.ShiroUtils;
-
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.log.Log;
+import javax.servlet.http.HttpServletRequest;
+import java.util.*;
+import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
@Service("sysUserService")
public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUserEntity> implements SysUserService {
@@ -83,10 +63,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUserEntity> i
@Autowired
private RedisConnectionFactory factory;
-
+
@Autowired
private SysConfigService sysConfigService;
+ @Autowired
+ private SysApiKeyService sysApiKeyService;
+
@Override
public PageUtils queryPage(Map<String, Object> params) {
String ids = (String) params.get("ids");
@@ -135,7 +118,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUserEntity> i
if(ObjectUtil.isNotEmpty(list)) {
throw new NZException(RCode.SYS_USER_NAME_DUPLICATE);
}
-
+
if(status != 0 && status != 1){
throw new NZException(RCode.SYS_USER_STATUS_INVALIDE);
}
@@ -155,7 +138,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUserEntity> i
if (!roleIdList.contains(Integer.valueOf(roleId)))
throw new NZException(RCode.SYS_ROLE_ISNULL);
}
-
+
if(ObjectUtil.isEmpty(user.getTheme())) {
user.setTheme(1);
}
@@ -183,7 +166,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUserEntity> i
// 保存用户 和 角色 关联关系
sysUserRoleService.saveOrUpdate(user.getId(), user.getRoleIds());
-
+
return user.getId().intValue();
}
@@ -214,7 +197,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUserEntity> i
// 处理用户角色关系
this.handleUserRoleRelation(user.getId(), user.getRoleIds());
-
+
return user.getId().intValue();
}
@@ -241,6 +224,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUserEntity> i
// 通过 userId 删除 redis 中记录的 登录信息
this.removeUserInfoInRedis(userId);
+
+ // 变更 sys_api_key role_id 注:当前 用户只能关联一个角色
+ String updateRoleId = Arrays.asList(roleIds.split(",")).get(0);
+ sysApiKeyService.updateRoleIdByUser(userId.intValue(), Integer.valueOf(updateRoleId));
}
/**
@@ -426,7 +413,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUserEntity> i
}
// 校验密码是否包含小写字母
if(ToolUtil.isNotEmpty(lower)&&lower.equals(1)&&!CommonUtils.checkPinCorrect(pin,2)&&!isLogin) {
- throw new NZException(RCode.SYS_USER_PIN_NOT_CONTAIN_LOWERCASE_LETTERS);
+ throw new NZException(RCode.SYS_USER_PIN_NOT_CONTAIN_LOWERCASE_LETTERS);
}
// 校验密码是否包含大写字母
if(ToolUtil.isNotEmpty(upper)&&upper.equals(1)&&!CommonUtils.checkPinCorrect(pin,3)&&!isLogin) {
@@ -479,13 +466,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUserEntity> i
redisRetry+=1;
opsForValue.set(redisKey, redisRetry.toString());
if(retry.equals(redisRetry)) {
- redisTemplate.expire(redisKey, lockTime, TimeUnit.MINUTES);
+ redisTemplate.expire(redisKey, lockTime, TimeUnit.MINUTES);
}else{
- redisTemplate.expire(redisKey, 5, TimeUnit.MINUTES);
+ redisTemplate.expire(redisKey, 5, TimeUnit.MINUTES);
}
}else {
opsForValue.set(redisKey, "1");
- redisTemplate.expire(redisKey, 5, TimeUnit.MINUTES);
+ redisTemplate.expire(redisKey, 5, TimeUnit.MINUTES);
}
}
}
diff --git a/nz-admin/src/main/resources/db/V2022.06.07__modify_sys_api_key_table_structure.sql b/nz-admin/src/main/resources/db/V2022.06.07__modify_sys_api_key_table_structure.sql
new file mode 100644
index 00000000..e7663c7d
--- /dev/null
+++ b/nz-admin/src/main/resources/db/V2022.06.07__modify_sys_api_key_table_structure.sql
@@ -0,0 +1,6 @@
+/**
+ * 1. sys_api_key 表新增 remark 字段
+ */
+
+ALTER TABLE `sys_api_key`
+ADD COLUMN IF NOT EXISTS `remark` VARCHAR (256) COMMENT '备注';
diff --git a/nz-admin/src/main/resources/mapper/sys/SysApiKey.xml b/nz-admin/src/main/resources/mapper/sys/SysApiKey.xml
index aacd5227..7f97c42c 100644
--- a/nz-admin/src/main/resources/mapper/sys/SysApiKey.xml
+++ b/nz-admin/src/main/resources/mapper/sys/SysApiKey.xml
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nis.modules.sys.dao.SysApiKeyDao">
-
+
<resultMap type="com.nis.modules.sys.entity.SysApiKey" id="sysApiKey">
<result property="id" column="id"/>
<result property="name" column="name"/>
@@ -10,19 +10,20 @@
<result property="roleId" column="role_id"/>
<result property="createAt" column="create_at"/>
<result property="expireAt" column="expire_at"/>
-
- <association columnPrefix="u_" property="createUser" javaType="com.nis.modules.sys.entity.SysUserEntity">
+ <result property="remark" column="remark"/>
+
+ <association columnPrefix="u_" property="createUser" javaType="com.nis.modules.sys.entity.SysUserEntity">
<result column="id" property="id"/>
<result column="name" property="name"/>
</association>
-
+
<association columnPrefix="r_" property="role" javaType="com.nis.modules.sys.entity.SysRoleEntity">
<result column="id" property="id"/>
<result column="name" property="name"/>
</association>
-
+
</resultMap>
-
+
<select id="queryList" resultMap="sysApiKey">
select sak.*,
su.id as u_id,
@@ -31,9 +32,9 @@
sr.name as r_name
from sys_api_key sak left join sys_user su on sak.create_by = su.id
left join sys_role sr on sak.role_id = sr.id
- where 1=1
+ where 1=1
<if test="params.ids != null">
- and sak.id in
+ and sak.id in
<foreach item="id" collection="params.ids" separator="," open="(" close=")" index="">
#{id}
</foreach>
@@ -43,4 +44,29 @@
</if>
</select>
-</mapper> \ No newline at end of file
+ <select id="querySelfApiKeys" resultMap="sysApiKey">
+ SELECT
+ sak.*,
+ su.id AS u_id,
+ su.name AS u_name,
+ sr.id AS r_id,
+ sr.name AS r_name
+ FROM
+ sys_api_key sak
+ LEFT JOIN sys_user su ON sak.create_by = su.id
+ LEFT JOIN sys_role sr ON sak.role_id = sr.id
+ <where>
+ sak.create_by = #{params.currentLoginUserID}
+ <if test="params.ids != null">
+ AND sak.id in
+ <foreach item="id" collection="params.ids" separator="," open="(" close=")" index="">
+ #{id}
+ </foreach>
+ </if>
+ <if test="params.name !=null and params.name != ''">
+ AND locate(#{params.name} , sak.name)
+ </if>
+ </where>
+ </select>
+
+</mapper>