From 1bf57dbbb7025facb8a3e3c2074e82af6f13b24f Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 28 Apr 2022 15:13:59 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java |  241 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 234 insertions(+), 7 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 486b316..5b4e315 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,19 +2,21 @@
 
 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.MoneyFlowTypeEnum;
+import cc.mrbird.febs.common.exception.FebsException;
+import cc.mrbird.febs.common.utils.MallUtils;
 import cc.mrbird.febs.mall.dto.*;
-import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
-import cc.mrbird.febs.mall.entity.MallMember;
-import cc.mrbird.febs.mall.entity.MallMoneyFlow;
-import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
-import cc.mrbird.febs.mall.mapper.MallMemberMapper;
-import cc.mrbird.febs.mall.mapper.MallMemberPaymentMapper;
-import cc.mrbird.febs.mall.mapper.MallMoneyFlowMapper;
+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.IAdminMallMemberService;
 import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
 import cc.mrbird.febs.mall.vo.*;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.crypto.SecureUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -25,6 +27,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -34,9 +37,12 @@
 @Slf4j
 @Service
 @RequiredArgsConstructor
+@Transactional
 public class AdminMallMemberServiceImpl extends ServiceImpl<MallMemberMapper, MallMember> implements IAdminMallMemberService {
 
     private final MallMemberMapper mallMemberMapper;
+
+    private final MallMemberWalletMapper mallMemberWalletMapper;
 
     private final MallMoneyFlowMapper mallMoneyFlowMapper;
 
@@ -45,6 +51,10 @@
     private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
 
     private final IApiMallMemberWalletService iApiMallMemberWalletService;
+
+    private final AppVersionMapper appVersionMapper;
+
+    private final MallNewsInfoMapper mallNewsInfoMapper;
 
     @Override
     public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) {
@@ -219,7 +229,224 @@
         mallMember = mallMemberMapper.selectById(memberId);
         Page<AdminAgentMemberVo> page = new Page<>(request.getPageNum(), request.getPageSize());
         IPage<AdminAgentMemberVo> adminAgentMemberVos = this.baseMapper.getAgentChildInPage(page, mallMember);
+        List<AdminAgentMemberVo> records = adminAgentMemberVos.getRecords();
+        if(CollUtil.isNotEmpty(records)){
+            for(AdminAgentMemberVo agentMemberVo : records){
+                String inviteId = agentMemberVo.getInviteId();
+                BigDecimal amount = mallMemberMapper.getAgentTeamAmountByInviteId(inviteId);
+                agentMemberVo.setAmount(amount);
+            }
+        }
         return adminAgentMemberVos;
     }
 
