gao
2020-05-28 cc9d558c8cda42d53be7b4545d2f33db26edf777
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -15,10 +15,14 @@
import com.xcong.excoin.modules.member.dao.*;
import com.xcong.excoin.modules.member.entity.*;
import com.xcong.excoin.modules.member.parameter.dto.MemberAuthenticationDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberDelPaymethodDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberForgetPwdDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberPaymethodDto;
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.parameter.vo.MemberPaymethodDetailListVo;
import com.xcong.excoin.modules.member.parameter.vo.MemberPaymethodDetailVo;
import com.xcong.excoin.modules.member.service.MemberService;
import com.xcong.excoin.utils.MessageSourceUtils;
import com.xcong.excoin.utils.RedisUtils;
@@ -29,6 +33,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -64,6 +69,9 @@
    
    @Autowired
    RedisUtils redisUtils;
    @Resource
    MemberPaymentMethodDao memberPaymentMethodDao;
    @Transactional()
    @Override
@@ -328,6 +336,7 @@
    }
   @Override
   @Transactional
   public Result memberUpdateTradePwd(@Valid MemberUpdateTradePwdDto memberUpdateTradePwdDto) {
      //获取用户ID
      Long memberId = LoginUserUtils.getAppLoginUser().getId();
@@ -354,6 +363,7 @@
    }
   @Override
   @Transactional
   public Result memberLogout() {
      //获取用户ID
      Long memberId = LoginUserUtils.getAppLoginUser().getId();
@@ -374,4 +384,119 @@
         return Result.ok(MessageSourceUtils.getString("member_service_0071"));
    }
   @Override
   @Transactional
   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_0015"));
      }
      if(type == 1) {
         redisUtils.del("SMS_" + phone);
      }else {
         redisUtils.del("EMAIL_" + email);
      }
        return Result.ok(MessageSourceUtils.getString("member_service_0068"));
    }
   @Override
   @Transactional
   public Result memberAddPaymethod(@Valid MemberPaymethodDto memberPaymethodDto) {
      //获取用户ID
      Long memberId = LoginUserUtils.getAppLoginUser().getId();
      MemberEntity member = memberDao.selectById(memberId);
      if(!MemberEntity.CERTIFY_STATUS_Y.equals(member.getCertifyStatus())) {
         return Result.fail(MessageSourceUtils.getString("member_service_0077"));
      }
      String account = memberPaymethodDto.getAccount();
      String bank = memberPaymethodDto.getBank();
      String name = memberPaymethodDto.getName();
      String paymentQrcode = memberPaymethodDto.getPaymentQrcode();
      String paymentType = memberPaymethodDto.getPaymentType();
      String subBank = memberPaymethodDto.getSubBank();
      String isDefualt = memberPaymethodDto.getIsDefualt();
      MemberPaymentMethodEntity memberPaymentMethodEntity = new MemberPaymentMethodEntity();
      memberPaymentMethodEntity.setMemberId(memberId);
      memberPaymentMethodEntity.setAccount(account);
      memberPaymentMethodEntity.setBank(bank);
      memberPaymentMethodEntity.setName(name);
      memberPaymentMethodEntity.setPaymentQrcode(paymentQrcode);
      memberPaymentMethodEntity.setPaymentType(paymentType);
      memberPaymentMethodEntity.setSubBank(subBank);
      memberPaymentMethodEntity.setIsDefualt(isDefualt);
      memberPaymentMethodDao.insert(memberPaymentMethodEntity);
      return Result.ok(MessageSourceUtils.getString("member_service_0024"));
    }
   @Override
   @Transactional
   public Result memberDelPaymethod(@Valid MemberDelPaymethodDto memberDelPaymethodDto) {
      //获取用户ID
      Long memberId = LoginUserUtils.getAppLoginUser().getId();
      Long id = memberDelPaymethodDto.getId();
      Map<String,Object> columnMap = new HashMap<>();
      columnMap.put("id", id);
      columnMap.put("member_id", memberId);
      memberPaymentMethodDao.deleteByMap(columnMap);
      return Result.ok("success");
   }
   @Override
   public Result memberPaymethodDetail(long id) {
      //获取用户ID
      Long memberId = LoginUserUtils.getAppLoginUser().getId();
      MemberPaymentMethodEntity memberPaymentMethod = memberPaymentMethodDao.selectById(id);
      MemberPaymethodDetailVo memberPaymethodDetailVo = new MemberPaymethodDetailVo();
      memberPaymethodDetailVo.setAccount(memberPaymentMethod.getAccount());
      memberPaymethodDetailVo.setBank(memberPaymentMethod.getBank());
      memberPaymethodDetailVo.setMemberId(memberId);
      memberPaymethodDetailVo.setName(memberPaymentMethod.getName());
      memberPaymethodDetailVo.setPaymentQrcode(memberPaymentMethod.getPaymentQrcode());
      memberPaymethodDetailVo.setPaymentType(memberPaymentMethod.getPaymentType());
      memberPaymethodDetailVo.setSubBank(memberPaymentMethod.getSubBank());
      return Result.ok(memberPaymethodDetailVo);
   }
   @Override
   public Result memberPaymethodDetailList() {
      //获取用户ID
      Long memberId = LoginUserUtils.getAppLoginUser().getId();
      Map<String,Object> columnMap = new HashMap<>();
      columnMap.put("member_id", memberId);
      List<MemberPaymentMethodEntity> selectByMap = memberPaymentMethodDao.selectByMap(columnMap);
      List<MemberPaymethodDetailVo> arrayList = new ArrayList<>();
      if(CollUtil.isNotEmpty(selectByMap)) {
         for(MemberPaymentMethodEntity memberPaymentMethodEntity : selectByMap) {
            MemberPaymethodDetailVo memberPaymethodDetailVo = new MemberPaymethodDetailVo();
            memberPaymethodDetailVo.setAccount(memberPaymentMethodEntity.getAccount());
            memberPaymethodDetailVo.setBank(memberPaymentMethodEntity.getBank());
            memberPaymethodDetailVo.setMemberId(memberId);
            memberPaymethodDetailVo.setName(memberPaymentMethodEntity.getName());
            memberPaymethodDetailVo.setPaymentQrcode(memberPaymentMethodEntity.getPaymentQrcode());
            memberPaymethodDetailVo.setPaymentType(memberPaymentMethodEntity.getPaymentType());
            memberPaymethodDetailVo.setSubBank(memberPaymentMethodEntity.getSubBank());
            arrayList.add(memberPaymethodDetailVo);
         }
      }
      MemberPaymethodDetailListVo memberPaymethodDetailListVo = new MemberPaymethodDetailListVo();
      memberPaymethodDetailListVo.setMemberPaymethodDetailVo(arrayList);
      return Result.ok(memberPaymethodDetailListVo);
   }
}