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; import java.util.Map; /** * @author wzy * @date 2022-06-02 **/ @SpringBootTest public class ProfitTest { @Autowired private AgentConsumer agentConsumer; @Autowired private IAgentService agentService; @Autowired private IMemberProfitService memberProfitService; @Test public void dynamicProfit() { memberProfitService.dynamicProfit(21L); } @Test public void agentProfit() { memberProfitService.agentProfit(null); } // @Test // public void staticProfit() { // memberProfitService.staticProfit(new Date()); // } @Test public void thankfulProfit() { memberProfitService.thankfulProfit(new Date()); } @Test public void rankProfit() { memberProfitService.rankProfit(); } @Autowired private MallOrderInfoMapper mallOrderInfoMapper; @Autowired private MallMemberMapper mallMemberMapper; @Autowired private MallMoneyFlowMapper mallMoneyFlowMapper; @Autowired private IApiMallMemberWalletService memberWalletService; @Autowired private AgentProducer agentProducer; @Test public void directorProfitTest() { 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 private MallOrderItemMapper mallOrderItemMapper; @Autowired private IMallAchieveService mallAchieveService; @Test public void achieveTest() { List items = mallOrderItemMapper.selectList(null); for (MallOrderItem item : items) { mallAchieveService.add(item.getId()); } } // // @Test // public void paramTest() { // Map map = new HashMap<>(); // BigDecimal amount = new BigDecimal("100"); // map.put("amount", 1); // changeAmount(map); // System.out.println(map.get("amount")); // } // // public void changeAmount(Map 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); // } }