From 3d5f77b68bf28291c76306b274a230dd726838d2 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期二, 15 七月 2025 11:03:37 +0800 Subject: [PATCH] 111 --- server/services/src/main/java/com/doumee/service/business/impl/WithdrawalOrdersServiceImpl.java | 62 +++++++++++++++++++++++++++++++ 1 files changed, 62 insertions(+), 0 deletions(-) diff --git a/server/services/src/main/java/com/doumee/service/business/impl/WithdrawalOrdersServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/WithdrawalOrdersServiceImpl.java index 03b55af..6c9445e 100644 --- a/server/services/src/main/java/com/doumee/service/business/impl/WithdrawalOrdersServiceImpl.java +++ b/server/services/src/main/java/com/doumee/service/business/impl/WithdrawalOrdersServiceImpl.java @@ -1,10 +1,18 @@ package com.doumee.service.business.impl; +import com.doumee.core.constants.Constants; +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Utils; +import com.doumee.dao.business.MemberMapper; +import com.doumee.dao.business.MemberRevenueMapper; import com.doumee.dao.business.WithdrawalOrdersMapper; +import com.doumee.dao.business.model.Member; +import com.doumee.dao.business.model.MemberRevenue; import com.doumee.dao.business.model.WithdrawalOrders; +import com.doumee.dao.dto.WithdrawalDTO; import com.doumee.service.business.WithdrawalOrdersService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -12,9 +20,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import java.util.Date; import java.util.List; +import java.util.Objects; /** * 鎻愮幇鐢宠璁板綍Service瀹炵幇 @@ -26,6 +37,12 @@ @Autowired private WithdrawalOrdersMapper withdrawalOrdersMapper; + + @Autowired + private MemberMapper memberMapper; + + @Autowired + private MemberRevenueMapper memberRevenueMapper; @Override public Integer create(WithdrawalOrders withdrawalOrders) { @@ -146,4 +163,49 @@ QueryWrapper<WithdrawalOrders> wrapper = new QueryWrapper<>(withdrawalOrders); return withdrawalOrdersMapper.selectCount(wrapper); } + + + /************************************绉诲姩绔帴鍙�*******************************************/ + + /** + * 鎻愮幇鐢宠 + * @param withdrawalDTO + */ + + @Override + @Transactional(rollbackFor = {BusinessException.class,Exception.class}) + public void applyWithdrawal(WithdrawalDTO withdrawalDTO){ + if(Objects.isNull(withdrawalDTO) + || Objects.isNull(withdrawalDTO.getAmount())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + Member member = memberMapper.selectById(withdrawalDTO.getMember().getId()); + if(Objects.isNull(member)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛淇℃伅寮傚父,璇疯仈绯荤鐞嗗憳"); + } + if(member.getAmount() < withdrawalDTO.getAmount()){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鍙彁鐜颁綑棰濅笉瓒炽��"); + } + WithdrawalOrders withdrawalOrders = new WithdrawalOrders(); + withdrawalOrders.setCreateTime(new Date()); + withdrawalOrders.setMemberId(member.getId()); + withdrawalOrders.setAmount(withdrawalDTO.getAmount()); + withdrawalOrders.setStatus(Constants.ZERO); + withdrawalOrders.setType(Constants.ZERO); + + //TODO 鍙戣捣鎻愮幇鐢宠 + + + + //鏇存柊鐢ㄦ埛浣欓 + + + //瀛樺偍娴佹按璁板綍 + + + + } + + + } -- Gitblit v1.9.3