xiaoyong931011
2023-04-07 fe03a836ca11872da60afc4abaa0697ca47e1f63
src/test/java/cc/mrbird/febs/ProfitTest.java
@@ -1,19 +1,32 @@
package cc.mrbird.febs;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.utils.MallUtils;
import cc.mrbird.febs.mall.entity.MallMember;
import cc.mrbird.febs.mall.entity.MallOrderItem;
import cc.mrbird.febs.mall.mapper.MallMemberMapper;
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.IApiMallOrderInfoService;
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.StrUtil;
import com.alibaba.fastjson.JSON;
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.util.Date;
import java.util.List;
import java.text.DecimalFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
 * @author wzy
@@ -31,14 +44,61 @@
    @Autowired
    private IMemberProfitService memberProfitService;
    @Autowired
    private IApiMallOrderInfoService iApiMallOrderInfoService;
    @Autowired
    private MallMemberMapper memberMapper;
    @Autowired
    private AgentProducer agentProducer;
    @Test
    public void dynamicProfit() {
        memberProfitService.dynamicProfit(45L);
        agentService.perkMoneyConsumer(Long.parseLong("712"));
//        memberProfitService.dynamicProfit(Long.parseLong("709"));
//        memberProfitService.scoreRecordReleaseJob();
//        memberProfitService.achieveReleaseJob();
//        agentProducer.sendPerkMoneyMsg(679L);
//        agentService.perkMoneyConsumer(665L);
//        memberProfitService.teamEqualsPerkJob(null);
//        List<MallMember> mallMemberTeamPerk = new ArrayList<>();
//        MallMember mallMember = memberMapper.selectById(233L);
//        List<String> ids = StrUtil.split(mallMember.getReferrerIds(), ',');
//        List<MallMember> mallMembers = memberMapper.selectByInviteIds(ids);
//        Map<String, List<MallMember>> collect = mallMembers.stream().collect(Collectors.groupingBy(MallMember::getLevel));
//        Set<String> set = collect.keySet(); // 得到所有key的集合
//        for (String key : set) {
//            List<MallMember> value = collect.get(key);
//            System.out.println(key + " " + value);
//            mallMemberTeamPerk.add(value.get(0));
//
//            System.out.println(value.get(0).getName());
//
//        }
//        List<Long> mallMemberStarIds = mallMemberTeamPerk.stream().map(MallMember::getId).collect(Collectors.toList());
//
//        System.out.println(mallMemberStarIds);
    }
    @Test
    public void agentProfit() {
        iApiMallOrderInfoService.changeWallet(665L);
    }
//    @Test
//    public void staticProfit() {
//        memberProfitService.staticProfit(new Date());
//    }
    @Test
    public void thankfulProfit() {
        memberProfitService.thankfulProfit();
        memberProfitService.mqPerkRetryJob();
    }
    @Test
    public void rankProfit() {
        memberProfitService.rankProfit();
    }
    @Autowired
@@ -62,4 +122,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);
    }
    @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);
    }
}