merge
This commit is contained in:
@@ -54,6 +54,26 @@ public class CommonEnum {
|
||||
}
|
||||
}
|
||||
|
||||
public enum LoginInOutEnum {
|
||||
IN("登录", 1), OUT("登出", 2);
|
||||
// 成员变量
|
||||
private String name;
|
||||
private int value;
|
||||
|
||||
private LoginInOutEnum(String name, int value) {
|
||||
this.value = value;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public int getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
String code = "Y";
|
||||
// for (YesOrNoEnum yesOrNoEnum : YesOrNoEnum.values()) {
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.xwbing.entity;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
|
||||
/**
|
||||
* 项目名称: boot-module-demo
|
||||
* 创建时间: 2017/11/7 9:46
|
||||
* 作者: xiangwb
|
||||
* 说明: 用户登录登出信息
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@Entity(name = "sys_user_login_in_out")
|
||||
public class SysUserLoginInOut extends BaseEntity {
|
||||
private static final long serialVersionUID = -2719103095945780275L;
|
||||
public static String table = "sys_user_login_in_out";
|
||||
private String ip;
|
||||
@Column(name = "inout_type")
|
||||
private int inoutType;
|
||||
@Column(name = "user_id")
|
||||
private String userId;
|
||||
//临时字段
|
||||
private transient String userIdName;
|
||||
private transient String recordTime;
|
||||
private transient String inoutTypeName;
|
||||
// private transient String startDate;
|
||||
// private transient String endDate;
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.xwbing.entity.model;
|
||||
|
||||
import lombok.Data;
|
||||
import org.hibernate.validator.constraints.Email;
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
import org.hibernate.validator.constraints.NotBlank;
|
||||
@@ -18,7 +19,7 @@ import java.util.Date;
|
||||
* 创建时间: 2017/5/17 16:13
|
||||
* 作者: xiangwb
|
||||
*/
|
||||
|
||||
@Data
|
||||
public class ValidateModel {
|
||||
@NotBlank(message = "name不能为空")
|
||||
@Length(max = 50, message = "name长度为1-50")
|
||||
@@ -45,60 +46,4 @@ public class ValidateModel {
|
||||
@NotBlank(message = "sex不能为空")
|
||||
@Pattern(regexp = "[01]", message = "sex格式为0|1,0代表女,1代表男")
|
||||
private String sex;
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public int getAge() {
|
||||
return age;
|
||||
}
|
||||
|
||||
public void setAge(int age) {
|
||||
this.age = age;
|
||||
}
|
||||
|
||||
public double getMoney() {
|
||||
return money;
|
||||
}
|
||||
|
||||
public void setMoney(double money) {
|
||||
this.money = money;
|
||||
}
|
||||
|
||||
public Date getBirthDay() {
|
||||
return birthDay;
|
||||
}
|
||||
|
||||
public void setBirthDay(Date birthDay) {
|
||||
this.birthDay = birthDay;
|
||||
}
|
||||
|
||||
public String getHappyTime() {
|
||||
return happyTime;
|
||||
}
|
||||
|
||||
public void setHappyTime(String happyTime) {
|
||||
this.happyTime = happyTime;
|
||||
}
|
||||
|
||||
public String getEmail() {
|
||||
return email;
|
||||
}
|
||||
|
||||
public void setEmail(String email) {
|
||||
this.email = email;
|
||||
}
|
||||
|
||||
public String getSex() {
|
||||
return sex;
|
||||
}
|
||||
|
||||
public void setSex(String sex) {
|
||||
this.sex = sex;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -9,5 +9,5 @@ import org.springframework.data.jpa.repository.JpaRepository;
|
||||
* 创建时间: 2017/5/5 16:44
|
||||
* 作者: xiangwb
|
||||
*/
|
||||
public interface AuthorityRepository extends JpaRepository<SysAuthority,String> {
|
||||
public interface SysAuthorityRepository extends JpaRepository<SysAuthority,String> {
|
||||
}
|
||||
+1
-1
@@ -9,5 +9,5 @@ import org.springframework.data.jpa.repository.JpaRepository;
|
||||
* 创建时间: 2017/5/5 16:44
|
||||
* 作者: xiangwb
|
||||
*/
|
||||
public interface RoleRepository extends JpaRepository<SysRole,String> {
|
||||
public interface SysRoleRepository extends JpaRepository<SysRole,String> {
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.xwbing.repository;
|
||||
|
||||
import com.xwbing.entity.SysUserLoginInOut;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 项目名称: boot-module-demo
|
||||
* 创建时间: 2017/11/7 9:58
|
||||
* 作者: xiangwb
|
||||
* 说明:
|
||||
*/
|
||||
public interface SysUserLoginInOutRepository extends JpaRepository<SysUserLoginInOut, String> {
|
||||
List<SysUserLoginInOut> getByInoutType(int inout);
|
||||
}
|
||||
+1
-1
@@ -8,6 +8,6 @@ import org.springframework.data.jpa.repository.JpaRepository;
|
||||
* 创建时间: 2017/5/5 16:44
|
||||
* 作者: xiangwb
|
||||
*/
|
||||
public interface UserRepository extends JpaRepository<SysUser, String> {
|
||||
public interface SysUserRepository extends JpaRepository<SysUser, String> {
|
||||
SysUser findByUserName(String name);
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package com.xwbing.service;
|
||||
|
||||
import com.xwbing.constant.CommonEnum;
|
||||
import com.xwbing.entity.SysUser;
|
||||
import com.xwbing.entity.SysUserLoginInOut;
|
||||
import com.xwbing.repository.SysUserLoginInOutRepository;
|
||||
import com.xwbing.util.DateUtil2;
|
||||
import com.xwbing.util.PassWordUtil;
|
||||
import com.xwbing.util.RestMessage;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 项目名称: boot-module-demo
|
||||
* 创建时间: 2017/11/7 9:56
|
||||
* 作者: xiangwb
|
||||
* 说明: 用户登录登出服务层
|
||||
*/
|
||||
@Service
|
||||
public class SysUserLoginInOutService {
|
||||
@Resource
|
||||
private SysUserLoginInOutRepository loginInOutRepository;
|
||||
@Resource
|
||||
private SysUserService sysUserService;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param inOut
|
||||
* @return
|
||||
*/
|
||||
public RestMessage save(SysUserLoginInOut inOut) {
|
||||
RestMessage result = new RestMessage();
|
||||
inOut.setId(PassWordUtil.createId());
|
||||
SysUserLoginInOut save = loginInOutRepository.save(inOut);
|
||||
if (save != null) {
|
||||
result.setSuccess(true);
|
||||
result.setMessage("保存登录登出信息成功");
|
||||
} else {
|
||||
result.setMessage("保存登录登出信息失败");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据类型列表查询
|
||||
*
|
||||
* @param inout
|
||||
* @return
|
||||
*/
|
||||
public List<SysUserLoginInOut> listByType(int inout) {
|
||||
Map<String, SysUser> userMap = sysUserService.listAll().stream().collect(Collectors.toMap(SysUser::getId, Function.identity()));
|
||||
List<SysUserLoginInOut> list = loginInOutRepository.getByInoutType(inout);
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
if (MapUtils.isNotEmpty(userMap)) {
|
||||
list.forEach(inOut -> {
|
||||
inOut.setUserIdName(userMap.get(inOut.getUserId()).getName());//用户姓名
|
||||
inOut.setRecordTime(DateUtil2.dateToStr(inOut.getCreateTime(), DateUtil2.YYYY_MM_DD_HH_MM_SS));//记录时间
|
||||
CommonEnum.LoginInOutEnum inOutEnum = Arrays.stream(CommonEnum.LoginInOutEnum.values()).filter(obj -> obj.getValue() == inout).findFirst().get();//登录登出
|
||||
inOut.setInoutTypeName(inOutEnum.getName());
|
||||
});
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
||||
+54
-13
@@ -5,15 +5,16 @@ import com.xwbing.constant.CommonConstant;
|
||||
import com.xwbing.constant.CommonEnum;
|
||||
import com.xwbing.entity.SysConfig;
|
||||
import com.xwbing.entity.SysUser;
|
||||
import com.xwbing.util.CommonDataUtil;
|
||||
import com.xwbing.entity.SysUserLoginInOut;
|
||||
import com.xwbing.entity.model.EmailModel;
|
||||
import com.xwbing.exception.BusinessException;
|
||||
import com.xwbing.repository.UserRepository;
|
||||
import com.xwbing.repository.SysUserRepository;
|
||||
import com.xwbing.util.*;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
@@ -25,11 +26,13 @@ import java.util.List;
|
||||
* 作者: xiangwb
|
||||
*/
|
||||
@Service
|
||||
public class UserService {
|
||||
public class SysUserService {
|
||||
@Resource
|
||||
private UserRepository userRepository;
|
||||
private SysUserRepository sysUserRepository;
|
||||
@Resource
|
||||
private SysConfigService sysConfigService;
|
||||
@Resource
|
||||
private SysUserLoginInOutService loginInOutService;
|
||||
|
||||
/**
|
||||
* 增
|
||||
@@ -51,7 +54,7 @@ public class UserService {
|
||||
sysUser.setPassword(res[2]);
|
||||
// 设置否管理员
|
||||
sysUser.setAdmin(CommonEnum.YesOrNoEnum.NO.getCode());
|
||||
SysUser one = userRepository.save(sysUser);
|
||||
SysUser one = sysUserRepository.save(sysUser);
|
||||
if (one == null) {
|
||||
throw new BusinessException("新增用户失败");
|
||||
}
|
||||
@@ -83,7 +86,7 @@ public class UserService {
|
||||
if (CommonEnum.YesOrNoEnum.YES.getCode().equals(old.getAdmin())) {
|
||||
throw new BusinessException("不能对管理员进行删除操作");
|
||||
}
|
||||
userRepository.delete(id);
|
||||
sysUserRepository.delete(id);
|
||||
result.setMessage("删除成功");
|
||||
result.setSuccess(true);
|
||||
return result;
|
||||
@@ -114,7 +117,7 @@ public class UserService {
|
||||
old.setSex(sysUser.getSex());
|
||||
old.setModifiedTime(new Date());
|
||||
// old.setUserName(sysUser.getUserName());//用户名不能修改
|
||||
SysUser one = userRepository.save(old);
|
||||
SysUser one = sysUserRepository.save(old);
|
||||
if (one != null) {
|
||||
result.setMessage("更新成功");
|
||||
result.setSuccess(true);
|
||||
@@ -131,7 +134,7 @@ public class UserService {
|
||||
* @return
|
||||
*/
|
||||
public SysUser findOne(String id) {
|
||||
return userRepository.findOne(id);
|
||||
return sysUserRepository.findOne(id);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -140,7 +143,7 @@ public class UserService {
|
||||
* @return
|
||||
*/
|
||||
public List<SysUser> listAll() {
|
||||
List<SysUser> all = userRepository.findAll();
|
||||
List<SysUser> all = sysUserRepository.findAll();
|
||||
if (CollectionUtils.isNotEmpty(all)) {
|
||||
all.forEach(sysUser -> {
|
||||
CommonEnum.SexEnum sexEnum = Arrays.stream(CommonEnum.SexEnum.values()).filter(obj -> obj.getCode().equals(sysUser.getSex())).findFirst().get();
|
||||
@@ -174,7 +177,7 @@ public class UserService {
|
||||
old.setSalt(str[1]);
|
||||
old.setPassword(str[2]);
|
||||
old.setModifiedTime(new Date());
|
||||
SysUser save = userRepository.save(old);
|
||||
SysUser save = sysUserRepository.save(old);
|
||||
if (save == null)
|
||||
throw new BusinessException("重置密码失败");
|
||||
boolean send = sendEmail(old, str[0]);
|
||||
@@ -204,7 +207,7 @@ public class UserService {
|
||||
sysUser.setSalt(str[1]);
|
||||
sysUser.setPassword(str[2]);
|
||||
sysUser.setModifiedTime(new Date());
|
||||
SysUser save = userRepository.save(sysUser);
|
||||
SysUser save = sysUserRepository.save(sysUser);
|
||||
if (save != null) {
|
||||
result.setMessage("修改密码成功");
|
||||
result.setSuccess(true);
|
||||
@@ -222,7 +225,7 @@ public class UserService {
|
||||
* @param checkCode
|
||||
* @return
|
||||
*/
|
||||
public RestMessage login(String userName, String passWord, String checkCode) {
|
||||
public RestMessage login(HttpServletRequest request, String userName, String passWord, String checkCode) {
|
||||
RestMessage restMessage = new RestMessage();
|
||||
String imgCode = (String) CommonDataUtil.getToken(CommonConstant.KEY_CAPTCHA);
|
||||
//验证验证码
|
||||
@@ -238,11 +241,49 @@ public class UserService {
|
||||
throw new BusinessException("密码错误");
|
||||
CommonDataUtil.setToken(CommonConstant.CURRENT_USER, userName);
|
||||
CommonDataUtil.setToken(CommonConstant.CURRENT_USER_ID, user.getId());
|
||||
//保存登录信息
|
||||
SysUserLoginInOut loginInOut = new SysUserLoginInOut();
|
||||
loginInOut.setCreateTime(new Date());
|
||||
loginInOut.setUserId(user.getId());
|
||||
loginInOut.setInoutType(CommonEnum.LoginInOutEnum.IN.getValue());
|
||||
loginInOut.setIp(IpUtil.getIpAddr(request));
|
||||
RestMessage save = loginInOutService.save(loginInOut);
|
||||
if (!save.isSuccess())
|
||||
throw new BusinessException("保存用户登录日志失败");
|
||||
restMessage.setSuccess(true);
|
||||
restMessage.setMessage("登录成功");
|
||||
return restMessage;
|
||||
}
|
||||
|
||||
/**
|
||||
* 登出
|
||||
*
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
public RestMessage logout(HttpServletRequest request) {
|
||||
RestMessage restMessage = new RestMessage();
|
||||
String userId = (String) CommonDataUtil.getToken(CommonConstant.CURRENT_USER_ID);
|
||||
SysUser user = findOne(userId);
|
||||
if (user != null) {
|
||||
CommonDataUtil.clearMap();
|
||||
SysUserLoginInOut loginInOut = new SysUserLoginInOut();
|
||||
loginInOut.setCreateTime(new Date());
|
||||
loginInOut.setUserId(user.getId());
|
||||
loginInOut.setInoutType(CommonEnum.LoginInOutEnum.OUT.getValue());
|
||||
loginInOut.setIp(IpUtil.getIpAddr(request));
|
||||
restMessage = loginInOutService.save(loginInOut);
|
||||
if (restMessage.isSuccess()) {
|
||||
restMessage.setMessage("登出成功");
|
||||
} else {
|
||||
restMessage.setMessage("保存用户登出信息失败");
|
||||
}
|
||||
} else {
|
||||
restMessage.setMessage("没有获取到用户登录信息,请重新登录");
|
||||
}
|
||||
return restMessage;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户名查找用户
|
||||
*
|
||||
@@ -250,7 +291,7 @@ public class UserService {
|
||||
* @return
|
||||
*/
|
||||
private SysUser findByUserName(String userName) {
|
||||
return userRepository.findByUserName(userName);
|
||||
return sysUserRepository.findByUserName(userName);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.xwbing.util;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.net.InetAddress;
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
/**
|
||||
* 项目名称: boot-module-demo
|
||||
* 创建时间: 2017/11/7 10:24
|
||||
* 作者: xiangwb
|
||||
* 说明:
|
||||
*/
|
||||
public class IpUtil {
|
||||
public static String getIpAddr(HttpServletRequest request) {
|
||||
// 获取X-Forwarded-For
|
||||
String ip = request.getHeader("x-forwarded-for");
|
||||
if (ip == null || ip.length() == 0
|
||||
|| "unknown".equalsIgnoreCase(ip)) {
|
||||
// 获取Proxy-Client-IP
|
||||
ip = request.getHeader("Proxy-Client-IP");
|
||||
}
|
||||
if (ip == null || ip.length() == 0
|
||||
|| "unknown".equalsIgnoreCase(ip)) {
|
||||
// WL-Proxy-Client-IP
|
||||
ip = request.getHeader("WL-Proxy-Client-IP");
|
||||
}
|
||||
if (ip == null || ip.length() == 0
|
||||
|| "unknown".equalsIgnoreCase(ip)) {
|
||||
// 获取的IP实际上是代理服务器的地址,并不是客户端的IP地址
|
||||
ip = request.getRemoteAddr();
|
||||
if (ip.equals("127.0.0.1")
|
||||
|| ip.equals("0:0:0:0:0:0:0:1")) {
|
||||
// 根据网卡取本机配置的IP
|
||||
InetAddress inet = null;
|
||||
try {
|
||||
inet = InetAddress.getLocalHost();
|
||||
} catch (UnknownHostException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
ip = inet.getHostAddress();
|
||||
}
|
||||
}
|
||||
// 对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割
|
||||
if (ip != null && ip.length() > 15) { // "***.***.***.***".length()
|
||||
if (ip.indexOf(",") > 0) {
|
||||
ip = ip.substring(0, ip.indexOf(","));
|
||||
}
|
||||
}
|
||||
return ip;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
package com.xwbing.util;
|
||||
|
||||
public class ThreadLocalUtil {
|
||||
|
||||
|
||||
}
|
||||
+23
-56
@@ -3,13 +3,15 @@ package com.xwbing.controller;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.xwbing.annotation.LogInfo;
|
||||
import com.xwbing.entity.SysUser;
|
||||
import com.xwbing.service.UserService;
|
||||
import com.xwbing.service.SysUserLoginInOutService;
|
||||
import com.xwbing.service.SysUserService;
|
||||
import com.xwbing.util.JSONObjResult;
|
||||
import com.xwbing.util.RestMessage;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
@@ -21,112 +23,77 @@ import java.util.List;
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/user/")
|
||||
public class UserControl {
|
||||
public class SysUserControl {
|
||||
@Resource
|
||||
private UserService userService;
|
||||
private SysUserService sysUserService;
|
||||
@Resource
|
||||
private SysUserLoginInOutService loginInOutService;
|
||||
|
||||
/**
|
||||
* 添加用户
|
||||
*
|
||||
* @param sysUser
|
||||
* @return
|
||||
*/
|
||||
@LogInfo("添加用户")
|
||||
@PostMapping("save")
|
||||
public JSONObject save(@RequestBody @Valid SysUser sysUser) {
|
||||
RestMessage result = userService.save(sysUser);
|
||||
RestMessage result = sysUserService.save(sysUser);
|
||||
return JSONObjResult.toJSONObj(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除用户
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@LogInfo("删除用户")
|
||||
@GetMapping("removeById")
|
||||
public JSONObject removeById(@RequestParam String id) {
|
||||
if (StringUtils.isEmpty(id)) {
|
||||
return JSONObjResult.toJSONObj("主键不能为空");
|
||||
}
|
||||
RestMessage result = userService.removeById(id);
|
||||
RestMessage result = sysUserService.removeById(id);
|
||||
return JSONObjResult.toJSONObj(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改用户信息
|
||||
*
|
||||
* @param sysUser
|
||||
* @return
|
||||
*/
|
||||
@LogInfo("修改用户信息")
|
||||
@PostMapping("update")
|
||||
public JSONObject update(@RequestBody @Valid SysUser sysUser) {
|
||||
if (StringUtils.isEmpty(sysUser.getId())) {
|
||||
return JSONObjResult.toJSONObj("主键不能为空");
|
||||
}
|
||||
RestMessage result = userService.update(sysUser);
|
||||
RestMessage result = sysUserService.update(sysUser);
|
||||
return JSONObjResult.toJSONObj(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户详情
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@LogInfo("获取用户详情")
|
||||
@GetMapping("findById")
|
||||
public JSONObject findById(@RequestParam String id) {
|
||||
if (StringUtils.isEmpty(id)) {
|
||||
return JSONObjResult.toJSONObj("主键不能为空");
|
||||
}
|
||||
SysUser sysUser = userService.findOne(id);
|
||||
SysUser sysUser = sysUserService.findOne(id);
|
||||
if (sysUser == null) {
|
||||
return JSONObjResult.toJSONObj("未查到该对象");
|
||||
}
|
||||
return JSONObjResult.toJSONObj(sysUser, true, "");
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询所有用户
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@LogInfo("列表查询所有用户")
|
||||
@GetMapping("findList")
|
||||
public JSONObject findList() {
|
||||
List<SysUser> list = userService.listAll();
|
||||
List<SysUser> list = sysUserService.listAll();
|
||||
return JSONObjResult.toJSONObj(list, true, "");
|
||||
}
|
||||
|
||||
/**
|
||||
* 登录
|
||||
*
|
||||
* @param userName
|
||||
* @param passWord
|
||||
* @param checkCode
|
||||
* @return
|
||||
*/
|
||||
@LogInfo("登录")
|
||||
@GetMapping("login")
|
||||
public JSONObject login(@RequestParam String userName, @RequestParam String passWord, @RequestParam String checkCode) {
|
||||
public JSONObject login(HttpServletRequest request, @RequestParam String userName, @RequestParam String passWord, @RequestParam String checkCode) {
|
||||
if (StringUtils.isEmpty(userName) || StringUtils.isEmpty(passWord))
|
||||
return JSONObjResult.toJSONObj("用户名或密码不能为空");
|
||||
if (StringUtils.isEmpty(checkCode))
|
||||
return JSONObjResult.toJSONObj("请输入验证码");
|
||||
RestMessage login = userService.login(userName, passWord, checkCode);
|
||||
RestMessage login = sysUserService.login(request, userName, passWord, checkCode);
|
||||
return JSONObjResult.toJSONObj(login);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改密码
|
||||
*
|
||||
* @param newPassWord
|
||||
* @param oldPassWord
|
||||
* @return
|
||||
*/
|
||||
@LogInfo("登出")
|
||||
@GetMapping("logout")
|
||||
public JSONObject logout(HttpServletRequest request) {
|
||||
RestMessage logout = sysUserService.logout(request);
|
||||
return JSONObjResult.toJSONObj(logout);
|
||||
}
|
||||
|
||||
@LogInfo("修改密码")
|
||||
@GetMapping("updatePassWord")
|
||||
public JSONObject updatePassWord(@RequestParam String newPassWord, @RequestParam String oldPassWord, @RequestParam String id) {
|
||||
@@ -134,7 +101,7 @@ public class UserControl {
|
||||
return JSONObjResult.toJSONObj("原密码或新密码不能为空");
|
||||
if (StringUtils.isEmpty(id))
|
||||
return JSONObjResult.toJSONObj("主键不能为空");
|
||||
RestMessage restMessage = userService.updatePassWord(newPassWord, oldPassWord, id);
|
||||
RestMessage restMessage = sysUserService.updatePassWord(newPassWord, oldPassWord, id);
|
||||
return JSONObjResult.toJSONObj(restMessage);
|
||||
}
|
||||
|
||||
@@ -143,7 +110,7 @@ public class UserControl {
|
||||
public JSONObject resetPassWord(@RequestParam String id) {
|
||||
if (StringUtils.isEmpty(id))
|
||||
return JSONObjResult.toJSONObj("主键不能为空");
|
||||
RestMessage restMessage = userService.resetPassWord(id);
|
||||
RestMessage restMessage = sysUserService.resetPassWord(id);
|
||||
return JSONObjResult.toJSONObj(restMessage);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.xwbing.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.xwbing.annotation.LogInfo;
|
||||
import com.xwbing.entity.SysUserLoginInOut;
|
||||
import com.xwbing.service.SysUserLoginInOutService;
|
||||
import com.xwbing.util.JSONObjResult;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 项目名称: boot-module-demo
|
||||
* 创建时间: 2017/11/7 11:16
|
||||
* 作者: xiangwb
|
||||
* 说明:
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/inout/")
|
||||
public class SysUserLoginInOutControl {
|
||||
@Resource
|
||||
private SysUserLoginInOutService inOutService;
|
||||
|
||||
@LogInfo("获取登录或登出信息")
|
||||
@GetMapping("listByType")
|
||||
public JSONObject listByType(@RequestParam int inout) {
|
||||
List<SysUserLoginInOut> sysUserLoginInOuts = inOutService.listByType(inout);
|
||||
return JSONObjResult.toJSONObj(sysUserLoginInOuts, true, "获取列表成功");
|
||||
}
|
||||
}
|
||||
@@ -102,8 +102,7 @@ public class GlobalExceptionHandler {
|
||||
@ExceptionHandler(value = Exception.class)
|
||||
@ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR)
|
||||
@ResponseBody
|
||||
public JSONObject handlerException(HttpServletRequest request,
|
||||
Exception ex) {
|
||||
public JSONObject handlerException(HttpServletRequest request, Exception ex) {
|
||||
logger.error(ex.getMessage());
|
||||
return JSONObjResult.toJSONObj("系统异常,请联系管理员");
|
||||
}
|
||||
|
||||
@@ -1,14 +1,17 @@
|
||||
package com.xwbing.handler;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.xwbing.configuration.DispatcherServletConfig;
|
||||
import com.xwbing.constant.CommonConstant;
|
||||
import com.xwbing.util.CommonDataUtil;
|
||||
import com.xwbing.util.RestMessage;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.OutputStream;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
@@ -39,10 +42,14 @@ public class LoginInterceptor extends HandlerInterceptorAdapter {
|
||||
// return false;
|
||||
// }
|
||||
if (CommonDataUtil.getToken(CommonConstant.CURRENT_USER) != null) {
|
||||
// TODO: 2017/10/3
|
||||
return true;
|
||||
} else {
|
||||
// TODO: 2017/10/3
|
||||
logger.info("用户未登录");
|
||||
OutputStream outputStream = response.getOutputStream();
|
||||
RestMessage restMessage = new RestMessage();
|
||||
restMessage.setMessage("请登录");
|
||||
outputStream.write(JSON.toJSONString(restMessage).getBytes("utf-8"));
|
||||
outputStream.close();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user