From bd4d6ee6e9e303e6fdbf05fede63dc3cd50263c3 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Mon, 30 Dec 2024 17:33:30 +0800
Subject: [PATCH] feat(mall): 添加节点业绩累计功能

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminRunVipServiceImpl.java |   62 ++++++++++++++++++++++++++----
 1 files changed, 53 insertions(+), 9 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminRunVipServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminRunVipServiceImpl.java
index a5674b7..8cbd603 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminRunVipServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminRunVipServiceImpl.java
@@ -2,17 +2,13 @@
 
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
+import cc.mrbird.febs.common.enumerates.RunVipMoneyFlowTypeEnum;
 import cc.mrbird.febs.common.enumerates.YesOrNoEnum;
 import cc.mrbird.febs.common.exception.FebsException;
-import cc.mrbird.febs.mall.entity.MallCharge;
-import cc.mrbird.febs.mall.entity.MallMemberWithdraw;
-import cc.mrbird.febs.mall.entity.MallMoneyFlow;
-import cc.mrbird.febs.mall.entity.RunVip;
-import cc.mrbird.febs.mall.mapper.MallChargeMapper;
-import cc.mrbird.febs.mall.mapper.MallMemberWithdrawMapper;
-import cc.mrbird.febs.mall.mapper.MallMoneyFlowMapper;
-import cc.mrbird.febs.mall.mapper.RunVipMapper;
+import cc.mrbird.febs.mall.entity.*;
+import cc.mrbird.febs.mall.mapper.*;
 import cc.mrbird.febs.mall.service.IAdminRunVipService;
+import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
 import cc.mrbird.febs.rabbit.producter.AgentProducer;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -24,21 +20,35 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
+import java.util.List;
+
 @Slf4j
 @Service
 @RequiredArgsConstructor
 @Transactional
 public class AdminRunVipServiceImpl extends ServiceImpl<RunVipMapper, RunVip> implements IAdminRunVipService {
 
-    private final RunVipMapper runVipMapper;
     private final MallChargeMapper mallChargeMapper;
     private final MallMemberWithdrawMapper mallMemberWithdrawMapper;
     private final MallMoneyFlowMapper mallMoneyFlowMapper;
     private final AgentProducer agentProducer;
+    private final IApiMallMemberWalletService walletService;
+    private final RunNodeSetMapper runNodeSetMapper;
     @Override
     public IPage<RunVip> runVipListInPage(RunVip runVip,QueryRequest request) {
         Page<RunVip> page = new Page<>(request.getPageNum(), request.getPageSize());
         return this.baseMapper.selectRunVipListInPage(page);
+    }
+
+    @Override
+    public IPage<RunNodeSet> nodeListInPage(RunNodeSet runNodeSet, QueryRequest request) {
+        Page<RunNodeSet> page = new Page<>(request.getPageNum(), request.getPageSize());
+        return runNodeSetMapper.selectPage(
+                page,
+                new LambdaQueryWrapper<RunNodeSet>()
+                        .orderByAsc(RunNodeSet::getOrderNumber)
+        );
     }
 
     @Override
@@ -84,6 +94,7 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public FebsResponse sellAgree(Integer state, Long id) {
         MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id);
         if(ObjectUtil.isEmpty(mallMemberWithdraw)){
@@ -104,6 +115,9 @@
         MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(new LambdaQueryWrapper<MallMoneyFlow>().eq(MallMoneyFlow::getOrderNo, mallMemberWithdraw.getWithdrawNo()));
         mallMoneyFlow.setStatus(mallMemberWithdraw.getStatus());
         mallMoneyFlowMapper.updateById(mallMoneyFlow);
+        if(mallMemberWithdraw.getStatus() == YesOrNoEnum.NO.getValue()){
+            walletService.addBalance(mallMemberWithdraw.getWithdrawTimes(), mallMemberWithdraw.getMemberId());
+        }
         return new FebsResponse().success().message("操作成功");
     }
 
@@ -113,4 +127,34 @@
         IPage<MallMemberWithdraw> adminChargeListVoIPage = mallChargeMapper.selectAdminWithdrawListInPage(page, mallMemberWithdraw);
         return adminChargeListVoIPage;
     }
+
+    @Override
+    public List<MallMoneyFlow> allMoneyType() {
+        List<MallMoneyFlow> mallMoneyFlows = new ArrayList<>();
+        RunVipMoneyFlowTypeEnum[] values = RunVipMoneyFlowTypeEnum.values();
+        for (RunVipMoneyFlowTypeEnum value : values) {
+            MallMoneyFlow mallMoneyFlow = new MallMoneyFlow();
+            mallMoneyFlow.setType(value.getValue());
+            mallMoneyFlow.setDescription(value.getDescription());
+            mallMoneyFlow.setRemark(value.getTypeDec());
+            mallMoneyFlows.add(mallMoneyFlow);
+        }
+
+        return mallMoneyFlows;
+    }
+
+    @Override
+    public void addRunNodeSet(RunNodeSet config) {
+        runNodeSetMapper.insert(config);
+    }
+
+    @Override
+    public void editRunNodeSet(RunNodeSet config) {
+        runNodeSetMapper.updateById(config);
+    }
+
+    @Override
+    public void deleteNodeById(Long id) {
+        runNodeSetMapper.deleteById(id);
+    }
 }

--
Gitblit v1.9.1