From deaf2b0b4ada3689e235754b61c9c34133c00157 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 27 Apr 2022 16:48:37 +0800
Subject: [PATCH] add member center some interface
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 83 +++++++++++++++++++++++++++++++++++++----
1 files changed, 75 insertions(+), 8 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index 0c0a8de..2631bd7 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -14,6 +14,7 @@
import cc.mrbird.febs.mall.service.ICommonService;
import cc.mrbird.febs.mall.vo.MallMemberVo;
import cc.mrbird.febs.mall.vo.MoneyFlowVo;
+import cc.mrbird.febs.mall.vo.RankListVo;
import cc.mrbird.febs.mall.vo.TeamListVo;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
@@ -33,6 +34,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
+import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -64,7 +66,7 @@
public FebsResponse register(RegisterDto registerDto) {
MallMember mallMember = this.baseMapper.selectInfoByAccount(registerDto.getAccount());
if (mallMember != null) {
- throw new FebsException("该手机号/邮箱已被占用");
+ throw new FebsException("该账号已被占用");
}
String account = registerDto.getAccount();
@@ -167,9 +169,7 @@
redisUtils.set(redisKey, token, 360000);
Map<String, Object> authInfo = new HashMap<>();
authInfo.put("token", token);
- if ("dev".equals(active)) {
- authInfo.put("rasToken", generateAsaToken(token));
- }
+ authInfo.put("rasToken", generateAsaToken(token));
return new FebsResponse().success().data(authInfo);
}
@@ -231,6 +231,9 @@
}
MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(mallMemberVo.getId());
mallMemberVo.setBalance(wallet.getBalance());
+ mallMemberVo.setScore(wallet.getScore());
+ mallMemberVo.setPrizeScore(wallet.getPrizeScore());
+ mallMemberVo.setTotalCost(mallOrderInfoMapper.selectTotalAmount(id));
return new FebsResponse().success().data(mallMemberVo);
}
@@ -255,7 +258,8 @@
@Override
public FebsResponse setTradePwd(ForgetPwdDto forgetPwdDto) {
- MallMember mallMember = this.baseMapper.selectInfoByAccount(forgetPwdDto.getAccount());
+ MallMember memberId = LoginUserUtil.getLoginUser();
+ MallMember mallMember = this.baseMapper.selectById(memberId);
if (mallMember == null) {
throw new FebsException("账号不存在");
}
@@ -347,6 +351,11 @@
Long memberId = LoginUserUtil.getLoginUser().getId();
MallMember loginMember = this.baseMapper.selectById(memberId);
+
+ if (loginMember.getPhone().equals(transferDto.getAccount()) || loginMember.getInviteId().equals(transferDto.getAccount())) {
+ throw new FebsException("不能给自己转账");
+ }
+
if (StrUtil.isBlank(loginMember.getTradePassword())) {
throw new FebsException("未设置支付密码");
}
@@ -379,9 +388,20 @@
throw new FebsException("最小提现金额为100");
}
- MallMemberPayment payment = mallMemberPaymentMapper.selectByMemberId(memberId);
- if (payment == null) {
- throw new FebsException("未设置收款方式");
+// MallMemberPayment payment = mallMemberPaymentMapper.selectByMemberId(memberId);
+// if (payment == null) {
+// throw new FebsException("未设置收款方式");
+// }
+
+ BigDecimal profit = mallMoneyFlowMapper.selectProfitByDateAndMemberId(memberId);
+ MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
+ if (profit != null) {
+ // 可提现
+ BigDecimal canMoney = wallet.getBalance().subtract(profit);
+
+ if(withdrawalDto.getAmount().compareTo(canMoney) > 0) {
+ throw new FebsException("提现金额不足");
+ }
}
walletService.reduceBalance(withdrawalDto.getAmount(), memberId);
@@ -422,4 +442,51 @@
member.setBindPhone(accountAndCodeDto.getAccount());
this.baseMapper.updateById(member);
}
+
+ @Override
+ public BigDecimal canMoney() {
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
+ BigDecimal profit = mallMoneyFlowMapper.selectProfitByDateAndMemberId(memberId);
+
+ BigDecimal canMoney = wallet.getBalance();
+ if (profit != null) {
+ if(canMoney.compareTo(BigDecimal.ZERO) > 0) {
+ canMoney = canMoney.subtract(profit);
+ }
+ }
+ return canMoney;
+ }
+
+ @Override
+ public List<MallMember> findRankList(RankListDto rankListDto) {
+ IPage<MallMember> page = new Page<>(rankListDto.getPageNum(), rankListDto.getPageSize());
+
+ MallMember member = new MallMember();
+ member.setQuery("2");
+ member.setCreatedTime(new Date());
+ IPage<MallMember> list = this.baseMapper.selectRankListInPage(page, member);
+
+ List<MallMember> records = list.getRecords();
+ if (CollUtil.isNotEmpty(records)) {
+ BigDecimal amount = records.get(records.size() - 1).getAmount();
+ page.setSize(999);
+ member.setAmount(amount);
+
+ IPage<MallMember> amountList = this.baseMapper.selectRankListInPage(page, member);
+ if (CollUtil.isNotEmpty(amountList.getRecords())) {
+ Map<Long, Object> map = new HashMap<>();
+ for (MallMember record : records) {
+ map.put(record.getId(), record);
+ }
+
+ for (MallMember record : amountList.getRecords()) {
+ if (map.get(record.getId()) == null) {
+ records.add(record);
+ }
+ }
+ }
+ }
+ return records;
+ }
}
--
Gitblit v1.9.1