xiaoyong931011
2020-05-28 7d4d43849aa80a6f36736a0deccc7e8d4fcd566f
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -4,7 +4,6 @@
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.crypto.digest.MD5;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xcong.excoin.common.LoginUserUtils;
@@ -17,6 +16,8 @@
import com.xcong.excoin.modules.member.entity.*;
import com.xcong.excoin.modules.member.parameter.dto.MemberAuthenticationDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberForgetPwdDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberUpdatePwdDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberUpdateTradePwdDto;
import com.xcong.excoin.modules.member.parameter.vo.MemberInfoVo;
import com.xcong.excoin.modules.member.service.MemberService;
import com.xcong.excoin.utils.MessageSourceUtils;
@@ -172,6 +173,7 @@
    }
   
   @Override
   @Transactional
   public Result memberForgetPwd(@Valid MemberForgetPwdDto memberForgetPwdDto) {
      
      int type = memberForgetPwdDto.getType();
@@ -204,6 +206,33 @@
         redisUtils.del("EMAIL_" + email);
      }
        return Result.ok(MessageSourceUtils.getString("member_service_0048"));
    }
   @Override
   @Transactional
   public Result memberUpdatePwd(@Valid MemberUpdatePwdDto memberUpdatePwdDto) {
      //获取用户ID
      Long memberId = LoginUserUtils.getAppLoginUser().getId();
      MemberEntity memberEntity = memberDao.selectById(memberId);
      String code = memberUpdatePwdDto.getCode();
      String password = memberUpdatePwdDto.getPassword();
      String phone = memberUpdatePwdDto.getPhone();
      String email = memberUpdatePwdDto.getEmail();
      int type = memberUpdatePwdDto.getType();
      boolean verificationCode = verificationCode(type, phone, code, email);
      if(verificationCode) {
         memberEntity.setPassword(SecureUtil.md5(password));
         memberDao.updateById(memberEntity);
      }else {
         return Result.fail(MessageSourceUtils.getString("member_service_0041"));
      }
      if(type == 1) {
         redisUtils.del("SMS_" + phone);
      }else {
         redisUtils.del("EMAIL_" + email);
      }
        return Result.ok(MessageSourceUtils.getString("member_service_0040"));
    }
   
   /**
@@ -298,4 +327,78 @@
        return Result.fail(MessageSourceUtils.getString("member_service_0063"));
    }
   @Override
   public Result memberUpdateTradePwd(@Valid MemberUpdateTradePwdDto memberUpdateTradePwdDto) {
      //获取用户ID
      Long memberId = LoginUserUtils.getAppLoginUser().getId();
      MemberEntity memberEntity = memberDao.selectById(memberId);
      String code = memberUpdateTradePwdDto.getCode();
      String password = memberUpdateTradePwdDto.getPassword();
      String phone = memberUpdateTradePwdDto.getPhone();
      String email = memberUpdateTradePwdDto.getEmail();
      int type = memberUpdateTradePwdDto.getType();
      boolean verificationCode = verificationCode(type, phone, code, email);
      if(verificationCode) {
         memberEntity.setTradePassword(SecureUtil.md5(password));
         memberDao.updateById(memberEntity);
      }else {
         return Result.fail(MessageSourceUtils.getString("member_service_0041"));
      }
      if(type == 1) {
         redisUtils.del("SMS_" + phone);
      }else {
         redisUtils.del("EMAIL_" + email);
      }
        return Result.ok(MessageSourceUtils.getString("member_service_0051"));
    }
   @Override
   public Result memberLogout() {
      //获取用户ID
      Long memberId = LoginUserUtils.getAppLoginUser().getId();
      MemberEntity memberEntity = memberDao.selectById(memberId);
         if (ObjectUtil.isEmpty(memberEntity)) {
            return Result.fail(MessageSourceUtils.getString("member_service_0003"));
         }
         String phone = memberEntity.getPhone();
         if(StrUtil.isEmpty(phone)) {
            redisUtils.del(memberEntity.getPhone());
         }
         String email = memberEntity.getEmail();
         if(StrUtil.isEmpty(email)) {
            redisUtils.del(memberEntity.getPhone());
         }
         return Result.ok(MessageSourceUtils.getString("member_service_0071"));
    }
   @Override
   public Result memberTradersPwd(@Valid MemberForgetPwdDto memberForgetPwdDto) {
      //获取用户ID
      Long memberId = LoginUserUtils.getAppLoginUser().getId();
      MemberEntity memberEntity = memberDao.selectById(memberId);
      String code = memberForgetPwdDto.getCode();
      String password = memberForgetPwdDto.getPassword();
      String phone = memberForgetPwdDto.getPhone();
      String email = memberForgetPwdDto.getEmail();
      int type = memberForgetPwdDto.getType();
      boolean verificationCode = verificationCode(type, phone, code, email);
      if(verificationCode) {
         memberEntity.setTradePassword(SecureUtil.md5(password));
         memberDao.updateById(memberEntity);
      }else {
         return Result.fail(MessageSourceUtils.getString("member_service_0041"));
      }
      if(type == 1) {
         redisUtils.del("SMS_" + phone);
      }else {
         redisUtils.del("EMAIL_" + email);
      }
        return Result.ok(MessageSourceUtils.getString("member_service_0051"));
    }
}