diff --git a/xlcs-parent/service/service-acl/pom.xml b/xlcs-parent/service/service-acl/pom.xml
index 31ab053..36279e7 100644
--- a/xlcs-parent/service/service-acl/pom.xml
+++ b/xlcs-parent/service/service-acl/pom.xml
@@ -17,4 +17,11 @@
UTF-8
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
diff --git a/xlcs-parent/service/service-acl/src/main/java/com/yovinchen/xlcs/acl/controller/IndexController.java b/xlcs-parent/service/service-acl/src/main/java/com/yovinchen/xlcs/acl/controller/IndexController.java
index e405632..8a9900d 100644
--- a/xlcs-parent/service/service-acl/src/main/java/com/yovinchen/xlcs/acl/controller/IndexController.java
+++ b/xlcs-parent/service/service-acl/src/main/java/com/yovinchen/xlcs/acl/controller/IndexController.java
@@ -1,13 +1,11 @@
package com.yovinchen.xlcs.acl.controller;
+import com.yovinchen.xlcs.acl.service.AdminService;
import com.yovinchen.xlcs.common.result.Result;
import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
-import java.util.HashMap;
import java.util.Map;
/**
@@ -23,13 +21,18 @@ import java.util.Map;
@RequestMapping("/admin/acl/index")
public class IndexController {
+
+ @Autowired
+ private AdminService adminService;
+
/**
* 1、请求登陆的login
*/
@PostMapping("login")
- public Result login() {
- Map map = new HashMap<>();
- map.put("token", "admin-token");
+ public Result login(@RequestBody Map loginRequest) {
+ String username = loginRequest.get("username");
+ String password = loginRequest.get("password");
+ Map map = adminService.loginAdmin(username, password);
return Result.ok(map);
}
@@ -37,10 +40,8 @@ public class IndexController {
* 2 获取用户信息
*/
@GetMapping("info")
- public Result info() {
- Map map = new HashMap<>();
- map.put("name", "yovinchen");
- map.put("avatar", "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif");
+ public Result info(String token) {
+ Map map = adminService.getInfo(token);
return Result.ok(map);
}
diff --git a/xlcs-parent/service/service-acl/src/main/java/com/yovinchen/xlcs/acl/service/AdminService.java b/xlcs-parent/service/service-acl/src/main/java/com/yovinchen/xlcs/acl/service/AdminService.java
index c753a2e..2fc8267 100644
--- a/xlcs-parent/service/service-acl/src/main/java/com/yovinchen/xlcs/acl/service/AdminService.java
+++ b/xlcs-parent/service/service-acl/src/main/java/com/yovinchen/xlcs/acl/service/AdminService.java
@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.yovinchen.xlcs.model.acl.Admin;
import com.yovinchen.xlcs.vo.acl.AdminQueryVo;
+import java.util.Map;
+
/**
* ClassName: AdminService
* Package: com.yovinchen.xlcs.acl.service
@@ -25,4 +27,19 @@ public interface AdminService extends IService {
*/
IPage selectPage(Page pageParam, AdminQueryVo userQueryVo);
+ /**
+ * 后台登录
+ *
+ * @param username
+ * @param password
+ * @return
+ */
+ Map loginAdmin(String username, String password);
+
+ /**
+ * 获取用户信息
+ *
+ * @return
+ */
+ Map getInfo(String token);
}
diff --git a/xlcs-parent/service/service-acl/src/main/java/com/yovinchen/xlcs/acl/service/impl/AdminServiceImpl.java b/xlcs-parent/service/service-acl/src/main/java/com/yovinchen/xlcs/acl/service/impl/AdminServiceImpl.java
index c1c242a..883c746 100644
--- a/xlcs-parent/service/service-acl/src/main/java/com/yovinchen/xlcs/acl/service/impl/AdminServiceImpl.java
+++ b/xlcs-parent/service/service-acl/src/main/java/com/yovinchen/xlcs/acl/service/impl/AdminServiceImpl.java
@@ -1,5 +1,6 @@
package com.yovinchen.xlcs.acl.service.impl;
+import cn.hutool.core.lang.UUID;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -11,9 +12,14 @@ import com.yovinchen.xlcs.model.acl.Admin;
import com.yovinchen.xlcs.vo.acl.AdminQueryVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
/**
* ClassName: AdminServiceImpl
* Package: com.yovinchen.xlcs.acl.service.impl
@@ -32,6 +38,16 @@ public class AdminServiceImpl extends ServiceImpl implements
@Autowired
private RoleService roleService;
+ @Autowired
+ private RedisTemplate redisTemplate;
+
+ /**
+ * 分页查询用户
+ *
+ * @param pageParam
+ * @param userQueryVo
+ * @return
+ */
@Override
public IPage selectPage(Page pageParam, AdminQueryVo userQueryVo) {
log.info("获取管理用户分页列表入参{}", pageParam.toString() + userQueryVo.toString());
@@ -47,4 +63,42 @@ public class AdminServiceImpl extends ServiceImpl implements
IPage pageModel = baseMapper.selectPage(pageParam, wrapper);
return pageModel;
}
+
+ /**
+ * 后台登录
+ *
+ * @param username
+ * @param password
+ * @return
+ */
+ @Override
+ public Map loginAdmin(String username, String password) {
+
+ Integer i = baseMapper.selectCount(new LambdaQueryWrapper().eq(Admin::getUsername, username)
+ .eq(Admin::getPassword, password));
+ if (i != 0) {
+ // 验证通过,生成随机token
+ String token = UUID.randomUUID()
+ .toString();
+ redisTemplate.opsForValue()
+ .set(token, username);
+ redisTemplate.expire(token, 5, TimeUnit.MINUTES); // 设置过期时间为五分钟
+ // 返回包含token的结果
+ Map map = new HashMap<>();
+ map.put("token", token);
+ return map;
+ }
+ return null;
+ }
+
+ @Override
+ public Map getInfo(String token) {
+ String username = (String) redisTemplate.opsForValue()
+ .get(token);
+ Admin admin = baseMapper.selectOne(new LambdaQueryWrapper().eq(Admin::getUsername, username));
+ Map map = new HashMap<>();
+ map.put("name", admin.getName());
+ map.put("avatar", "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif");
+ return map;
+ }
}