From ab13cdcfe8c9852be7a606c272a42bb0fa7d2cf1 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Thu, 22 Dec 2022 15:51:47 +0800 Subject: [PATCH] 20221221 --- src/test/java/cc/mrbird/febs/ProfitTest.java | 209 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 175 insertions(+), 34 deletions(-) diff --git a/src/test/java/cc/mrbird/febs/ProfitTest.java b/src/test/java/cc/mrbird/febs/ProfitTest.java index 21a7b3d..fb10558 100644 --- a/src/test/java/cc/mrbird/febs/ProfitTest.java +++ b/src/test/java/cc/mrbird/febs/ProfitTest.java @@ -1,18 +1,37 @@ package cc.mrbird.febs; +import cc.mrbird.febs.common.entity.FebsResponse; +import cc.mrbird.febs.common.enumerates.MallMoneyFlowTypeEnum; +import cc.mrbird.febs.common.enumerates.OrderStatusEnum; +import cc.mrbird.febs.common.exception.FebsException; +import cc.mrbird.febs.common.utils.AppContants; +import cc.mrbird.febs.common.utils.LoginUserUtil; +import cc.mrbird.febs.common.utils.MallUtils; +import cc.mrbird.febs.mall.entity.MallMember; +import cc.mrbird.febs.mall.entity.MallMoneyFlow; +import cc.mrbird.febs.mall.entity.MallOrderInfo; import cc.mrbird.febs.mall.entity.MallOrderItem; +import cc.mrbird.febs.mall.mapper.MallMemberMapper; +import cc.mrbird.febs.mall.mapper.MallMoneyFlowMapper; import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper; import cc.mrbird.febs.mall.mapper.MallOrderItemMapper; import cc.mrbird.febs.mall.quartz.OrderSettlementJob; import cc.mrbird.febs.mall.service.IAgentService; +import cc.mrbird.febs.mall.service.IApiMallMemberWalletService; import cc.mrbird.febs.mall.service.IMallAchieveService; import cc.mrbird.febs.mall.service.IMemberProfitService; +import cc.mrbird.febs.pay.model.*; +import cc.mrbird.febs.pay.service.UnipayService; import cc.mrbird.febs.rabbit.consumer.AgentConsumer; +import cc.mrbird.febs.rabbit.producter.AgentProducer; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.math.BigDecimal; +import java.text.DecimalFormat; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -62,9 +81,49 @@ @Autowired private MallOrderInfoMapper mallOrderInfoMapper; + @Autowired + private MallMemberMapper mallMemberMapper; + + @Autowired + private MallMoneyFlowMapper mallMoneyFlowMapper; + + @Autowired + private IApiMallMemberWalletService memberWalletService; + + @Autowired + private AgentProducer agentProducer; + @Test public void directorProfitTest() { - memberProfitService.storeAndDirectorProfit(new Date()); + MallMember member = mallMemberMapper.selectById(1L); + MallOrderInfo orderInfo = mallOrderInfoMapper.selectOrderByMemberIdAndId(member.getId(), 577L); + if (orderInfo == null || AppContants.DEL_FLAG_Y == orderInfo.getDelFlag()) { + throw new FebsException("订单不存在"); + } + + if (orderInfo.getStatus() != OrderStatusEnum.WAIT_FINISH.getValue()) { + throw new FebsException("该状态不能确认收货"); + } + + orderInfo.setStatus(OrderStatusEnum.FINISH.getValue()); + orderInfo.setReceivingTime(new Date()); + mallOrderInfoMapper.updateById(orderInfo); + /** + * 通过支付流水记录,返回下单金额 + */ + MallMoneyFlow payFlow = mallMoneyFlowMapper.selectOneByMemberIdAndOrderNoAndTypeAndStatusAndIsReturn( + member.getId(), + orderInfo.getOrderNo(), + MallMoneyFlowTypeEnum.PAY.getCode(), + MallMoneyFlow.STATUS_SUCCESS, + MallMoneyFlow.IS_RETURN_N); + if(ObjectUtil.isNotEmpty(payFlow)){ + memberWalletService.addBalance(payFlow.getAmount().negate(),payFlow.getRtMemberId()); + payFlow.setIsReturn(MallMoneyFlow.IS_RETURN_Y); + mallMoneyFlowMapper.updateById(payFlow); + } + //产生补贴流水记录 + agentProducer.sendDirectRewardMsg(orderInfo.getId()); } @Autowired @@ -80,37 +139,119 @@ mallAchieveService.add(item.getId()); } } - - @Test - public void paramTest() { - Map<String, Integer> map = new HashMap<>(); - BigDecimal amount = new BigDecimal("100"); - map.put("amount", 1); - changeAmount(map); - System.out.println(map.get("amount")); - } - - public void changeAmount(Map<String, Integer> amount) { - amount.put("amount", 2); - } - - @Test - public void scorePool(){ - memberProfitService.scorePool(); - } - - @Test - public void staticProfit(){ - memberProfitService.staticProfit(null); - } - - @Autowired - private OrderSettlementJob orderSettlementJob; - - @Test - public void orderSettlementJobTest() { -// orderSettlementJob.normalGoodsSettlementJob(); - - mallAchieveService.add(83L); - } +// +// @Test +// public void paramTest() { +// Map<String, Integer> map = new HashMap<>(); +// BigDecimal amount = new BigDecimal("100"); +// map.put("amount", 1); +// changeAmount(map); +// System.out.println(map.get("amount")); +// } +// +// public void changeAmount(Map<String, Integer> amount) { +// amount.put("amount", 2); +// } +// +// @Test +// public void scorePool(){ +// memberProfitService.scorePool(); +// } +// +// @Test +// public void staticProfit(){ +// memberProfitService.staticProfit(null); +// } +// +// @Autowired +// private OrderSettlementJob orderSettlementJob; +// +// @Test +// public void orderSettlementJobTest() { +//// orderSettlementJob.normalGoodsSettlementJob(); +// +// mallAchieveService.add(83L); +// } +// +// +// @Autowired +// private UnipayService unipayService; +// @Test +// public void unipay(){ +// UnipayDto unipayDto = new UnipayDto(); +// unipayDto.setAmount(new BigDecimal("0.01")); +// unipayDto.setFrpCode("ALIPAY_H5"); +// unipayDto.setTradeMerchantNo("777180800385820"); +//// unipayDto.setFrpCode("WEIXIN_APP3"); +// unipayDto.setOrderNo("2022082316415386395"); +// unipayDto.setProductName("洗护套装"); +// unipayService.unipay(unipayDto); +// } +// @Test +// public void getAgreeMentPaySms(){ +// AgreeMentPaySmsDto agreeMentPaySmsDto = new AgreeMentPaySmsDto(); +// agreeMentPaySmsDto.setOrderNo("2022082617305930328"); +// +// BigDecimal value = new BigDecimal("0.1").setScale(2, BigDecimal.ROUND_DOWN); +// DecimalFormat decimalFormat = new DecimalFormat("0.00#"); +// String strVal = decimalFormat.format(value); +// agreeMentPaySmsDto.setOrderAmount(new BigDecimal(strVal)); +// agreeMentPaySmsDto.setName("肖永"); +// agreeMentPaySmsDto.setCreatedTime(DateUtil.now()); +// agreeMentPaySmsDto.setIdType("1"); +// agreeMentPaySmsDto.setIdCardNum("430321199310113713"); +// agreeMentPaySmsDto.setBankNo("6222031901002389639"); +// agreeMentPaySmsDto.setPhone("15274802129"); +// String agreeMentPaySms = unipayService.getAgreeMentPaySms(agreeMentPaySmsDto); +// if("JS000000".equals(agreeMentPaySms)){ +// System.out.println("获取成功"); +// }else{ +// System.out.println(agreeMentPaySms); +// } +// } +// +// @Test +// public void agreementSign(){ +// AgreementSignDto agreementSignDto = new AgreementSignDto(); +// agreementSignDto.setOrderNo("2022082614465345250"); +// agreementSignDto.setSmsCode("841243"); +// unipayService.agreementSign(agreementSignDto); +// } +// +// @Test +// public void agreementPay(){ +// AgreementPayDto agreementPayDto = new AgreementPayDto(); +// agreementPayDto.setOrderNo("2022082614465345250"); +// +// BigDecimal value = new BigDecimal("0.1").setScale(2, BigDecimal.ROUND_DOWN); +// DecimalFormat decimalFormat = new DecimalFormat("0.00#"); +// String strVal = decimalFormat.format(value); +// agreementPayDto.setOrderAmount(new BigDecimal(strVal)); +// agreementPayDto.setOrderTime(DateUtil.now()); +// agreementPayDto.setOrderDesc("测试"); +// agreementPayDto.setBankNo("6222031901002389639"); +// unipayService.agreementPay(agreementPayDto); +// } +// +// @Test +// public void singlePay(){ +// /** +// * 调用汇聚代付 +// */ +// String orderNo = MallUtils.getOrderNum("W"); +// SinglePayDto singlePayDto = new SinglePayDto(); +// singlePayDto.setMerchantOrderNo(orderNo); +// singlePayDto.setReceiverAccountNoEncBankNo("6222031903210023839639"); +// singlePayDto.setReceiverAccountNoEncName("肖永"); +// singlePayDto.setReceiverAccountType("201"); +// BigDecimal paidAmount = new BigDecimal(1.00); +// singlePayDto.setPaidAmount(paidAmount); +// singlePayDto.setCurrency("201"); +// singlePayDto.setIsChecked("202"); +// singlePayDto.setPaidDesc("用户提现"); +// singlePayDto.setPaidUse("202"); +// String singlePayRep = unipayService.singlePay(singlePayDto); +// +// System.out.println(singlePayRep); +// } } -- Gitblit v1.9.1