From 8118b1f532510dd1c1dfb00f62ad851c9dc9d440 Mon Sep 17 00:00:00 2001
From: wzy <wzy19931122ai@163.com>
Date: Wed, 20 May 2020 22:56:01 +0800
Subject: [PATCH] modify regist and login interface

---
 src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java    |    9 +++++----
 src/main/resources/mapper/member/MemberDao.xml                                       |    2 +-
 src/main/java/com/xcong/excoin/common/system/controller/LoginController.java         |    7 ++-----
 src/main/java/com/xcong/excoin/common/LoginUserUtils.java                            |   10 +++++++++-
 src/main/java/com/xcong/excoin/modules/member/entity/MemberWalletContractEntity.java |    4 ----
 src/test/java/com/xcong/excoin/RSATest.java                                          |    7 +++++++
 src/main/java/com/xcong/excoin/common/system/dto/RegisterDto.java                    |    3 ++-
 src/main/java/com/xcong/excoin/configurations/security/WebSecurityConfig.java        |    1 +
 8 files changed, 27 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/common/LoginUserUtils.java b/src/main/java/com/xcong/excoin/common/LoginUserUtils.java
index 7840a12..dbdd9d2 100644
--- a/src/main/java/com/xcong/excoin/common/LoginUserUtils.java
+++ b/src/main/java/com/xcong/excoin/common/LoginUserUtils.java
@@ -1,6 +1,7 @@
 package com.xcong.excoin.common;
 
 import com.xcong.excoin.modules.member.entity.MemberEntity;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.security.core.context.SecurityContextHolder;
 
 /**
@@ -9,9 +10,16 @@
  * @author wzy
  * @date 2020-05-14
  **/
+@Slf4j
 public class LoginUserUtils {
 
+    private static final String ANON = "anonymousUser";
+
     public static MemberEntity getAppLoginUser() {
-        return (MemberEntity) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
+        if (SecurityContextHolder.getContext().getAuthentication().getPrincipal().equals(ANON)) {
+            return null;
+        } else {
+            return (MemberEntity) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
+        }
     }
 }
diff --git a/src/main/java/com/xcong/excoin/common/system/controller/LoginController.java b/src/main/java/com/xcong/excoin/common/system/controller/LoginController.java
index c90ce97..a5e363c 100644
--- a/src/main/java/com/xcong/excoin/common/system/controller/LoginController.java
+++ b/src/main/java/com/xcong/excoin/common/system/controller/LoginController.java
@@ -1,5 +1,6 @@
 package com.xcong.excoin.common.system.controller;
 
+import cn.hutool.core.codec.Base64;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.crypto.SecureUtil;
 import cn.hutool.crypto.asymmetric.KeyType;
@@ -60,12 +61,8 @@
     @ApiOperation(value = "登陆接口", notes = "登陆接口")
     @PostMapping("/login")
     public Result login(@RequestBody @Validated LoginDto loginDto) {
-        // 使用md5加密前端传来的密码
-        Sign sign = SecureUtil.sign(SignAlgorithm.MD5withRSA);
-        byte[] pwdByte = sign.sign(loginDto.getPassword().getBytes());
-
         // 将账号密码交给spring security验证,并调用userServiceDetails
-        UsernamePasswordAuthenticationToken authToken = new UsernamePasswordAuthenticationToken(loginDto.getUsername(), loginDto.getPassword());
+        UsernamePasswordAuthenticationToken authToken = new UsernamePasswordAuthenticationToken(loginDto.getUsername(), SecureUtil.md5(loginDto.getPassword()));
         Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authToken);
 
         // 获取当前验证过后的用户
diff --git a/src/main/java/com/xcong/excoin/common/system/dto/RegisterDto.java b/src/main/java/com/xcong/excoin/common/system/dto/RegisterDto.java
index 2f0e405..f8bfbc4 100644
--- a/src/main/java/com/xcong/excoin/common/system/dto/RegisterDto.java
+++ b/src/main/java/com/xcong/excoin/common/system/dto/RegisterDto.java
@@ -6,6 +6,7 @@
 import org.hibernate.validator.constraints.Length;
 
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 
 /**
  * 注册用户接收类
@@ -26,7 +27,7 @@
     private String password;
 
     @ApiModelProperty(value = "账号类型", notes = "1-手机 2-邮箱", example = "1")
-    @NotBlank(message = "账号类型不能为空")
+    @NotNull(message = "账号类型不能为空")
     private Integer type;
 
     @ApiModelProperty(value = "验证码", example = "123456")
diff --git a/src/main/java/com/xcong/excoin/configurations/security/WebSecurityConfig.java b/src/main/java/com/xcong/excoin/configurations/security/WebSecurityConfig.java
index 868cb65..3489e2c 100644
--- a/src/main/java/com/xcong/excoin/configurations/security/WebSecurityConfig.java
+++ b/src/main/java/com/xcong/excoin/configurations/security/WebSecurityConfig.java
@@ -39,6 +39,7 @@
                 .authorizeRequests()
                 .antMatchers(HttpMethod.OPTIONS, "/**").permitAll()
                 .antMatchers("/login").permitAll()
+                .antMatchers("/register").permitAll()
                 .antMatchers("/swagger**/**").permitAll()
                 .antMatchers("/webjars/**").permitAll()
                 .antMatchers("/v2/**").permitAll()
