xiaoyong931011
2022-10-21 1b78964861ea018243b1822e7f8df073816762ac
20221021
10 files modified
115 ■■■■■ changed files
src/main/java/cc/mrbird/febs/dapp/entity/DappAccountMoneyChangeEntity.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/entity/DappOnHookAward.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOperationServiceImpl.java 6 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java 9 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java 24 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java 25 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml 4 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/dapp/DappOnHookAwardDao.xml 1 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/dapp/money-change-flow.html 1 ●●●● patch | view | raw | blame | history
src/test/java/cc/mrbird/febs/JunitTest.java 40 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/entity/DappAccountMoneyChangeEntity.java
@@ -54,6 +54,9 @@
    private String address;
    @TableField(exist = false)
    private String username;
    @TableField(exist = false)
    private String startTime;
    @TableField(exist = false)
src/main/java/cc/mrbird/febs/dapp/entity/DappOnHookAward.java
@@ -2,6 +2,7 @@
import cc.mrbird.febs.common.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@@ -16,6 +17,7 @@
    private Integer state;//开奖状态 1:一开奖 2:未开奖
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date awardTime;//开奖时间
}
src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOperationServiceImpl.java
@@ -88,10 +88,10 @@
                throw new FebsException("系统异常,联系开发人员");
            }
            //生成流水记录
            DappAccountMoneyChangeEntity dappAccountMoneyChangeEntityIn = new DappAccountMoneyChangeEntity(memberIdOut,
                    dappWalletCoinEntityOut.getTotalAmount().setScale(2,BigDecimal.ROUND_DOWN),
            DappAccountMoneyChangeEntity dappAccountMoneyChangeEntityIn = new DappAccountMoneyChangeEntity(dappMemberEntityIn.getId(),
                    dappWalletCoinEntityIn.getTotalAmount().setScale(2,BigDecimal.ROUND_DOWN),
                    amount,
                    dappWalletCoinEntityOut.getTotalAmount().setScale(2,BigDecimal.ROUND_DOWN).add(amount),
                    dappWalletCoinEntityIn.getTotalAmount().setScale(2,BigDecimal.ROUND_DOWN).add(amount),
                    "转账",
                    4);
            dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntityIn);
