xiaoyong931011
2023-09-15 0537e73efb9aba020fdc8cb48708bb51b46aaf57
src/main/java/cc/mrbird/febs/job/BnbTransferJob.java
@@ -1,15 +1,10 @@
package cc.mrbird.febs.job;
import cc.mrbird.febs.dapp.entity.DappFundFlowEntity;
import cc.mrbird.febs.dapp.entity.DataDictionaryCustom;
import cc.mrbird.febs.dapp.enumerate.FundFlowEnum;
import cc.mrbird.febs.dapp.enumerate.MemberLevelEnum;
import cc.mrbird.febs.dapp.enumerate.NodeCodeEnum;
import cc.mrbird.febs.dapp.enumerate.PoolEnum;
import cc.mrbird.febs.dapp.mapper.DappFundFlowDao;
import cc.mrbird.febs.dapp.mapper.DataDictionaryCustomMapper;
import cc.mrbird.febs.dapp.entity.DappAKlineEntity;
import cc.mrbird.febs.dapp.entity.DappMemberEntity;
import cc.mrbird.febs.dapp.mapper.DappAKlineMapper;
import cc.mrbird.febs.dapp.service.DappSystemService;
import cc.mrbird.febs.rabbit.producer.ChainProducer;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -18,42 +13,62 @@
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.util.Set;
@Slf4j
@Component
@ConditionalOnProperty(prefix = "system", name = "quartz-job", havingValue = "true")
@ConditionalOnProperty(prefix = "system", name = "online-transfer", havingValue = "true")
public class BnbTransferJob{
    @Autowired
    private DappSystemService dappSystemService;
    @Autowired
    private DappAKlineMapper dappAKlineMapper;
    /**
     * 每天按照消费金额的5‰静释放(千分之五的静态释放比例)
     * (按购买顺序结算,同时有5个订单就有结算记录)
     * (设置多少,全部按照最新的来释放)
     */
    @Scheduled(cron = "0 0 0 * * ?")
//    @Scheduled(cron = "0 0 0 * * ?")
    @Scheduled(cron = "0 0 2 * * ?")
    public void memberPerk() {
        dappSystemService.memberPerk();
    }
    /**
     * 直推消费分享:享受直接分享人每日消费金额释放的100%加速;
     */
    @Scheduled(cron = "0 0 0 * * ?")
    public void directMemberPerk() {
        dappSystemService.directMemberPerk();
    }
    /**
     * 加速团队静态收益的70%(业绩全算)
     * 加速团队静态收益为极差制,平级10%
     * 如V1加速团队静态收益的15%=每日静态的20000*6‰*15%=18元的额外释放加速
     */
    @Scheduled(cron = "0 0 0 * * ?")
    public void teamStaticPerk() {
        /**
         * 加速团队静态收益的70%(业绩全算)
         * 加速团队静态收益为极差制,平级10%
         * 如V1加速团队静态收益的15%=每日静态的20000*6‰*15%=18元的额外释放加速
         * 共享区加速万分之5,上限1.8%(按本金计)
         */
        dappSystemService.teamStaticPerk();
        /**
         * 每天按照消费金额的5‰静释放(千分之五的静态释放比例)
         * (按购买顺序结算,同时有5个订单就有结算记录)
         * (设置多少,全部按照最新的来释放)
         */
        dappSystemService.memberPerk();
        /**
         * 直推消费分享:享受直接分享人每日消费金额释放的100%加速;
         */
        dappSystemService.directMemberPerk();
        /**
         * 实际更新账户业绩余额和积分
         */
        Set<DappMemberEntity> dappMemberEntities = dappSystemService.updateAchieve();
        if(CollUtil.isNotEmpty(dappMemberEntities)){
            /**
             * 奖励;团队产生的收益1%奖励积分,对标价格
             */
            dappSystemService.updatePackage(dappMemberEntities);
        }
    }
    @Scheduled(cron = "0 0 0/4 * * ?")
    public void klineUpdate() {
        DappAKlineEntity dappAKlineEntity = new DappAKlineEntity();
        dappAKlineEntity.setType(2);
        DappAKlineEntity dappAKlineOld = dappAKlineMapper.selectOneHourByType();
        if(ObjectUtil.isEmpty(dappAKlineOld)){
            dappAKlineEntity.setOpenPrice(BigDecimal.ZERO);
        }else{
            dappAKlineEntity.setOpenPrice(dappAKlineOld.getOpenPrice());
        }
        dappAKlineMapper.insert(dappAKlineEntity);
    }
}