diff --git a/src/main/java/com/xcong/excoin/modules/member/entity/MemberWalletContractEntity.java b/src/main/java/com/xcong/excoin/modules/member/entity/MemberWalletContractEntity.java
index 533425d..b0ca556 100644
--- a/src/main/java/com/xcong/excoin/modules/member/entity/MemberWalletContractEntity.java
+++ b/src/main/java/com/xcong/excoin/modules/member/entity/MemberWalletContractEntity.java
@@ -23,10 +23,6 @@
 
     private BigDecimal borrowedFund;
 
-    private BigDecimal earlyBalance;
-
-    private int blockNumber;
-
     private String walletCode;
 
     private String walletAddress;
diff --git a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
index b9008e1..cf19f1b 100644
--- a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -1,5 +1,6 @@
 package com.xcong.excoin.modules.member.service.impl;
 
+import cn.hutool.core.codec.Base64;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.crypto.SecureUtil;
 import cn.hutool.crypto.asymmetric.Sign;
@@ -14,6 +15,7 @@
 import com.xcong.excoin.modules.member.entity.*;
 import com.xcong.excoin.modules.member.service.MemberService;
 import com.xcong.excoin.utils.ShareCodeUtil;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -23,6 +25,7 @@
  * @author wzy
  * @date 2020-05-18
  **/
+@Slf4j
 @Service
 public class MemberServiceImpl extends ServiceImpl<MemberDao, MemberEntity> implements MemberService {
 
@@ -46,14 +49,12 @@
     public Result register(RegisterDto registerDto) {
         // 查询是否存在该账号用户
         MemberEntity member = memberDao.selectMemberInfoByAccount(registerDto.getAccount());
-        if (member == null) {
+        if (member != null) {
             return Result.fail("账号已存在");
         }
 
         member = new MemberEntity();
-        Sign sign = SecureUtil.sign(SignAlgorithm.MD5withRSA);
-        byte[] signByte = sign.sign(registerDto.getPassword().getBytes());
-        member.setPassword(new String(signByte));
+        member.setPassword(SecureUtil.md5(registerDto.getPassword()));
 
         // 判断账号类型
         if (MemberEntity.ACCOUNT_TYPE_PHONE == registerDto.getType()) {
diff --git a/src/main/resources/mapper/member/MemberDao.xml b/src/main/resources/mapper/member/MemberDao.xml
index 22dbe67..a549429 100644
--- a/src/main/resources/mapper/member/MemberDao.xml
+++ b/src/main/resources/mapper/member/MemberDao.xml
@@ -7,6 +7,6 @@
     </select>
 
     <select id="selectMemberInfoByRefererId" resultType="com.xcong.excoin.modules.member.entity.MemberEntity">
-        select * from member where referer_id=#{refererId}
+        select * from member where invite_id=#{refererId}
     </select>
 </mapper>
\ No newline at end of file
diff --git a/src/test/java/com/xcong/excoin/RSATest.java b/src/test/java/com/xcong/excoin/RSATest.java
index 02dd114..4d4d3b6 100644
--- a/src/test/java/com/xcong/excoin/RSATest.java
+++ b/src/test/java/com/xcong/excoin/RSATest.java
@@ -7,6 +7,8 @@
 import cn.hutool.crypto.SecureUtil;
 import cn.hutool.crypto.asymmetric.KeyType;
 import cn.hutool.crypto.asymmetric.RSA;
+import cn.hutool.crypto.asymmetric.Sign;
+import cn.hutool.crypto.asymmetric.SignAlgorithm;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
@@ -94,4 +96,9 @@
         byte[] decrypt = rsa.decrypt(aByte, KeyType.PrivateKey);
     }
 
+    @Test
+    public void md5Test() {
+        String md5str = SecureUtil.md5("123456");
+        log.info("{}", md5str);
+    }
 }

--
Gitblit v1.9.1