fix
Hentua
2023-06-03 a51f290518a41cf8993d8ee3f9b77e33e93b186b
fix
2 files modified
1 files added
79 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java 4 ●●●● patch | view | raw | blame | history
src/test/java/cc/mrbird/febs/MemberTest.java 73 ●●●●● patch | view | raw | blame | history
src/test/java/cc/mrbird/febs/ProfitTest.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
@@ -153,10 +153,10 @@
                        break;
                    }
                    if (index != 2) {
                    if (index == 2) {
                        indirectPerDic = indirectPerTwoDic;
                    }
                    BigDecimal doubleParentProfit = profit.multiply(new BigDecimal(indirectPerDic.getValue()).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP));
                    BigDecimal doubleParentProfit = amount.multiply(new BigDecimal(indirectPerDic.getValue()).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP));
                    changeScoreAndCommission(mallMember.getId(), doubleParentProfit, MoneyFlowTypeEnum.DIRECT_BONUS.getValue(), orderInfo.getOrderNo());
                    index++;
                }
src/test/java/cc/mrbird/febs/MemberTest.java
New file
@@ -0,0 +1,73 @@
package cc.mrbird.febs;
import cc.mrbird.febs.mall.entity.MallMember;
import cc.mrbird.febs.mall.mapper.MallMemberMapper;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
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.util.List;
/**
 * @author wzy
 * @date 2023-06-03
 **/
@Slf4j
@SpringBootTest
public class MemberTest {
    @Autowired
    private MallMemberMapper mallMemberMapper;
    @Test
    public void refererIds() {
        MallMember member = mallMemberMapper.selectById(1L);
        updateRefererIds(member);
    }
    private void updateRefererIds(MallMember member) {
        List<MallMember> mallMembers = mallMemberMapper.selectByRefererId(member.getInviteId());
        if (CollUtil.isEmpty(mallMembers)) {
            return;
        }
        mallMembers.forEach(item -> {
            MallMember updateMember = new MallMember();
            updateMember.setId(item.getId());
            String s = refererIds(item.getReferrerId());
            updateMember.setReferrerIds(s);
            mallMemberMapper.updateById(updateMember);
            updateRefererIds(item);
        });
    }
    private String refererIds(String parentId) {
        boolean flag = false;
        if (StrUtil.isBlank(parentId)) {
            flag = true;
        }
        String ids = "";
        while (!flag) {
            if (StrUtil.isBlank(ids)) {
                ids += parentId;
            } else {
                ids += ("," + parentId);
            }
            MallMember parentMember = this.mallMemberMapper.selectInfoByInviteId(parentId);
            if (parentMember == null) {
                break;
            }
            parentId = parentMember.getReferrerId();
            if (StrUtil.isBlank(parentMember.getReferrerId())) {
                flag = true;
            }
        }
        return ids;
    }
}
src/test/java/cc/mrbird/febs/ProfitTest.java
@@ -46,7 +46,7 @@
    @Test
    public void profitTest() {
        memberProfitService.directProfit(49L);
        memberProfitService.directProfit(56L);
    }
//
//    @Autowired