From bc8173e7d4143a79381f0485c1211f7a5c7f37cb Mon Sep 17 00:00:00 2001 From: qjq <1766193529@qq.com> Date: Mon, 2 Dec 2024 16:02:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E7=A5=A8=E6=95=B0=E6=8D=AE=E5=88=A4?= =?UTF-8?q?=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../member/dal/mysql/card/CardMapper.java | 18 ++++++++++----- .../service/billing/BillingServiceImpl.java | 22 +++++++++++++------ 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/card/CardMapper.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/card/CardMapper.java index 42bb22b9..956c78ba 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/card/CardMapper.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/card/CardMapper.java @@ -75,25 +75,31 @@ public interface CardMapper extends BaseMapperX { } return lastCardDO.getMoney(); } - default List getMoneyByUserIds(Collection userIds , String flag, String type,Integer var){ - return selectList(new LambdaQueryWrapperX() + default List getMoneyByUserIds(Collection userIds , String flag, String type,Integer var,Integer var2){ + List cardDOS = selectList(new LambdaQueryWrapperX() .eq(CardDO::getFlag, flag) .eq(CardDO::getType, type) - .eq(CardDO::getBillingExist,var) + .eq(CardDO::getBillingExist, var) .in(CardDO::getUserId, userIds)); - + if(var2==null){ + return cardDOS; + }else{ + return cardDOS.stream().filter(f-> f.getCreateTime().getMonth().getValue()!=var2).collect(Collectors.toList()); + } } - default BigDecimal getTotalMoneyByuserIds(Collection userIds, String flag, String type) { + default BigDecimal getTotalMoneyByuserIds(Collection userIds, String flag, String type,Integer var) { List cardDOS = selectList(new LambdaQueryWrapper() .eq(CardDO::getFlag, flag) .eq(CardDO::getType, type) .eq(CardDO::getBillingExist, BillingStatusEnum.BILLING_INVOICING_REJECTION.getCode()) .in(CardDO::getUserId, userIds)); + if(var!=null){ + cardDOS=cardDOS.stream().filter(f-> f.getCreateTime().getMonth().getValue()!=var).collect(Collectors.toList()); + } return cardDOS.stream() .map(CardDO::getChangeMoney) .filter(Objects::nonNull) .reduce(BigDecimal.ZERO, BigDecimal::add); - } } \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/billing/BillingServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/billing/BillingServiceImpl.java index 694516ae..63e5d2f2 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/billing/BillingServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/billing/BillingServiceImpl.java @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.member.service.billing; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.io.unit.DataUnit; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjUtil; @@ -235,9 +236,6 @@ public class BillingServiceImpl implements BillingService { @Override @Transactional(rollbackFor = Exception.class) public String createBillingUnit(BillingSaveReqVO createReqVO) { - DateTime date = DateUtil.date(); - int i = date.dayOfMonth(); - if(i<27) throw exception(BILLING_NOT_ORDER_MOENY); // 插入 BillingDO 对象并生成唯一主键 BillingDO billing = BeanUtils.toBean(createReqVO, BillingDO.class); Set orderId = createReqVO.getOrderId(); @@ -250,7 +248,7 @@ public class BillingServiceImpl implements BillingService { // billing.setUserPhone(String.valueOf(memberGroupDO.getId())); billing.setUserId(billing.getUserId()); //查询单位充值的金额 - List moneyByUserIds = cardMapper.getMoneyByUserIds(createReqVO.getOrderId(), CardDO.ADD, CostTypeEnum.ADMIN_PAY.getCode(),BillingStatusEnum.BILLING_INVOICING_REJECTION.getCode()); + List moneyByUserIds = cardMapper.getMoneyByUserIds(createReqVO.getOrderId(), CardDO.ADD, CostTypeEnum.ADMIN_PAY.getCode(),BillingStatusEnum.BILLING_INVOICING_REJECTION.getCode(),getMonth()); if(CollUtil.isEmpty(moneyByUserIds))throw exception(BILLING_NOT_ORDER_EXISTS); BigDecimal totalMoney = moneyByUserIds.stream() .map(CardDO::getChangeMoney) @@ -454,11 +452,20 @@ public class BillingServiceImpl implements BillingService { // 查询已开票的金额 BigDecimal haveMoney = getTotalMoneyForBilling(userId, BillingStatusEnum.BILLING_INVOICING_IS_COMPLETE.getCode()); response.setHaveMoney(haveMoney); - BigDecimal moneyByUserIds = cardMapper.getTotalMoneyByuserIds(memberList, CardDO.ADD, CostTypeEnum.ADMIN_PAY.getCode()); + + BigDecimal moneyByUserIds = cardMapper.getTotalMoneyByuserIds(memberList, CardDO.ADD, CostTypeEnum.ADMIN_PAY.getCode(),getMonth()); response.setWithoutMoney(moneyByUserIds); return response; } - + private Integer getMonth(){ + DateTime date = DateUtil.date(); + Integer month=null; + int day = date.dayOfMonth(); + if(day<=26){ + month= date.monthBaseOne(); + } + return month; + } @Override public BillingRespMoneyVO getHaveWithoutMoney(Long userId) { List memberList = getMemberListByUserId(userId); @@ -578,7 +585,8 @@ public class BillingServiceImpl implements BillingService { public BigDecimal getUserTotalMoney(BillingPageDataVo vo) { // 获取当前单位下的所有成员 List ids = getMemberListByUserId(vo.getUserId()); - List moneyByUserIds = cardMapper.getMoneyByUserIds(ids, CardDO.ADD, CostTypeEnum.ADMIN_PAY.getCode(), BillingStatusEnum.BILLING_INVOICING_REJECTION.getCode()); + + List moneyByUserIds = cardMapper.getMoneyByUserIds(ids, CardDO.ADD, CostTypeEnum.ADMIN_PAY.getCode(), BillingStatusEnum.BILLING_INVOICING_REJECTION.getCode(),getMonth()); return moneyByUserIds.stream() .map(CardDO::getChangeMoney) .filter(Objects::nonNull)