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.text.DecimalFormat; import java.util.*; import java.util.stream.Collectors; /** * @author wzy * @date 2022-06-02 **/ @SpringBootTest public class ProfitTest { @Autowired private AgentConsumer agentConsumer; @Autowired private IAgentService agentService; @Autowired private IMemberProfitService memberProfitService; @Autowired private IApiMallOrderInfoService iApiMallOrderInfoService; @Autowired private MallMemberMapper memberMapper; @Autowired private AgentProducer agentProducer; @Test public void dynamicProfit() { agentService.perkMoneyConsumer(Long.parseLong("796")); // memberProfitService.dynamicProfit(Long.parseLong("709")); // memberProfitService.scoreRecordReleaseJob(); // memberProfitService.achieveReleaseJob(); // agentProducer.sendPerkMoneyMsg(679L); // agentService.perkMoneyConsumer(665L); // memberProfitService.teamEqualsPerkJob(null); // List mallMemberTeamPerk = new ArrayList<>(); // MallMember mallMember = memberMapper.selectById(233L); // List ids = StrUtil.split(mallMember.getReferrerIds(), ','); // List mallMembers = memberMapper.selectByInviteIds(ids); // Map> collect = mallMembers.stream().collect(Collectors.groupingBy(MallMember::getLevel)); // Set set = collect.keySet(); // 得到所有key的集合 // for (String key : set) { // List value = collect.get(key); // System.out.println(key + " " + value); // mallMemberTeamPerk.add(value.get(0)); // // System.out.println(value.get(0).getName()); // // } // List 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.mqPerkRetryJob(); } @Test public void rankProfit() { memberProfitService.rankProfit(); } @Autowired private MallOrderInfoMapper mallOrderInfoMapper; @Test public void directorProfitTest() { memberProfitService.storeAndDirectorProfit(new Date()); } @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); } }