|
@@ -1,17 +1,18 @@
|
|
package com.hwrj.cloud.portal.service.impl;
|
|
package com.hwrj.cloud.portal.service.impl;
|
|
|
|
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
import com.hwrj.cloud.common.exception.Asserts;
|
|
import com.hwrj.cloud.common.exception.Asserts;
|
|
|
|
+import com.hwrj.cloud.portal.domain.UmsMemberPlaformDo;
|
|
import com.hwrj.cloud.portal.mapper.UmsMemberLevelMapper;
|
|
import com.hwrj.cloud.portal.mapper.UmsMemberLevelMapper;
|
|
import com.hwrj.cloud.portal.mapper.UmsMemberMapper;
|
|
import com.hwrj.cloud.portal.mapper.UmsMemberMapper;
|
|
-import com.hwrj.cloud.portal.model.UmsMember;
|
|
|
|
-import com.hwrj.cloud.portal.model.UmsMemberExample;
|
|
|
|
-import com.hwrj.cloud.portal.model.UmsMemberLevel;
|
|
|
|
-import com.hwrj.cloud.portal.model.UmsMemberLevelExample;
|
|
|
|
|
|
+import com.hwrj.cloud.portal.mapper.UmsMemberPlatformMapper;
|
|
|
|
+import com.hwrj.cloud.portal.model.*;
|
|
import com.hwrj.cloud.portal.domain.MemberDetails;
|
|
import com.hwrj.cloud.portal.domain.MemberDetails;
|
|
import com.hwrj.cloud.portal.service.UmsMemberCacheService;
|
|
import com.hwrj.cloud.portal.service.UmsMemberCacheService;
|
|
import com.hwrj.cloud.portal.service.UmsMemberService;
|
|
import com.hwrj.cloud.portal.service.UmsMemberService;
|
|
import com.hwrj.cloud.security.util.JwtTokenUtil;
|
|
import com.hwrj.cloud.security.util.JwtTokenUtil;
|
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -29,14 +30,13 @@ import org.springframework.stereotype.Service;
|
|
import org.springframework.util.CollectionUtils;
|
|
import org.springframework.util.CollectionUtils;
|
|
import org.springframework.util.StringUtils;
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
-import java.util.Date;
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Random;
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 会员管理Service实现类
|
|
* 会员管理Service实现类
|
|
* Created by macro on 2018/8/3.
|
|
* Created by macro on 2018/8/3.
|
|
*/
|
|
*/
|
|
|
|
+@Slf4j
|
|
@Service
|
|
@Service
|
|
public class UmsMemberServiceImpl implements UmsMemberService {
|
|
public class UmsMemberServiceImpl implements UmsMemberService {
|
|
private static final Logger LOGGER = LoggerFactory.getLogger(com.hwrj.cloud.portal.service.impl.UmsMemberServiceImpl.class);
|
|
private static final Logger LOGGER = LoggerFactory.getLogger(com.hwrj.cloud.portal.service.impl.UmsMemberServiceImpl.class);
|
|
@@ -50,6 +50,10 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
|
private UmsMemberLevelMapper memberLevelMapper;
|
|
private UmsMemberLevelMapper memberLevelMapper;
|
|
@Autowired
|
|
@Autowired
|
|
private UmsMemberCacheService memberCacheService;
|
|
private UmsMemberCacheService memberCacheService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private UmsMemberPlatformMapper umsMemberPlatformMapper;
|
|
|
|
+
|
|
@Value("${redis.key.authCode}")
|
|
@Value("${redis.key.authCode}")
|
|
private String REDIS_KEY_PREFIX_AUTH_CODE;
|
|
private String REDIS_KEY_PREFIX_AUTH_CODE;
|
|
@Value("${redis.expire.authCode}")
|
|
@Value("${redis.expire.authCode}")
|
|
@@ -178,6 +182,29 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
|
MemberDetails memberDetails = (MemberDetails) auth.getPrincipal();
|
|
MemberDetails memberDetails = (MemberDetails) auth.getPrincipal();
|
|
return memberDetails.getUmsMember();
|
|
return memberDetails.getUmsMember();
|
|
}
|
|
}
|
|
|
|
+ @Override
|
|
|
|
+ public Map<String,Object> getCurrentWxUser() {
|
|
|
|
+ SecurityContext ctx = SecurityContextHolder.getContext();
|
|
|
|
+ Authentication auth = ctx.getAuthentication();
|
|
|
|
+ MemberDetails memberDetails = (MemberDetails) auth.getPrincipal();
|
|
|
|
+ UmsMember umsMember = memberDetails.getUmsMember();
|
|
|
|
+ Map<String,Object> map = new HashMap<>();
|
|
|
|
+
|
|
|
|
+ if (umsMember!=null){
|
|
|
|
+ map.put("user",umsMember);
|
|
|
|
+ UmsMemberPlatformExample example = new UmsMemberPlatformExample();
|
|
|
|
+ UmsMemberPlatformExample.Criteria criteria = example.createCriteria();
|
|
|
|
+ criteria.andMemberIdEqualTo(umsMember.getId());
|
|
|
|
+ List<UmsMemberPlatform> platforms = umsMemberPlatformMapper.selectByExample(example);
|
|
|
|
+ if (platforms==null||platforms.size()<1){
|
|
|
|
+
|
|
|
|
+ throw new RuntimeException("登录失败");
|
|
|
|
+ }
|
|
|
|
+ map.put("wxUsers",platforms.get(0));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return map;
|
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void updateIntegration(Long id, Integer integration) {
|
|
public void updateIntegration(Long id, Integer integration) {
|
|
@@ -197,6 +224,8 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
|
throw new UsernameNotFoundException("用户名或密码错误");
|
|
throw new UsernameNotFoundException("用户名或密码错误");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public String login(String username, String password) {
|
|
public String login(String username, String password) {
|
|
String token = null;
|
|
String token = null;
|
|
@@ -209,6 +238,7 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
|
UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());
|
|
UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());
|
|
SecurityContextHolder.getContext().setAuthentication(authentication);
|
|
SecurityContextHolder.getContext().setAuthentication(authentication);
|
|
token = jwtTokenUtil.generateToken(userDetails);
|
|
token = jwtTokenUtil.generateToken(userDetails);
|
|
|
|
+ memberCacheService.setToken(token,username);
|
|
} catch (AuthenticationException e) {
|
|
} catch (AuthenticationException e) {
|
|
LOGGER.warn("登录异常:{}", e.getMessage());
|
|
LOGGER.warn("登录异常:{}", e.getMessage());
|
|
}
|
|
}
|
|
@@ -231,6 +261,7 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
|
UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());
|
|
UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());
|
|
SecurityContextHolder.getContext().setAuthentication(authentication);
|
|
SecurityContextHolder.getContext().setAuthentication(authentication);
|
|
token = jwtTokenUtil.generateToken(userDetails);
|
|
token = jwtTokenUtil.generateToken(userDetails);
|
|
|
|
+ memberCacheService.setToken(token,userDetails.getUsername());
|
|
} catch (AuthenticationException e) {
|
|
} catch (AuthenticationException e) {
|
|
LOGGER.warn("登录异常:{}", e.getMessage());
|
|
LOGGER.warn("登录异常:{}", e.getMessage());
|
|
}
|
|
}
|
|
@@ -242,6 +273,12 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
|
return jwtTokenUtil.refreshHeadToken(token);
|
|
return jwtTokenUtil.refreshHeadToken(token);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public Long getMemberId() {
|
|
|
|
+ UmsMember member = getCurrentMember();
|
|
|
|
+ return member.getId();
|
|
|
|
+ }
|
|
|
|
+
|
|
//对输入的验证码进行校验
|
|
//对输入的验证码进行校验
|
|
private boolean verifyAuthCode(String authCode, String telephone) {
|
|
private boolean verifyAuthCode(String authCode, String telephone) {
|
|
if (StringUtils.isEmpty(authCode)) {
|
|
if (StringUtils.isEmpty(authCode)) {
|