| 
					
				 | 
			
			
				@@ -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 ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 |