From 5723081b2da05257b254196d440e3f1f6d7a654b Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 03 Apr 2023 13:41:15 +0800 Subject: [PATCH] 设定时区,这样创建的时间就不会出现问题 --- src/test/java/cc/mrbird/febs/ProfitTest.java | 74 +++++++++++++++++++++++++++++++++++++ 1 files changed, 74 insertions(+), 0 deletions(-) diff --git a/src/test/java/cc/mrbird/febs/ProfitTest.java b/src/test/java/cc/mrbird/febs/ProfitTest.java index b3b3892..ef4e90d 100644 --- a/src/test/java/cc/mrbird/febs/ProfitTest.java +++ b/src/test/java/cc/mrbird/febs/ProfitTest.java @@ -18,6 +18,7 @@ import cc.mrbird.febs.mall.quartz.OrderSettlementJob; import cc.mrbird.febs.mall.service.*; import cc.mrbird.febs.mall.vo.ApiMallSubsidyAmountInfoVo; +import cc.mrbird.febs.mall.vo.MallOrderInfoTestVo; import cc.mrbird.febs.pay.model.*; import cc.mrbird.febs.pay.service.UnipayService; import cc.mrbird.febs.rabbit.consumer.AgentConsumer; @@ -43,6 +44,7 @@ import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.ExecutionException; +import java.util.stream.Collectors; /** * @author wzy @@ -106,6 +108,78 @@ @Autowired private DataDictionaryCustomMapper dataDictionaryCustomMapper; + @Autowired + private IApiMallMemberWalletService walletService; + + @Autowired + private MallMemberWalletMapper mallMemberWalletMapper; + + @Test + public void retrunOrder(){ + /** + * 查询出当天下过单的人数 + * 比对单数是否超过最大值,超过最大值的订单回退资金,删除数据 + */ + String dateStr = "2023-04-01"; + //获取某一天下单人的全部单数 + List<MallOrderInfoTestVo> mallOrderInfoTestVos = mallOrderInfoMapper.selectOrderCntByDate(dateStr); + if(CollUtil.isNotEmpty(mallOrderInfoTestVos)){ + List<MallOrderInfoTestVo> collect = mallOrderInfoTestVos + .stream() + .filter(mallOrderInfoTestVo -> mallOrderInfoTestVo.getOrderCnt() > 2) + .collect(Collectors.toList()); + List<Long> collectMemberId = collect.stream().map(MallOrderInfoTestVo::getMemberId).collect(Collectors.toList()); + if(CollUtil.isNotEmpty(collectMemberId)){ + for(Long memberId : collectMemberId){ + List<MallOrderInfo> mallOrderInfos = mallOrderInfoMapper.selectByMemberIdAndDate(memberId,dateStr); + if(CollUtil.isNotEmpty(mallOrderInfos)){ + int size = mallOrderInfos.size(); + for(int i = 2; i < size; i++){ + MallOrderInfo mallOrderInfo = mallOrderInfos.get(i); + String orderNo = mallOrderInfo.getOrderNo(); + List<MallMoneyFlow> mallMoneyFlows = mallMoneyFlowMapper.selectMoneyFlowByOrderNo(orderNo); + for(MallMoneyFlow mallMoneyFlow : mallMoneyFlows){ + Long rtMemberId = mallMoneyFlow.getRtMemberId(); + BigDecimal amount = mallMoneyFlow.getAmount(); + MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(rtMemberId); + if(mallMemberWallet.getBalance().compareTo(amount) >= 0){ + walletService.reduceBalance(amount, rtMemberId); + } + } + mallMoneyFlowMapper.deleteByOrderNo(orderNo); + mallOrderInfoMapper.deleteById(mallOrderInfo.getId()); + } + } + } + } + } + } + + @Test + public void retrunOrderMemberId(){ + String dateStr = "2023-04-02"; + Long memberId = 702L; + List<MallOrderInfo> mallOrderInfos = mallOrderInfoMapper.selectByMemberIdAndDate(memberId,dateStr); + if(CollUtil.isNotEmpty(mallOrderInfos)){ + int size = mallOrderInfos.size(); + for(int i = 2; i < size; i++){ + MallOrderInfo mallOrderInfo = mallOrderInfos.get(i); + String orderNo = mallOrderInfo.getOrderNo(); + List<MallMoneyFlow> mallMoneyFlows = mallMoneyFlowMapper.selectMoneyFlowByOrderNo(orderNo); + for(MallMoneyFlow mallMoneyFlow : mallMoneyFlows){ + Long rtMemberId = mallMoneyFlow.getRtMemberId(); + BigDecimal amount = mallMoneyFlow.getAmount(); + MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(rtMemberId); + if(mallMemberWallet.getBalance().compareTo(amount) >= 0){ + walletService.reduceBalance(amount, rtMemberId); + } + } + mallMoneyFlowMapper.deleteByOrderNo(orderNo); + mallOrderInfoMapper.deleteById(mallOrderInfo.getId()); + } + } + } + @Test public void tetstgetPrikey(){ Map<String, String> wallet = new HashMap<String, String>(); -- Gitblit v1.9.1