KKSU
2024-08-29 b6be66a34281cc6a72d544a92244bcc876a2c773
src/test/java/cc/mrbird/febs/AgentTest.java
@@ -1,10 +1,20 @@
package cc.mrbird.febs;
import cc.mrbird.febs.rabbit.producter.AgentProducer;
import cc.mrbird.febs.mall.entity.MallMemberAmount;
import cc.mrbird.febs.mall.entity.MallProductSell;
import cc.mrbird.febs.mall.mapper.MallMemberAmountMapper;
import cc.mrbird.febs.mall.mapper.MallProductSellMapper;
import cc.mrbird.febs.mall.service.IAgentService;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j;
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.List;
/**
 * @author wzy
@@ -14,11 +24,64 @@
@SpringBootTest
public class AgentTest {
    @Autowired
    private AgentProducer agentProducer;
    @Test
    public void agentTest() {
        agentProducer.sendOrderReturn(1L);
    }
    /**
     *
     * 查询所有的 mall_product_sell 的记录中 nftCntAva 大于0且 state  = 1 的记录
     * trendsNft 增加 nftCntAva 的数量
     * mall_product_sell 中的记录换成 state  = 3
     * 然后 trendsNft + totalPerk  * 50%  / 1.02 获得对应的 trendsNft 值
     * 然后把之前两个数据清空,复制成新的 trendsNft 值
     *
     */
//    @Autowired
//    private IAgentService agentService;
//    @Autowired
//    private MallProductSellMapper mallProductSellMapper;
//    @Autowired
//    private MallMemberAmountMapper mallMemberAmountMapper;
//    @Test
//    public void memberData() {
//        QueryWrapper<MallProductSell> objectQueryWrapper = new QueryWrapper<>();
//        objectQueryWrapper.eq("state",1);
//        objectQueryWrapper.gt(true,"nft_cnt_ava", BigDecimal.ZERO);
//        List<MallProductSell> mallProductSells = mallProductSellMapper.selectList(objectQueryWrapper);
//        if(ObjectUtil.isEmpty(mallProductSells)){
//            return;
//        }
//        for(MallProductSell sell : mallProductSells){
//            sell.setState(0);
//            mallProductSellMapper.updateById(sell);
//
//            Long memberId = sell.getMemberId();
//            BigDecimal nftCntAva = sell.getNftCntAva();
//            MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(memberId);
//            if(ObjectUtil.isEmpty(mallMemberAmount)){
//                continue;
//            }
//            mallMemberAmount.setTrendsNft(mallMemberAmount.getTrendsNft().add(nftCntAva));
//            mallMemberAmountMapper.updateById(mallMemberAmount);
//        }
//
//        List<MallMemberAmount> mallMemberAmounts = mallMemberAmountMapper.selectList(null);
//        if(ObjectUtil.isEmpty(mallMemberAmounts)){
//            return;
//        }
//        for(MallMemberAmount amount : mallMemberAmounts){
//            BigDecimal trendsNft = amount.getTrendsNft();
//            BigDecimal totalPerk = amount.getTotalPerk();
//            BigDecimal fcmCntAva = amount.getFcmCntAva();
//
//            BigDecimal add = trendsNft.add(totalPerk);
//            BigDecimal multiply = add.multiply(new BigDecimal("0.5"));
//            BigDecimal divide = multiply.divide(new BigDecimal("1.02"), 2, BigDecimal.ROUND_DOWN);
//            if(BigDecimal.ZERO.compareTo(divide) >= 0){
//                amount.setFcmCntAva(fcmCntAva);
//            }else{
//                amount.setFcmCntAva(fcmCntAva.add(divide));
//            }
//            amount.setTrendsNft(BigDecimal.ZERO);
//            amount.setTotalPerk(BigDecimal.ZERO);
//            mallMemberAmountMapper.updateById(amount);
//        }
//    }
}