浏览代码

add:app用户与商城用户关联

liujunchi 3 年之前
父节点
当前提交
cc197466e2
共有 15 个文件被更改,包括 211 次插入288 次删除
  1. 3 5
      cooleshow-mall/mall-mbg/src/main/resources/config/mybatis/UmsMemberMapper.xml
  2. 6 1
      cooleshow-mall/mall-portal/pom.xml
  3. 5 1
      cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/MallPortalApplication.java
  4. 0 29
      cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/config/MallSecurityConfig.java
  5. 35 0
      cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/config/ResourceServerConfig.java
  6. 55 0
      cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/config/WebMvcConfig.java
  7. 1 0
      cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/controller/HomeController.java
  8. 0 94
      cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/controller/UmsMemberController.java
  9. 41 0
      cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/interceptor/MDCInterceptor.java
  10. 31 0
      cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/interceptor/OperationLogInterceptor.java
  11. 0 9
      cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/UmsMemberCacheService.java
  12. 0 26
      cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/UmsMemberService.java
  13. 2 2
      cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/HomeServiceImpl.java
  14. 0 15
      cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/UmsMemberCacheServiceImpl.java
  15. 32 106
      cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/UmsMemberServiceImpl.java

+ 3 - 5
cooleshow-mall/mall-mbg/src/main/resources/config/mybatis/UmsMemberMapper.xml

@@ -116,16 +116,14 @@
     </if>
   </delete>
   <insert id="insert" parameterType="com.yonge.cooleshow.mbg.model.UmsMember">