+    @Override
+    public IPage<AdminRankAwardVo> getRankAwardList(RankAwardDto rankAwardDto, QueryRequest request) {
+        Page<AdminRankAwardVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+        IPage<AdminRankAwardVo> adminRankAwardVos = this.baseMapper.getRankAwardListInPage(page, rankAwardDto);
+        return adminRankAwardVos;
+    }
+
+    @Override
+    public AdminRankAwardUpdateInfoVo getRankAwardUpdateInfoById(long id) {
+        AdminRankAwardUpdateInfoVo adminRankAwardUpdateInfoVo = dataDictionaryCustomMapper.getRankAwardUpdateInfoById(id);
+        return adminRankAwardUpdateInfoVo;
+    }
+
+    @Override
+    public FebsResponse rankAwardUpdate(RankAwardUpdateDto rankAwardUpdateDto) {
+        DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(rankAwardUpdateDto.getId());
+        dataDictionaryCustom.setValue(rankAwardUpdateDto.getValue());
+        dataDictionaryCustom.setDescription(rankAwardUpdateDto.getDescription());
+        dataDictionaryCustomMapper.updateById(dataDictionaryCustom);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public IPage<AppVersion> getAppVersionList(AppVersion appVersion, QueryRequest request) {
+        Page<AppVersion> page = new Page<>(request.getPageNum(), request.getPageSize());
+        IPage<AppVersion> appVersions = this.baseMapper.getAppVersionListInPage(page, appVersion);
+        return appVersions;
+    }
+
+    @Override
+    public FebsResponse delCategary(Long id) {
+        AppVersion appVersion = appVersionMapper.selectById(id);
+        if(ObjectUtil.isEmpty(appVersion)){
+            return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
+        }
+        appVersionMapper.deleteById(id);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public FebsResponse addAppVersion(AppVersion appVersion) {
+        appVersion.setCreatetime(new Date());
+        appVersionMapper.insert(appVersion);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public AppVersion getAppVersionInfoById(long id) {
+        return appVersionMapper.selectById(id);
+    }
+
+    @Override
+    public FebsResponse updateAppVersion(AppVersion appVersion) {
+        AppVersion appVersionBefore = appVersionMapper.selectById(appVersion.getId());
+        if(ObjectUtil.isEmpty(appVersionBefore)){
+            return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
+        }
+        appVersion.setCreatetime(new Date());
+        appVersionMapper.updateById(appVersion);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public FebsResponse activateAccount(Long id) {
+        MallMember mallMember = mallMemberMapper.selectById(id);
+        if(ObjectUtil.isEmpty(mallMember)){
+            return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
+        }
+        String level = mallMember.getLevel();
+        if(StrUtil.isEmpty(level) || !AgentLevelEnum.ZERO_LEVEL.name().equals(mallMember.getLevel())){
+            return new FebsResponse().fail().message("该用户无法激活");
+        }
+        mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name());
+        mallMemberMapper.updateById(mallMember);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public MallNewsInfo getNewsInfoById(long id) {
+        return mallNewsInfoMapper.selectById(id);
+    }
+
+    @Override
+    public IPage<AdminMallNewsInfoVo> getNewInfoList(MallNewsInfo mallNewsInfo, QueryRequest request) {
+        Page<AdminMallNewsInfoVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+        IPage<AdminMallNewsInfoVo> adminMallNewsInfoVos = mallNewsInfoMapper.getNewInfoListInPage(page, mallNewsInfo);
+        return adminMallNewsInfoVos;
+    }
+
+    @Override
+    public FebsResponse addNewsInfo(MallNewsInfoDto mallNewsInfoDto) {
+        Integer type = mallNewsInfoDto.getType();
+        if(type == 2){
+            Long goodsId = mallNewsInfoDto.getGoodsId()==null?0L:mallNewsInfoDto.getGoodsId();
+            if(goodsId == 0L){
+                return new FebsResponse().fail().message("请选择跳转的产品");
+            }
+        }
+        MallNewsInfo mallNewsInfo = new MallNewsInfo();
+        mallNewsInfo.setTitle(mallNewsInfoDto.getTitle());
+        mallNewsInfo.setContent(mallNewsInfoDto.getContent());
+        mallNewsInfo.setType(mallNewsInfoDto.getType());
+        if(mallNewsInfoDto.getType() == 2){
+            mallNewsInfo.setTargetId(mallNewsInfoDto.getGoodsId());
+        }
+        mallNewsInfoMapper.insert(mallNewsInfo);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public FebsResponse delNewsInfo(Long id) {
+        MallNewsInfo mallNewsInfo = mallNewsInfoMapper.selectById(id);
+        if(ObjectUtil.isEmpty(mallNewsInfo)){
+            return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
+        }
+        mallNewsInfoMapper.deleteById(id);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public FebsResponse updateNewsInfo(MallNewsInfoDto mallNewsInfoDto) {
+        MallNewsInfo mallNewsInfoBefore = mallNewsInfoMapper.selectById(mallNewsInfoDto.getId());
+        if(ObjectUtil.isEmpty(mallNewsInfoBefore)){
+            return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
+        }
+        Integer type = mallNewsInfoDto.getType();
+        if(type == 2){
+            Long goodsId = mallNewsInfoDto.getGoodsId()==null?0L:mallNewsInfoDto.getGoodsId();
+            if(goodsId == 0L){
+                return new FebsResponse().fail().message("请选择跳转的产品");
+            }
+        }
+        MallNewsInfo mallNewsInfo = new MallNewsInfo();
+        mallNewsInfo.setTitle(mallNewsInfoDto.getTitle());
+        mallNewsInfo.setContent(mallNewsInfoDto.getContent());
+        mallNewsInfo.setType(mallNewsInfoDto.getType());
+        if(mallNewsInfoDto.getType() == 2){
+            mallNewsInfo.setTargetId(mallNewsInfoDto.getGoodsId());
+        }
+        mallNewsInfoMapper.insert(mallNewsInfo);
+        mallNewsInfoMapper.deleteById(mallNewsInfoDto.getId());
+        return new FebsResponse().success();
+    }
+
+    @Override
+    @Transactional
+    public FebsResponse updateSystemPay(MallSystemPayDto mallSystemPayDto) {
+        Long memberId = mallSystemPayDto.getId();
+        MallMember mallMember = mallMemberMapper.selectById(memberId);
+        if(ObjectUtil.isEmpty(mallMember)){
+            return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
+        }
+
+        BigDecimal bigDecimal = mallSystemPayDto.getAddBalance();
+        if(bigDecimal.compareTo(BigDecimal.ZERO) <= 0){
+            return new FebsResponse().fail().message("拨付数目需要大于0");
+        }
+
+        MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
+        mallMemberWallet.setBalance(mallMemberWallet.getBalance().add(bigDecimal));
+        mallMemberWalletMapper.updateBalanceWithId(mallMemberWallet);
+
+        MallMoneyFlow flow = new MallMoneyFlow();
+        flow.setMemberId(memberId);
+        flow.setAmount(bigDecimal);
+//        flow.setType(MoneyFlowTypeEnum.SYSTEM_PAY.getValue());
+        flow.setOrderNo("SYS"+MallUtils.getOrderNum());
+        flow.setStatus(2);
+        mallMoneyFlowMapper.insert(flow);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public AdminAgentLevelSetInfoVo getAgentLevelSetInfoByMemberId(long id) {
+        AdminAgentLevelSetInfoVo adminAgentLevelSetInfoVo = mallMemberMapper.getAgentLevelSetInfoByMemberId(id);
+        return adminAgentLevelSetInfoVo;
+    }
+
+    @Override
+    public FebsResponse agentLevelSetUpdate(AgentLevelSetUpdateDto agentLevelSetUpdateDto) {
+        Long memberId = agentLevelSetUpdateDto.getId();
+        MallMember mallMember = mallMemberMapper.selectById(memberId);
+        if(ObjectUtil.isEmpty(mallMember)){
+            return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
+        }
+        mallMember.setLevel(agentLevelSetUpdateDto.getLevelCode());
+        mallMemberMapper.updateById(mallMember);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public FebsResponse resetPwd(Long id) {
+        MallMember mallMember = this.baseMapper.selectById(id);
+        if (mallMember == null) {
+            throw new FebsException("用户不存在");
+        }
+
+        String pwd = SecureUtil.md5("a123456");
+        mallMember.setPassword(pwd);
+        this.baseMapper.updateById(mallMember);
+        return new FebsResponse().success().message("重置成功");
+    }
+
+    @Override
+    public IPage<MallDataVo> getMallDataList(MallMember mallMember, QueryRequest request) {
+        Page<MallDataVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+        IPage<MallDataVo> mallDataVos = this.baseMapper.getMallDataListInPage(page, mallMember);
+        return mallDataVos;
+    }
 }

--
Gitblit v1.9.1