From 580fe843a333628795d619c5744a8353c44eb8ed Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Thu, 13 Feb 2025 11:31:53 +0800
Subject: [PATCH] feat(mall): 实现充值金额处理和唯一标识生成

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminRunVipServiceImpl.java |   49 +++++++++++++++++++++++++++++++++++++------------
 1 files changed, 37 insertions(+), 12 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 54cff7b..10ba165 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
@@ -5,18 +5,13 @@
 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 cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -26,7 +21,6 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -41,10 +35,21 @@
     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,12 +89,18 @@
         mallChargeMapper.updateById(mallCharge);
 
         if(mallCharge.getState() == YesOrNoEnum.YES.getValue()){
-            agentProducer.sendBuyVipSuccessMsg(mallCharge.getId());
+            if(StrUtil.isNotEmpty(mallCharge.getVipCode())){
+                agentProducer.sendBuyVipSuccessMsg(mallCharge.getId());
+            }else{
+                agentProducer.sendChargeSuccessMsg(mallCharge.getId());
+            }
         }
+
         return new FebsResponse().success().message("操作成功");
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public FebsResponse sellAgree(Integer state, Long id) {
         MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id);
         if(ObjectUtil.isEmpty(mallMemberWithdraw)){
@@ -111,8 +122,7 @@
         mallMoneyFlow.setStatus(mallMemberWithdraw.getStatus());
         mallMoneyFlowMapper.updateById(mallMoneyFlow);
         if(mallMemberWithdraw.getStatus() == YesOrNoEnum.NO.getValue()){
-            BigDecimal add = mallMemberWithdraw.getAmount().add(mallMemberWithdraw.getAmountFee());
-            walletService.addBalance(add, mallMemberWithdraw.getMemberId());
+            walletService.addCommission(mallMemberWithdraw.getWithdrawTimes(), mallMemberWithdraw.getMemberId());
         }
         return new FebsResponse().success().message("操作成功");
     }
@@ -138,4 +148,19 @@
 
         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