| | |
| | | IPage<MallMoneyFlow> achieveReleaseChild(QueryRequest request, MallScoreAchieveRelease mallScoreAchieveRelease); |
| | | |
| | | FebsResponse insideWithType(Long id, int i); |
| | | |
| | | List<MallMember> findParentMemberList(List<String> inviteIds, Integer level, boolean containsParent); |
| | | } |
| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | |
| | | |
| | | return ids; |
| | | } |
| | | |
| | | @Override |
| | | public List<MallMember> findParentMemberList(List<String> inviteIds, Integer level, boolean containsParent) { |
| | | List<MallMember> mallMembers = this.baseMapper.selectByInviteIds(inviteIds); |
| | | if(CollUtil.isEmpty(mallMembers)) { |
| | | return mallMembers; |
| | | } |
| | | |
| | | |
| | | List<MallMember> result = new ArrayList<>(); |
| | | int index = containsParent ? 0 : 1; |
| | | int count = 0; |
| | | while(true) { |
| | | if (level != null && count == level) { |
| | | break; |
| | | } |
| | | |
| | | if (index >= mallMembers.size()) { |
| | | break; |
| | | } |
| | | |
| | | String inviteId = inviteIds.get(index); |
| | | List<MallMember> collect = mallMembers.stream().filter(item -> item.getInviteId().equals(inviteId)).collect(Collectors.toList()); |
| | | result.add(collect.get(0)); |
| | | |
| | | index++; |
| | | count++; |
| | | } |
| | | return result; |
| | | } |
| | | } |
| | |
| | | private final DataDictionaryCustomMapper dataDictionaryCustomMapper; |
| | | |
| | | private final MallSystemSettingMapper mallSystemSettingMapper; |
| | | private final IAdminMallMemberService adminMallMemberService; |
| | | |
| | | /** |
| | | * 直推收益 |
| | |
| | | continue; |
| | | } |
| | | |
| | | List<MallMember> mallMembers = mallMemberMapper.selectParentMemberList(StrUtil.split(parentMember.getReferrerIds(), ','), parentMember.getReferrerId(), 2); |
| | | List<MallMember> mallMembers = adminMallMemberService.findParentMemberList(StrUtil.split(parentMember.getReferrerIds(), ','), 2, true); |
| | | if (CollUtil.isEmpty(mallMembers)) { |
| | | continue; |
| | | } |
| | |
| | | if (index != 2) { |
| | | indirectPerDic = indirectPerTwoDic; |
| | | } |
| | | BigDecimal doubleParentProfit = profit.multiply(new BigDecimal(indirectPerDic.getValue())); |
| | | BigDecimal doubleParentProfit = profit.multiply(new BigDecimal(indirectPerDic.getValue()).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP)); |
| | | changeScoreAndCommission(mallMember.getId(), doubleParentProfit, MoneyFlowTypeEnum.DIRECT_BONUS.getValue(), orderInfo.getOrderNo()); |
| | | index++; |
| | | } |
| | |
| | | } |
| | | |
| | | List<String> parents = StrUtil.split(parentMember.getReferrerIds(), ','); |
| | | List<MallMember> members = mallMemberMapper.selectByInviteIds(parents); |
| | | List<MallMember> members = adminMallMemberService.findParentMemberList(parents, null, true); |
| | | if (CollUtil.isEmpty(members)) { |
| | | return; |
| | | } |
| | |
| | | username: ct_test |
| | | password: 123456 |
| | | driver-class-name: com.mysql.cj.jdbc.Driver |
| | | url: jdbc:mysql://120.27.238.55:3406/db_meiye_mall?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&allowMultiQueries=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8 |
| | | url: jdbc:mysql://120.27.238.55:3406/db_meiye_prd?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&allowMultiQueries=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8 |
| | | # username: db_meiye |
| | | # password: meiye#@!321 |
| | | # driver-class-name: com.mysql.cj.jdbc.Driver |
| | | # url: jdbc:mysql://47.111.90.145:3306/db_meiye?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&rewriteBatchedStatements=true&allowMultiQueries=true&serverTimezone=GMT%2b8 |
| | | |
| | | redis: |
| | | # Redis数据库索引(默认为 0) |
| | |
| | | {field: 'name', title: '名称', minWidth: 100,align:'left', totalRowText: '合计:'}, |
| | | {field: 'inviteId', title: '邀请码', minWidth: 100,align:'left'}, |
| | | {field: 'balance', title: '余额', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.balance) }}'}, |
| | | {field: 'score', title: '赠送积分', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.score) }}'}, |
| | | {field: 'prizeScore', title: '现金积分', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.prizeScore) }}'}, |
| | | {field: 'childNodeCnt', title: '粉丝数量', minWidth: 100,align:'left'}, |
| | | {field: 'referrerName', title: '推荐人', minWidth: 100,align:'left'}, |
| | |
| | | {field: 'type', title: '流水类型', |
| | | templet: function (d) { |
| | | if (d.type === 1) { |
| | | return '<span>静态收益</span>' |
| | | } else if (d.type === 2) { |
| | | return '<span>直推奖</span>' |
| | | } else if (d.type === 2) { |
| | | return '<span>隔代收益</span>' |
| | | } else if (d.type === 3) { |
| | | return '<span>代理收益</span>' |
| | | return '<span>全网分红</span>' |
| | | } else if (d.type === 4) { |
| | | return '<span>排名收益</span>' |
| | | return '<span>代理分红</span>' |
| | | }else if (d.type === 5) { |
| | | return '<span>总监收益</span>' |
| | | return '<span>股东分红</span>' |
| | | }else if (d.type === 6) { |
| | | return '<span>社区店补</span>' |
| | | return '<span>积分兑换</span>' |
| | | }else if (d.type === 7) { |
| | | return '<span>一代收益</span>' |
| | | return '<span>推荐奖</span>' |
| | | }else if (d.type === 8) { |
| | | return '<span>提现</span>' |
| | | }else if (d.type === 9) { |
| | |
| | | templet: function (d) { |
| | | if (d.flowType === 1) { |
| | | return '余额'; |
| | | } else if(d.flowType === 2) { |
| | | return '赠送积分' |
| | | } else if(d.flowType === 3) { |
| | | return '现金积分' |
| | | } else if(d.flowType === 5) { |
| | | return '贡献点' |
| | | } else { |
| | | return '-'; |
| | | } |
| | |
| | | |
| | | @Test |
| | | public void profitTest() { |
| | | memberProfitService.directProfit(10L); |
| | | memberProfitService.directProfit(49L); |
| | | } |
| | | // |
| | | // @Autowired |