add access user replace user login controller

木子李·De 3 years ago
parent fb723f145f
commit a1c28a087a

@ -1,41 +0,0 @@
package com.anjiplus.template.gaea.business.modules.user.controller;
import com.anji.plus.gaea.bean.ResponseBean;
import com.anjiplus.template.gaea.business.modules.user.dto.GaeaUserDTO;
import com.anjiplus.template.gaea.business.modules.user.service.UserService;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
*
* Created by raodeming on 2021/6/23.
*/
@RestController
@Api(tags = "用户管理")
public class LoginController {
@Autowired
private UserService userService;
/**
*
* @param dto
* @return
*/
@PostMapping({"/login"})
public ResponseBean login(@RequestBody @Validated GaeaUserDTO dto) {
return ResponseBean.builder().data(userService.login(dto)).build();
}
@PostMapping({"/health"})
public ResponseBean health() {
return ResponseBean.builder().build();
}
}

@ -1,12 +0,0 @@
package com.anjiplus.template.gaea.business.modules.user.dao;
import com.anji.plus.gaea.curd.mapper.GaeaBaseMapper;
import com.anjiplus.template.gaea.business.modules.user.dao.entity.GaeaUser;
import org.apache.ibatis.annotations.Mapper;
/**
* Created by raodeming on 2021/6/23.
*/
@Mapper
public interface GaeaUserMapper extends GaeaBaseMapper<GaeaUser> {
}

@ -1,23 +0,0 @@
package com.anjiplus.template.gaea.business.modules.user.dao.entity;
import com.anji.plus.gaea.annotation.Unique;
import com.anji.plus.gaea.curd.entity.GaeaBaseEntity;
import lombok.Data;
import java.io.Serializable;
/**
* Created by raodeming on 2021/6/23.
*/
@Data
public class GaeaUser extends GaeaBaseEntity implements Serializable {
/**
*
*/
private String username;
/**
*
*/
private String password;
}

@ -1,23 +0,0 @@
package com.anjiplus.template.gaea.business.modules.user.dto;
import com.anji.plus.gaea.annotation.Unique;
import com.anji.plus.gaea.curd.dto.GaeaBaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@ApiModel(value = "用户表")
@Data
public class GaeaUserDTO extends GaeaBaseDTO {
@ApiModelProperty(value = "用户登录名")
@NotBlank
private String username;
@ApiModelProperty(value = "用户密码")
@NotBlank
private String password;
}

@ -1,10 +0,0 @@
package com.anjiplus.template.gaea.business.modules.user.service;
import com.anjiplus.template.gaea.business.modules.user.dto.GaeaUserDTO;
/**
* Created by raodeming on 2021/6/23.
*/
public interface UserService {
Object login(GaeaUserDTO dto);
}

@ -1,90 +0,0 @@
package com.anjiplus.template.gaea.business.modules.user.service.impl;
import com.anji.plus.gaea.cache.CacheHelper;
import com.anji.plus.gaea.exception.BusinessExceptionBuilder;
import com.anji.plus.gaea.utils.GaeaUtils;
import com.anji.plus.gaea.utils.JwtBean;
import com.anjiplus.template.gaea.business.code.ResponseCode;
import com.anjiplus.template.gaea.business.modules.user.dao.GaeaUserMapper;
import com.anjiplus.template.gaea.business.modules.user.dao.entity.GaeaUser;
import com.anjiplus.template.gaea.business.modules.user.dto.GaeaUserDTO;
import com.anjiplus.template.gaea.business.modules.user.service.UserService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.security.MessageDigest;
import java.util.HashMap;
import java.util.Map;
/**
* Created by raodeming on 2021/6/23.
*/
@Service
@Slf4j
public class UserServiceImpl implements UserService {
@Autowired
private JwtBean jwtBean;
@Autowired
private GaeaUserMapper gaeaUserMapper;
@Autowired
private CacheHelper cacheHelper;
@Override
public Object login(GaeaUserDTO dto) {
String username = dto.getUsername();
String password = dto.getPassword();
//1.判断用户是否存在
LambdaQueryWrapper<GaeaUser> wrapper = Wrappers.lambdaQuery();
wrapper.eq(GaeaUser::getUsername, username);
GaeaUser gaeaUser = gaeaUserMapper.selectOne(wrapper);
if (null == gaeaUser || !gaeaUser.getPassword().equals(encrypt(password))) {
throw BusinessExceptionBuilder.build(ResponseCode.LOGIN_ERROR);
}
Map<String, String> map = Maps.newHashMap();
//将登录信息缓存,默认一小时
if (cacheHelper.exist(username)) {
map.put("token", cacheHelper.stringGet(username));
map.put("username", username);
} else {
String uuid = GaeaUtils.UUID();
String token = jwtBean.createToken(username, uuid);
cacheHelper.stringSetExpire(username, token, 3600);
map.put("token", token);
map.put("username", username);
}
return map;
}
/**
* md5
* @param dataStr
* @return String
*/
public static String encrypt(String dataStr) {
try {
MessageDigest m = MessageDigest.getInstance("MD5");
m.update(dataStr.getBytes("UTF8"));
byte[] s = m.digest();
StringBuilder result = new StringBuilder();
for (int i = 0; i < s.length; i++) {
result.append(Integer.toHexString((0x000000FF & s[i]) | 0xFFFFFF00).substring(6));
}
return result.toString();
} catch (Exception e) {
log.error("error",e);
}
return "";
}
}

@ -0,0 +1,29 @@
package com.anjiplus.template.gaea.business.util;
import lombok.extern.slf4j.Slf4j;
import java.security.MessageDigest;
@Slf4j
public class MD5Util {
/**
* md5
* @param dataStr
* @return String
*/
public static String encrypt(String dataStr) {
try {
MessageDigest m = MessageDigest.getInstance("MD5");
m.update(dataStr.getBytes("UTF8"));
byte[] s = m.digest();
StringBuilder result = new StringBuilder();
for (int i = 0; i < s.length; i++) {
result.append(Integer.toHexString((0x000000FF & s[i]) | 0xFFFFFF00).substring(6));
}
return result.toString();
} catch (Exception e) {
log.error("error",e);
}
return "";
}
}
Loading…
Cancel
Save