From 041f8683651a19ebe041c239a3ca19822c53470c Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 28 Sep 2021 20:39:24 +0800
Subject: [PATCH] 20210928

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java |  164 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 159 insertions(+), 5 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 ba0fb10..bc930bc 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,17 +2,18 @@
 
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
-import cc.mrbird.febs.mall.dto.MoneyChargeListDto;
-import cc.mrbird.febs.mall.dto.MoneyFlowListDto;
+import cc.mrbird.febs.mall.dto.*;
+import cc.mrbird.febs.mall.entity.AppVersion;
+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.MallMemberMapper;
-import cc.mrbird.febs.mall.mapper.MallMemberPaymentMapper;
-import cc.mrbird.febs.mall.mapper.MallMoneyFlowMapper;
+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 com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -21,6 +22,10 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
 /**
  * @author wzy
  * @date 2021-09-16
@@ -28,6 +33,7 @@
 @Slf4j
 @Service
 @RequiredArgsConstructor
+@Transactional
 public class AdminMallMemberServiceImpl extends ServiceImpl<MallMemberMapper, MallMember> implements IAdminMallMemberService {
 
     private final MallMemberMapper mallMemberMapper;
@@ -36,7 +42,11 @@
 
     private final MallMemberPaymentMapper mallMemberPaymentMapper;
 
+    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
+
     private final IApiMallMemberWalletService iApiMallMemberWalletService;
+
+    private final AppVersionMapper appVersionMapper;
 
     @Override
     public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) {
@@ -140,4 +150,148 @@
         return adminMallMemberPaymentVo;
     }
 
+    @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());
+
+                //获取总数
+                List<MallMember> allMallMembers =mallMemberMapper.selectAllChildAgentListByInviteId(inviteId);
+                adminAgentVo.setAllMemberNum(CollUtil.isEmpty(allMallMembers) ? 0 : allMallMembers.size());
+            }
+        }
+        return adminAgentVos;
+    }
+
+    @Override
+    public IPage<AdminAgentLevelVo> getAgentLevelList(AgentLevelDto agentLevelDto, QueryRequest request) {
+        Page<AdminAgentLevelVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+        IPage<AdminAgentLevelVo> adminAgentVos = this.baseMapper.getAgentLevelListInPage(page, agentLevelDto);
+        return adminAgentVos;
+    }
+
+    @Override
+    public AdminAgentLevelUpdateInfoVo getAgentLevelUpdateInfoById(long id) {
+        AdminAgentLevelUpdateInfoVo adminAgentLevelUpdateInfoVo = new AdminAgentLevelUpdateInfoVo();
+        DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(id);
+        String value = dataDictionaryCustom.getValue();
+        //{"directIncome":36,"lastCnt":3,"orderCnt":500,"orderType":2,"teamIncome":6,"teamIncomeType":2}
+        JSONObject jsonObject = JSONObject.parseObject(value);
+        adminAgentLevelUpdateInfoVo.setDirectIncome(new BigDecimal((jsonObject.get("directIncome")==null?0:jsonObject.get("directIncome")).toString()));
+        adminAgentLevelUpdateInfoVo.setLastCnt(Integer.parseInt((jsonObject.get("lastCnt")==null?0:jsonObject.get("lastCnt")).toString()));
+        adminAgentLevelUpdateInfoVo.setOrderCnt(Integer.parseInt((jsonObject.get("orderCnt")==null?0:jsonObject.get("orderCnt")).toString()));
+        adminAgentLevelUpdateInfoVo.setOrderType(Integer.parseInt(jsonObject.get("orderType").toString()));
+        adminAgentLevelUpdateInfoVo.setTeamIncome(new BigDecimal((jsonObject.get("teamIncome")==null?0:jsonObject.get("teamIncome")).toString()));
+        adminAgentLevelUpdateInfoVo.setTeamIncomeType(Integer.parseInt(jsonObject.get("orderType").toString()));
+        adminAgentLevelUpdateInfoVo.setId(id);
+        return adminAgentLevelUpdateInfoVo;
+    }
+
+    @Override
+    public FebsResponse agentLevelUpdate(AgentLevelUpdateDto agentLevelUpdateDto) {
+        DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(agentLevelUpdateDto.getId());
+        AgentLevelUpdateDto agentLevelUpdateDtoJson = new AgentLevelUpdateDto();
+        agentLevelUpdateDtoJson.setDirectIncome(agentLevelUpdateDto.getDirectIncome());
+        agentLevelUpdateDtoJson.setLastCnt(agentLevelUpdateDto.getLastCnt());
+        agentLevelUpdateDtoJson.setOrderCnt(agentLevelUpdateDto.getOrderCnt());
+        agentLevelUpdateDtoJson.setTeamIncome(agentLevelUpdateDto.getTeamIncome());
+        agentLevelUpdateDtoJson.setOrderType(agentLevelUpdateDto.getOrderType());
+        agentLevelUpdateDtoJson.setTeamIncomeType(agentLevelUpdateDto.getTeamIncomeType());
+        JSONObject jsonObject = (JSONObject)JSONObject.toJSON(agentLevelUpdateDtoJson);
+        dataDictionaryCustom.setValue(jsonObject.toString());
+        dataDictionaryCustomMapper.updateById(dataDictionaryCustom);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public List<AdminAgentLevelOptionTreeVo> getAgentLevelOption() {
+        return dataDictionaryCustomMapper.getAgentLevelOption();
+    }
+
+    @Override
+    public IPage<AdminAgentMemberVo> agentChild(QueryRequest request, MallMember mallMember) {
+        Long memberId = mallMember.getId();
+        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();
+    }
+
 }

--
Gitblit v1.9.1