From adee5d271a70cbcb9ab45cec00795c9a7b34f6bf Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Thu, 25 Jul 2024 10:47:17 +0800
Subject: [PATCH] 后台
---
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 505 +++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 465 insertions(+), 40 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
index e97394b..c66338d 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -2,21 +2,24 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
-import cc.mrbird.febs.common.enumerates.AgentLevelEnum;
-import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
-import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
+import cc.mrbird.febs.common.enumerates.*;
import cc.mrbird.febs.common.exception.FebsException;
+import cc.mrbird.febs.common.utils.AppContants;
import cc.mrbird.febs.common.utils.LoginUserUtil;
import cc.mrbird.febs.common.utils.MallUtils;
+import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.entity.MallNewsInfo;
import cc.mrbird.febs.mall.mapper.*;
+import cc.mrbird.febs.mall.service.AsyncService;
import cc.mrbird.febs.mall.service.IAdminMallMemberService;
import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
import cc.mrbird.febs.mall.service.IMallMoneyFlowService;
import cc.mrbird.febs.mall.vo.*;
+import cc.mrbird.febs.pay.model.NBYHResponse;
import cc.mrbird.febs.pay.model.SinglePayDto;
+import cc.mrbird.febs.pay.service.NBYHService;
import cc.mrbird.febs.pay.service.UnipayService;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
@@ -30,12 +33,12 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.xmlbeans.impl.store.Query;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -53,6 +56,7 @@
private final MallMemberWalletMapper mallMemberWalletMapper;
private final MallMoneyFlowMapper mallMoneyFlowMapper;
+ private final IMallMoneyFlowService mallMemberService;
private final MallMemberPaymentMapper mallMemberPaymentMapper;
@@ -69,6 +73,11 @@
private final IMallMoneyFlowService mallMoneyFlowService;
private final UnipayService unipayService;
private final MallMemberBankMapper mallMemberBankMapper;
+ private final MallScoreRecordMapper mallScoreRecordMapper;
+ private final MallScoreAchieveReleaseMapper mallScoreAchieveReleaseMapper;
+ private final NBYHService nbyhService;
+ private final MallMemberAmountMapper mallMemberAmountMapper;
+ private final RedisUtils redisUtils;
@Override
public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) {
@@ -121,6 +130,10 @@
// throw new FebsException("团队存在线下服务中心,账号为【"+phoneList.toString()+"】");
// }
mallMember.setStoreMaster(value);
+ }else if (type == 3){
+ mallMember.setCreater(value);
+ } else if (type == 4){
+ mallMember.setPartner(value);
} else {
throw new FebsException("参数错误");
}
@@ -169,26 +182,29 @@
Long wtihdrawTypeId = mallMemberWithdraw.getWtihdrawTypeId();
MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(wtihdrawTypeId);
- /**
- * 调用汇聚代付
- */
- SinglePayDto singlePayDto = new SinglePayDto();
- singlePayDto.setMerchantOrderNo(mallMemberWithdraw.getWithdrawNo());
- singlePayDto.setReceiverAccountNoEncBankNo(mallMemberBank.getBankNo());
- singlePayDto.setReceiverAccountNoEncName(mallMemberBank.getName());
- singlePayDto.setReceiverAccountType("201");
- BigDecimal paidAmount = mallMemberWithdraw.getAmount().subtract(mallMemberWithdraw.getAmountFee()).setScale(2, BigDecimal.ROUND_DOWN);
- singlePayDto.setPaidAmount(paidAmount);
- singlePayDto.setCurrency("201");
- singlePayDto.setIsChecked("202");
- singlePayDto.setPaidDesc("用户提现");
- singlePayDto.setPaidUse("202");
- String singlePayRep = unipayService.singlePay(singlePayDto);
- if(!mallMemberWithdraw.getWithdrawNo().equals(singlePayRep)){
- return new FebsResponse().fail().message("提现失败,请稍后查看错误信息一览");
+ String bankName = mallMemberBank.getBankName();
+ NBYHResponse nbyhResponse = new NBYHResponse();
+ if("宁波银行".equals(bankName)){
+ nbyhResponse = nbyhService.tradeSinge(mallMemberWithdraw.getId());
+ }else{
+ nbyhResponse = nbyhService.tradeSingeOuterTransfer(mallMemberWithdraw.getId());
}
+ if(nbyhResponse.isFlag()){
+ mallMemberWithdraw.setStatus(2);
+ mallMemberWithdrawMapper.updateById(mallMemberWithdraw);
- return new FebsResponse().success();
+ QueryWrapper<MallMoneyFlow> flowQueryWrapper = new QueryWrapper<>();
+ flowQueryWrapper.eq("order_no",mallMemberWithdraw.getWithdrawNo());
+ flowQueryWrapper.eq("type",MoneyFlowTypeEnum.WITHDRAWAL.getValue());
+ MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(flowQueryWrapper);
+ if(ObjectUtil.isNotEmpty(mallMoneyFlow)){
+ mallMoneyFlow.setStatus(2);
+ mallMoneyFlowMapper.updateById(mallMoneyFlow);
+ }
+ return new FebsResponse().success().message(nbyhResponse.getMsg());
+ }else{
+ return new FebsResponse().fail().message(nbyhResponse.getMsg());
+ }
}
@Override
@@ -211,9 +227,59 @@
MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(objectQueryWrapper);
mallMoneyFlow.setStatus(3);
mallMoneyFlowMapper.updateById(mallMoneyFlow);
+ if(AppContants.MEMBER_WITHDRAW_NORMAL.equals(mallMemberWithdraw.getRemark())){
+ //用户佣金增加对应的余额
+ iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"balance");
+ mallMemberService.addMoneyFlow(mallMemberWithdraw.getMemberId(),
+ mallMemberWithdraw.getAmount(),
+ MoneyFlowTypeEnum.WITHDRAWAL.getValue(),
+ mallMemberWithdraw.getWithdrawNo(),
+ null,
+ null,
+ mallMemberWithdraw.getMemberId(),
+ 2,
+ FlowTypeEnum.BALANCE.getValue(),
+ 1);
+ }
+ if(AppContants.MEMBER_WITHDRAW_VOUCHER.equals(mallMemberWithdraw.getRemark())){
+ iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"balance");
- //用户佣金增加对应的余额
- iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"balance");
+ mallMemberService.addMoneyFlow(mallMemberWithdraw.getMemberId(),
+ mallMemberWithdraw.getAmount(),
+ MoneyFlowTypeEnum.WITHDRAWAL.getValue(),
+ mallMemberWithdraw.getWithdrawNo(),
+ null,
+ null,
+ mallMemberWithdraw.getMemberId(),
+ 2,
+ FlowTypeEnum.BALANCE.getValue(),
+ 1);
+ iApiMallMemberWalletService.add(mallMemberWithdraw.getAmountFee(),mallMemberWithdraw.getMemberId(),"voucherFireCnt");
+
+ mallMemberService.addMoneyFlow(mallMemberWithdraw.getMemberId(),
+ mallMemberWithdraw.getAmountFee(),
+ MoneyFlowTypeEnum.WITHDRAWAL.getValue(),
+ mallMemberWithdraw.getWithdrawNo(),
+ null,
+ null,
+ mallMemberWithdraw.getMemberId(),
+ 2,
+ FlowTypeEnum.COMMISSION.getValue(),
+ 1);
+ }
+ if(AppContants.MEMBER_WITHDRAW_VOUCHER_AMOUNT.equals(mallMemberWithdraw.getRemark())){
+ iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"voucherAmount");
+ mallMemberService.addMoneyFlow(mallMemberWithdraw.getMemberId(),
+ mallMemberWithdraw.getAmount(),
+ MoneyFlowTypeEnum.WITHDRAWAL.getValue(),
+ mallMemberWithdraw.getWithdrawNo(),
+ null,
+ null,
+ mallMemberWithdraw.getMemberId(),
+ 2,
+ FlowTypeEnum.VOUCHER_AMOUNT.getValue(),
+ 1);
+ }
return new FebsResponse().success();
}
@@ -229,23 +295,70 @@
}
@Override
- public IPage<AdminAgentVo> getAgentList(AgentDto agentDto, QueryRequest request) {
- Page<AdminAgentVo> page = new Page<>(request.getPageNum(), request.getPageSize());
- IPage<AdminAgentVo> adminAgentVos = this.baseMapper.getAgentListInPage(page, agentDto);
- List<AdminAgentVo> records = adminAgentVos.getRecords();
- if(CollUtil.isNotEmpty(records)){
- for(AdminAgentVo adminAgentVo : records){
- String inviteId = adminAgentVo.getInviteId();
- //直接下级
- List<MallMember> mallMembers = mallMemberMapper.selectChildAgentListByInviteId(inviteId);
- adminAgentVo.setMemberNum(CollUtil.isEmpty(mallMembers) ? 0 : mallMembers.size());
+ public FebsResponse getAgentList(AgentDto agentDto, QueryRequest request) {
+ List<AdminMallMemberVo> adminMallMemberVos = new ArrayList<>();
+ if(StrUtil.isEmpty(agentDto.getAccountLogin())){
+ return new FebsResponse().success().data(adminMallMemberVos);
+ }
+ String accountLogin = agentDto.getAccountLogin();
+ MallMember mallMember = this.baseMapper.selectByAccountLogin(accountLogin);
+ if(ObjectUtil.isEmpty(mallMember)){
+ return new FebsResponse().success().data(adminMallMemberVos);
+ }
- //获取总数
- List<MallMember> allMallMembers =mallMemberMapper.selectAllChildAgentListByInviteId(inviteId);
- adminAgentVo.setAllMemberNum(CollUtil.isEmpty(allMallMembers) ? 0 : allMallMembers.size());
+ ArrayList<Long> memberIdList = new ArrayList<>();
+ memberIdList.add(mallMember.getId());
+
+ QueryWrapper<MallMember> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("referrer_id",mallMember.getInviteId());
+ List<MallMember> mallMembers = this.baseMapper.selectList(objectQueryWrapper);
+ if(CollUtil.isNotEmpty(mallMembers)){
+ for(MallMember directMember : mallMembers){
+ //第一代
+ memberIdList.add(directMember.getId());
+
+ QueryWrapper<MallMember> directWrapper = new QueryWrapper<>();
+ directWrapper.eq("referrer_id",directMember.getInviteId());
+ List<MallMember> refMembers = this.baseMapper.selectList(directWrapper);
+ if(CollUtil.isNotEmpty(refMembers)){
+ for(MallMember refMember : refMembers){
+ //第二代
+ memberIdList.add(refMember.getId());
+ }
+ }
}
}
- return adminAgentVos;
+
+ for(Long id : memberIdList){
+ AdminMallMemberVo adminMallMemberVo = new AdminMallMemberVo();
+
+ MallMember member = this.baseMapper.selectById(id);
+ adminMallMemberVo.setAccountLogin(member.getAccountLogin());
+
+ BigDecimal chargeAmount = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_CHARGE.getValue());
+ adminMallMemberVo.setChargeAmount(chargeAmount);
+ BigDecimal withDrawAmount = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_WITHDRAW.getValue());
+ adminMallMemberVo.setWithDrawAmount(withDrawAmount);
+
+ MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(id);
+ adminMallMemberVo.setBalance(mallMemberWallet.getBalance());
+
+ BigDecimal amountBuy = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_PICK_NUM.getValue());
+ adminMallMemberVo.setAmountBuy(amountBuy);
+
+ BigDecimal playerPerk = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_PERK.getValue());
+ BigDecimal ownerPerk = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.OWNER_PERK.getValue());
+ BigDecimal add = amountBuy.add(playerPerk).add(ownerPerk);
+ adminMallMemberVo.setAmountPerk(add);
+
+ adminMallMemberVos.add(adminMallMemberVo);
+ }
+
+ Map<String, Object> data = new HashMap<>(2);
+ data.put("rows", adminMallMemberVos);
+ data.put("total", adminMallMemberVos.size());
+
+ return new FebsResponse().success().data(data);
}
@Override
@@ -410,7 +523,12 @@
} else {
iApiMallMemberWalletService.add(mallSystemPayDto.getAddBalance(), mallSystemPayDto.getId(), filedType);
}
- mallMoneyFlowService.addMoneyFlow(memberId, bigDecimal, MoneyFlowTypeEnum.SYSTEM.getValue(), null, type);
+ mallMoneyFlowService.addMoneyFlow(
+ memberId,
+ bigDecimal,
+ GameFlowTypeEnum.PLAYER_CHARGE.getValue(),
+ MallUtils.getOrderNum("CZ"),
+ GameFlowTypeEnum.PLAYER_CHARGE.getDescrition());
return new FebsResponse().success();
}
@@ -575,6 +693,7 @@
return this.baseMapper.selectInfoByInviteId(inviteId);
}
+ private final AsyncService asyncService;
@Override
@Transactional(rollbackFor = Exception.class)
public void modifyReferer(MallMember member) {
@@ -601,6 +720,15 @@
child.setReferrerIds(member.getInviteId() + "," + refererIds);
this.baseMapper.updateById(child);
}
+
+ log.info("异步更新用户信息");
+ List<MallMember> mallMembers = this.baseMapper.selectList(null);
+ if(CollUtil.isEmpty(mallMembers)){
+ return;
+ }
+ for(MallMember mallMemberDown : mallMembers){
+ asyncService.updateAllMemberReferrerId(mallMemberDown);
+ }
}
@Override
@@ -625,10 +753,307 @@
if(ObjectUtil.isNotEmpty(mallMemberBank)){
adminMallMemberPaymentVo.setBankNo(mallMemberBank.getBankNo());
adminMallMemberPaymentVo.setBankName(mallMemberBank.getName());
+ adminMallMemberPaymentVo.setDigitalNo(mallMemberBank.getDigitalNo());
+ adminMallMemberPaymentVo.setSubbranchName(mallMemberBank.getSubbranchName());
+ adminMallMemberPaymentVo.setBank(mallMemberBank.getBankName());
}
return adminMallMemberPaymentVo;
}
+ @Override
+ public FebsResponse updateVoucher(MallSystemPayDto mallSystemPayDto) {
+ Long memberId = mallSystemPayDto.getId();
+ MallMember mallMember = mallMemberMapper.selectById(memberId);
+ if(ObjectUtil.isEmpty(mallMember)){
+ return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
+ }
+
+ BigDecimal addBalance = mallSystemPayDto.getAddBalance();
+ if(addBalance.compareTo(BigDecimal.ZERO) <= 0){
+ return new FebsResponse().fail().message("请输入正确的数量");
+ }
+
+ DataDictionaryCustom totalCntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ GreenScoreEnum.TOTAL_CNT.getType(),
+ GreenScoreEnum.TOTAL_CNT.getCode()
+ );
+
+ BigDecimal totalCnt = new BigDecimal(totalCntDic.getValue());
+ //凭证占总数的10%
+ BigDecimal roleCnt = totalCnt.multiply(new BigDecimal(0.1));
+ //获取已卖出的凭证数量
+ BigDecimal roleCntSale = mallScoreRecordMapper.selectSumScoreCnt().setScale(2,BigDecimal.ROUND_DOWN);
+ roleCntSale = roleCntSale.add(addBalance);
+
+ if(roleCnt.compareTo(roleCntSale) < 0){
+ return new FebsResponse().fail().message("已拨付:"+roleCntSale);
+ }
+ /**
+ * 增加一条会员购买记录
+ * mall_score_record
+ */
+ MallScoreRecord mallScoreRecord = new MallScoreRecord();
+ mallScoreRecord.setMemberId(memberId);
+ mallScoreRecord.setScoreNo(MallUtils.getOrderNum("MSR"));
+ mallScoreRecord.setScoreCnt(addBalance);
+ mallScoreRecord.setSurplusCnt(addBalance);
+ mallScoreRecordMapper.insert(mallScoreRecord);
+ /**
+ * 减少剩余绿色凭证数量
+ */
+ DataDictionaryCustom surplusCntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ GreenScoreEnum.SURPLUS_CNT.getType(),
+ GreenScoreEnum.SURPLUS_CNT.getCode()
+ );
+ BigDecimal surplusCnt = new BigDecimal(surplusCntDic.getValue());
+ surplusCnt = surplusCnt.subtract(addBalance);
+ surplusCntDic.setValue(surplusCnt.toString());
+ dataDictionaryCustomMapper.updateById(surplusCntDic);
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public IPage<MallScoreRecord> gerRoleReleaseList(AdminRoleReleaseDto roleReleaseDto, QueryRequest request) {
+ Page<MallScoreRecord> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<MallScoreRecord> mallScoreRecordIPage = mallScoreRecordMapper.gerRoleReleaseListInPage(page, roleReleaseDto);
+ return mallScoreRecordIPage;
+ }
+
+ @Override
+ public IPage<MallMoneyFlow> roleReleaseChild(QueryRequest request, MallScoreRecord mallScoreRecord) {
+ Page<MallMoneyFlow> page = new Page<>(request.getPageNum(), request.getPageSize());
+ MallScoreRecord mallScore = mallScoreRecordMapper.selectById(mallScoreRecord.getId());
+ IPage<MallMoneyFlow> mallMoneyFlowIPage = mallScoreRecordMapper.gerRoleReleaseChildInPage(page, mallScore);
+ return mallMoneyFlowIPage;
+ }
+
+ @Override
+ public IPage<MallScoreAchieveRelease> gerAchieveReleaseList(AdminRoleReleaseDto roleReleaseDto, QueryRequest request) {
+ Page<MallScoreAchieveRelease> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<MallScoreAchieveRelease> MallScoreAchieveReleases = mallScoreAchieveReleaseMapper.gerAchieveReleaseListInPage(page, roleReleaseDto);
+ return MallScoreAchieveReleases;
+ }
+
+ @Override
+ public IPage<MallMoneyFlow> achieveReleaseChild(QueryRequest request, MallScoreAchieveRelease mallScoreAchieveRelease) {
+ Page<MallMoneyFlow> page = new Page<>(request.getPageNum(), request.getPageSize());
+ MallScoreAchieveRelease mallScoreAchieve = mallScoreAchieveReleaseMapper.selectById(mallScoreAchieveRelease.getId());
+ IPage<MallMoneyFlow> mallMoneyFlowIPage = mallScoreAchieveReleaseMapper.gerAchieveReleaseChildInPage(page, mallScoreAchieve);
+ return mallMoneyFlowIPage;
+ }
+
+ @Override
+ public FebsResponse insideWithType(Long id, int i) {
+ MallMember mallMember = mallMemberMapper.selectById(id);
+ if(ObjectUtil.isEmpty(mallMember)) {
+ return new FebsResponse().fail().message("会员信息不存在");
+ }
+ mallMember.setInsideWith(i);
+ mallMemberMapper.updateById(mallMember);
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public FebsResponse searchInfo(Long id) {
+ NBYHResponse nbyhResponse1 = nbyhService.transferResultInfoQuery(id);
+ return new FebsResponse().success().message(nbyhResponse1.getMsg());
+ }
+
+ @Override
+ public FebsResponse accountInfo(Long id) {
+ boolean b = nbyhService.accountInfoQuery(id);
+ if(!b){
+ return new FebsResponse().fail().message("银行账户余额不足");
+ }
+ return new FebsResponse().success().message("可以转账");
+ }
+
+ @Override
+ public FebsResponse outsideWithType(Long id, int i) {
+ MallMember mallMember = mallMemberMapper.selectById(id);
+ if(ObjectUtil.isEmpty(mallMember)) {
+ return new FebsResponse().fail().message("会员信息不存在");
+ }
+ mallMember.setOutsideWith(i);
+ mallMemberMapper.updateById(mallMember);
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public FebsResponse chargeAgreeWithType(MallMemberWithdraw mallMemberWithdrawInfo) {
+ MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(mallMemberWithdrawInfo.getId());
+
+ if(ObjectUtil.isEmpty(mallMemberWithdraw)){
+ return new FebsResponse().fail().message("系统繁忙,请刷新后重试");
+ }
+ if(1 != mallMemberWithdraw.getStatus()){
+ return new FebsResponse().fail().message("当前状态不是提现中");
+ }
+
+ Long wtihdrawTypeId = mallMemberWithdraw.getWtihdrawTypeId();
+ MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(wtihdrawTypeId);
+ if(ObjectUtil.isEmpty(mallMemberBank)){
+ return new FebsResponse().fail().message("提现银行卡已删除");
+ }
+ String agreeType = mallMemberWithdrawInfo.getAgreeType();
+ if("1".equals(agreeType)){
+ mallMemberWithdraw.setStatus(2);
+ mallMemberWithdrawMapper.updateById(mallMemberWithdraw);
+
+ QueryWrapper<MallMoneyFlow> flowQueryWrapper = new QueryWrapper<>();
+ flowQueryWrapper.eq("order_no",mallMemberWithdraw.getWithdrawNo());
+ flowQueryWrapper.eq("type",MoneyFlowTypeEnum.WITHDRAWAL.getValue());
+ MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(flowQueryWrapper);
+ if(ObjectUtil.isNotEmpty(mallMoneyFlow)){
+ mallMoneyFlow.setStatus(2);
+ mallMoneyFlowMapper.updateById(mallMoneyFlow);
+ }
+ return new FebsResponse().success();
+ }else{
+ String bankName = mallMemberBank.getBankName();
+ NBYHResponse nbyhResponse = new NBYHResponse();
+ if("宁波银行".equals(bankName)){
+ nbyhResponse = nbyhService.tradeSinge(mallMemberWithdraw.getId());
+ }else{
+ nbyhResponse = nbyhService.tradeSingeOuterTransfer(mallMemberWithdraw.getId());
+ }
+ if(nbyhResponse.isFlag()){
+ mallMemberWithdraw.setStatus(2);
+ mallMemberWithdrawMapper.updateById(mallMemberWithdraw);
+
+ QueryWrapper<MallMoneyFlow> flowQueryWrapper = new QueryWrapper<>();
+ flowQueryWrapper.eq("order_no",mallMemberWithdraw.getWithdrawNo());
+ flowQueryWrapper.eq("type",MoneyFlowTypeEnum.WITHDRAWAL.getValue());
+ MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(flowQueryWrapper);
+ if(ObjectUtil.isNotEmpty(mallMoneyFlow)){
+ mallMoneyFlow.setStatus(2);
+ mallMoneyFlowMapper.updateById(mallMoneyFlow);
+ }
+ return new FebsResponse().success().message(nbyhResponse.getMsg());
+ }else{
+ return new FebsResponse().fail().message(nbyhResponse.getMsg());
+ }
+ }
+
+ }
+
+ @Override
+ public IPage<AdminMallMemberVo> getFcmMallMemberList(MallMember mallMember, QueryRequest request) {
+ Page<AdminMallMemberVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<AdminMallMemberVo> adminMallMemberVoIPage = this.baseMapper.getFcmMallMemberList(page, mallMember);
+ List<AdminMallMemberVo> records = adminMallMemberVoIPage.getRecords();
+ if(CollUtil.isNotEmpty(records)){
+ for(AdminMallMemberVo adminMallMemberVo : records){
+ Long id = adminMallMemberVo.getId();
+ BigDecimal chargeAmount = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_CHARGE.getValue());
+ adminMallMemberVo.setChargeAmount(chargeAmount);
+ BigDecimal withDrawAmount = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_WITHDRAW.getValue());
+ adminMallMemberVo.setWithDrawAmount(withDrawAmount);
+ BigDecimal amountBuy = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_PICK_NUM.getValue());
+ adminMallMemberVo.setAmountBuy(amountBuy);
+ BigDecimal playerPerk = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_PERK.getValue());
+ BigDecimal ownerPerk = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.OWNER_PERK.getValue());
+ BigDecimal add = amountBuy.add(playerPerk).add(ownerPerk);
+ adminMallMemberVo.setAmountPerk(add);
+ }
+ }
+
+
+ return adminMallMemberVoIPage;
+ }
+
+ @Override
+ public FebsResponse frozenWith(Long id, int i) {
+
+ MallMember mallMember = mallMemberMapper.selectById(id);
+ if(ObjectUtil.isEmpty(mallMember)) {
+ return new FebsResponse().fail().message("会员信息不存在");
+ }
+ mallMember.setIsFrozen(i);
+ mallMemberMapper.updateById(mallMember);
+
+ String redisKey = AppContants.APP_LOGIN_PREFIX + mallMember.getId();
+ String existToken = redisUtils.getString(redisKey);
+ if (StrUtil.isNotBlank(existToken)) {
+ Object o = redisUtils.get(existToken);
+ if (ObjectUtil.isNotEmpty(o)) {
+ redisUtils.del(existToken);
+ }
+ }
+
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public FebsResponse updateSystemPayInfo(MallSystemPayDto mallSystemPayDto) {
+ Long amountId = mallSystemPayDto.getId();
+ MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectById(amountId);
+ MallMember mallMember = mallMemberMapper.selectById(mallMemberAmount.getMemberId());
+ if(ObjectUtil.isEmpty(mallMember)){
+ throw new FebsException("会员不存在");
+ }
+ BigDecimal bigDecimal = mallSystemPayDto.getAddBalance();
+ Integer type = mallSystemPayDto.getType();
+ Integer flowType = 0;
+ if (type == 1) {
+ BigDecimal add = mallMemberAmount.getTrendsNft().add(bigDecimal);
+ if(BigDecimal.ZERO.compareTo(add) > 0){
+ throw new FebsException("输入合适的值");
+ }
+ mallMemberAmount.setTrendsNft(add);
+ mallMemberAmountMapper.updateTrendsNftById(mallMemberAmount);
+ flowType = FlowTypeNewEnum.NFT.getValue();
+ } else if (type == 2) {
+ BigDecimal add = mallMemberAmount.getFcmCntAva().add(bigDecimal);
+ if(BigDecimal.ZERO.compareTo(add) > 0){
+ throw new FebsException("输入合适的值");
+ }
+ mallMemberAmount.setFcmCntAva(add);
+ mallMemberAmountMapper.updateFcmCntAvaById(mallMemberAmount);
+ flowType = FlowTypeNewEnum.FCM_COIN.getValue();
+ } else if (type == 3) {
+ BigDecimal add = mallMemberAmount.getTokenAva().add(bigDecimal);
+ if(BigDecimal.ZERO.compareTo(add) > 0){
+ throw new FebsException("输入合适的值");
+ }
+ mallMemberAmount.setTokenAva(add);
+ mallMemberAmountMapper.updateTokenAvaById(mallMemberAmount);
+ flowType = FlowTypeNewEnum.TOKEN.getValue();
+ } else {
+ throw new FebsException("参数错误");
+ }
+ String orderNo = MallUtils.getOrderNum("BF");
+ mallMoneyFlowService.addMoneyFlow(
+ mallMemberAmount.getMemberId(),
+ bigDecimal,
+ MoneyFlowTypeNewEnum.SYSTEM_PEY.getValue(),
+ orderNo,
+ mallMemberAmount.getMemberId(),
+ flowType,
+ MoneyFlowTypeNewEnum.SYSTEM_PEY.getDescrition());
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public MallMemberVo getMallmemberAmountByMemberId(long id) {
+ MallMemberVo mallMemberVo = mallMemberMapper.getMallmemberAmountByMemberId(id);
+ return mallMemberVo;
+ }
+
+ @Override
+ public IPage<MallMemberCharge> memberChargeList(MoneyChargeListDto moneyChargeListDto, QueryRequest request) {
+ Page<MallMemberCharge> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<MallMemberCharge> mallMemberChargeIPage = mallMemberMapper.getMemberChargeListInPage(page, moneyChargeListDto);
+ return mallMemberChargeIPage;
+ }
+
+ @Override
+ public IPage<MallMemberWithdraw> memberWithDrawList(MoneyChargeListDto moneyChargeListDto, QueryRequest request) {
+ Page<MallMemberWithdraw> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<MallMemberWithdraw> mallMemberWithdrawIPage = mallMemberMapper.getMemberWithDrawListInPage(page, moneyChargeListDto);
+ return mallMemberWithdrawIPage;
+ }
+
private String refererIds(String parentId) {
boolean flag = false;
if (StrUtil.isBlank(parentId)) {
--
Gitblit v1.9.1