From 288e2a2ca2e7c2f7158507174a42f8a417380d23 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Tue, 17 Dec 2024 18:03:35 +0800 Subject: [PATCH] feat(mall): 实现 VIP购买功能 --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminRunVipServiceImpl.java | 79 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 79 insertions(+), 0 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 2dc37af..a5674b7 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 @@ -1,9 +1,21 @@ package cc.mrbird.febs.mall.service.impl; +import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; +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.service.IAdminRunVipService; +import cc.mrbird.febs.rabbit.producter.AgentProducer; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -19,6 +31,10 @@ 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; @Override public IPage<RunVip> runVipListInPage(RunVip runVip,QueryRequest request) { Page<RunVip> page = new Page<>(request.getPageNum(), request.getPageSize()); @@ -34,4 +50,67 @@ public void editVip(RunVip config) { this.baseMapper.updateById(config); } + + @Override + public IPage<MallCharge> buyList(MallCharge mallCharge, QueryRequest request) { + Page<MallCharge> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MallCharge> adminChargeListVoIPage = mallChargeMapper.selectAdminChargeListInPage(page, mallCharge); + return adminChargeListVoIPage; + } + + @Override + public FebsResponse chargeAgree(Integer state, Long id) { + MallCharge mallCharge = mallChargeMapper.selectById(id); + + if(ObjectUtil.isEmpty(mallCharge)){ + throw new FebsException("记录不存在"); + } + if(YesOrNoEnum.ING.getValue() != mallCharge.getState()){ + throw new FebsException("记录不是进行中状态"); + } + if(YesOrNoEnum.YES.getValue() == state){ + mallCharge.setState(YesOrNoEnum.YES.getValue()); + } + if(YesOrNoEnum.NO.getValue() == state){ + mallCharge.setState(YesOrNoEnum.NO.getValue()); + } + mallCharge.setRevision(mallCharge.getRevision()+1); + mallChargeMapper.updateById(mallCharge); + + if(mallCharge.getState() == YesOrNoEnum.YES.getValue()){ + agentProducer.sendBuyVipSuccessMsg(mallCharge.getId()); + } + return new FebsResponse().success().message("操作成功"); + } + + @Override + public FebsResponse sellAgree(Integer state, Long id) { + MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id); + if(ObjectUtil.isEmpty(mallMemberWithdraw)){ + throw new FebsException("记录不存在"); + } + if(YesOrNoEnum.ING.getValue() != mallMemberWithdraw.getStatus()){ + throw new FebsException("记录不是进行中状态"); + } + if(YesOrNoEnum.YES.getValue() == state){ + mallMemberWithdraw.setStatus(YesOrNoEnum.YES.getValue()); + } + if(YesOrNoEnum.NO.getValue() == state){ + mallMemberWithdraw.setStatus(YesOrNoEnum.NO.getValue()); + } + mallMemberWithdraw.setRevision(mallMemberWithdraw.getRevision()+1); + mallMemberWithdrawMapper.updateById(mallMemberWithdraw); + + MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(new LambdaQueryWrapper<MallMoneyFlow>().eq(MallMoneyFlow::getOrderNo, mallMemberWithdraw.getWithdrawNo())); + mallMoneyFlow.setStatus(mallMemberWithdraw.getStatus()); + mallMoneyFlowMapper.updateById(mallMoneyFlow); + return new FebsResponse().success().message("操作成功"); + } + + @Override + public IPage<MallMemberWithdraw> sellList(MallMemberWithdraw mallMemberWithdraw, QueryRequest request) { + Page<MallMemberWithdraw> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MallMemberWithdraw> adminChargeListVoIPage = mallChargeMapper.selectAdminWithdrawListInPage(page, mallMemberWithdraw); + return adminChargeListVoIPage; + } } -- Gitblit v1.9.1