package cc.mrbird.febs; 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 * @date 2021-09-25 **/ @Slf4j @SpringBootTest public class AgentTest { /** * * 查询所有的 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 objectQueryWrapper = new QueryWrapper<>(); // objectQueryWrapper.eq("state",1); // objectQueryWrapper.gt(true,"nft_cnt_ava", BigDecimal.ZERO); // List 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 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); // } // } }