src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
@@ -31,6 +31,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
@Slf4j
@@ -156,7 +157,9 @@
        DateTime dateTime = DateUtil.offsetMinute(awardTime, 5);
        int orderNum = 1;
        for(String profitPlan : isProfitPlan){
            String yyyyMMddHHMM = DateUtil.format(dateTime, "yyyy-MM-dd hh:mm");
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
            String yyyyMMddHHMM = sdf.format(dateTime);
            DappOnHookAward dappOnHookAwardNext = dappOnHookAwardDao.selectByByAwardTime(yyyyMMddHHMM);
            JSONObject jsonObject = JSONUtil.parseObj(profitPlan);
@@ -257,7 +260,9 @@
        Long memberId = dappMemberEntity.getId();
        ArrayList<ApiAwardInfoVo> apiAwardInfoVos = new ArrayList<>();
        DateTime date = DateUtil.date();
        String yyyyMMddHHMM = DateUtil.format(date, "yyyy-MM-dd hh:mm");
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm");
        String yyyyMMddHHMM = sdf.format(date);
        List<DappOnHookAward> dappOnHookAwards = dappOnHookAwardDao.selectInfoByByAwardTime(yyyyMMddHHMM);
        if(CollUtil.isNotEmpty(dappOnHookAwards)){
            for(DappOnHookAward dappOnHookAward : dappOnHookAwards){
src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
@@ -748,18 +748,18 @@
        if (ObjectUtil.isEmpty(refererMember)) {
            return new FebsResponse().fail().message(MessageSourceUtils.getString("register_err_005"));
        }
        member = new DappMemberEntity();
        member.setUsername(apiAddTeammateDto.getAccount());
        member.setPassword(SecureUtil.md5(apiAddTeammateDto.getPassword()));
        member.setIdentity(DataDictionaryEnum.LEVEL_MB.getCode());
        member.setRefererId(member.getInviteId());
        dappMemberDao.insert(member);
        DappMemberEntity memberadd = new DappMemberEntity();
        memberadd.setUsername(apiAddTeammateDto.getAccount());
        memberadd.setPassword(SecureUtil.md5(apiAddTeammateDto.getPassword()));
        memberadd.setIdentity(DataDictionaryEnum.LEVEL_MB.getCode());
        memberadd.setRefererId(member.getInviteId());
        dappMemberDao.insert(memberadd);
        //更新用户信息
        String inviteId = ShareCodeUtil.toSerialCode(member.getId());
        member.setInviteId(inviteId);
        String inviteId = ShareCodeUtil.toSerialCode(memberadd.getId());
        memberadd.setInviteId(inviteId);
        boolean flag = false;
        String parentId = member.getRefererId();
        String parentId = memberadd.getRefererId();
        String ids = "";
        while (!flag) {
            ids += ("," + parentId);
@@ -772,11 +772,11 @@
                flag = true;
            }
        }
        member.setRefererIds(ids);
        dappMemberDao.updateById(member);
        memberadd.setRefererIds(ids);
        dappMemberDao.updateById(memberadd);
        //初始化账户信息
        DappWalletCoinEntity dappWalletCoinEntity = new DappWalletCoinEntity();
        dappWalletCoinEntity.setMemberId(member.getId());
        dappWalletCoinEntity.setMemberId(memberadd.getId());
        dappWalletCoinEntity.setAvailableAmount(AppContants.INIT_MONEY);
        dappWalletCoinEntity.setFrozenAmount(AppContants.INIT_MONEY);
        dappWalletCoinEntity.setTotalAmount(AppContants.INIT_MONEY);
src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
@@ -19,6 +19,7 @@
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.List;
@Slf4j
@@ -167,7 +168,9 @@
        DateTime aWardTimeStart = DateUtil.parseDateTime(aWardTime + " 00:00:00");
//        DateTime dateTime = DateUtil.offsetMinute(aWardTimeStart, 5);
        String yyyyMMdd = DateUtil.format(date, "yyyyMMdd");
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
        String yyyyMMdd = sdf.format(date);
        QueryWrapper<DappOnHookAward> dappOnHookAwardQueryWrapper = new QueryWrapper();
        dappOnHookAwardQueryWrapper.like("record_num",yyyyMMdd);
        Integer selectCount = dappOnHookAwardDao.selectCount(dappOnHookAwardQueryWrapper);
@@ -177,7 +180,7 @@
        Format formatCount = new DecimalFormat("000");
        //一般都是将累加的数字当做一些单号的一部分,format要求string
        int dayMillise = (24 * 60) / 5;
        for(int i= 0;i < dayMillise;i++){
        for(int i= 1;i <= dayMillise;i++){
            DappOnHookAward dappOnHookAward = new DappOnHookAward();
            int randomInt = RandomUtil.randomInt(10000, 99999);
            dappOnHookAward.setAwardNum(Integer.toString(randomInt));
@@ -194,7 +197,9 @@
    public void updateAwardInfo(){
        Log.info("更新挂架开奖记录");
        DateTime date = DateUtil.date();
        String yyyyMMddHHMM = DateUtil.format(date, "yyyy-MM-dd hh:mm");
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        String yyyyMMddHHMM = sdf.format(date);
        DappOnHookAward dappOnHookAward = dappOnHookAwardDao.selectByByAwardTime(yyyyMMddHHMM);
        dappOnHookAward.setState(1);
        dappOnHookAwardDao.updateById(dappOnHookAward);
@@ -209,13 +214,13 @@
    public static void main(String[] args) {
        DateTime date = DateUtil.date();
        String aWardTime = DateUtil.format(date, "yyyy-MM-dd");
        DateTime aWardTimeStart = DateUtil.parseDateTime(aWardTime + " 00:00:00");
        int dayMillise = (24 * 60) / 5;
        for(int i= 0;i < dayMillise;i++){
            System.out.println(aWardTimeStart);
            aWardTimeStart = DateUtil.offsetMinute(aWardTimeStart, 5);
        }
        System.out.println(date);
        String yyyyMMddHHMM = DateUtil.format(date, "yyyy-MM-dd hh:mm");
        System.out.println(yyyyMMddHHMM);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
        String yyyyMMdd = sdf.format(date);
        System.out.println(yyyyMMdd);
    }
}
src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml
@@ -3,11 +3,11 @@
<mapper namespace="cc.mrbird.febs.dapp.mapper.DappAccountMoneyChangeDao">
    <select id="selectInPage" resultType="cc.mrbird.febs.dapp.entity.DappAccountMoneyChangeEntity">
        select a.*, b.address address from dapp_account_money_change a
        select a.*, b.username username from dapp_account_money_change a
        inner join dapp_member b on a.member_id=b.id
        <where>
            <if test="record.address !='' and record.address != null">
                and (b.address = #{record.address} or b.invite_id=#{record.address})
                and (b.username = #{record.address} or b.invite_id=#{record.address})
            </if>
            <if test="record.type != null">
                and a.type=#{record.type}
src/main/resources/mapper/dapp/DappOnHookAwardDao.xml
@@ -27,6 +27,7 @@
        from dapp_on_hook_award a
        where
           date_format(a.award_time, '%Y-%m-%d %H:%i') &lt; #{awardTime}
        order by a.id desc
        limit 20
    </select>
src/main/resources/templates/febs/views/dapp/money-change-flow.html
@@ -130,6 +130,7 @@
                url: ctx + 'flow/accountMoneyChangeFlow',
                cols: [[
                    {field: 'address', title: '地址', minWidth: 150},
                    {field: 'username', title: '用户名', minWidth: 150},
                    {field: 'preAmount', title: '变化前金额', minWidth: 100},
                    {field: 'amount', title: '变化金额', minWidth: 100},
                    {field: 'afterAmount', title: '变化后金额', minWidth: 100},
src/test/java/cc/mrbird/febs/JunitTest.java
@@ -1,11 +1,17 @@
package cc.mrbird.febs;
import cc.mrbird.febs.common.configure.i18n.MessageSourceUtils;
import cc.mrbird.febs.common.contants.AppContants;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.dapp.entity.DappMemberEntity;
import cc.mrbird.febs.dapp.entity.DappOnHookAward;
import cc.mrbird.febs.dapp.entity.DataDictionaryCustom;
import cc.mrbird.febs.dapp.entity.IgtOnHookPlanOrderItem;
import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum;
import cc.mrbird.febs.dapp.enumerate.MemberOnHookPlanEnum;
import cc.mrbird.febs.dapp.mapper.DappMemberDao;
import cc.mrbird.febs.dapp.mapper.DappOnHookAwardDao;
import cc.mrbird.febs.dapp.mapper.DataDictionaryCustomMapper;
import cc.mrbird.febs.dapp.service.MemberOnHookPlan;
import cc.mrbird.febs.job.MineProfitJob;
@@ -14,11 +20,13 @@
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.crypto.asymmetric.KeyType;
import cn.hutool.crypto.asymmetric.RSA;
import com.alibaba.fastjson.JSONObject;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@@ -78,19 +86,27 @@
//
    @Autowired
    private DataDictionaryCustomMapper dataDictionaryCustomMapper;
    @Autowired
    private RedisUtils redisUtils;
    @Autowired
    private DappOnHookAwardDao dappOnHookAwardDao;
    @Test
    public void getmember(){
        List<DataDictionaryCustom> dataDictionaryCustoms = dataDictionaryCustomMapper.selectDicByType(DataDictionaryEnum.PLAN_F.getType());
        LinkedList<Map<String,String>> strings = new LinkedList<>();
        for(DataDictionaryCustom dataDictionaryCustom : dataDictionaryCustoms){
            Map<String, String> stringStringHashMap = new HashMap<>();
            stringStringHashMap.put(dataDictionaryCustom.getDescription(),dataDictionaryCustom.getValue());
            strings.add(stringStringHashMap);
    public void getmember(){//获取下一个开奖
        String redisKey = "on_hook_award_id";
        String onHookAwardRedisId = redisUtils.getString(redisKey);
        DappOnHookAward dappOnHookAward = dappOnHookAwardDao.selectById(Long.parseLong(onHookAwardRedisId));
        if(ObjectUtil.isEmpty(dappOnHookAward)){
            throw new FebsException(MessageSourceUtils.getString("login_err_003"));
        }
        Map<String, LinkedList<String>> level_mb = MemberOnHookPlanEnum.valueOf("LEVEL_MB")
                .getMemberOnHook(Double.valueOf(2),new BigDecimal(0.2),strings);
        System.out.println(level_mb.toString());
        System.out.println(level_mb);
        Date awardTime = dappOnHookAward.getAwardTime();
        System.out.println(awardTime);
        DateTime dateTime = DateUtil.offsetMinute(awardTime, 5);
        for(int i =1; i < 100;i++){
            String yyyyMMddHHMM = DateUtil.format(dateTime, "yyyy-MM-dd hh:mm");
//            DappOnHookAward dappOnHookAwardNext = dappOnHookAwardDao.selectByByAwardTime(yyyyMMddHHMM);
            System.out.println(yyyyMMddHHMM);
            dateTime = DateUtil.offsetMinute(dateTime, 5);
        }
    }
}