-    <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
-      SELECT LAST_INSERT_ID()
-    </selectKey>
-    insert into ums_member (member_level_id, username, password, 
+
+    insert into ums_member (id,member_level_id, username, password,
       nickname, phone, status, 
       create_time, icon, gender, 
       birthday, city, job, personalized_signature, 
       source_type, integration, growth, 
       luckey_count, history_integration)
-    values (#{memberLevelId,jdbcType=BIGINT}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, 
+    values (#{id,jdbcType=BIGINT},#{memberLevelId,jdbcType=BIGINT}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR},
       #{nickname,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, 
       #{createTime,jdbcType=TIMESTAMP}, #{icon,jdbcType=VARCHAR}, #{gender,jdbcType=INTEGER}, 
       #{birthday,jdbcType=DATE}, #{city,jdbcType=VARCHAR}, #{job,jdbcType=VARCHAR}, #{personalizedSignature,jdbcType=VARCHAR}, 

+ 6 - 1
cooleshow-mall/mall-portal/pom.xml

@@ -36,8 +36,13 @@
             <artifactId>mall-common</artifactId>
         </dependency>
         <dependency>
+            <groupId>com.yonge.toolset</groupId>
+            <artifactId>audit-log</artifactId>
+        </dependency>
+
+        <dependency>
             <groupId>com.yonge.cooleshow</groupId>
-            <artifactId>mall-security</artifactId>
+            <artifactId>auth-api</artifactId>
         </dependency>
 <!--        <dependency>-->
 <!--            <groupId>com.yonge.cooleshow</groupId>-->

+ 5 - 1
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/MallPortalApplication.java

@@ -4,12 +4,16 @@ import com.spring4all.swagger.EnableSwagger2Doc;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
 import org.springframework.context.annotation.ComponentScan;
 
 @SpringBootApplication
 @MapperScan({"com.yonge.cooleshow.mbg.mapper", "com.yonge.cooleshow.portal.dao"})
-@ComponentScan(basePackages = {"com.yonge.cooleshow.portal","com.yonge.cooleshow.mbg", "com.yonge.cooleshow.mall.common", "com.yonge.cooleshow.common","com.macro.mall.security"})
+@ComponentScan(basePackages = {"com.yonge.cooleshow.portal","com.yonge.cooleshow.mbg", "com.yonge.cooleshow.mall.common", "com.yonge.cooleshow.common","com.yonge.toolset"})
 @EnableSwagger2Doc
+@EnableDiscoveryClient
+@EnableFeignClients("com.yonge.cooleshow")
 public class MallPortalApplication {
 
     public static void main(String[] args) {

+ 0 - 29
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/config/MallSecurityConfig.java

@@ -1,29 +0,0 @@
-package com.yonge.cooleshow.portal.config;
-
-import com.yonge.cooleshow.portal.service.UmsMemberService;
-import com.macro.mall.security.config.SecurityConfig;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
-import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-import org.springframework.security.core.userdetails.UserDetailsService;
-
-/**
- * mall-security模块相关配置
- * Created by macro on 2019/11/5.
- */
-@Configuration
-@EnableWebSecurity
-@EnableGlobalMethodSecurity(prePostEnabled = true)
-public class MallSecurityConfig extends SecurityConfig {
-
-    @Autowired
-    private UmsMemberService memberService;
-
-    @Bean
-    public UserDetailsService userDetailsService() {
-        //获取登录用户信息
-        return username -> memberService.loadUserByUsername(username);
-    }
-}

+ 35 - 0
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/config/ResourceServerConfig.java

@@ -0,0 +1,35 @@
+package com.yonge.cooleshow.portal.config;
+
+import com.yonge.cooleshow.common.security.BaseAccessDeniedHandler;
+import com.yonge.cooleshow.common.security.BaseAuthenticationEntryPoint;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
+import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
+import org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer;
+
+@Configuration
+@EnableResourceServer
+@EnableGlobalMethodSecurity(prePostEnabled = true)
+public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
+
+    @Autowired
+    private BaseAccessDeniedHandler baseAccessDeniedHandler;
+
+    @Autowired
+    private BaseAuthenticationEntryPoint baseAuthenticationEntryPoint;
+
+    @Override
+    public void configure(HttpSecurity http) throws Exception {
+        http.csrf().disable().exceptionHandling().accessDeniedHandler(baseAccessDeniedHandler).authenticationEntryPoint(baseAuthenticationEntryPoint).and()
+                .authorizeRequests().antMatchers("/wechat/*","/v2/api-docs", "/code/*").permitAll().anyRequest().permitAll().and().httpBasic();
+    }
+
+    @Override
+    public void configure(ResourceServerSecurityConfigurer resources) throws Exception {
+        resources.authenticationEntryPoint(baseAuthenticationEntryPoint).accessDeniedHandler(baseAccessDeniedHandler);
+    }
+
+}

+ 55 - 0
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/config/WebMvcConfig.java

@@ -0,0 +1,55 @@
+package com.yonge.cooleshow.portal.config;
+
+import com.yonge.cooleshow.common.config.EnumConverterFactory;
+import com.yonge.cooleshow.common.config.LocalFastJsonHttpMessageConverter;
+import com.yonge.cooleshow.portal.interceptor.MDCInterceptor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.format.FormatterRegistry;
+import org.springframework.http.MediaType;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Configuration
+public class WebMvcConfig implements WebMvcConfigurer {
+
+	@Autowired
+	private MDCInterceptor mdcInterceptor;
+
+	/**
+	 * 枚举类的转换器 addConverterFactory
+	 */
+	@Override
+	public void addFormatters(FormatterRegistry registry) {
+		registry.addConverterFactory(new EnumConverterFactory());
+	}
+
+	@Override
+	public void addInterceptors(InterceptorRegistry registry) {
+		// addPathPatterns 用于添加拦截规则, 这里假设拦截 /url 后面的全部链接
+		List<String> includePathPatterns = new ArrayList<String>();
+		includePathPatterns.add("/**");
+
+		// excludePathPatterns 用户排除拦截
+		List<String> excludePathPatterns = new ArrayList<String>();
+		excludePathPatterns.add("/login");
+
+		registry.addInterceptor(mdcInterceptor).addPathPatterns(includePathPatterns).excludePathPatterns(excludePathPatterns);
+
+//		registry.addInterceptor(operationLogInterceptor).addPathPatterns("/**").excludePathPatterns("/login");
+	}
+
+	@Bean
+	public HttpMessageConverters fastJsonHttpMessageConverters() {
+		LocalFastJsonHttpMessageConverter converter = new LocalFastJsonHttpMessageConverter();
+		List<MediaType> fastMediaTypes = new ArrayList<MediaType>();
+		fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
+		converter.setSupportedMediaTypes(fastMediaTypes);
+		return new HttpMessageConverters(converter);
+	}
+}

+ 1 - 0
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/controller/HomeController.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.portal.controller;
 
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.mall.common.api.CommonResult;
 import com.yonge.cooleshow.mbg.model.CmsSubject;
 import com.yonge.cooleshow.mbg.model.PmsProduct;

+ 0 - 94
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/controller/UmsMemberController.java

@@ -1,22 +1,7 @@
 package com.yonge.cooleshow.portal.controller;
 
-import com.yonge.cooleshow.mall.common.api.CommonResult;
-import com.yonge.cooleshow.mbg.model.UmsMember;
-import com.yonge.cooleshow.portal.service.UmsMemberService;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
-
-import javax.servlet.http.HttpServletRequest;
-import java.security.Principal;
-import java.util.HashMap;
-import java.util.Map;
 
 /**
  * 会员登录注册管理Controller
@@ -26,83 +11,4 @@ import java.util.Map;
 @Api(tags = "UmsMemberController", description = "会员登录注册管理")
 @RequestMapping("/sso")
 public class UmsMemberController {
-
-    @Value("${jwt.tokenHeader}")
-    private String tokenHeader;
-    @Value("${jwt.tokenHead}")
-    private String tokenHead;
-
-    @Autowired
-    private UmsMemberService memberService;
-
-    @ApiOperation("会员注册")
-    @RequestMapping(value = "/register", method = RequestMethod.POST)
-    @ResponseBody
-    public CommonResult register(@RequestParam String username,
-                                 @RequestParam String password,
-                                 @RequestParam String telephone,
-                                 @RequestParam String authCode) {
-        memberService.register(username, password, telephone, authCode);
-        return CommonResult.success(null,"注册成功");
-    }
-
-    @ApiOperation("会员登录")
-    @RequestMapping(value = "/login", method = RequestMethod.POST)
-    @ResponseBody
-    public CommonResult login(@RequestParam String username,
-                              @RequestParam String password) {
-        String token = memberService.login(username, password);
-        if (token == null) {
-            return CommonResult.validateFailed("用户名或密码错误");
-        }
-        Map<String, String> tokenMap = new HashMap<>();
-        tokenMap.put("token", token);
-        tokenMap.put("tokenHead", tokenHead);
-        return CommonResult.success(tokenMap);
-    }
-
-    @ApiOperation("获取会员信息")
-    @RequestMapping(value = "/info", method = RequestMethod.GET)
-    @ResponseBody
-    public CommonResult info(Principal principal) {
-        if(principal==null){
-            return CommonResult.unauthorized(null);
-        }
-        UmsMember member = memberService.getCurrentMember();
-        return CommonResult.success(member);
-    }
-
-    @ApiOperation("获取验证码")
-    @RequestMapping(value = "/getAuthCode", method = RequestMethod.GET)
-    @ResponseBody
-    public CommonResult getAuthCode(@RequestParam String telephone) {
-        String authCode = memberService.generateAuthCode(telephone);
-        return CommonResult.success(authCode,"获取验证码成功");
-    }
-
-    @ApiOperation("会员修改密码")
-    @RequestMapping(value = "/updatePassword", method = RequestMethod.POST)
-    @ResponseBody
-    public CommonResult updatePassword(@RequestParam String telephone,
-                                 @RequestParam String password,
-                                 @RequestParam String authCode) {
-        memberService.updatePassword(telephone,password,authCode);
-        return CommonResult.success(null,"密码修改成功");
-    }
-
-
-    @ApiOperation(value = "刷新token")
-    @RequestMapping(value = "/refreshToken", method = RequestMethod.GET)
-    @ResponseBody
-    public CommonResult refreshToken(HttpServletRequest request) {
-        String token = request.getHeader(tokenHeader);
-        String refreshToken = memberService.refreshToken(token);
-        if (refreshToken == null) {
-            return CommonResult.failed("token已经过期!");
-        }
-        Map<String, String> tokenMap = new HashMap<>();
-        tokenMap.put("token", refreshToken);
-        tokenMap.put("tokenHead", tokenHead);
-        return CommonResult.success(tokenMap);
-    }
 }

+ 41 - 0
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/interceptor/MDCInterceptor.java

@@ -0,0 +1,41 @@
+package com.yonge.cooleshow.portal.interceptor;
+
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.toolset.utils.web.WebUtil;
+import org.slf4j.MDC;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@Component
+public class MDCInterceptor extends HandlerInterceptorAdapter {
+
+	private static final String IP = "ip";
+
+	private static final String USERNAME = "username";
+	
+	@Autowired
+	@Lazy
+	private SysUserFeignService sysUserFeignService;
+
+	@Override
+	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		if (sysUser != null && sysUser.getId() != null) {
+			// 存储userId以及IP
+			MDC.put(USERNAME, sysUser.getUsername() + "@" + sysUser.getId());
+		}
+		MDC.put(IP, WebUtil.getRemoteIp(request));
+
+		return true;
+	}
+
+	@Override
+	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
+	}
+}

+ 31 - 0
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/interceptor/OperationLogInterceptor.java

@@ -0,0 +1,31 @@
+package com.yonge.cooleshow.portal.interceptor;
+
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.toolset.log.interceptor.AuditLogInterceptor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+@Component
+public class OperationLogInterceptor extends AuditLogInterceptor {
+
+	@Autowired
+	@Lazy
+	private SysUserFeignService sysUserFeignService;
+
+	@Override
+	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws ServletException, IOException {
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		if (sysUser != null && sysUser.getId() != null) {
+			setUsername(sysUser.getRealName(),sysUser.getId());
+		}
+		return true;
+	}
+
+}

+ 0 - 9
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/UmsMemberCacheService.java

@@ -22,13 +22,4 @@ public interface UmsMemberCacheService {
      */
     void setMember(UmsMember member);
 
-    /**
-     * 设置验证码
-     */
-    void setAuthCode(String telephone, String authCode);
-
-    /**
-     * 获取验证码
-     */
-    String getAuthCode(String telephone);
 }

+ 0 - 26
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/UmsMemberService.java

@@ -19,22 +19,6 @@ public interface UmsMemberService {
      */
     UmsMember getById(Long id);
 
-    /**
-     * 用户注册
-     */
-    @Transactional
-    void register(String username, String password, String telephone, String authCode);
-
-    /**
-     * 生成验证码
-     */
-    String generateAuthCode(String telephone);
-
-    /**
-     * 修改密码
-     */
-    @Transactional
-    void updatePassword(String telephone, String password, String authCode);
 
     /**
      * 获取当前登录会员
@@ -51,14 +35,4 @@ public interface UmsMemberService {
      * 获取用户信息
      */
     UserDetails loadUserByUsername(String username);
-
-    /**
-     * 登录后获取token
-     */
-    String login(String username, String password);
-
-    /**
-     * 刷新token
-     */
-    String refreshToken(String token);
 }

+ 2 - 2
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/HomeServiceImpl.java

@@ -85,7 +85,7 @@ public class HomeServiceImpl implements HomeService {
     }
 
     private  List<PmsProductAttributeCategory>  getHomeProductAttributeCategory() {
-        PageHelper.startPage(0, 4);
+        PageHelper.startPage(1, 4);
         PmsProductAttributeCategoryExample example = new PmsProductAttributeCategoryExample();
         example.setOrderByClause("id desc");
         List<PmsProductAttributeCategory> pmsProductCategories = productAttributeCategoryMapper.selectByExample(example);
@@ -97,7 +97,7 @@ public class HomeServiceImpl implements HomeService {
 
 
     private List<ProductCategorySmallVo> getHomeProductCategoryList() {
-        PageHelper.startPage(0, 4);
+        PageHelper.startPage(1, 4);
         PmsProductCategoryExample example = new PmsProductCategoryExample();
         example.setOrderByClause("sort desc");
         example.createCriteria().andParentIdEqualTo(0L)

+ 0 - 15
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/UmsMemberCacheServiceImpl.java

@@ -4,7 +4,6 @@ import com.yonge.cooleshow.mall.common.service.RedisService;
 import com.yonge.cooleshow.mbg.mapper.UmsMemberMapper;
 import com.yonge.cooleshow.mbg.model.UmsMember;
 import com.yonge.cooleshow.portal.service.UmsMemberCacheService;
-import com.macro.mall.security.annotation.CacheException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -50,18 +49,4 @@ public class UmsMemberCacheServiceImpl implements UmsMemberCacheService {
         String key = REDIS_DATABASE + ":" + REDIS_KEY_MEMBER + ":" + member.getUsername();
         redisService.set(key, member, REDIS_EXPIRE);
     }
-
-    @CacheException
-    @Override
-    public void setAuthCode(String telephone, String authCode) {
-        String key = REDIS_DATABASE + ":" + REDIS_KEY_AUTH_CODE + ":" + telephone;
-        redisService.set(key,authCode,REDIS_EXPIRE_AUTH_CODE);
-    }
-
-    @CacheException
-    @Override
-    public String getAuthCode(String telephone) {
-        String key = REDIS_DATABASE + ":" + REDIS_KEY_AUTH_CODE + ":" + telephone;
-        return (String) redisService.get(key);
-    }
 }

+ 32 - 106
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/UmsMemberServiceImpl.java

@@ -1,5 +1,8 @@
 package com.yonge.cooleshow.portal.service.impl;
 
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.common.exception.BizException;
 import com.yonge.cooleshow.mall.common.exception.Asserts;
 import com.yonge.cooleshow.mbg.mapper.UmsMemberLevelMapper;
 import com.yonge.cooleshow.mbg.mapper.UmsMemberMapper;
@@ -10,7 +13,6 @@ import com.yonge.cooleshow.mbg.model.UmsMemberLevelExample;
 import com.yonge.cooleshow.portal.domain.MemberDetails;
 import com.yonge.cooleshow.portal.service.UmsMemberCacheService;
 import com.yonge.cooleshow.portal.service.UmsMemberService;
-import com.macro.mall.security.util.JwtTokenUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -39,20 +41,15 @@ import java.util.Random;
 @Service
 public class UmsMemberServiceImpl implements UmsMemberService {
     private static final Logger LOGGER = LoggerFactory.getLogger(UmsMemberServiceImpl.class);
-    @Autowired
-    private PasswordEncoder passwordEncoder;
-    @Autowired
-    private JwtTokenUtil jwtTokenUtil;
+
     @Autowired
     private UmsMemberMapper memberMapper;
     @Autowired
     private UmsMemberLevelMapper memberLevelMapper;
     @Autowired
     private UmsMemberCacheService memberCacheService;
-    @Value("${redis.key.authCode}")
-    private String REDIS_KEY_PREFIX_AUTH_CODE;
-    @Value("${redis.expire.authCode}")
-    private Long AUTH_CODE_EXPIRE_SECONDS;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
 
     @Override
     public UmsMember getByUsername(String username) {
@@ -75,72 +72,34 @@ public class UmsMemberServiceImpl implements UmsMemberService {
     }
 
     @Override
-    public void register(String username, String password, String telephone, String authCode) {
-        //验证验证码
-        if(!verifyAuthCode(authCode,telephone)){
-            Asserts.fail("验证码错误");
-        }
-        //查询是否已有该用户
-        UmsMemberExample example = new UmsMemberExample();
-        example.createCriteria().andUsernameEqualTo(username);
-        example.or(example.createCriteria().andPhoneEqualTo(telephone));
-        List<UmsMember> umsMembers = memberMapper.selectByExample(example);
-        if (!CollectionUtils.isEmpty(umsMembers)) {
-            Asserts.fail("该用户已经存在");
-        }
-        //没有该用户进行添加操作
-        UmsMember umsMember = new UmsMember();
-        umsMember.setUsername(username);
-        umsMember.setPhone(telephone);
-        umsMember.setPassword(passwordEncoder.encode(password));
-        umsMember.setCreateTime(new Date());
-        umsMember.setStatus(1);
-        //获取默认会员等级并设置
-        UmsMemberLevelExample levelExample = new UmsMemberLevelExample();
-        levelExample.createCriteria().andDefaultStatusEqualTo(1);
-        List<UmsMemberLevel> memberLevelList = memberLevelMapper.selectByExample(levelExample);
-        if (!CollectionUtils.isEmpty(memberLevelList)) {
-            umsMember.setMemberLevelId(memberLevelList.get(0).getId());
-        }
-        memberMapper.insert(umsMember);
-        umsMember.setPassword(null);
-    }
-
-    @Override
-    public String generateAuthCode(String telephone) {
-        StringBuilder sb = new StringBuilder();
-        Random random = new Random();
-        for(int i=0;i<6;i++){
-            sb.append(random.nextInt(10));
-        }
-        memberCacheService.setAuthCode(telephone,sb.toString());
-        return sb.toString();
-    }
-
-    @Override
-    public void updatePassword(String telephone, String password, String authCode) {
-        UmsMemberExample example = new UmsMemberExample();
-        example.createCriteria().andPhoneEqualTo(telephone);
-        List<UmsMember> memberList = memberMapper.selectByExample(example);
-        if(CollectionUtils.isEmpty(memberList)){
-            Asserts.fail("该账号不存在");
+    public UmsMember getCurrentMember() {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null || sysUser.getId() == null) {
+            throw new BizException("用户信息获取失败");
         }
-        //验证验证码
-        if(!verifyAuthCode(authCode,telephone)){
-            Asserts.fail("验证码错误");
+        UmsMember umsMember = getById(sysUser.getId());
+        // 商城库用户不存在-> 创建
+        if (umsMember == null || umsMember.getId() == null) {
+            umsMember = new UmsMember();
+            umsMember.setId(sysUser.getId());
+            umsMember.setCreateTime(sysUser.getCreateTime());
+            umsMember.setUsername(sysUser.getUsername());
+            umsMember.setPassword(sysUser.getPassword());
+            umsMember.setPhone(sysUser.getPhone());
+            umsMember.setStatus(sysUser.getLockFlag());
+            umsMember.setIcon(sysUser.getAvatar());
+            umsMember.setGender(sysUser.getGender());
+            umsMember.setBirthday(sysUser.getBirthdate());
+            //获取默认会员等级并设置
+            UmsMemberLevelExample levelExample = new UmsMemberLevelExample();
+            levelExample.createCriteria().andDefaultStatusEqualTo(1);
+            List<UmsMemberLevel> memberLevelList = memberLevelMapper.selectByExample(levelExample);
+            if (!CollectionUtils.isEmpty(memberLevelList)) {
+                umsMember.setMemberLevelId(memberLevelList.get(0).getId());
+            }
+            memberMapper.insert(umsMember);
         }
-        UmsMember umsMember = memberList.get(0);
-        umsMember.setPassword(passwordEncoder.encode(password));
-        memberMapper.updateByPrimaryKeySelective(umsMember);
-        memberCacheService.delMember(umsMember.getId());
-    }
-
-    @Override
-    public UmsMember getCurrentMember() {
-        SecurityContext ctx = SecurityContextHolder.getContext();
-        Authentication auth = ctx.getAuthentication();
-        MemberDetails memberDetails = (MemberDetails) auth.getPrincipal();
-        return memberDetails.getUmsMember();
+        return umsMember;
     }
 
     @Override
@@ -160,37 +119,4 @@ public class UmsMemberServiceImpl implements UmsMemberService {
         }
         throw new UsernameNotFoundException("用户名或密码错误");
     }
-
-    @Override
-    public String login(String username, String password) {
-        String token = null;
-        //密码需要客户端加密后传递
-        try {
-            UserDetails userDetails = loadUserByUsername(username);
-            if(!passwordEncoder.matches(password,userDetails.getPassword())){
-                throw new BadCredentialsException("密码不正确");
-            }
-            UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());
-            SecurityContextHolder.getContext().setAuthentication(authentication);
-            token = jwtTokenUtil.generateToken(userDetails);
-        } catch (AuthenticationException e) {
-            LOGGER.warn("登录异常:{}", e.getMessage());
-        }
-        return token;
-    }
-
-    @Override
-    public String refreshToken(String token) {
-        return jwtTokenUtil.refreshHeadToken(token);
-    }
-
-    //对输入的验证码进行校验
-    private boolean verifyAuthCode(String authCode, String telephone){
-        if(StringUtils.isEmpty(authCode)){
-            return false;
-        }
-        String realAuthCode = memberCacheService.getAuthCode(telephone);
-        return authCode.equals(realAuthCode);
-    }
-
 }